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, "" ) +;