2009-03-21 10:17 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* tests/bnchmark/bnch_win.bat
+ Added option to override benchmark program name, so now
it can be used with customized speedtst versions or other
benchmark apps.
+ Added HB_CMP_FLAGS envvar to define common compilation flags.
+ Now echoing all benchmark settings to output.
* config/win/icc.cf
+ Added -nologo.
* Changed -W4 to -W3, as -W3 is really verbose in this compiler.
* INSTALL
* bin/hb-mkdyn.bat
* utils/hbmk2/hbmk2.prg
+ config/win/iccia64.cf
+ Added Intel(R) C++ Compiler IA64 support.
All Harbour libs (including contribs) compiled successfully,
but I couldn't try linking any executables.
; TODO: Add processor information to appropriate places into
Harbour. Currently we have only bit width and endianness,
but no actual CPU family info. CPU instruction families
Harbour can currently be built on out of the box:
x86, amd64, IA64, PPC, PPC64, ARM.
This commit is contained in:
@@ -8,6 +8,31 @@
|
||||
2009-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org)
|
||||
*/
|
||||
|
||||
2009-03-21 10:17 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
|
||||
* tests/bnchmark/bnch_win.bat
|
||||
+ Added option to override benchmark program name, so now
|
||||
it can be used with customized speedtst versions or other
|
||||
benchmark apps.
|
||||
+ Added HB_CMP_FLAGS envvar to define common compilation flags.
|
||||
+ Now echoing all benchmark settings to output.
|
||||
|
||||
* config/win/icc.cf
|
||||
+ Added -nologo.
|
||||
* Changed -W4 to -W3, as -W3 is really verbose in this compiler.
|
||||
|
||||
* INSTALL
|
||||
* bin/hb-mkdyn.bat
|
||||
* utils/hbmk2/hbmk2.prg
|
||||
+ config/win/iccia64.cf
|
||||
+ Added Intel(R) C++ Compiler IA64 support.
|
||||
All Harbour libs (including contribs) compiled successfully,
|
||||
but I couldn't try linking any executables.
|
||||
; TODO: Add processor information to appropriate places into
|
||||
Harbour. Currently we have only bit width and endianness,
|
||||
but no actual CPU family info. CPU instruction families
|
||||
Harbour can currently be built on out of the box:
|
||||
x86, amd64, IA64, PPC, PPC64, ARM.
|
||||
|
||||
2009-03-20 17:33 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
|
||||
* tests/bnchmark
|
||||
+ tests/bnchmark/bnch_win.bat
|
||||
|
||||
@@ -192,6 +192,7 @@ SUPPORTED C COMPILERS UNDER DIFFERENT PLATFORMS
|
||||
xcc - Pelles C for xhb
|
||||
owatcom - Open Watcom C++
|
||||
icc - Intel(R) C/C++
|
||||
iccia64 - Intel(R) C/C++ IA64
|
||||
bcc - Borland/CodeGear C++ 4.x and above
|
||||
cygwin - Cygwin GNU C
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ set HB_DLL_LIBS_ST=hbvm
|
||||
set HB_DLL_LIBS_MT=hbvmmt
|
||||
|
||||
if "%HB_COMPILER%" == "icc" goto DO_MSVC
|
||||
if "%HB_COMPILER%" == "iccia64" goto DO_MSVC
|
||||
if "%HB_COMPILER%" == "msvc" goto DO_MSVC
|
||||
if "%HB_COMPILER%" == "msvc64" goto DO_MSVC
|
||||
if "%HB_COMPILER%" == "msvcia64" goto DO_MSVC
|
||||
@@ -40,10 +41,12 @@ echo Making .dlls for %HB_COMPILER%...
|
||||
md _dll
|
||||
cd _dll
|
||||
|
||||
if "%HB_COMPILER%" == "icc" set _BIN_LIB=xilib
|
||||
if not "%HB_COMPILER%" == "icc" set _BIN_LIB=lib
|
||||
if "%HB_COMPILER%" == "icc" set _BIN_LINK=xilink
|
||||
if not "%HB_COMPILER%" == "icc" set _BIN_LINK=link
|
||||
set _BIN_LIB=lib
|
||||
set _BIN_LINK=link
|
||||
if "%HB_COMPILER%" == "icc" set _BIN_LIB=xilib
|
||||
if "%HB_COMPILER%" == "icc" set _BIN_LINK=xilink
|
||||
if "%HB_COMPILER%" == "iccia64" set _BIN_LIB=xilib
|
||||
if "%HB_COMPILER%" == "iccia64" set _BIN_LINK=xilink
|
||||
|
||||
rem ; Extract neutral objects
|
||||
echo.> _hboneut.txt
|
||||
@@ -103,6 +106,8 @@ cd ..
|
||||
|
||||
if "%HB_COMPILER%" == "icc" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%
|
||||
if "%HB_COMPILER%" == "icc" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%
|
||||
if "%HB_COMPILER%" == "iccia64" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-ia64
|
||||
if "%HB_COMPILER%" == "iccia64" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%-ia64
|
||||
if "%HB_COMPILER%" == "msvc" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%
|
||||
if "%HB_COMPILER%" == "msvc" set _DST_NAME_MT=harbourmt-%HB_DLL_VERSION%
|
||||
if "%HB_COMPILER%" == "msvc64" set _DST_NAME_ST=harbour-%HB_DLL_VERSION%-x64
|
||||
|
||||
@@ -15,8 +15,8 @@ LIB_EXT = .lib
|
||||
CC = icl.exe
|
||||
CC_IN = -c
|
||||
CC_OUT = -Fo
|
||||
CPPFLAGS = -I. -I$(HB_INC_COMPILE)
|
||||
CFLAGS = -W4 -Gs
|
||||
CPPFLAGS = -nologo -I. -I$(HB_INC_COMPILE)
|
||||
CFLAGS = -W3 -Gs
|
||||
|
||||
ifneq ($(HB_BUILD_OPTIM),no)
|
||||
# maximum optimizations
|
||||
|
||||
5
harbour/config/win/iccia64.cf
Normal file
5
harbour/config/win/iccia64.cf
Normal file
@@ -0,0 +1,5 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
include $(TOP)$(ROOT)config/$(HB_ARCHITECTURE)/icc.cf
|
||||
@@ -13,10 +13,12 @@
|
||||
@rem - Harbour binary build
|
||||
@rem - Harbour binary build \bin dir as current dir
|
||||
@rem - This batch copied into current dir
|
||||
@rem - speedtst.prg copied into current dir
|
||||
@rem - envvars HB_CMP_FLAGS_[1-8] set to speedtst build flags
|
||||
@rem - envvars HB_RUN_FLAGS_[1-8] set to speedtst run flags (optional)
|
||||
@rem - envvar HB_RUN_FLAGS set to common speedtst run flags (optional)
|
||||
@rem - envvar HB_BENCH_PRG set to benchmark program (default: speedtst)
|
||||
@rem - benchmark program copied into current dir
|
||||
@rem - envvars HB_CMP_FLAGS_[1-8] set to benchmark program build flags
|
||||
@rem - envvar HB_CMP_FLAGS set to common benchmark program build flags (optional)
|
||||
@rem - envvars HB_RUN_FLAGS_[1-8] set to benchmark program run flags (optional)
|
||||
@rem - envvar HB_RUN_FLAGS set to common benchmark program run flags (optional)
|
||||
@rem - envvar HB_BENCH_RUNS set to number of times tests are run (default: 3)
|
||||
@rem - C compiler configured (just like you'd do for hbmk2)
|
||||
@rem - Running it using this command:
|
||||
@@ -25,6 +27,18 @@
|
||||
|
||||
@if not "%OS%" == "Windows_NT" goto END
|
||||
|
||||
@rem ; Default settings
|
||||
@if "%HB_BENCH_PRG%" == "" @set HB_BENCH_PRG=speedtst
|
||||
@if "%HB_BENCH_RUNS%" == "" @set HB_BENCH_RUNS=3
|
||||
@if "%HB_CMP_FLAGS_1%" == "" @set HB_CMP_FLAGS_1=-st
|
||||
@if "%HB_CMP_FLAGS_2%" == "" @set HB_CMP_FLAGS_2=-mt
|
||||
|
||||
@rem ; Benchmark information
|
||||
@set HB_BENCH_PRG
|
||||
@set HB_BENCH_RUNS
|
||||
@set HB_CMP_FLAGS
|
||||
@set HB_RUN_FLAGS
|
||||
|
||||
@echo off
|
||||
|
||||
echo.>_hbhwinfo.js
|
||||
@@ -67,30 +81,25 @@ cscript //nologo //E:javascript _hbhwinfo.js
|
||||
harbour /build
|
||||
|
||||
@rem ; Pre-make cleanup
|
||||
if exist speedtst_*.exe del speedtst_*.exe
|
||||
if exist %HB_BENCH_PRG%_*.exe del %HB_BENCH_PRG%_*.exe
|
||||
|
||||
@rem ; Default test flags
|
||||
if "%HB_CMP_FLAGS_1%" == "" set HB_CMP_FLAGS_1=-st
|
||||
if "%HB_CMP_FLAGS_2%" == "" set HB_CMP_FLAGS_2=-mt
|
||||
if "%HB_BENCH_RUNS%" == "" set HB_BENCH_RUNS=3
|
||||
@rem ; Creating benchmark executables
|
||||
if not "%HB_CMP_FLAGS_1%" == "" hbmk2 %HB_BENCH_PRG%.prg -q0 -trace -o%HB_BENCH_PRG%_1.exe %HB_CMP_FLAGS% %HB_CMP_FLAGS_1%
|
||||
if not "%HB_CMP_FLAGS_2%" == "" hbmk2 %HB_BENCH_PRG%.prg -q0 -trace -o%HB_BENCH_PRG%_2.exe %HB_CMP_FLAGS% %HB_CMP_FLAGS_2%
|
||||
if not "%HB_CMP_FLAGS_3%" == "" hbmk2 %HB_BENCH_PRG%.prg -q0 -trace -o%HB_BENCH_PRG%_3.exe %HB_CMP_FLAGS% %HB_CMP_FLAGS_3%
|
||||
if not "%HB_CMP_FLAGS_4%" == "" hbmk2 %HB_BENCH_PRG%.prg -q0 -trace -o%HB_BENCH_PRG%_4.exe %HB_CMP_FLAGS% %HB_CMP_FLAGS_4%
|
||||
if not "%HB_CMP_FLAGS_5%" == "" hbmk2 %HB_BENCH_PRG%.prg -q0 -trace -o%HB_BENCH_PRG%_5.exe %HB_CMP_FLAGS% %HB_CMP_FLAGS_5%
|
||||
if not "%HB_CMP_FLAGS_6%" == "" hbmk2 %HB_BENCH_PRG%.prg -q0 -trace -o%HB_BENCH_PRG%_6.exe %HB_CMP_FLAGS% %HB_CMP_FLAGS_6%
|
||||
if not "%HB_CMP_FLAGS_7%" == "" hbmk2 %HB_BENCH_PRG%.prg -q0 -trace -o%HB_BENCH_PRG%_7.exe %HB_CMP_FLAGS% %HB_CMP_FLAGS_7%
|
||||
if not "%HB_CMP_FLAGS_8%" == "" hbmk2 %HB_BENCH_PRG%.prg -q0 -trace -o%HB_BENCH_PRG%_8.exe %HB_CMP_FLAGS% %HB_CMP_FLAGS_8%
|
||||
|
||||
@rem ; Creating speedtst executables
|
||||
if not "%HB_CMP_FLAGS_1%" == "" hbmk2 speedtst.prg -q0 -trace -ospeedtst_1.exe %HB_CMP_FLAGS_1%
|
||||
if not "%HB_CMP_FLAGS_2%" == "" hbmk2 speedtst.prg -q0 -trace -ospeedtst_2.exe %HB_CMP_FLAGS_2%
|
||||
if not "%HB_CMP_FLAGS_3%" == "" hbmk2 speedtst.prg -q0 -trace -ospeedtst_3.exe %HB_CMP_FLAGS_3%
|
||||
if not "%HB_CMP_FLAGS_4%" == "" hbmk2 speedtst.prg -q0 -trace -ospeedtst_4.exe %HB_CMP_FLAGS_4%
|
||||
if not "%HB_CMP_FLAGS_5%" == "" hbmk2 speedtst.prg -q0 -trace -ospeedtst_5.exe %HB_CMP_FLAGS_5%
|
||||
if not "%HB_CMP_FLAGS_6%" == "" hbmk2 speedtst.prg -q0 -trace -ospeedtst_6.exe %HB_CMP_FLAGS_6%
|
||||
if not "%HB_CMP_FLAGS_7%" == "" hbmk2 speedtst.prg -q0 -trace -ospeedtst_7.exe %HB_CMP_FLAGS_7%
|
||||
if not "%HB_CMP_FLAGS_8%" == "" hbmk2 speedtst.prg -q0 -trace -ospeedtst_8.exe %HB_CMP_FLAGS_8%
|
||||
|
||||
@rem ; speedtst executable information
|
||||
dir speedtst_*.exe speedtst.prg
|
||||
@rem ; benchmark executable information
|
||||
dir %HB_BENCH_PRG%_*.exe %HB_BENCH_PRG%.prg
|
||||
|
||||
@rem ; pre-OS state information
|
||||
tasklist
|
||||
|
||||
@rem ; Running speedtst executables in multiple runs
|
||||
@rem ; Running benchmark executables in multiple runs
|
||||
@for /l %%r in (1,1,%HB_BENCH_RUNS%) do @call :RUN_ALL %%r
|
||||
|
||||
@rem ; post-OS state information
|
||||
@@ -102,14 +111,14 @@ tasklist
|
||||
|
||||
@echo.
|
||||
@echo Run #%1
|
||||
if exist speedtst_1.exe speedtst_1.exe %HB_RUN_FLAGS% %HB_RUN_FLAGS_1%
|
||||
if exist speedtst_2.exe speedtst_2.exe %HB_RUN_FLAGS% %HB_RUN_FLAGS_2%
|
||||
if exist speedtst_3.exe speedtst_3.exe %HB_RUN_FLAGS% %HB_RUN_FLAGS_3%
|
||||
if exist speedtst_4.exe speedtst_4.exe %HB_RUN_FLAGS% %HB_RUN_FLAGS_4%
|
||||
if exist speedtst_5.exe speedtst_5.exe %HB_RUN_FLAGS% %HB_RUN_FLAGS_5%
|
||||
if exist speedtst_6.exe speedtst_6.exe %HB_RUN_FLAGS% %HB_RUN_FLAGS_6%
|
||||
if exist speedtst_7.exe speedtst_7.exe %HB_RUN_FLAGS% %HB_RUN_FLAGS_7%
|
||||
if exist speedtst_8.exe speedtst_8.exe %HB_RUN_FLAGS% %HB_RUN_FLAGS_8%
|
||||
if exist %HB_BENCH_PRG%_1.exe %HB_BENCH_PRG%_1.exe %HB_RUN_FLAGS% %HB_RUN_FLAGS_1%
|
||||
if exist %HB_BENCH_PRG%_2.exe %HB_BENCH_PRG%_2.exe %HB_RUN_FLAGS% %HB_RUN_FLAGS_2%
|
||||
if exist %HB_BENCH_PRG%_3.exe %HB_BENCH_PRG%_3.exe %HB_RUN_FLAGS% %HB_RUN_FLAGS_3%
|
||||
if exist %HB_BENCH_PRG%_4.exe %HB_BENCH_PRG%_4.exe %HB_RUN_FLAGS% %HB_RUN_FLAGS_4%
|
||||
if exist %HB_BENCH_PRG%_5.exe %HB_BENCH_PRG%_5.exe %HB_RUN_FLAGS% %HB_RUN_FLAGS_5%
|
||||
if exist %HB_BENCH_PRG%_6.exe %HB_BENCH_PRG%_6.exe %HB_RUN_FLAGS% %HB_RUN_FLAGS_6%
|
||||
if exist %HB_BENCH_PRG%_7.exe %HB_BENCH_PRG%_7.exe %HB_RUN_FLAGS% %HB_RUN_FLAGS_7%
|
||||
if exist %HB_BENCH_PRG%_8.exe %HB_BENCH_PRG%_8.exe %HB_RUN_FLAGS% %HB_RUN_FLAGS_8%
|
||||
@goto END
|
||||
|
||||
:END
|
||||
|
||||
@@ -496,11 +496,12 @@ FUNCTION Main( ... )
|
||||
{ {|| FindInPath( "bcc32" ) != NIL }, "bcc" },;
|
||||
{ {|| FindInPath( "porc64" ) != NIL }, "pocc64" },;
|
||||
{ {|| FindInPath( "pocc" ) != NIL }, "pocc" },;
|
||||
{ {|| ( tmp := FindInPath( "icl" ) ) != NIL .AND. "itanium" $ Lower( tmp ) }, "iccia64" },;
|
||||
{ {|| FindInPath( "icl" ) != NIL }, "icc" },;
|
||||
{ {|| FindInPath( "cygstart" ) != NIL }, "cygwin" },;
|
||||
{ {|| FindInPath( "xcc" ) != NIL }, "xcc" } }
|
||||
aCOMPSUP := { "mingw", "msvc", "bcc", "owatcom", "icc", "pocc", "xcc", "cygwin",;
|
||||
"msvc64", "msvcia64", "pocc64",;
|
||||
"msvc64", "msvcia64", "iccia64", "pocc64",;
|
||||
"mingwce", "msvcce", "poccce" }
|
||||
cBin_CompPRG := "harbour.exe"
|
||||
s_aLIBHBGT := { "gtwin", "gtwvt", "gtgui" }
|
||||
@@ -1605,7 +1606,7 @@ FUNCTION Main( ... )
|
||||
AAdd( s_aLIBFM, iif( s_lMT, "hbfmmt", "hbfm" ) )
|
||||
ENDIF
|
||||
|
||||
CASE t_cARCH == "win" .AND. t_cCOMP $ "msvc|msvc64|msvcia64|icc"
|
||||
CASE t_cARCH == "win" .AND. t_cCOMP $ "msvc|msvc64|msvcia64|icc|iccia64"
|
||||
IF s_lDEBUG
|
||||
AAdd( s_aOPTC, "-MTd -Zi" )
|
||||
ENDIF
|
||||
@@ -1618,7 +1619,7 @@ FUNCTION Main( ... )
|
||||
cLibExt := ".lib"
|
||||
cObjExt := ".obj"
|
||||
cLibLibExt := cLibExt
|
||||
IF t_cCOMP == "icc"
|
||||
IF t_cCOMP $ "icc|iccia64"
|
||||
cBin_Lib := "xilib.exe"
|
||||
cBin_CompC := "icl.exe"
|
||||
cBin_Dyn := "xilink.exe"
|
||||
@@ -1661,14 +1662,14 @@ FUNCTION Main( ... )
|
||||
"harbour-" + cDL_Version_Alter + "-x64" ),;
|
||||
"hbmainstd",;
|
||||
"hbmainwin" }
|
||||
CASE t_cCOMP == "msvcia64"
|
||||
CASE t_cCOMP $ "msvcia64|iccia64"
|
||||
s_aLIBSHARED := { iif( s_lMT, "harbourmt-" + cDL_Version_Alter + "-ia64",;
|
||||
"harbour-" + cDL_Version_Alter + "-ia64" ),;
|
||||
"hbmainstd",;
|
||||
"hbmainwin" }
|
||||
ENDCASE
|
||||
|
||||
IF !( t_cCOMP == "icc" )
|
||||
IF !( t_cCOMP $ "icc|iccia64" )
|
||||
cBin_Res := "rc.exe"
|
||||
cOpt_Res := "/r {LR}"
|
||||
cResExt := ".res"
|
||||
@@ -1781,7 +1782,7 @@ FUNCTION Main( ... )
|
||||
DO CASE
|
||||
CASE ! s_lSHARED .OR. ;
|
||||
!( t_cARCH == "win" ) .OR. ;
|
||||
t_cCOMP $ "msvc|msvc64|msvcia64|icc"
|
||||
t_cCOMP $ "msvc|msvc64|msvcia64|icc|iccia64"
|
||||
|
||||
/* NOTE: MSVC gives the warning:
|
||||
"LNK4217: locally defined symbol ... imported in function ..."
|
||||
@@ -3227,7 +3228,7 @@ STATIC PROCEDURE ShowHelp( lLong )
|
||||
" linux : gcc, gpp, owatcom, icc, mingw, mingwce" ,;
|
||||
" darwin : gcc" ,;
|
||||
" win : mingw, msvc, bcc, owatcom, icc, pocc, cygwin," ,;
|
||||
" mingwce, msvc64, msvcia64, msvcce, pocc64, poccce, xcc" ,;
|
||||
" mingwce, msvc64, msvcia64, msvcce, iccia64, pocc64, poccce, xcc" ,;
|
||||
" os2 : gcc, owatcom" ,;
|
||||
" dos : djgpp, owatcom" ,;
|
||||
" bsd, hpux, sunos: gcc" }
|
||||
|
||||
Reference in New Issue
Block a user