2009-09-28 22:27 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)

* INSTALL
    + Added new section: LINKS TO EXTERNAL TOOL, with actual (mostly complete) content.
    + Added OS/2 TCP/IP stack selection info.
    + Added OS/2 gcc 3.3.x build example.
    ! Minor typo.
    + Added linux hosted win/mingw64 target to compatibility matrix.

  * Makefile
    * Swapped shell postinst and .prg postinst invocation order.
    + Executing shell specific postinst command only if it exists.

  + bin/postinst.prg
  * bin/postinst.bat
  - bin/postinst.cmd
    + Started to migrate shell specific tasks to postinst .prg code.
    ; NOTE: Please review and test, this may cause regressions in 
            build process. I did't actually test most of these.

  * contrib/xhb/hbcompat.ch
    ! Minor typo in comment.
    * Updated copyright year.
This commit is contained in:
Viktor Szakats
2009-09-28 20:51:46 +00:00
parent d95f99ceb6
commit d3d6f78ef2
7 changed files with 176 additions and 79 deletions

View File

@@ -17,6 +17,29 @@
past entries belonging to author(s): Viktor Szakats.
*/
2009-09-28 22:27 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
+ Added new section: LINKS TO EXTERNAL TOOL, with actual (mostly complete) content.
+ Added OS/2 TCP/IP stack selection info.
+ Added OS/2 gcc 3.3.x build example.
! Minor typo.
+ Added linux hosted win/mingw64 target to compatibility matrix.
* Makefile
* Swapped shell postinst and .prg postinst invocation order.
+ Executing shell specific postinst command only if it exists.
* bin/postinst.prg
* bin/postinst.bat
- bin/postinst.cmd
+ Started to migrate shell specific tasks to postinst .prg code.
; NOTE: Please review and test, this may cause regressions in
build process. I did't actually test most of these.
* contrib/xhb/hbcompat.ch
! Minor typo in comment.
* Updated copyright year.
2009-09-28 12:57 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbnetio/netio.h
* harbour/contrib/hbnetio/netiocli.c

View File

