2009-08-24 14:09 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)

* INSTALL
    * Cleaned examples.
      - Arranged them by host platform
      - Fixed a few examples (DJGPP on NT missed HB_PLATFORM)
      - Moved 'set HB_COMPILE' to make cmdline.
      - Consistency changes.
      - Deleted empty 'rem' lines.
      - Moved log redirection from each example to general NOTE.
      - Moved %1 %2 from example to general NOTE.
      - Added generic *nix section.
      - Added information about possible cross-build targets.
    ; Hopefully they are much cleaner now. In fact most information
      deal with how to setup the compiler.

  * config/global.mk
    + Added link to GNU Make free book.
    % path checking functions rearranged, so now it can be indented.
    + Added log header line.
    ! Fixed to display only the first autodetect location.

  * bin/postinst.cmd
  * bin/postinst.bat
  * bin/hb-func.sh
    * Wording: 'Generating' -> 'Making'
    * 'Harbour Make (hbmk2)' -> 'hbmk2' in generated hbmk.cfg.

  * utils/hbmk2/hbmk2.prg
    * Wording: 'Generating' -> 'Creating'
This commit is contained in:
Viktor Szakats
2009-08-24 12:12:59 +00:00
parent 3424960e82
commit 9a4bb4a090
7 changed files with 142 additions and 140 deletions

View File

@@ -17,6 +17,36 @@
past entries belonging to author(s): Viktor Szakats.
*/
2009-08-24 14:09 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
* Cleaned examples.
- Arranged them by host platform
- Fixed a few examples (DJGPP on NT missed HB_PLATFORM)
- Moved 'set HB_COMPILE' to make cmdline.
- Consistency changes.
- Deleted empty 'rem' lines.
- Moved log redirection from each example to general NOTE.
- Moved %1 %2 from example to general NOTE.
- Added generic *nix section.
- Added information about possible cross-build targets.
; Hopefully they are much cleaner now. In fact most information
deal with how to setup the compiler.
* config/global.mk
+ Added link to GNU Make free book.
% path checking functions rearranged, so now it can be indented.
+ Added log header line.
! Fixed to display only the first autodetect location.
* bin/postinst.cmd
* bin/postinst.bat
* bin/hb-func.sh
* Wording: 'Generating' -> 'Making'
* 'Harbour Make (hbmk2)' -> 'hbmk2' in generated hbmk.cfg.
* utils/hbmk2/hbmk2.prg
* Wording: 'Generating' -> 'Creating'
2009-08-24 13:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbexprb.c
* minor modification

View File

