diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 2aeb4ff755..d2928dc70d 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,21 @@ past entries belonging to these authors: Viktor Szakats. */ +2009-05-23 14:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + * utils/hbmk2/hbmk2.prg + ! Fixed to morph harbour binary extension according to target + platform. This should fix HB_INSTALL_PREFIX autodetection and + also -trace display of harbour command line. + Please test. + + * harbour/bin/hb-func.sh + ! Changed comp= line to not have a filter. Filters aren't + supported here, even the whole line isn't processed yet + by hbmk2. + + * INSTALL + * Minor correction. + 2009-05-23 11:13 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh * reduce the scope of default options in hbmk.cfg to given platform diff --git a/harbour/INSTALL b/harbour/INSTALL index 5dbf73fc5b..62a5eb741e 100644 --- a/harbour/INSTALL +++ b/harbour/INSTALL @@ -78,7 +78,7 @@ HOW TO BUILD AND INSTALL HARBOUR Windows with MinGW + msys ------------------------- Make sure to have msys and MinGW properly configured. - msys should be put in PATH _before_ MinGW. + msys should be put in PATH *before* MinGW. > set HB_INSTALL_PREFIX= > sh make_gnu.sh install @@ -486,7 +486,7 @@ EXAMPLES --- --8<-- - rem ; Add these _before_ above sample scripts to configure 3rd party dependencies. + rem ; Add these *before* above sample scripts to configure 3rd party dependencies. rem For 'mingw' and 'cygwin' you'll have to use forward slashes and rem also cygwin drive notation for 'cygwin'. set HB_INC_ADS=C:\ads\acesdk @@ -504,9 +504,8 @@ EXAMPLES -->8-- --8<-- - rem ; Add these _before_ above sample scripts to configure 3rd party dependencies - rem for implib generation. This is needed for non-GCC compilers and isn't - rem supported for GCC ones. These envvars must point to the *root directory* of + rem ; Add these *before* above sample scripts to configure 3rd party dependencies + rem for implib generation. These envvars must point to the *root directory* of rem given projects. set HB_DIR_ADS=C:\ads\acesdk set HB_DIR_ALLEGRO=C:\allegro diff --git a/harbour/bin/hb-func.sh b/harbour/bin/hb-func.sh index 1b750714de..551c3b2423 100755 --- a/harbour/bin/hb-func.sh +++ b/harbour/bin/hb-func.sh @@ -243,7 +243,7 @@ mk_hbtools() echo "# Harbour Make configuration"> ${hb_hbmkcfg} echo "# Generated by Harbour build process">> ${hb_hbmkcfg} echo "arch=${HB_ARCHITECTURE}">> ${hb_hbmkcfg} - echo "comp={${HB_ARCHITECTURE}}${HB_COMPILER}">> ${hb_hbmkcfg} + echo "comp=${HB_COMPILER}">> ${hb_hbmkcfg} if [ -n "${hb_gt_ori}" ]; then echo "gtdef=${hb_mkdef}${hb_gt_ori}">> ${hb_hbmkcfg} fi diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index e0851f4bbb..2c74e0dd19 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -760,6 +760,8 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) /* Setup architecture dependent data */ + cBin_CompPRG := "harbour" + s_cHBPOSTFIX + DO CASE CASE hbmk[ _HBMK_cARCH ] $ "bsd|hpux|sunos|linux" .OR. hbmk[ _HBMK_cARCH ] == "darwin" /* Separated to avoid match with 'win' */ IF hbmk[ _HBMK_cARCH ] == "linux" @@ -767,11 +769,10 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) ELSE aCOMPSUP := { "gcc" } ENDIF - cBin_CompPRG := "harbour" + s_cHBPOSTFIX s_aLIBHBGT := { "gttrm" } hbmk[ _HBMK_cGTDEFAULT ] := "gttrm" cDynLibNamePrefix := "lib" - cBinExt := NIL + cBinExt := "" cOptPrefix := "-" IF hbmk[ _HBMK_cARCH ] == "linux" cBin_Cprs := "upx" @@ -788,7 +789,6 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) aCOMPDET := { { {|| FindInPath( "gcc" ) }, "djgpp" },; { {|| FindInPath( "wpp386" ) }, "owatcom" } } /* TODO: Add full support for wcc386 */ aCOMPSUP := { "djgpp", "gcc", "owatcom" } - cBin_CompPRG := "harbour" + s_cHBPOSTFIX + ".exe" s_aLIBHBGT := { "gtdos" } hbmk[ _HBMK_cGTDEFAULT ] := "gtdos" cDynLibNamePrefix := "" @@ -803,7 +803,6 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) aCOMPDET := { { {|| FindInPath( "gcc" ) }, "gcc" },; { {|| FindInPath( "wpp386" ) }, "owatcom" } } /* TODO: Add full support for wcc386 */ aCOMPSUP := { "gcc", "owatcom" } - cBin_CompPRG := "harbour" + s_cHBPOSTFIX + ".exe" s_aLIBHBGT := { "gtos2" } hbmk[ _HBMK_cGTDEFAULT ] := "gtos2" cDynLibNamePrefix := "" @@ -830,7 +829,6 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) { {|| FindInPath( "xcc" ) }, "xcc" } } aCOMPSUP := { "mingw", "msvc", "bcc", "owatcom", "icc", "pocc", "xcc", "cygwin",; "mingw64", "msvc64", "msvcia64", "iccia64", "pocc64" } - cBin_CompPRG := "harbour" + s_cHBPOSTFIX + ".exe" s_aLIBHBGT := { "gtwin", "gtwvt", "gtgui" } hbmk[ _HBMK_cGTDEFAULT ] := "gtwin" cDynLibNamePrefix := "" @@ -849,7 +847,6 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) { {|| FindInPath( "cl" ) }, "msvcarm" },; { {|| FindInPath( "pocc" ) }, "poccarm" } } aCOMPSUP := { "mingwarm", "msvcarm", "poccarm" } - cBin_CompPRG := "harbour" + s_cHBPOSTFIX + ".exe" s_aLIBHBGT := { "gtwvt", "gtgui" } hbmk[ _HBMK_cGTDEFAULT ] := "gtwvt" cDynLibNamePrefix := "" @@ -887,13 +884,13 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) s_cHB_INSTALL_PREFIX := PathSepToSelf( GetEnv( "HB_INSTALL_PREFIX" ) ) IF Empty( s_cHB_INSTALL_PREFIX ) DO CASE - CASE hb_FileExists( DirAddPathSep( hb_DirBase() ) + cBin_CompPRG ) + CASE hb_FileExists( DirAddPathSep( hb_DirBase() ) + cBin_CompPRG + cBinExt ) s_cHB_INSTALL_PREFIX := DirAddPathSep( hb_DirBase() ) + ".." - CASE hb_FileExists( DirAddPathSep( hb_DirBase() ) + "bin" + hb_osPathSeparator() + cBin_CompPRG ) + CASE hb_FileExists( DirAddPathSep( hb_DirBase() ) + "bin" + hb_osPathSeparator() + cBin_CompPRG + cBinExt ) s_cHB_INSTALL_PREFIX := DirAddPathSep( hb_DirBase() ) - CASE hb_FileExists( DirAddPathSep( hb_DirBase() ) + ".." + hb_osPathSeparator() + ".." + hb_osPathSeparator() + "bin" + hb_osPathSeparator() + cBin_CompPRG ) + CASE hb_FileExists( DirAddPathSep( hb_DirBase() ) + ".." + hb_osPathSeparator() + ".." + hb_osPathSeparator() + "bin" + hb_osPathSeparator() + cBin_CompPRG + cBinExt ) s_cHB_INSTALL_PREFIX := DirAddPathSep( hb_DirBase() ) + ".." + hb_osPathSeparator() + ".." - CASE hb_FileExists( DirAddPathSep( hb_DirBase() ) + ".." + hb_osPathSeparator() + ".." + hb_osPathSeparator() + ".." + hb_osPathSeparator() + "bin" + hb_osPathSeparator() + cBin_CompPRG ) + CASE hb_FileExists( DirAddPathSep( hb_DirBase() ) + ".." + hb_osPathSeparator() + ".." + hb_osPathSeparator() + ".." + hb_osPathSeparator() + "bin" + hb_osPathSeparator() + cBin_CompPRG + cBinExt ) s_cHB_INSTALL_PREFIX := DirAddPathSep( hb_DirBase() ) + ".." + hb_osPathSeparator() + ".." + hb_osPathSeparator() + ".." OTHERWISE hbmk_OutErr( hbmk, I_( "Error: HB_INSTALL_PREFIX not set, failed to autodetect." ) ) @@ -2806,7 +2803,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) hbmk_OutStd( hbmk, I_( "Harbour compiler command (internal):" ) ) ENDIF ENDIF - OutStd( DirAddPathSep( PathSepToSelf( s_cHB_BIN_INSTALL ) ) + cBin_CompPRG +; + OutStd( DirAddPathSep( PathSepToSelf( s_cHB_BIN_INSTALL ) ) + cBin_CompPRG + cBinExt +; " " + ArrayToList( aCommand ) + hb_osNewLine() ) ENDIF @@ -2847,7 +2844,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 ) /* Use external compiler */ cCommand := DirAddPathSep( PathSepToSelf( s_cHB_BIN_INSTALL ) ) +; - cBin_CompPRG +; + cBin_CompPRG + cBinExt +; " " + iif( lCreateLib .OR. lCreateDyn, "-n1", iif( hbmk[ _HBMK_lXHB ], "-n", "-n2" ) ) +; " " + ArrayToList( s_aPRG_TODO ) +; iif( s_lBLDFLGP, " " + cSelfFlagPRG, "" ) +;