@@ -106,6 +106,10 @@ HARBOUR
> hello
You should see 'Hello world!' on screen.
NOTE: To select alternative TCP/IP stack, use these commands:
set HB_USER_CFLAGS=-DTCPV40HDRS %HB_USER_CFLAGS%
set HB_USER_LDFLAGS=-LC:\usr\lib\tcpipv4 %HB_USER_LDFLAGS%
on Linux hosts
--------------
(possible cross-build targets: Windows, Windows CE, MS-DOS, OS/2)
@@ -551,7 +555,7 @@ HARBOUR
- HB_EXTERNAL_ADDONS=<list> Build space separated <list> of additional
libraries stored in the external directory.
- HB_UTIL_ADDONS=<list> Build space separated <list> of additional
utilities stored in the utils directoty.
utilities stored in the utils directory.
- HB_VISUALC_VER_PRE80=yes Set this if you're using a pre-8.0
(= pre-MSVS 2005) version of MSVC compiler.
Default: no
@@ -831,6 +835,10 @@ HARBOUR
for OS/2 hosts
--------------
--- GCC 3.3.x
C:\usr\bin\gccenv.cmd
os2-make
--- Open Watcom C++
SET WATCOM=C:\watcom
SET PATH=%WATCOM%\BINP;%WATCOM%\BINW;%PATH%
@@ -839,7 +847,7 @@ HARBOUR
SET INCLUDE=%WATCOM%\H;%WATCOM%\H\OS2
SET HELP=%WATCOM%\BINP\HELP;%HELP%
SET BOOKSHELF=%WATCOM%\BINP\HELP;%BOOKSHELF%
make
os2-make
---
for Linux hosts
@@ -1041,6 +1049,7 @@ HARBOUR
x linux -> wce/mingwarm arm
x linux -> wce/mingw x86
x linux -> win/mingw x86
x linux -> win/mingw64 x86-64
x linux -> win/watcom x86
x linux -> os2/watcom x86
x linux -> dos/watcom x86
@@ -1084,7 +1093,96 @@ HARBOUR
*nix / POSIX shell (* not supported: HB_BUILD_PKG - implemented as standalone scripts)
12. HOW TO PARTICIPATE
12. LINKS TO EXTERNAL TOOLS
===========================
C/C++ Compilers/Shells:
MinGW [win, *nix, free, open-soource]
http://www.tdragon.net/recentgcc/ (unofficial, recommended)
http://www.mingw.org/ (official, rarely updated, MSYS home)
MinGW x64 [win, *nix, free, open-source]
http://mingw-w64.org/
http://mingw-w64.sourceforge.net/
http://sourceforge.net/projects/mingw-w64/
MinGW CEGCC [win, *nix, free, open-source]
http://cegcc.sourceforge.net/
Cygwin [win, free, open-source]
http://www.cygwin.com/
OS/2 GCC [os2, free, open-source]
ftp://ftp.netlabs.org/pub/gcc/
ftp://ftp.netlabs.org/pub/gcc/GCC-3.3.5-csd3.zip
ftp://ftp.netlabs.org/pub/gcc/libc-0_6_3-csd3.exe
DJGPP [dos, *nix, free, open-source]
http://www.delorie.com/djgpp/
Open Watcom [win, dos, os2, linux, free, open-source]
http://www.openwatcom.org/
XCode [darwin, free, closed-source]
http://developer.apple.com/TOOLS/Xcode/
MS Visual Studio Express [win, free, closed-source]
http://www.microsoft.com/express/
MS Windows SDK [win, free]:
http://msdn.microsoft.com/en-us/windowsserver/bb980924.aspx
MS Windows Mobile SDK [wce, free]:
http://www.microsoft.com/downloads/details.aspx?familyid=83A52AF2-F524-4EC5-9155-717CBE5D25ED
Pelles C [win, wce, free, closed-source]
http://www.smorgasbordet.com/pellesc/
Borland/CodeGear/Embarcadero Compiler [win, free, closed-source]
https://downloads.embarcadero.com/free/c_builder
Intel Compiler [win, linux, darwin, commercial, closed-source]
http://software.intel.com/en-us/intel-compilers/
Libraries:
HB_WITH_ADS - Advantage Client Engine API [win, linux, free, closed-source]
http://www.sybase.com/products/databasemanagement/advantagedatabaseserver/client-engine-api
HB_WITH_ALLEGRO - Allegro [multiplatform, free, open-source]
http://alleg.sourceforge.net/
HB_WITH_BLAT - Blat [win, free, open-source]
http://www.blat.net/
HB_WITH_CURL - libcurl [multiplatform, free, open-source]
http://curl.haxx.se/
HB_WITH_FIREBIRD - firebird SQL [multiplatform, free, open-source]
http://www.firebirdsql.org/
HB_WITH_FREEIMAGE - FreeImage [multiplatform, free, open-source]
http://freeimage.sourceforge.net/
HB_WITH_GD - GD Graphics Library [multiplatform, free, open-source]
http://www.boutell.com/gd/
HB_WITH_LIBHARU - libharu [multiplatform, free, open-source]
http://libharu.org/
HB_WITH_MYSQL - MySQL [multiplatform, free, open-source]
http://dev.mysql.com/downloads/
HB_WITH_OPENSSL - OpenSSL [multiplatform, free, open-source]
http://www.openssl.org/
HB_WITH_PCRE - Perl Compatible Regular Expressions [multiplatform, free, open-source]
http://www.pcre.org/
HB_WITH_PGSQL - PostgreSQL [multiplatform, free, open-source]
http://www.postgresql.org/
HB_WITH_PNG - libpng [multiplatform, free, open-source]
http://www.libpng.org/pub/png/libpng.html
HB_WITH_QT - Nokia QT [win, wce, darwin, linux, free, open-source]
http://qt.nokia.com/products
HB_WITH_SQLITE3 - sqlite3 [multiplatform, free, open-source]
http://www.sqlite.org/
HB_WITH_WATT - Watt-32 TCP/IP [dos, free, open-source]
http://www.bgnett.no/~giva/
HB_WITH_ZLIB - zlib [multiplatform, free, open-source]
http://www.zlib.net/
Tools:
Nullsoft Installer [win, FOSS]
http://nsis.sourceforge.net/
7-Zip [multiplatform, FOSS]
http://www.7-zip.org/
Info-ZIP [multiplatform, FOSS]
http://www.info-zip.org/
UPX [win, dos, linux, FOSS]
http://upx.sourceforge.net/
13. HOW TO PARTICIPATE
======================
There are several ways to help making Harbour better:
@@ -1105,7 +1203,7 @@ HARBOUR
various environments, etc.
13. FOR MORE INFORMATION
14. FOR MORE INFORMATION
========================
Homepage:

View File