@@ -85,12 +85,8 @@ HOW TO BUILD AND INSTALL HARBOUR FROM SOURCE
only. For a peace of mind, avoid using spaces, quotes
in the name. You can leave it empty, in this case the
results will be created under the current directory tree.
- You can also use *nix hosts to create Windows builds:
$ make HB_PLATFORM=win
- You can also use *nix hosts to create Windows CE builds.
$ make HB_PLATFORM=wce
Windows with MSYS or Cygwin shells
Windows with MSYS and Cygwin shells
----------------------------------
You can also use these shells to build Harbour on Windows.
Generally it's recommended to use native shell though.
@@ -469,7 +465,7 @@ OPTIONS AVAILABLE WHEN BUILDING HARBOUR
-> wce/mingwarm
-> wce/poccarm
-> wce/msvcarm
-> dos/djgpp (using MS-DOS build of GNU Make)
-> dos/djgpp
-> dos/watcom
-> os2/watcom
-> linux/watcom
@@ -505,93 +501,82 @@ OPTIONS AVAILABLE WHEN BUILDING HARBOUR
EXAMPLES
========
Windows/Windows CE
------------------
for Windows hosts
-----------------
(possible cross-build targets: Windows CE, MS-DOS, OS/2, Linux)
NOTES: - All code below should be copied to batch files or typed at NT
command line.
- Naturally, you'll need to adapt dirs to valid ones on your system.
Don't use spaces in dirs.
- '%1 %2' can be empty, 'clean', 'install' or 'clean install'
depending on what you want to do.
- You can use additional 'clean', 'install' or 'clean install'
(without quotes) make parameters depending on what you want to do.
- To redirect all output to a log file, append this after the make
command: '> log.txt 2>&1' (without quotes)
--- MSVC 2008 + SDK
set WindowsSDKDir=%ProgramFiles%\Microsoft SDKs\Windows\v6.0A\
call "%ProgramFiles%\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
rem
mingw32-make %1 %2 > log.txt 2>&1
mingw32-make
---
--- MSVC 2008
call "%ProgramFiles%\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
rem
mingw32-make %1 %2 > log.txt 2>&1
mingw32-make
---
--- MSVC 2008 x86-64 (requires preceding build for native target)
--- MSVC 2008 for Windows x86-64 (requires preceding build for native target)
call "%ProgramFiles%\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86_amd64
rem
mingw32-make %1 %2 > log.txt 2>&1
mingw32-make
---
--- MSVC 2008 WinCE/ARM (requires preceding build for native target)
--- MSVC 2008 for Windows CE ARM (requires preceding build for native target)
set INCLUDE=%ProgramFiles%\Microsoft Visual Studio 9.0\VC\ce\include;%ProgramFiles%\Windows Mobile 5.0 SDK R2\PocketPC\Include\Armv4i
set LIB=%ProgramFiles%\Microsoft Visual Studio 9.0\VC\ce\lib\armv4i;%ProgramFiles%\Windows Mobile 5.0 SDK R2\PocketPC\Lib\ARMV4I
set PATH=%ProgramFiles%\Microsoft Visual Studio 9.0\VC\ce\bin\x86_arm;%ProgramFiles%\Microsoft Visual Studio 8\Common7\IDE;%PATH%
rem
mingw32-make %1 %2 > log.txt 2>&1
mingw32-make
---
--- MSVC 2005
call "%ProgramFiles%\Microsoft Visual Studio 8\VC\vcvarsall.bat"
rem
mingw32-make %1 %2 > log.txt 2>&1
mingw32-make
---
--- MSVC 2005 WinCE/ARM (requires preceding build for native target)
--- MSVC 2005 for Windows CE ARM (requires preceding build for native target)
set INCLUDE=%ProgramFiles%\Microsoft Visual Studio 8\VC\ce\include;%ProgramFiles%\Windows Mobile 5.0 SDK R2\PocketPC\Include\Armv4i
set LIB=%ProgramFiles%\Microsoft Visual Studio 8\VC\ce\lib\armv4i;%ProgramFiles%\Windows Mobile 5.0 SDK R2\PocketPC\Lib\ARMV4I
set PATH=%ProgramFiles%\Microsoft Visual Studio 8\VC\ce\bin\x86_arm;%ProgramFiles%\Microsoft Visual Studio 8\Common7\IDE;%PATH%
rem
mingw32-make %1 %2 > log.txt 2>&1
mingw32-make
---
--- MSVC .NET 2003 (untested)
call "%ProgramFiles%\Microsoft Visual Studio .NET 2003\VC7\vcvarsall.bat"
rem
set HB_VISUALC_VER_PRE80=yes
rem
mingw32-make %1 %2 > log.txt 2>&1
mingw32-make HB_VISUALC_VER_PRE80=yes
---
--- MinGW GCC
set PATH=C:\mingw\bin;%PATH%
rem
mingw32-make %1 %2 > log.txt 2>&1
mingw32-make
---
--- MinGW GCC + MSYS
--- MinGW GCC using MSYS shell
set PATH=C:\msys\1.0.11\bin;C:\mingw\bin;%PATH%
rem
sh -c make %1 %2 > log.txt 2>&1
sh -c make
---
--- MinGW GCC x86-64 (requires preceding build for native target)
--- MinGW GCC for Windows x86-64 (requires preceding build for native target)
set PATH=C:\mingw64\bin;%PATH%
rem
mingw32-make %1 %2 > log.txt 2>&1
mingw32-make
---
--- MinGW GCC WinCE/ARM (requires Cygwin + preceding build for native target)
--- MinGW GCC for Windows CE ARM (requires Cygwin + preceding build for native target)
set PATH=C:\mingwce\opt\mingw32ce\bin;C:\cygwin\bin;%PATH%
rem
mingw32-make %1 %2 > log.txt 2>&1
mingw32-make
---
--- Cygwin GCC (using Cygwin shell)
--- Cygwin GCC using Cygwin shell
set PATH=C:\cygwin\bin
rem
sh -c make %1 %2 > log.txt 2>&1
sh -c make
---
--- Open Watcom C++
@@ -599,53 +584,74 @@ EXAMPLES
SET PATH=%WATCOM%\BINNT;%WATCOM%\BINW;%PATH%
SET EDPATH=%WATCOM%\EDDAT
SET INCLUDE=%WATCOM%\H;%WATCOM%\H\NT
rem
mingw32-make %1 %2 > log.txt 2>&1
mingw32-make
---
--- Intel(R) C++
call "%ProgramFiles%\Intel\Compiler\C++\10.1.014\IA32\Bin\iclvars.bat"
rem
mingw32-make %1 %2 > log.txt 2>&1
mingw32-make
---
--- Intel(R) C++ IA-64 (requires preceding build for native target)
--- Intel(R) C++ for Windows IA-64 (requires preceding build for native target)
call "%ProgramFiles%\Intel\Compiler\C++\10.1.025\Itanium\Bin\iclvars.bat"
rem
set HB_COMPILER=iccia64
mingw32-make %1 %2 > log.txt 2>&1
mingw32-make HB_COMPILER=iccia64
---
--- Borland/CodeGear C++
set PATH=C:\Borland\BCC55\Bin;%PATH%
rem
mingw32-make %1 %2 > log.txt 2>&1
mingw32-make
---
--- Pelles C
set PATH=%ProgramFiles%\PellesC\Bin;%PATH%
set INCLUDE=%ProgramFiles%\PellesC\Include;%ProgramFiles%\PellesC\Include\Win;%INCLUDE%
set LIB=%ProgramFiles%\PellesC\Lib;%ProgramFiles%\PellesC\Lib\Win;%LIB%
rem
mingw32-make %1 %2 > log.txt 2>&1
mingw32-make
---
--- Pelles C x86-64 (requires preceding build for native target)
--- Pelles C for Windows x86-64 (requires preceding build for native target)
set PATH=%ProgramFiles%\PellesC\Bin;%PATH%
set INCLUDE=%ProgramFiles%\PellesC\Include;%ProgramFiles%\PellesC\Include\Win;%INCLUDE%
set LIB=%ProgramFiles%\PellesC\Lib;%ProgramFiles%\PellesC\Lib\Win64;%LIB%
rem
set HB_COMPILER=pocc64
mingw32-make %1 %2 > log.txt 2>&1
mingw32-make HB_COMPILER=pocc64
---
--- Pelles C WinCE/ARM (requires preceding build for native target)
--- Pelles C for Windows CE ARM (requires preceding build for native target)
set PATH=%ProgramFiles%\PellesC\Bin;%PATH%
set INCLUDE=%ProgramFiles%\PellesC\Include\WinCE;%ProgramFiles%\PellesC\Include;%INCLUDE%
set LIB=%ProgramFiles%\PellesC\Lib;%ProgramFiles%\PellesC\Lib\WinCE;%LIB%
rem
set HB_COMPILER=poccarm
mingw32-make %1 %2 > log.txt 2>&1
mingw32-make HB_COMPILER=poccarm
---
--- Delorie GNU C for MS-DOS (on Intel 32-bit Windows hosts only)
set DJGPP=C:\djgpp\djgpp.env
set PATH=C:\djgpp\bin;%PATH%
mingw32-make HB_PLATFORM=dos
---
--- Open Watcom C++ for MS-DOS
SET WATCOM=C:\watcom
SET PATH=%WATCOM%\BINNT;%PATH%
SET EDPATH=%WATCOM%\EDDAT
SET INCLUDE=%WATCOM%\H
mingw32-make HB_PLATFORM=dos
---
--- Open Watcom C++ for OS/2 (requires preceding build for Windows target)
SET WATCOM=C:\watcom
SET PATH=%WATCOM%\BINNT;%WATCOM%\BINW;%PATH%
SET BEGINLIBPATH=%WATCOM%\BINP\DLL
SET EDPATH=%WATCOM%\EDDAT
SET INCLUDE=%WATCOM%\H;%WATCOM%\H\OS2
mingw32-make HB_PLATFORM=os2
---
--- Open Watcom C++ for Linux (requires preceding build for Windows target)
SET WATCOM=C:\watcom
SET PATH=%WATCOM%\BINNT;%WATCOM%\BINW;%PATH%
SET EDPATH=%WATCOM%\EDDAT
SET INCLUDE=%WATCOM%\LH
mingw32-make HB_PLATFORM=linux
---
--8<--
@@ -682,7 +688,7 @@ EXAMPLES
set HB_DIR_OPENSSL=C:\openssl
set HB_DIR_PGSQL=C:\pgsql
set HB_DIR_QT=C:\Qt
rem
set HB_BUILD_IMPLIB=yes
-->8--
@@ -695,21 +701,14 @@ EXAMPLES
set HB_BUILD_PKG=yes
-->8--
MS-DOS
------
for MS-DOS hosts
----------------
(possible cross-build targets: Windows, OS/2, Linux)
--- Delorie GNU C (on MS-DOS host)
--- Delorie GNU C
set DJGPP=C:\djgpp\djgpp.env
set PATH=C:\djgpp\bin;%PATH%
rem
make %1 %2 > log.txt
---
--- Delorie GNU C (on Windows NT (x86-only) host)
set DJGPP=C:\djgpp\djgpp.env
set PATH=C:\djgpp\bin;%PATH%
rem
mingw32-make %1 %2 > log.txt 2>&1
make
---
--- Open Watcom C++
@@ -717,8 +716,7 @@ EXAMPLES
SET PATH=%WATCOM%\BINW;%PATH%
SET EDPATH=%WATCOM%\EDDAT
SET INCLUDE=%WATCOM%\H
rem
make %1 %2 > log-ow.txt 2>&1
make
---
--8<--
@@ -739,8 +737,9 @@ EXAMPLES
set HB_BUILD_PKG=yes
-->8--
OS/2
----
for OS/2 hosts
--------------
(possible cross-build targets: MS-DOS, OS/2, Linux)
--- Open Watcom C++
SET WATCOM=C:\watcom
@@ -750,26 +749,14 @@ EXAMPLES
SET INCLUDE=%WATCOM%\H;%WATCOM%\H\OS2
SET HELP=%WATCOM%\BINP\HELP;%HELP%
SET BOOKSHELF=%WATCOM%\BINP\HELP;%BOOKSHELF%
rem
make %1 %2 > log.txt 2>&1
make
---
--- Open Watcom C++ (on Windows NT host - requires preceding build for Windows target)
SET WATCOM=C:\watcom
SET PATH=%WATCOM%\BINNT;%WATCOM%\BINW;%PATH%
SET BEGINLIBPATH=%WATCOM%\BINP\DLL
SET EDPATH=%WATCOM%\EDDAT
SET INCLUDE=%WATCOM%\H;%WATCOM%\H\OS2
rem
rem ; Native Windows Harbour binaries need to be installed on this path
set HB_BIN_COMPILE=C:\hb-watcom\bin
rem
set HB_PLATFORM=os2
set HB_COMPILER=watcom
mingw32-make %1 %2 > log.txt 2>&1
---
for Linux hosts
---------------
(possible cross-build targets: Windows, Windows CE, MS-DOS, OS/2)
--- Open Watcom C++ (on Linux host - requires preceding build for Linux target)
--- Open Watcom C++ for OS/2 (requires preceding build for Linux target)
#!/bin/sh
if [ -z "${WATCOM}" ]; then
export WATCOM="/opt/lng/watcom"
@@ -778,32 +765,26 @@ EXAMPLES
fi
# ; eliminate libraries which scans for local host header files
export HB_XBUILD=yes
# ; Native Linux binaries need to be installed on this path
export HB_BIN_COMPILE="/tmp/cross-hb"
# ;
export HB_PLATFORM=os2
export HB_COMPILER=watcom
export HB_INSTALL_PREFIX="$(pwd)/hb-os2/watcom"
make "$@"
make HB_PLATFORM=os2 "$@"
---
Linux
-----
for *nix hosts in general
-------------------------
(possible cross-build targets: Windows, Windows CE)
--- Open Watcom C++ (on Windows NT host - requires preceding build for Windows target)
SET WATCOM=C:\watcom
SET PATH=%WATCOM%\BINNT;%WATCOM%\BINW;%PATH%
SET EDPATH=%WATCOM%\EDDAT
SET INCLUDE=%WATCOM%\LH
rem
rem ; Native Windows Harbour binaries need to be installed on this path
set HB_BIN_COMPILE=C:\hb-watcom\bin
rem
set HB_PLATFORM=linux
set HB_COMPILER=watcom
mingw32-make %1 %2 > log.txt 2>&1
--- GCC
gmake or make
---
--- MinGW GCC for Windows x86
gmake or make HB_PLATFORM=win
---
--- MinGW GCC for Windows CE ARM
gmake or make HB_PLATFORM=wce
---
HOW TO GET THE HARBOUR SOURCES
==============================

