Second try of cross build using OpenWatcom 1.8

Host: Windows 32
Target: OS/2 - eCS


Harbour source code
 * $Id: ChangeLog 11949 2009-07-31 11:21:30Z druzus $
 2009-07-31 13:21 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

config\win\watcom.cf
config\os2\watcom.cf
 Originals

environment
----------------------
@ECHO OFF
SET WATCOM=D:\WATCOM

Rem: Host
SET PATH=%WATCOM%\BINNT;%WATCOM%\BINW;%PATH%

Rem: Target
SET INCLUDE=%WATCOM%\H\OS2;%WATCOM%\H

SET EDPATH=%WATCOM%\EDDAT

Rem: Target
set HB_ARCHITECTURE=os2
set HB_COMPILER=watcom

Rem eliminate libraries which scans for local host header files
set HB_XBUILD=yes

----------------------

bin\os2\watcom
  All executable files are created

Executing bin\os2\watcom\harbour.exe on Windows XPPro SP2 it show:
  "This is an OS/2 32-bit executable"

bin\os2\watcom
  All executable files run fine under eCS, except hbrun.exe

Example:
[D:\harbour907e\harbour\bin\os2\watcom]harbour /build
Harbour 2.0.0beta2 (Rev. 11949)
Copyright (c) 1999-2009, http://www.harbour-project.org/

Harbour Build Info
---------------------------
Version: Harbour 2.0.0beta2 (Rev. 11949)
Compiler: Open Watcom C++ 12.80.8 (32-bit)
Platform: OS/2 4.50
PCode version: 0.2
ChangeLog last entry: 2009-07-31 13:21 UTC+0200 Przemyslaw Czerpak (druzus/at/pr
iv.onet.pl)
ChangeLog ID: ChangeLog 11949 2009-07-31 11:21:30Z druzus

Built on: Aug  8 2009 07:01:07
Build options: (C++ mode)
Language options: (Clipper 5.3) (Clipper 5.x undoc) (Xbase++) (Flagship)
---------------------------


BUT hbrun.exe fail in cross-build AND native OS/2 with message:
--------------------------------
 SYS1811: The process has stopped.  The software diagnostic code
 (trap number) is  FFFF.
--------------------------------
so is not problem of cross build

hbrun.exe build with gcc335 run fine


lib\os2\watcom\ contain 45 libraries created



So cross build  Windows -->  OS/2 are sucessful


David Macias


Notes:
Cross build tests
 OS/2  -->  Windows
 Windows  --> OS/2
revealed a great problem: incompatibility between make381 of Windows and OS/2

Testing OS/2-->Windows
forced to use Przemek changes for make381-os2 in config\win\watcom.cf and config\os2\watcom.cf

Testing Windows-->OS/2
forced to use exclude Przemek changes for make381-os2 and use originals config\win\watcom.cf and config\os2\watcom.cf

 Using Prezemk changes in config\os2\watcom.cf show incompatibility:
( translated message: unexpected i in this moment )

--------------------------------
wpp386 -zq -bt=OS2 -w3 -5r -fp5 -onaehtr -s -ei -zp4 -zt0 -oi+ -i. -i../../../..
/../include      ../../../strwild.c -fo=strwild.obj
for %i in ( *.obj ) do @echo -+%i >> __lib__.tmp
No se esperaba i en este momento.
mingw32-make[3]: *** [hbcommon.lib] Error 255
mingw32-make[3]: Leaving directory `D:/harbour907e/harbour/source/common/obj/os2
/watcom'
mingw32-make[2]: *** [descend] Error 2
mingw32-make[2]: Leaving directory `D:/harbour907e/harbour/source/common'
mingw32-make[1]: *** [common] Error 2
mingw32-make[1]: Leaving directory `D:/harbour907e/harbour/source'
mingw32-make: *** [source] Error 2
Harbour GNU Make returned: 2
--------------------------------

and we can not have one group of watcom.cf files for native builds and other for cross build

Przemek, Viktor, Maurilio:

As make381-os2 show problems (limits) and incompatibility with make381-windows (and perhaps Linux), there are some way to use ANOTHER make system in OS/2 ? Reading docs of Watcom I found wmake.exe, based in GNU make but with some differences specified in docs I tried to use it to build Harbour and raised errors not described in differences

As I remember, it fail in first Makefile because does not support expressions like this due comma:
  ifeq ($(HB_HOST_BUILD),yes)
  ifeq ($(HB_HOST_BUILD),lib)
  ifeq ($(HB_POSTINST),)
  ifneq ($(HB_ROOTPOSTINST),)


_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to