@@ -43,5 +43,5 @@ else
endif
install::
+$(HB_POSTINST)
+$(HB_HOST_BIN_DIR)/hbrun$(HB_HOST_BIN_EXT) --hb:gtcgi $(TOP)$(ROOT)bin/postinst.prg
$(if $(wildcard $(HB_POSTINST)),+$(HB_POSTINST),)

View File

@@ -27,31 +27,8 @@ rem ---------------------------------------------------------------
if "%HB_BIN_INSTALL%" == "" echo ! HB_BIN_INSTALL needs to be set.
if "%HB_BIN_INSTALL%" == "" goto END
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
echo libpaths=../contrib/rddsql/%%{hb_name}>>%HB_BIN_INSTALL%\hbmk.cfg
echo libpaths=../addons/%%{hb_name}>>%HB_BIN_INSTALL%\hbmk.cfg
echo libpaths=../examples/%%{hb_name}>>%HB_BIN_INSTALL%\hbmk.cfg
if not "%HB_HAS_WATT%" == "" echo.>>%HB_BIN_INSTALL%\hbmk.cfg
if not "%HB_HAS_WATT%" == "" echo {dos&djgpp}syslibs=watt>>%HB_BIN_INSTALL%\hbmk.cfg
if not "%HB_HAS_WATT%" == "" echo {dos&watcom}syslibs=wattcpwf>>%HB_BIN_INSTALL%\hbmk.cfg
if not "%HB_HAS_WATT%" == "" echo {dos}libpaths=${WATT_ROOT}/lib>>%HB_BIN_INSTALL%\hbmk.cfg
if "%HB_SHELL%" == "nt" goto _SH_NT
if "%HB_INSTALL_PREFIX%" == "" goto _NO_COPYD
copy CHANG* %HB_INSTALL_PREFIX%\CHANGES > nul
copy COPYING %HB_INSTALL_PREFIX% > nul
copy INSTALL %HB_INSTALL_PREFIX% > nul
copy TODO %HB_INSTALL_PREFIX% > nul
if "%HB_PLATFORM%" == "win" copy bin\hb-mkimp.bat %HB_BIN_INSTALL% > nul
:_NO_COPYD
if "%HB_PLATFORM%" == "linux" goto _NO_PKG
@@ -68,20 +45,6 @@ if "%HB_SHELL%" == "nt" goto _SH_NT
:_SH_NT
if "%HB_INSTALL_PREFIX%" == "" goto _NO_COPY
if "%HB_PLATFORM%" == "dos" copy ChangeLog* "%HB_INSTALL_PREFIX%\CHANGES" > nul
if not "%HB_PLATFORM%" == "dos" copy ChangeLog* "%HB_INSTALL_PREFIX%\" > nul
copy COPYING "%HB_INSTALL_PREFIX%\" > nul
copy INSTALL "%HB_INSTALL_PREFIX%\" > nul
copy TODO "%HB_INSTALL_PREFIX%\" > nul
if "%HB_PLATFORM%" == "win" copy bin\hb-mkimp.bat "%HB_BIN_INSTALL%\" > nul
if "%HB_PLATFORM%" == "wce" copy bin\hb-mkimp.bat "%HB_BIN_INSTALL%\" > nul
:_NO_COPY
if "%HB_PLATFORM%" == "dos" goto _NO_DLL_BIN
if "%HB_PLATFORM%" == "linux" goto _NO_DLL_BIN
if "%HB_BUILD_DLL%" == "no" goto _NO_DLL_BIN

View File

@@ -1,34 +0,0 @@
@rem
@rem $Id$
@rem
@echo off
rem ---------------------------------------------------------------
rem Copyright 2009 Viktor Szakats (harbour.01 syenar.hu)
rem See COPYING for licensing terms.
rem
rem Script run after Harbour make install to finish install process
rem (for OS/2)
rem ---------------------------------------------------------------
if "%HB_BIN_INSTALL%" == "" echo ! HB_BIN_INSTALL needs to be set.
if "%HB_BIN_INSTALL%" == "" goto END
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
echo libpaths=../contrib/rddsql/%%{hb_name}>> %HB_BIN_INSTALL%\hbmk.cfg
echo libpaths=../addons/%%{hb_name}>> %HB_BIN_INSTALL%\hbmk.cfg
echo libpaths=../examples/%%{hb_name}>> %HB_BIN_INSTALL%\hbmk.cfg
if "%HB_INSTALL_PREFIX%" == "" goto END
xcopy /y ChangeLog* %HB_INSTALL_PREFIX%\ > nul
xcopy /y COPYING %HB_INSTALL_PREFIX%\ > nul
xcopy /y INSTALL %HB_INSTALL_PREFIX%\ > nul
xcopy /y TODO %HB_INSTALL_PREFIX%\ > nul
:END

