2009-02-27 20:15 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* make_gnu.bat
+ Added autodetection of mingw32-make.exe. If found in
PATH, it will be used instead of make.exe.
This way the build process is much less resistant of
environment configuration. If this works out, I'll
lax the rules in INSTALL.
* utils/hbmk2/hbmk2.prg
* Minor internal cleanup to previous.
This commit is contained in:
@@ -8,6 +8,17 @@
|
||||
2009-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org)
|
||||
*/
|
||||
|
||||
2009-02-27 20:15 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
|
||||
* make_gnu.bat
|
||||
+ Added autodetection of mingw32-make.exe. If found in
|
||||
PATH, it will be used instead of make.exe.
|
||||
This way the build process is much less resistant of
|
||||
environment configuration. If this works out, I'll
|
||||
lax the rules in INSTALL.
|
||||
|
||||
* utils/hbmk2/hbmk2.prg
|
||||
* Minor internal cleanup to previous.
|
||||
|
||||
2009-02-27 19:59 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
|
||||
* INSTALL
|
||||
+ Added text to specifically tell to rename mingw32-make.exe
|
||||
|
||||
@@ -74,6 +74,27 @@ if not exist %HB_INC_INSTALL%\*.* md %HB_INC_INSTALL%
|
||||
|
||||
:MAKE
|
||||
|
||||
rem ---------------------------------------------------------------
|
||||
rem Detect name of GNU Make
|
||||
rem
|
||||
rem Look for mingw32-make.exe and use it if found. Works only
|
||||
rem on Windows NT and upper. [vszakats]
|
||||
|
||||
set _HB_MAKE=make.exe
|
||||
if not "%OS%" == "Windows_NT" goto _FM_DONE
|
||||
set _HB_CHECK=mingw32-make.exe
|
||||
set _HB_PATH=%PATH%
|
||||
:_FM_LOOP
|
||||
for /F "delims=; tokens=1,2*" %%p in ("%_HB_PATH%") do (
|
||||
if exist "%%p\%_HB_CHECK%" ( set _HB_MAKE=%_HB_CHECK%&& goto _FM_DONE )
|
||||
if exist "%%p%_HB_CHECK%" ( set _HB_MAKE=%_HB_CHECK%&& goto _FM_DONE )
|
||||
set _HB_PATH=%%~q;%%~r
|
||||
)
|
||||
if not "%_HB_PATH%"==";" goto _FM_LOOP
|
||||
:_FM_DONE
|
||||
set _HB_CHECK=
|
||||
set _HB_PATH=
|
||||
|
||||
rem ---------------------------------------------------------------
|
||||
rem Start the GNU make system
|
||||
|
||||
@@ -89,22 +110,24 @@ if not exist %HB_INC_INSTALL%\*.* md %HB_INC_INSTALL%
|
||||
set _HB_CONTRIB_ADDONS=%HB_CONTRIB_ADDONS%
|
||||
set HB_CONTRIBLIBS=no
|
||||
set HB_CONTRIB_ADDONS=
|
||||
make clean %HB_USER_MAKEFLAGS% %1 %2 %3 %4 %5 %6 %7 %8 %9
|
||||
make install %HB_USER_MAKEFLAGS% %1 %2 %3 %4 %5 %6 %7 %8 %9
|
||||
%_HB_MAKE% clean %HB_USER_MAKEFLAGS% %1 %2 %3 %4 %5 %6 %7 %8 %9
|
||||
%_HB_MAKE% install %HB_USER_MAKEFLAGS% %1 %2 %3 %4 %5 %6 %7 %8 %9
|
||||
set HB_BUILD_DLL=
|
||||
set HB_CONTRIBLIBS=%_HB_CONTRIBLIBS%
|
||||
set HB_CONTRIB_ADDONS=%_HB_CONTRIB_ADDONS%
|
||||
set _HB_CONTRIBLIBS=
|
||||
set _HB_CONTRIB_ADDONS=
|
||||
make clean %HB_USER_MAKEFLAGS% %1 %2 %3 %4 %5 %6 %7 %8 %9
|
||||
make install %HB_USER_MAKEFLAGS% %1 %2 %3 %4 %5 %6 %7 %8 %9
|
||||
%_HB_MAKE% clean %HB_USER_MAKEFLAGS% %1 %2 %3 %4 %5 %6 %7 %8 %9
|
||||
%_HB_MAKE% install %HB_USER_MAKEFLAGS% %1 %2 %3 %4 %5 %6 %7 %8 %9
|
||||
set HB_BUILD_DLL=yes
|
||||
|
||||
goto END
|
||||
|
||||
:SKIP_WINDLL
|
||||
|
||||
make %HB_USER_MAKEFLAGS% %1 %2 %3 %4 %5 %6 %7 %8 %9
|
||||
%_HB_MAKE% %HB_USER_MAKEFLAGS% %1 %2 %3 %4 %5 %6 %7 %8 %9
|
||||
goto END
|
||||
|
||||
:END
|
||||
|
||||
set _HB_MAKE=
|
||||
|
||||
@@ -239,6 +239,7 @@ FUNCTION Main( ... )
|
||||
LOCAL cDynLibExt
|
||||
LOCAL cResPrefix
|
||||
LOCAL cResExt
|
||||
LOCAL cBinExt
|
||||
|
||||
LOCAL cCommand
|
||||
#if defined( HBMK_INTEGRATED_COMPILER )
|
||||
@@ -393,6 +394,7 @@ FUNCTION Main( ... )
|
||||
s_aLIBHBGT := { "gttrm", "gtxwc" }
|
||||
t_cGTDEFAULT := "gttrm"
|
||||
cDynLibNamePrefix := "lib"
|
||||
cBinExt := NIL
|
||||
SWITCH t_cARCH
|
||||
CASE "darwin" ; cDynLibExt := ".dylib" ; EXIT
|
||||
CASE "hpux" ; cDynLibExt := ".sl" ; EXIT
|
||||
@@ -407,6 +409,7 @@ FUNCTION Main( ... )
|
||||
t_cGTDEFAULT := "gtdos"
|
||||
cDynLibNamePrefix := ""
|
||||
cDynLibExt := ""
|
||||
cBinExt := ".exe"
|
||||
CASE t_cARCH == "os2"
|
||||
aCOMPDET := { { {|| FindInPath( "gcc" ) != NIL }, "gcc" },;
|
||||
{ {|| FindInPath( "wpp386" ) != NIL }, "owatcom" },; /* TODO: Add full support for wcc386 */
|
||||
@@ -417,6 +420,7 @@ FUNCTION Main( ... )
|
||||
t_cGTDEFAULT := "gtos2"
|
||||
cDynLibNamePrefix := ""
|
||||
cDynLibExt := ".dll"
|
||||
cBinExt := ".exe"
|
||||
CASE t_cARCH == "win"
|
||||
/* Order is significant.
|
||||
owatcom also keeps a cl.exe in it's binary dir. */
|
||||
@@ -439,6 +443,7 @@ FUNCTION Main( ... )
|
||||
t_cGTDEFAULT := "gtwin"
|
||||
cDynLibNamePrefix := ""
|
||||
cDynLibExt := ".dll"
|
||||
cBinExt := ".exe"
|
||||
OTHERWISE
|
||||
OutErr( "hbmk: Error: Architecture value unknown: " + t_cARCH + hb_osNewLine() )
|
||||
PauseForKey()
|
||||
@@ -1704,7 +1709,7 @@ FUNCTION Main( ... )
|
||||
GetEnv( "HB_USER_LDFLAGS" ) + " " + ArrayToList( s_aOPTL ) )
|
||||
cOpt_CompC := StrTran( cOpt_CompC, "{OD}" , PathSepToTarget( FN_DirGet( s_cPROGNAME ) ) )
|
||||
cOpt_CompC := StrTran( cOpt_CompC, "{OO}" , PathSepToTarget( FN_ExtSet( s_cPROGNAME, cObjExt ) ) )
|
||||
cOpt_CompC := StrTran( cOpt_CompC, "{OE}" , PathSepToTarget( FN_ExtSet( s_cPROGNAME, iif( t_cARCH $ "os2|win|dos", ".exe", NIL ) ) ) )
|
||||
cOpt_CompC := StrTran( cOpt_CompC, "{OE}" , PathSepToTarget( FN_ExtSet( s_cPROGNAME, cBinExt ) ) )
|
||||
cOpt_CompC := StrTran( cOpt_CompC, "{OM}" , PathSepToTarget( FN_ExtSet( s_cPROGNAME, ".map" ) ) )
|
||||
cOpt_CompC := StrTran( cOpt_CompC, "{DL}" , ArrayToList( ListCook( s_aLIBPATH, cLibPathPrefix ), cLibPathSep ) )
|
||||
cOpt_CompC := StrTran( cOpt_CompC, "{DB}" , s_cHB_BIN_INSTALL )
|
||||
@@ -1758,7 +1763,7 @@ FUNCTION Main( ... )
|
||||
cOpt_Link := StrTran( cOpt_Link, "{LL}" , ArrayToList( s_aLIB ) )
|
||||
cOpt_Link := StrTran( cOpt_Link, "{FL}" , iif( s_lBLDFLGL, cSelfFlagL + " ", "" ) +;
|
||||
GetEnv( "HB_USER_LDFLAGS" ) + " " + ArrayToList( s_aOPTL ) )
|
||||
cOpt_Link := StrTran( cOpt_Link, "{OE}" , PathSepToTarget( FN_ExtSet( s_cPROGNAME, iif( t_cARCH $ "os2|win|dos", ".exe", NIL ) ) ) )
|
||||
cOpt_Link := StrTran( cOpt_Link, "{OE}" , PathSepToTarget( FN_ExtSet( s_cPROGNAME, cBinExt ) ) )
|
||||
cOpt_Link := StrTran( cOpt_Link, "{OM}" , PathSepToTarget( FN_ExtSet( s_cPROGNAME, ".map" ) ) )
|
||||
cOpt_Link := StrTran( cOpt_Link, "{DL}" , ArrayToList( ListCook( s_aLIBPATH, cLibPathPrefix ), cLibPathSep ) )
|
||||
cOpt_Link := StrTran( cOpt_Link, "{DB}" , s_cHB_BIN_INSTALL )
|
||||
@@ -1814,7 +1819,7 @@ FUNCTION Main( ... )
|
||||
IF nErrorLevel != 0
|
||||
PauseForKey()
|
||||
ELSEIF s_lRUN
|
||||
s_cPROGNAME := FN_ExtSet( s_cPROGNAME, iif( t_cARCH $ "os2|win|dos", ".exe", NIL ) )
|
||||
s_cPROGNAME := FN_ExtSet( s_cPROGNAME, cBinExt )
|
||||
#if !( defined( __PLATFORM__WINDOWS ) .OR. defined( __PLATFORM__DOS ) .OR. defined( __PLATFORM__OS2 ) )
|
||||
IF Empty( FN_DirGet( s_cPROGNAME ) )
|
||||
s_cPROGNAME := "." + hb_osPathSeparator() + s_cPROGNAME
|
||||
|
||||
Reference in New Issue
Block a user