View File

@@ -239,8 +239,8 @@ mk_hbtools()
hb_hbmkcfg="$1/hbmk.cfg"
hb_mkdef="{${HB_PLATFORM}&${HB_COMPILER}}"
echo "Generating ${hb_hbmkcfg}... "
echo "# Harbour Make (hbmk2) configuration"> ${hb_hbmkcfg}
echo "Making ${hb_hbmkcfg}... "
echo "# hbmk2 configuration"> ${hb_hbmkcfg}
echo "# Generated by Harbour build process">> ${hb_hbmkcfg}
echo "">> ${hb_hbmkcfg}
echo "libpaths=../contrib/%{hb_name}">> ${hb_hbmkcfg}
@@ -267,7 +267,7 @@ mk_hbtools()
hb_ccpath="${HB_CCPATH%/}"
[ -z "${hb_ccpath}" ] || hb_ccpath="${hb_ccpath}${hb_path_separator}"
echo "Generating ${hb_tool}... "
echo "Making ${hb_tool}... "
cat > ${hb_tool} <<EOF
#!/bin/sh
[ "\$BASH" ] || exec bash \`which \$0\` \${1+"\$@"}

View File

@@ -27,8 +27,8 @@ rem ---------------------------------------------------------------
if "%HB_BIN_INSTALL%" == "" echo HB_BIN_INSTALL needs to be set.
if "%HB_BIN_INSTALL%" == "" goto END
echo ! Generating %HB_BIN_INSTALL%\hbmk.cfg...
echo # Harbour Make (hbmk2) configuration> %HB_BIN_INSTALL%\hbmk.cfg
echo ! Making %HB_BIN_INSTALL%\hbmk.cfg...
echo # hbmk2 configuration> %HB_BIN_INSTALL%\hbmk.cfg
echo # Generated by Harbour build process>> %HB_BIN_INSTALL%\hbmk.cfg
echo.>> %HB_BIN_INSTALL%\hbmk.cfg
echo libpaths=../contrib/%%{hb_name}>> %HB_BIN_INSTALL%\hbmk.cfg

View File

@@ -15,8 +15,8 @@ rem ---------------------------------------------------------------
if "%HB_BIN_INSTALL%" == "" goto END
echo ! Generating %HB_BIN_INSTALL%\hbmk.cfg...
echo # Harbour Make (hbmk2) configuration> %HB_BIN_INSTALL%\hbmk.cfg
echo ! Making %HB_BIN_INSTALL%\hbmk.cfg...
echo # hbmk2 configuration> %HB_BIN_INSTALL%\hbmk.cfg
echo # Generated by Harbour build process>> %HB_BIN_INSTALL%\hbmk.cfg
echo.>> %HB_BIN_INSTALL%\hbmk.cfg
echo libpaths=../contrib/%%{hb_name}>> %HB_BIN_INSTALL%\hbmk.cfg

View File

@@ -10,6 +10,7 @@
# ---------------------------------------------------------------
# See GNU make docs here:
# http://www.gnu.org/software/make/manual/make.html
# http://www.wanderinghorse.net/computing/make/
# http://www.jgc.org/feeds/topic-gnumake.xml
# http://lists.gnu.org/archive/html/help-make/
# http://make.paulandlesley.org/
@@ -57,20 +58,9 @@ else
need := 3.81
MAKE_381 := $(filter $(need),$(firstword $(sort $(MAKE_VERSION) $(need))))
# Don't indent this subroutine
define find_in_path
$(strip $(foreach dir, $(subst $(PTHSEP), ,$(subst $(subst x, ,x),$(substpat),$(PATH))), $(wildcard $(subst $(substpat),\ ,$(subst \,/,$(dir)))/$(1)$(HB_HOST_BIN_EXT))))
endef
# Don't indent this subroutine
define find_in_path_par
$(strip $(foreach dir, $(subst $(PTHSEP), ,$(subst $(subst x, ,x),$(substpat),$(2))), $(wildcard $(subst $(substpat),\ ,$(subst \,/,$(dir)))/$(1)$(HB_HOST_BIN_EXT))))
endef
# Don't indent this subroutine
define find_in_path_raw
$(strip $(foreach dir, $(subst $(PTHSEP), ,$(subst $(subst x, ,x),$(substpat),$(2))), $(wildcard $(subst $(substpat),\ ,$(subst \,/,$(dir)))/$(1))))
endef
find_in_path = $(strip $(foreach dir, $(subst $(PTHSEP), ,$(subst $(subst x, ,x),$(substpat),$(PATH))), $(wildcard $(subst $(substpat),\ ,$(subst \,/,$(dir)))/$(1)$(HB_HOST_BIN_EXT))))
find_in_path_par = $(strip $(foreach dir, $(subst $(PTHSEP), ,$(subst $(subst x, ,x),$(substpat),$(2))), $(wildcard $(subst $(substpat),\ ,$(subst \,/,$(dir)))/$(1)$(HB_HOST_BIN_EXT))))
find_in_path_raw = $(strip $(foreach dir, $(subst $(PTHSEP), ,$(subst $(subst x, ,x),$(substpat),$(2))), $(wildcard $(subst $(substpat),\ ,$(subst \,/,$(dir)))/$(1))))
define check_host
@@ -260,6 +250,7 @@ ifeq ($(HB_INIT_DONE),)
# Macros:
# -DHB_PCRE_REGEX, -DHB_POSIX_REGEX, -DHB_EXT_ZLIB, -DHB_HAS_GPM, -DHB_GT_LIB=
$(info ! Harbour-Project - Building from source - http://www.harbour-project.org)
$(info ! MAKE: $(MAKE) $(MAKE_VERSION) $(HB_MAKECMDGOALS) $(MAKEFLAGS) $(SHELL) $(if $(MAKESHELL), MAKESHELL: $(MAKESHELL),))
ifneq ($(HB_USER_PRGFLAGS),)
$(info ! HB_USER_PRGFLAGS: $(HB_USER_PRGFLAGS))
@@ -793,7 +784,7 @@ ifeq ($(HB_COMPILER),)
endif
endif
ifneq ($(HB_COMPILER),)
HB_COMP_PATH := $(subst $(substpat), ,$(dir $(subst $(subst x, ,x),$(substpat),$(HB_COMP_PATH))))
HB_COMP_PATH := $(subst $(substpat), ,$(dir $(subst $(subst x, ,x),$(substpat),$(firstword $(HB_COMP_PATH)))))
HB_COMP_AUTO := (autodetected$(if $(HB_COMP_PATH),: $(HB_COMP_PATH),))
endif
export HB_CCPATH

View File

@@ -2903,7 +2903,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
/* Update only if something changed to trigger rebuild only if really needed */
IF hbmk[ _HBMK_lREBUILD ] .OR. !( hb_MemoRead( l_cVCSHEAD ) == tmp )
IF hbmk[ _HBMK_lInfo ]
hbmk_OutStd( hbmk, hb_StrFormat( I_( "Generating VCS header: %1$s" ), l_cVCSHEAD ) )
hbmk_OutStd( hbmk, hb_StrFormat( I_( "Creating VCS header: %1$s" ), l_cVCSHEAD ) )
ENDIF
hb_MemoWrit( l_cVCSHEAD, tmp )
ENDIF
@@ -2916,7 +2916,7 @@ FUNCTION hbmk( aArgs, /* @ */ lPause, /* @ */ lUTF8 )
"#define _HBMK_BUILD_TIME_ " + '"' + SubStr( hb_TToS( tmp1 ), 9, 6 ) + '"' + Chr( 10 ) +;
"#define _HBMK_BUILD_TIMESTAMP_ " + '"' + hb_TToS( tmp1 ) + '"' + Chr( 10 )
IF hbmk[ _HBMK_lInfo ]
hbmk_OutStd( hbmk, hb_StrFormat( I_( "Generating timestamp header: %1$s" ), l_cTSHEAD ) )
hbmk_OutStd( hbmk, hb_StrFormat( I_( "Creating timestamp header: %1$s" ), l_cTSHEAD ) )
ENDIF
hb_MemoWrit( l_cTSHEAD, tmp )
ENDIF