20 July 2011

http://www.harbour-project.org/

Harbour 3.0.0 for OS/2 built with:

- GNU Make 3.81 r3 from Andreas Buening
- os2watcom19 (watcom): OpenWatcom 1.9 for OS/2
- os2gcc452omf (gccomf): gcc 4.5.2 for OS/2
- os2gcc335aout (gcc): gcc 3.3.5 for OS/2, a.out type libraries

See INSTALL file


Warning: Do not mix environments for C compilers, handle each one separately
Harbour C compiler auto-detection rely on it


-----------------------
For OpenWatcom 1.9 for OS/2
Harbour HB_COMPILER=watcom

To use Harbour:
- Set properly OpenWatcom
- To test it, type:
  > cd tests
  > ..\bin\os2\watcom\hbmk2 hello.prg
  > hello
  You should see 'Hello world!' on screen.


-----------------------
For gcc 4.5.2 for OS/2
Harbour HB_COMPILER=gccomf

- gcc 4.5.2 from Paul Smedley
  gcc-4.5.2-os2-20101231.zip
  gcc452-fix-20110312.zip

- Older tcp/ip stack, < 4.1
  set HB_USER_CFLAGS=-DTCPV40HDRS %HB_USER_CFLAGS%
  set HB_USER_LDFLAGS=-Le:\usr\lib\tcpipv4 %HB_USER_LDFLAGS%

- OMF type libraries
  set EMXOMFLD_TYPE=WLINK
  set EMXOMFLD_LINKER=WL.EXE

To use Harbour:
- Set properly gcc452, including:
  set EMXOMFLD_TYPE=WLINK
  set EMXOMFLD_LINKER=WL.EXE
- MANDATORY: set Harbour compiler value for OMF type:
  set HB_COMPILER=gccomf
- To test it, type:
  > cd tests
  > ..\bin\os2\gccomf\hbmk2 hello.prg
  > hello
  You should see 'Hello world!' on screen.


-----------------------
For gcc 3.3.5 for OS/2
Harbour HB_COMPILER=gcc

- gcc 3.3.5 from Netlabs

- Older tcp/ip stack, < 4.1
  set HB_USER_CFLAGS=-DTCPV40HDRS %HB_USER_CFLAGS%
  set HB_USER_LDFLAGS=-Le:\usr\lib\tcpipv4 %HB_USER_LDFLAGS%

- a.out type libraries


To use Harbour:
- Set properly gcc335
- Optional. Set Harbour compiler value for a.out type:
  set HB_COMPILER=gcc
- To test it, type:
  > cd tests
  > ..\bin\os2\gcc\hbmk2 hello.prg
  > hello
  You should see 'Hello world!' on screen.


-----------------------
Some specific contribs tested with OS/2:

a) Cairo:
   lib: hbcairo
   dir: contrib\hbcairo, tests
   external source: cairo-1.6.4-os2-dev.zip
   Required libs:
     hbcairo, cairo164.* renamed as cairo.*
   tests: os2watcom, os2gccomf

b) Curl:
   lib: hbcurl
   dir: contrib\hbcurl, tests
   external source: curl-7.21.0-os2-20100620.zip
                    libidn_v1_15_os2.zip
                    libssh2-1.2.4-os2.zip
   Required libs:
     hbcurl, curl.*,
     libssl_s, libcrypto_s, idn, ssh2
     Remain undefined symbols (hints ?):
       _libiconv
       _libiconv_open
       _libiconv_close
       _poll


c) MySql:
   lib: hbmysql
   dir: contrib\hbmysql, tests
   external source: mysql-5.1.57-os2-20110613.zip
   Required libs:
     hbmysql, libmysqlclient.*,
     libssl_s, libcrypto_s


d) Postgres:
   lib: hbpgsql
   dir: contrib\hbpgsql, tests
   external source: postgresql-9.0.3-os2-20110206.zip
   Required libs:
     hbpgsql, libpq,
     libssl_s, libcrypto_s, pthread


e) Ssl:
   lib: hbssl
   dir: contrib\hbssl, tests
   external source: openssl-1.0.0a-os2knix-20100603-dev.zip
   Required libs:
     hbssl,
     libssl_s, libcrypto_s


f) Cups:
   lib: hbcups
   dir: contrib\hbcups, tests
   external source: cups-1.4.6-os2-20110613.zip
   Required libs:
     hbcups, libcups, pthread


g) Qt:
   lib: hbqt
   dir: contrib\hbqt, tests
        contrib\hbxbp, tests
        contrib\hbide
   external source:
      qt-dev-4_6_3.wpi
      qt-doc-4_6_3.wpi
      qt-examples-4_6_3.wpi
      qt-lib-4_6_3-noxwpdep.wpi
      qt-lib-4_6_3.wpi

Using in Harbour:
  set HB_WITH_QT=%QT_BASE%\include
where environment is set by os2qt scripts:
 Qt4 base directory (QT_BASE)  : E:\ecs\SYSTEM\Qt4
 Qt4 binary directory (QT_BIN) : E:\ecs\SYSTEM\Qt4\bin

   Required libs:
     Defined by Harbour and/or Qt

   Do not forget to try bin\os2\gccomf\hbide.exe


David Macias
dmacias@mail.udg.mx