View File

@@ -9,8 +9,55 @@
PROCEDURE Main()
LOCAL nErrorLevel := 0
LOCAL cFile
OutStd( "! Hello from postinst.prg" + hb_osNewLine() )
IF Empty( GetEnv( "HB_PLATFORM" ) ) .OR. ;
Empty( GetEnv( "HB_COMPILER" ) ) .OR. ;
Empty( GetEnv( "HB_BIN_INSTALL" ) ) .OR. ;
Empty( GetEnv( "HB_LIB_INSTALL" ) ) .OR. ;
Empty( GetEnv( "HB_INC_INSTALL" ) )
OutStd( "! Error: This program has to be called from the GNU Make process." + hb_osNewLine() )
ErrorLevel( 1 )
RETURN
ENDIF
OutStd( "! Making " + GetEnv( "HB_BIN_INSTALL" ) + hb_osPathSeparator() + "hbmk.cfg..." + hb_osNewLine() )
cFile := ""
cFile += "# hbmk2 configuration" + hb_osNewLine() )
cFile += "# Generated by Harbour build process" + hb_osNewLine() )
cFile += hb_osNewLine()
cFile += "libpaths=../contrib/%{hb_name}" + hb_osNewLine() )
cFile += "libpaths=../contrib/rddsql/%{hb_name}" + hb_osNewLine() )
cFile += "libpaths=../addons/%{hb_name}" + hb_osNewLine() )
cFile += "libpaths=../examples/%{hb_name}" + hb_osNewLine() )
IF GetEnv( "HB_PLATFORM" ) == "dos" .AND. ;
! Empty( GetEnv( "HB_HAS_WATT" ) )
cFile += hb_osNewLine()
cFile += "{dos&djgpp}syslibs=watt" + hb_osNewLine() )
cFile += "{dos&watcom}syslibs=wattcpwf" + hb_osNewLine() )
cFile += "{dos}libpaths=${WATT_ROOT}/lib" + hb_osNewLine() )
ENDIF
hb_MemoWrit( GetEnv( "HB_BIN_INSTALL" ) + hb_osPathSeparator() + "hbmk.cfg" )
IF GetEnv( "HB_PLATFORM" ) $ "win|wce|os2|dos" .AND. ;
! Empty( GetEnv( "HB_INSTALL_PREFIX" ) )
FOR EACH cFile IN Directory( "Change*" )
hb_FCopy( cFile, GetEnv( "HB_INSTALL_PREFIX" ) + hb_osPathSeparator() + iif( GetEnv( "HB_PLATFORM" ) == "dos", "CHANGES", cFile ) )
NEXT
hb_FCopy( "COPYING", GetEnv( "HB_INSTALL_PREFIX" ) + hb_osPathSeparator() + "COPYING" )
hb_FCopy( "INSTALL", GetEnv( "HB_INSTALL_PREFIX" ) + hb_osPathSeparator() + "INSTALL" )
hb_FCopy( "TODO" , GetEnv( "HB_INSTALL_PREFIX" ) + hb_osPathSeparator() + "TODO" )
IF GetEnv( "HB_PLATFORM" ) $ "win|wce"
hb_FCopy( "bin" + hb_osNewLine() + "hb-mkimp.bat", GetEnv( "HB_BIN_INSTALL" ) + hb_osPathSeparator() + "hb-mkimp.bat" )
ENDIF
ENDIF
ErrorLevel( nErrorLevel )

View File

@@ -6,7 +6,7 @@
* Harbour Project source code:
* Header file for cross-compatibility between different Harbour flavours
*
* Copyright 1999-2007 {list of individual authors and e-mail addresses}
* Copyright 1999-2009 {list of individual authors and e-mail addresses}
* www - http://www.harbour-project.org
*
* This program is free software; you can redistribute it and/or modify
@@ -368,7 +368,7 @@
hb_threadStart( {|...| (<x>):&(<y>)( ... ) } [, <z>] ), ;
hb_threadStart( <x>, <y> [, <z>] ) )
/* not possible to well replicate xHarbour behavior because its buggy
/* not possible to well replicate xHarbour behavior because it's buggy
these function results are different on different platform, chosen
translation which returns compatible types (numeric) */
#xtranslate ThreadGetCurrent() => hb_threadId()