diff --git a/harbour/ChangeLog b/harbour/ChangeLog index f4589a173e..e24118fa8b 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,24 @@ 2009-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org) */ +2009-02-24 10:41 UTC+0100 Viktor Szakats (harbour.01 syenar hu) + * bin/postinst.cmd + * bin/postinst.bat + * bin/hb-func.sh + + Added arch= and comp= variables to hbmk.cfg. + I plan to use these for autoconfiguration. + + * make_gnu_os2.cmd + * make_gnu.bat + - Removed built in output redirection to make them in sync + with the bash flavour. Users can easily redirect it themselves. + + * utils/hbmk2/hbmk2.prg + + Formally added icc. + + * config/win/msvcce.cf + ! Untested fixes for msvcce in GNU make. + 2009-02-25 03:37 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + harbour/config/linux/icc.cf * harbour/config/linux/gcc.cf diff --git a/harbour/bin/hb-func.sh b/harbour/bin/hb-func.sh index 2df30fc8bc..3b978f76f7 100755 --- a/harbour/bin/hb-func.sh +++ b/harbour/bin/hb-func.sh @@ -228,6 +228,8 @@ mk_hbtools() echo "Generating ${hb_hbmkcfg}... " echo "# Harbour Make configuration"> ${hb_hbmkcfg} echo "# Generated by Harbour build process">> ${hb_hbmkcfg} + echo "arch=${HB_ARCHITECTURE}">> ${hb_hbmkcfg} + echo "comp=${HB_COMPILER}">> ${hb_hbmkcfg} if [ -n "${hb_gt_ori}" ]; then echo "gtdef=${hb_gt_ori}">> ${hb_hbmkcfg} fi diff --git a/harbour/bin/postinst.bat b/harbour/bin/postinst.bat index ce02b59734..bf55a9b4a3 100644 --- a/harbour/bin/postinst.bat +++ b/harbour/bin/postinst.bat @@ -13,6 +13,14 @@ rem rem See doc/license.txt for licensing terms. rem --------------------------------------------------------------- +set _HBMK_CFG=%HB_BIN_INSTALL%\hbmk.cfg +echo Generating %_HBMK_CFG%... +echo # Harbour Make configuration> %_HBMK_CFG% +echo # Generated by Harbour build process>> %_HBMK_CFG% +echo arch=%HB_ARCHITECTURE%>> %_HBMK_CFG% +echo comp=%HB_COMPILER%>> %_HBMK_CFG% +set _HBMK_CFG= + goto inst_%HB_ARCHITECTURE% :inst_win diff --git a/harbour/bin/postinst.cmd b/harbour/bin/postinst.cmd index e788b59eb8..b275a8de09 100644 --- a/harbour/bin/postinst.cmd +++ b/harbour/bin/postinst.cmd @@ -13,6 +13,14 @@ rem rem See doc/license.txt for licensing terms. rem --------------------------------------------------------------- +set _HBMK_CFG=%HB_BIN_INSTALL%\hbmk.cfg +echo Generating %_HBMK_CFG%... +echo # Harbour Make configuration> %_HBMK_CFG% +echo # Generated by Harbour build process>> %_HBMK_CFG% +echo arch=%HB_ARCHITECTURE%>> %_HBMK_CFG% +echo comp=%HB_COMPILER%>> %_HBMK_CFG% +set _HBMK_CFG= + goto inst_%HB_ARCHITECTURE% :inst_os2 diff --git a/harbour/config/win/msvcce.cf b/harbour/config/win/msvcce.cf index c44d1aff93..57435e43c7 100644 --- a/harbour/config/win/msvcce.cf +++ b/harbour/config/win/msvcce.cf @@ -37,12 +37,18 @@ LD = clarm.exe endif LD_OUT = -Fe -# Add all libraries specified in CONTRIBS and LIBS. +LINKPATHS += /link +LINKPATHS += /subsystem:windowsce,4.20 /machine:arm /armpadcode /stack:65536,4096 /nodefaultlib:"oldnames.lib" +LINKPATHS += /nodefaultlib:"kernel32.lib" /align:4096 /opt:ref /opt:icf +ifeq ($(HB_VISUALC_VER_PRE80),) +LINKPATHS += /manifest:no +!endif ifeq ($(HB_LIB_COMPILE),) -LINKPATHS += /link /libpath:$(LIB_DIR) +LINKPATHS += /libpath:$(LIB_DIR) else -LINKPATHS += /link /libpath:$(HB_LIB_COMPILE) +LINKPATHS += /libpath:$(HB_LIB_COMPILE) endif +# Add all libraries specified in CONTRIBS and LIBS. LINKLIBS += $(foreach lib, $(CONTRIBS), $(subst lib,,$(lib))$(LIB_EXT)) LINKLIBS += $(foreach lib, $(LIBS), $(lib)$(LIB_EXT)) @@ -56,7 +62,7 @@ ifeq ($(findstring rtl,$(LIBS)),rtl) LINKLIBS += $(foreach gt, $(HB_GT_LIBS), $(gt)$(LIB_EXT)) endif -LDFLAGS = $(LINKPATHS) +LDFLAGS = $(LINKPATHS) $(HB_USER_LDFLAGS) AR = lib.exe ARFLAGS = $(HB_USER_AFLAGS) diff --git a/harbour/make_gnu.bat b/harbour/make_gnu.bat index 392b933437..5fef543cb3 100644 --- a/harbour/make_gnu.bat +++ b/harbour/make_gnu.bat @@ -23,8 +23,11 @@ rem Copyright 1999-2001 Viktor Szakats (viktor.szakats@syenar.hu) rem See doc/license.txt for licensing terms. rem --------------------------------------------------------------- -if "%HB_ARCHITECTURE%" == "" set HB_ARCHITECTURE=win -if "%HB_COMPILER%" == "" set HB_COMPILER=mingw + +if "%HB_ARCHITECTURE%" == "" if not "%WINDIR%" == "" set HB_ARCHITECTURE=win +if "%HB_ARCHITECTURE%" == "" set HB_ARCHITECTURE=dos +if "%HB_COMPILER%" == "" if not "%WINDIR%" == "" set HB_COMPILER=mingw +if "%HB_COMPILER%" == "" set HB_COMPILER=djgpp rem set HB_USER_PRGFLAGS= rem set HB_USER_CFLAGS= @@ -61,8 +64,6 @@ if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%/include echo HB_ARCHITECTURE: echo - dos echo - win - echo - linux - echo - os2 echo. pause echo HB_COMPILER: @@ -79,11 +80,6 @@ if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%/include echo - icc (IBM Visual Age C++, Windows 32-bit) echo - msvc (Microsoft Visual C++, Windows 32-bit) echo - msvc64 (Microsoft Visual C++, Windows 64-bit) - echo - When HB_ARCHITECTURE=linux - echo - gcc (GNU C, 32-bit) - echo - When HB_ARCHITECTURE=os2 - echo - gcc (EMX GNU C, OS/2 32-bit) - echo - icc (IBM Visual Age C++ 3.0, OS/2 32-bit) echo. echo - Use these optional envvars to configure the make process echo when using the 'all' command: @@ -108,7 +104,7 @@ if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=%HB_INSTALL_PREFIX%/include rem --------------------------------------------------------------- rem Start the GNU make system - make %HB_USER_MAKEFLAGS% %1 %2 %3 %4 %5 %6 %7 %8 %9 > make_gnu.log + make %HB_USER_MAKEFLAGS% %1 %2 %3 %4 %5 %6 %7 %8 %9 goto END :END diff --git a/harbour/make_gnu_os2.cmd b/harbour/make_gnu_os2.cmd index 0c6cf288e6..80eeda854c 100644 --- a/harbour/make_gnu_os2.cmd +++ b/harbour/make_gnu_os2.cmd @@ -35,4 +35,4 @@ if "%HB_OS2_TCP32%" == "YES" goto tcp32 set HB_USER_CFLAGS=-DTCPV40HDRS %HB_USER_CFLAGS% :tcp32 -make %1 %2 %3 %4 %5 %6 %7 %8 %9 > make_gnu.log +make %1 %2 %3 %4 %5 %6 %7 %8 %9 diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index 72788b30f8..9c8ea86251 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -361,7 +361,7 @@ FUNCTION Main( ... ) DO CASE CASE t_cARCH $ "bsd|hpux|sunos|linux" .OR. t_cARCH == "darwin" /* Separated to avoid match with 'win' */ IF t_cARCH == "linux" - aCOMPSUP := { "gcc", "gpp", "owatcom", "mingw", "mingwce" } + aCOMPSUP := { "gcc", "gpp", "owatcom", "icc", "mingw", "mingwce" } ELSE aCOMPSUP := { "gcc" } ENDIF @@ -1410,6 +1410,7 @@ FUNCTION Main( ... ) s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "user32", "wsock32", "advapi32", "gdi32" } ) /* TODO */ + CASE t_cARCH == "linux" .AND. t_cCOMP == "icc" CASE t_cARCH == "win" .AND. t_cCOMP == "pocc64" /* NOTE: Cross-platform: win/amd64 on win/x86 */ CASE t_cARCH == "win" .AND. t_cCOMP == "poccce" /* NOTE: Cross-platform: wince/ARM on win/x86 */ CASE t_cARCH == "win" .AND. t_cCOMP == "dmc" @@ -2574,7 +2575,7 @@ STATIC PROCEDURE ShowHelp( lLong ) " Ex.: {win}, {gcc}, {linux|darwin}, {win&!dmc}, {(win|linux)&!owatcom}" ,; " - Defaults and feature support vary by architecture/compiler." ,; " - Supported values for each supported value:" ,; - " linux : gcc, gpp, owatcom, mingw, mingwce" ,; + " linux : gcc, gpp, owatcom, icc, mingw, mingwce" ,; " darwin : gcc" ,; " win : gcc, mingw, msvc, msvc64, bcc32, owatcom, pocc, pocc64," ,; " dmc, rsxnt, xcc, icc" ,; /* poccce, mingwce, msvcce */