From 48453b8c663ee77c2789034db281b6ca4994002f Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Sun, 20 Sep 2009 15:05:50 +0000 Subject: [PATCH] 2009-09-20 17:04 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * utils/hbmk2/hbmk2.prg ; Fixes based on Przemek's extensive tests/suggestions on different *nix systems. ! -fixshared option now only effective for gcc compilers. For the rest it behaves as -fullshared. ! Added x11 and curses/slang libpath for bsd targets in shared mode. hbmk2 solution is rough, but didn't see a reason to make it more complicated. I hope it fixes the problem. + Enabled -fullstatic mode for sunpro compilers. * utils/hbmk2/hbmk2.prg ! Fixed to add /usr/X11R6/lib64 dir to libpath list on linux targets only. (sync with similar guard in sunpro compiler support) ; TOFIX: This leaves the GPF in sunpro/linux on the pending list. ; TOFIX: And here comes to mind that mingw64 also GPFs in shared mode. --- harbour/ChangeLog | 17 +++++++++++++++++ harbour/utils/hbmk2/hbmk2.prg | 15 ++++++++++----- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 54cc8e122b..9ae6cd3e82 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,23 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-09-20 17:04 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * utils/hbmk2/hbmk2.prg + ; Fixes based on Przemek's extensive tests/suggestions on different *nix systems. + ! -fixshared option now only effective for gcc compilers. For the rest + it behaves as -fullshared. + ! Added x11 and curses/slang libpath for bsd targets in shared mode. + hbmk2 solution is rough, but didn't see a reason to make it more + complicated. I hope it fixes the problem. + + Enabled -fullstatic mode for sunpro compilers. + + * utils/hbmk2/hbmk2.prg + ! Fixed to add /usr/X11R6/lib64 dir to libpath list on linux + targets only. (sync with similar guard in sunpro compiler support) + + ; TOFIX: This leaves the GPF in sunpro/linux on the pending list. + ; TOFIX: And here comes to mind that mingw64 also GPFs in shared mode. + 2009-09-20 16:31 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * utils/hbmk2/hbmk2.prg * config/global.mk diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index 7c739b3517..c576f44c09 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -2000,9 +2000,10 @@ FUNCTION hbmk( aArgs, /* @ */ lPause ) DEFAULT hbmk[ _HBMK_lSHAREDDIST ] TO lSysLoc - IF hbmk[ _HBMK_lSHAREDDIST ] + IF hbmk[ _HBMK_lSHAREDDIST ] .OR. !( hbmk[ _HBMK_cCOMP ] == "gcc" ) cPrefix := "" ELSE + /* Only supported by gcc compilers. */ cPrefix := DirAddPathSep( l_cHB_DYN_INSTALL ) ENDIF #if 1 @@ -2268,13 +2269,19 @@ FUNCTION hbmk( aArgs, /* @ */ lPause ) ENDCASE ENDIF IF IsGTRequested( hbmk, "gtxwc" ) - IF hb_DirExists( "/usr/X11R6/lib64" ) + IF hbmk[ _HBMK_cPLAT ] == "linux" .AND. hb_DirExists( "/usr/X11R6/lib64" ) AAdd( hbmk[ _HBMK_aLIBPATH ], "/usr/X11R6/lib64" ) ENDIF AAdd( hbmk[ _HBMK_aLIBPATH ], "/usr/X11R6/lib" ) AAdd( l_aLIBSYS, "X11" ) ENDIF + /* Hack needed for OpenBSD to find dynamic libs referenced from harbour dynlib (embedded dirs are ignored) */ + IF hbmk[ _HBMK_cPLAT ] == "bsd" .AND. hbmk[ _HBMK_lSHARED ] + AAddNew( hbmk[ _HBMK_aLIBPATH ], "/usr/X11R6/lib" ) + AAddNew( hbmk[ _HBMK_aLIBPATH ], "/usr/local/lib" ) + ENDIF + CASE ( hbmk[ _HBMK_cPLAT ] == "win" .AND. hbmk[ _HBMK_cCOMP ] == "gcc" ) .OR. ; ( hbmk[ _HBMK_cPLAT ] == "win" .AND. hbmk[ _HBMK_cCOMP ] == "mingw" ) .OR. ; ( hbmk[ _HBMK_cPLAT ] == "win" .AND. hbmk[ _HBMK_cCOMP ] == "mingw64" ) .OR. ; @@ -3008,11 +3015,9 @@ FUNCTION hbmk( aArgs, /* @ */ lPause ) IF hbmk[ _HBMK_lMAP ] AAdd( hbmk[ _HBMK_aOPTL ], "-M{OM}" ) ENDIF - /* IF hbmk[ _HBMK_lSTATICFULL ] - AAdd( hbmk[ _HBMK_aOPTL ], "-static" ) + AAdd( hbmk[ _HBMK_aOPTL ], "-B -static" ) ENDIF - */ IF hbmk[ _HBMK_lSTRIP ] AAdd( hbmk[ _HBMK_aOPTL ], "-s" ) ENDIF