From d13d5324dd1115001db7cd2b017335e8dd46a006 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Mon, 16 Mar 2009 23:18:28 +0000 Subject: [PATCH] 2009-03-17 00:18 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * utils/hbmk2/hbmk2.prg ! Fixed mingw -fmstat in static mode. (shared mode gives warnings and doesn't work) + Added -[no]fmstat for all compilers. (untested) --- harbour/ChangeLog | 6 +++++ harbour/utils/hbmk2/hbmk2.prg | 42 ++++++++++++++++++++++++++++++++--- 2 files changed, 45 insertions(+), 3 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index a092da593a..043262142e 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,12 @@ 2009-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org) */ +2009-03-17 00:18 UTC+0100 Viktor Szakats (harbour.01 syenar hu) + * utils/hbmk2/hbmk2.prg + ! Fixed mingw -fmstat in static mode. (shared mode gives + warnings and doesn't work) + + Added -[no]fmstat for all compilers. (untested) + 2009-03-16 23:18 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * harbour-win-spec * harbour-wce-spec diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index de8199112b..bd277559e8 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -214,6 +214,7 @@ FUNCTION Main( ... ) LOCAL s_aLIBVM LOCAL s_aLIBUSER LOCAL s_aLIBUSERGT + LOCAL s_aLIBFM LOCAL s_aLIBHB LOCAL s_aLIBHBGT LOCAL s_aLIB3RD @@ -670,6 +671,7 @@ FUNCTION Main( ... ) s_aOPTD := {} s_aRESSRC := {} s_aRESCMP := {} + s_aLIBFM := {} s_aLIBUSER := {} s_aLIBUSERGT := {} s_aLIBDYNHAS := {} @@ -1245,7 +1247,7 @@ FUNCTION Main( ... ) ENDIF IF s_lFMSTAT != NIL .AND. s_lFMSTAT - AAdd( iif( s_lSHARED, s_aLIBSHARED, s_aLIBUSER ), iif( s_lMT, "hbfmmt", "hbfm" ) ) + AAdd( s_aLIBFM, iif( s_lMT, "hbfmmt", "hbfm" ) ) ENDIF CASE ( t_cARCH == "win" .AND. t_cCOMP == "gcc" ) .OR. ; @@ -1310,7 +1312,7 @@ FUNCTION Main( ... ) s_aLIBSHARED := { iif( s_lMT, "harbourmt", "harbour" ) } IF s_lFMSTAT != NIL .AND. s_lFMSTAT - AAdd( iif( s_lSHARED, s_aLIBSHARED, s_aLIBUSER ), iif( s_lMT, "hbfmmt", "hbfm" ) ) + AAdd( s_aLIBFM, iif( s_lMT, "hbfmmt", "hbfm" ) ) ENDIF IF t_cCOMP == "mingw" .AND. Len( s_aRESSRC ) > 0 @@ -1356,6 +1358,10 @@ FUNCTION Main( ... ) AAdd( s_aOPTC, "-o {OE}" ) ENDIF + IF s_lFMSTAT != NIL .AND. s_lFMSTAT + AAdd( s_aLIBFM, iif( s_lMT, "hbfmmt", "hbfm" ) ) + ENDIF + CASE t_cARCH == "dos" .AND. t_cCOMP == "djgpp" cLibPrefix := "-l" @@ -1386,6 +1392,10 @@ FUNCTION Main( ... ) AAdd( s_aOPTC, "-o{OE}" ) ENDIF + IF s_lFMSTAT != NIL .AND. s_lFMSTAT + AAdd( s_aLIBFM, "hbfm" ) + ENDIF + /* Watcom family */ CASE t_cARCH == "dos" .AND. t_cCOMP == "owatcom" cLibPrefix := "LIB " @@ -1459,6 +1469,10 @@ FUNCTION Main( ... ) ENDIF ENDIF + IF s_lFMSTAT != NIL .AND. s_lFMSTAT + AAdd( s_aLIBFM, iif( s_lMT, "hbfmmt", "hbfm" ) ) + ENDIF + CASE t_cARCH == "os2" .AND. t_cCOMP == "owatcom" cLibPrefix := "LIB " cLibExt := ".lib" @@ -1484,6 +1498,10 @@ FUNCTION Main( ... ) AAdd( s_aOPTL, "OP MAP" ) ENDIF + IF s_lFMSTAT != NIL .AND. s_lFMSTAT + AAdd( s_aLIBFM, iif( s_lMT, "hbfmmt", "hbfm" ) ) + ENDIF + CASE t_cARCH == "linux" .AND. t_cCOMP == "owatcom" cLibPrefix := "LIB " cLibExt := ".lib" @@ -1509,6 +1527,10 @@ FUNCTION Main( ... ) AAdd( s_aOPTL, "OP MAP" ) ENDIF + IF s_lFMSTAT != NIL .AND. s_lFMSTAT + AAdd( s_aLIBFM, iif( s_lMT, "hbfmmt", "hbfm" ) ) + ENDIF + /* Misc */ CASE t_cARCH == "win" .AND. t_cCOMP == "bcc" IF s_lDEBUG @@ -1562,6 +1584,10 @@ FUNCTION Main( ... ) "hbmainstd",; "hbmainwin" } + IF s_lFMSTAT != NIL .AND. s_lFMSTAT + AAdd( s_aLIBFM, iif( s_lMT, "hbfmmt", "hbfm" ) ) + ENDIF + CASE t_cARCH == "win" .AND. t_cCOMP $ "msvc|msvc64|msvcia64|icc" IF s_lDEBUG AAdd( s_aOPTC, "-MTd -Zi" ) @@ -1631,6 +1657,10 @@ FUNCTION Main( ... ) cResExt := ".res" ENDIF + IF s_lFMSTAT != NIL .AND. s_lFMSTAT + AAdd( s_aLIBFM, iif( s_lMT, "hbfmmt", "hbfm" ) ) + ENDIF + CASE ( t_cARCH == "win" .AND. t_cCOMP == "pocc" ) .OR. ; ( t_cARCH == "win" .AND. t_cCOMP == "xcc" ) @@ -1693,6 +1723,10 @@ FUNCTION Main( ... ) "hbmainstd",; "hbmainwin" } + IF s_lFMSTAT != NIL .AND. s_lFMSTAT + AAdd( s_aLIBFM, iif( s_lMT, "hbfmmt", "hbfm" ) ) + ENDIF + /* TODO */ CASE t_cARCH == "linux" .AND. t_cCOMP == "icc" CASE t_cARCH == "win" .AND. t_cCOMP == "msvcce" /* NOTE: Cross-platform: wince/ARM on win/x86 */ @@ -1818,10 +1852,12 @@ FUNCTION Main( ... ) /* Library list assembly */ IF s_lSHARED .AND. ! Empty( s_aLIBSHARED ) s_aLIBHB := ArrayAJoin( { s_aLIBSHARED,; + s_aLIBFM,; aLIB_BASE_CPLR,; aLIB_BASE_DEBUG } ) ELSE - s_aLIBHB := ArrayAJoin( { aLIB_BASE1,; + s_aLIBHB := ArrayAJoin( { s_aLIBFM,; + aLIB_BASE1,; aLIB_BASE_CPLR,; aLIB_BASE_DEBUG,; s_aLIBVM,;