2009-03-04 12:56 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
* explicitly bind system libraries with harbour shared library.
RPM/DEB packages should automatically detect these dependencies.
Viktor, now you do not have to pass system libraries like
m, dl, rt, pthread, socket, nsl, resolv, curses, slang, x11,
wininet, ws2, commdlg, commctrl, uuid, ole32 ... when you create
shared binaries by hbmk2 - all bindings are in harbour shared
library. They are necessary only for static builds.
This commit is contained in:
@@ -8,6 +8,16 @@
|
||||
2009-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org)
|
||||
*/
|
||||
|
||||
2009-03-04 12:56 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
* harbour/bin/hb-func.sh
|
||||
* explicitly bind system libraries with harbour shared library.
|
||||
RPM/DEB packages should automatically detect these dependencies.
|
||||
Viktor, now you do not have to pass system libraries like
|
||||
m, dl, rt, pthread, socket, nsl, resolv, curses, slang, x11,
|
||||
wininet, ws2, commdlg, commctrl, uuid, ole32 ... when you create
|
||||
shared binaries by hbmk2 - all bindings are in harbour shared
|
||||
library. They are necessary only for static builds.
|
||||
|
||||
2009-03-04 10:00 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
|
||||
* bin/hb-mkdyn.sh
|
||||
* bin/postinst.sh
|
||||
|
||||
@@ -454,6 +454,11 @@ if [ "\${HB_WITHOUT_X11}" != "yes" ]; then
|
||||
fi
|
||||
[ -n "\${HB_GPM_LIB}" ] && SYSTEM_LIBS="-l\${HB_GPM_LIB} \${SYSTEM_LIBS}"
|
||||
|
||||
|
||||
if [ "\${HB_STATIC}" = "no" ]; then
|
||||
SYSTEM_LIBS=""
|
||||
fi
|
||||
|
||||
if [ "\${HB_XBGTK}" = "yes" ]; then
|
||||
SYSTEM_LIBS="\${SYSTEM_LIBS} \`pkg-config --libs gtk+-2.0\`"
|
||||
elif [ "\${HB_XHGTK}" = "yes" ]; then
|
||||
@@ -706,7 +711,7 @@ EOF
|
||||
|
||||
mk_hblibso()
|
||||
{
|
||||
local LIBS LIBSMT l lm ll dir hb_rootdir hb_ver hb_libs full_lib_name full_lib_name_mt linker_options
|
||||
local LIBS LIBSMT l lm ll dir hb_rootdir hb_ver hb_libs full_lib_name full_lib_name_mt linker_options linker_mtoptions gpm
|
||||
|
||||
dir=`pwd`
|
||||
name=`get_solibname`
|
||||
@@ -719,6 +724,42 @@ mk_hblibso()
|
||||
(cd $HB_LIB_INSTALL
|
||||
LIBS=""
|
||||
LIBSMT=""
|
||||
gpm="${HB_GPM_MOUSE}"
|
||||
linker_options="-lm"
|
||||
linker_mtoptions=""
|
||||
if [ "${HB_USER_CFLAGS//-DHB_PCRE_REGEX/}" != "${HB_USER_CFLAGS}" ]; then
|
||||
linker_options="-lpcre ${linker_options}"
|
||||
hb_libs="${hb_libs//hbpcre/}"
|
||||
elif [ "${HB_USER_CFLAGS//-DHB_POSIX_REGEX/}" != "${HB_USER_CFLAGS}" ]; then
|
||||
hb_libs="${hb_libs//hbpcre/}"
|
||||
fi
|
||||
if [ "${HB_USER_CFLAGS//-DHB_EXT_ZLIB/}" != "${HB_USER_CFLAGS}" ]; then
|
||||
linker_options="-lz ${linker_options}"
|
||||
hb_libs="${hb_libs//hbzlib/}"
|
||||
fi
|
||||
if [ "${HB_COMPILER}" = "mingw" ]; then
|
||||
linker_options="${linker_options} -luser32 -lwinspool -lgdi32 -lcomctl32 -lcomdlg32 -lole32 -loleaut32 -luuid -lwsock32 -lws2_32"
|
||||
elif [ "${HB_COMPILER}" = "mingwce" ]; then
|
||||
linker_options="${linker_options} -lwininet -lws2 -lcommdlg -lcommctrl -luuid -lole32"
|
||||
elif [ "${HB_COMPILER}" = "djgpp" ]; then
|
||||
linker_options="${linker_options}"
|
||||
elif [ "${HB_ARCHITECTURE}" = "linux" ]; then
|
||||
linker_options="${linker_options} -ldl -lrt"
|
||||
linker_mtoptions="${linker_mtoptions} -lpthread"
|
||||
elif [ "${HB_ARCHITECTURE}" = "sunos" ]; then
|
||||
linker_options="${linker_options} -lrt -lsocket -lnsl -lresolv"
|
||||
linker_mtoptions="${linker_mtoptions} -lpthread"
|
||||
elif [ "${HB_ARCHITECTURE}" = "hpux" ]; then
|
||||
linker_options="${linker_options} -lrt"
|
||||
linker_mtoptions="${linker_mtoptions} -lpthread"
|
||||
elif [ "${HB_ARCHITECTURE}" = "bsd" ]; then
|
||||
linker_options="$-L/usr/local/lib {linker_options}"
|
||||
linker_mtoptions="${linker_mtoptions} -lpthread"
|
||||
elif [ "${HB_ARCHITECTURE}" = "darwin" ]; then
|
||||
linker_options="-L/sw/lib -L/opt/local/lib ${linker_options}"
|
||||
linker_mtoptions="${linker_mtoptions} -lpthread"
|
||||
fi
|
||||
|
||||
for l in ${hb_libs}
|
||||
do
|
||||
case $l in
|
||||
@@ -731,21 +772,34 @@ mk_hblibso()
|
||||
else
|
||||
lm="${ls}"
|
||||
fi
|
||||
if [ -f $ls ]
|
||||
then
|
||||
LIBS="$LIBS $ls"
|
||||
fi
|
||||
if [ -f $lm ]
|
||||
then
|
||||
LIBSMT="$LIBSMT $lm"
|
||||
fi
|
||||
if [ "${HB_ARCHITECTURE}" = "darwin" ]; then
|
||||
if [ -f $ls ]
|
||||
then
|
||||
LIBS="$LIBS $ls"
|
||||
if [ "${l}" = gtcrs ]; then
|
||||
linker_options="$linker_options -lncurses"
|
||||
if [ "${HB_ARCHITECTURE}" = "sunos" ]; then
|
||||
linker_options="$linker_options -lcurses"
|
||||
else
|
||||
linker_options="$linker_options -lncurses"
|
||||
fi
|
||||
elif [ "${l}" = gtsln ]; then
|
||||
if [ "${HB_WITHOUT_GTSLN}" != "yes" ]; then
|
||||
linker_options="$linker_options -lslang"
|
||||
fi
|
||||
elif [ "${l}" = gtxwc ]; then
|
||||
[ -d "/usr/X11R6/lib" ] && \
|
||||
linker_options="$linker_options -L/usr/X11R6/lib"
|
||||
[ -d "/usr/X11R6/lib64" ] && \
|
||||
linker_options="$linker_options -L/usr/X11R6/lib64"
|
||||
linker_options="$linker_options -lX11"
|
||||
fi
|
||||
if [ "${gpm}" = yes ] && ( [ "${l}" = gtcrs ] || \
|
||||
[ "${l}" = gtsln ] || [ "${l}" = gttrm ] ); then
|
||||
linker_options="$linker_options -lgpm"
|
||||
gpm=""
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@@ -755,7 +809,6 @@ mk_hblibso()
|
||||
lib_ext=".dylib"
|
||||
full_lib_name="lib${name}.${hb_ver}${lib_ext}"
|
||||
full_lib_name_mt="lib${name}mt.${hb_ver}${lib_ext}"
|
||||
linker_options="-L/sw/lib -L/opt/local/lib $linker_options"
|
||||
elif [ "${HB_ARCHITECTURE}" = "win" ]; then
|
||||
lib_ext=".dll"
|
||||
full_lib_name="${name}${lib_ext}"
|
||||
@@ -775,10 +828,10 @@ mk_hblibso()
|
||||
hb_mkdyn="${HB_BIN_INSTALL}/hb-mkdyn"
|
||||
fi
|
||||
echo "Making ${full_lib_name}..."
|
||||
${hb_mkdyn} ${full_lib_name} $LIBS ${linker_options}
|
||||
if [ "${HB_ARCHITECTURE}" != "dos" ]; then
|
||||
${hb_mkdyn} ${full_lib_name} ${LIBS} ${linker_options}
|
||||
if [ "${LIBS}" != "${LIBSMT}" ]; then
|
||||
echo "Making ${full_lib_name_mt}..."
|
||||
${hb_mkdyn} ${full_lib_name_mt} $LIBSMT ${linker_options}
|
||||
${hb_mkdyn} ${full_lib_name_mt} ${LIBSMT} ${linker_mtoptions} ${linker_options}
|
||||
fi
|
||||
for l in ${full_lib_name} ${full_lib_name_mt}
|
||||
do
|
||||
|
||||
Reference in New Issue
Block a user