* INSTALL
* external/Makefile
+ external/libhpdf/*
+ external/libpng/*
+ Added libharu and libpng to Harbour repository.
Now it's possible to use libhpdf as static lib on all
platforms. This is useful because this lib isn't yet part
of Linux distros.
libpng is only built for win/dos/os2 platforms.
It's possible to override libpng location by using
HB_INC_LIBPNG envvar.
* contrib/hbhpdf/Makefile
+ Look for libharu headers in /external dir.
* external/sqlite3/Makefile
- Disabled for bcc. Latest sqlite3 version breaks with this compiler:
---
Error E2293 ../../sqlite3.c 29156: ) expected in function winCurrentTime
Warning W8013 ../../sqlite3.c 29157: Possible use of 'timeW' before definition in function winCurrentTime
Error E2379 ../../sqlite3.c 29157: Statement missing ; in function winCurrentTime
Error E2379 ../../sqlite3.c 29158: Statement missing ; in function winCurrentTime
Error E2379 ../../sqlite3.c 29160: Statement missing ; in function winCurrentTime
Error E2293 ../../sqlite3.c 29161: ) expected in function winCurrentTime
Error E2379 ../../sqlite3.c 29162: Statement missing ; in function winCurrentTime
Error E2293 ../../sqlite3.c 29163: ) expected in function winCurrentTime
Warning W8057 ../../sqlite3.c 29171: Parameter 'prNow' is never used in function winCurrentTime
*** 7 errors in Compile ***
---
bcc users can report this problem here:
http://www.sqlite.org/cvstrac/tktnew
+ tests/bnch_win.bat
- tests/bnchmark
* Moved bnch_win.bat to tests.
125 lines
5.7 KiB
Batchfile
125 lines
5.7 KiB
Batchfile
@rem
|
|
@rem $Id$
|
|
@rem
|
|
|
|
@rem ---------------------------------------------------------------
|
|
@rem Benchmark for Harbour Project
|
|
@rem
|
|
@rem Copyright 2009 Viktor Szakats (harbour.01 syenar.hu)
|
|
@rem See COPYING for licensing terms.
|
|
@rem
|
|
@rem This script requires:
|
|
@rem - Windows XP or upper
|
|
@rem - Harbour binary build
|
|
@rem - Harbour binary build \bin dir as current dir
|
|
@rem - This batch copied into current dir
|
|
@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:
|
|
@rem 'hbbm_win.bat > results.txt 2>&1'
|
|
@rem ---------------------------------------------------------------
|
|
|
|
@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
|
|
echo.var locator = WScript.CreateObject( "WbemScripting.SWbemLocator" );>>_hbhwinfo.js
|
|
echo.var services = locator.ConnectServer();>>_hbhwinfo.js
|
|
echo.var items = new Enumerator( services.ExecQuery( "SELECT * FROM Win32_Processor" ) );>>_hbhwinfo.js
|
|
echo.while( ! items.atEnd() )>>_hbhwinfo.js
|
|
echo.{>>_hbhwinfo.js
|
|
echo. var item = items.item();>>_hbhwinfo.js
|
|
echo. WScript.StdOut.WriteLine( "Name: " + item.Name );>>_hbhwinfo.js
|
|
echo. WScript.StdOut.WriteLine( "Description: " + item.Description );>>_hbhwinfo.js
|
|
echo. WScript.StdOut.WriteLine( "Manufacturer: " + item.Manufacturer );>>_hbhwinfo.js
|
|
echo. WScript.StdOut.WriteLine( "NumberOfCores: " + item.NumberOfCores );>>_hbhwinfo.js
|
|
echo. WScript.StdOut.WriteLine( "NumberOfLogicalProcessors: " + item.NumberOfLogicalProcessors );>>_hbhwinfo.js
|
|
echo. WScript.StdOut.WriteLine( "AddressWidth: " + item.AddressWidth + " bits" );>>_hbhwinfo.js
|
|
echo. WScript.StdOut.WriteLine( "DataWidth: " + item.DataWidth + " bits" );>>_hbhwinfo.js
|
|
echo. WScript.StdOut.WriteLine( "CurrentClockSpeed: " + item.CurrentClockSpeed + " MHz" );>>_hbhwinfo.js
|
|
echo. WScript.StdOut.WriteLine( "MaxClockSpeed: " + item.MaxClockSpeed + " MHz" );>>_hbhwinfo.js
|
|
echo. WScript.StdOut.WriteLine( "ExtClock: " + item.ExtClock + " MHz" );>>_hbhwinfo.js
|
|
echo. items.moveNext();>>_hbhwinfo.js
|
|
echo.}>>_hbhwinfo.js
|
|
echo.var items = new Enumerator( services.ExecQuery( "SELECT * FROM Win32_PhysicalMemory" ) );>>_hbhwinfo.js
|
|
echo.var totalMemory = 0;>>_hbhwinfo.js
|
|
echo.while( ! items.atEnd() )>>_hbhwinfo.js
|
|
echo.{>>_hbhwinfo.js
|
|
echo. var item = items.item();>>_hbhwinfo.js
|
|
echo. totalMemory += parseInt( item.Capacity ) / 1024 / 1024;>>_hbhwinfo.js
|
|
echo. items.moveNext();>>_hbhwinfo.js
|
|
echo.}>>_hbhwinfo.js
|
|
echo.WScript.StdOut.WriteLine( "Physical memory: " + totalMemory + " MiB" );>>_hbhwinfo.js
|
|
|
|
@echo on
|
|
|
|
@rem ; Hardware information
|
|
cscript //nologo //E:javascript _hbhwinfo.js
|
|
|
|
@del _hbhwinfo.js
|
|
|
|
@rem ; Harbour information
|
|
harbour /build
|
|
|
|
@rem ; Pre-make cleanup
|
|
if exist %HB_BENCH_PRG%_*.exe del %HB_BENCH_PRG%_*.exe
|
|
|
|
@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 ; benchmark executable information
|
|
dir %HB_BENCH_PRG%_*.exe %HB_BENCH_PRG%.prg
|
|
|
|
@rem ; pre-OS state information
|
|
tasklist
|
|
|
|
@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
|
|
tasklist
|
|
|
|
@goto END
|
|
|
|
:RUN_ALL
|
|
|
|
@echo.
|
|
@echo Run #%1
|
|
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
|