I'm trying to cleanup the way to create shared libs ( in 1.0.1 ).
Under Linux everything is so easy but when it comes the turn of Win or
OSX the things become harder.
Locally I simply add all my contribs to harbour.[so|dll|dylib] but
this can't be considered "clean".

F.e. to link hbpgsql and gd under OSX you need:
-lhggd -lhbpgsql
and
-L/opt/local/lib -lpq -lssl -lldap -lcrypto -lkrb5 -lgd
and
full path reference to harbour.dylib

hb-mkslib doesn't support paths in *.a so I've tried to build to
create some "postinst" shared libs using:

if [ "$HB_ARCHITECTURE" = "w32" ]; then
   cd $HB_LIB_INSTALL
   hb-mkslib $HB_BIN_INSTALL/libhbgd.dll libhbgd.a
/opt/local/lib/libgd.lib $HB_BIN_INSTALL/harbour.dll
/opt/local/bin/libgd2.dll
   hb-mkslib $HB_BIN_INSTALL/libhbpgsql.dll libhbpgsql.a
-L/opt/pgsql/lib -lpq $HB_BIN_INSTALL/harbour.dll
/opt/pgsql/bin/libpq.dll
   #hb-mkslib libxhgtk libxhgtk.a `pkg-config --libs gtk+-2.0 --libs
libglade-2.0
fi

if [ "$HB_ARCHITECTURE" = "darwin" ]; then
   cd $HB_LIB_INSTALL
   hb-mkslib libhbgd libhbgd.a -L/opt/local/lib -lgd
   hb-mkslib libhbpgsql libhbpgsql.a -L/opt/local/lib -lpq -lssl
-lldap -lcrypto -lkrb5
   #hb-mkslib libxhgtk libxhgtk.a `pkg-config --libs gtk+-2.0 --libs
libglade-2.0
fi

but when it comes the time to use hblnk it still wants the path for
libpq.dll or libgd2.dll so the problem is simply "shifted".

I've found an HB_DLLIBS envvar in hb-mkslib. Was it meant as a way to
add user defined paths and libs?

Any suggestion?

best regards,
Lorenzo
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to