2009-07-11 16:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

* harbour/external/sqlite3/Makefile
    * set SQLITE_OS_OTHER for all DOS builds

  * harbour/config/dos/watcom.cf
  * harbour/config/win/watcom.cf
    * modified to work with *nix like shells so it can be used in cross build
      environment

    Now in my Linux box I can create Windows, DOS and OS2 harbour builds
    using OpenWatcom 1.8 and native Linux binaries. Final Windows executables
    works correctly. DOS one doesn't and it's probably problem with
    OpenWatcom Linux linker and DOS DPMI stubs - I'll check it yet.
    I cannot tested generated OS2 executable files. If someone has
    OS2 and can try to run it then I can send them to him for test.
This commit is contained in:
Przemyslaw Czerpak
2009-07-11 14:55:34 +00:00
parent f7241e9173
commit e537249bdc
4 changed files with 26 additions and 22 deletions

View File

@@ -17,6 +17,22 @@
past entries belonging to author(s): Viktor Szakats.
*/
2009-07-11 16:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/external/sqlite3/Makefile
* set SQLITE_OS_OTHER for all DOS builds
* harbour/config/dos/watcom.cf
* harbour/config/win/watcom.cf
* modified to work with *nix like shells so it can be used in cross build
environment
Now in my Linux box I can create Windows, DOS and OS2 harbour builds
using OpenWatcom 1.8 and native Linux binaries. Final Windows executables
works correctly. DOS one doesn't and it's probably problem with
OpenWatcom Linux linker and DOS DPMI stubs - I'll check it yet.
I cannot tested generated OS2 executable files. If someone has
OS2 and can try to run it then I can send them to him for test.
2009-07-11 16:48 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* make_gnu.bat
+ Minor adjustment to support OS/2 cross-builds.

View File

@@ -17,16 +17,6 @@ EXE_EXT = .exe
LIB_PREF =
LIB_EXT = .lib
ifeq ($(SHLVL),)
ECHO=@echo.
DSEP=$(subst /,\,\)
else
ECHO=echo
DSEP=$(subst /,\,\\)
endif
$(HB_ARCHITECTURE)_$(HB_COMPILER)_GRANDP = $(subst /,\,$(GRANDP))
ifeq ($(HB_BUILD_MODE),c)
CC = wcc386
endif
@@ -77,18 +67,18 @@ CPPFLAGS =
# Note: The empty line directly before 'endef' HAVE TO exist!
# It causes that the 'echo' command is separated by LF
define link_file
$(ECHO) FILE $(subst /,$(DSEP),$(subst \,/,$(file))) >> __link__.tmp
@echo FILE $(file) >> __link__.tmp
endef
#Note: The empty line directly before 'endef' HAVE TO exist!
define link_lib
$(ECHO) LIB $(subst /,$(DSEP),$(subst \,/,$(lib))) >> __link__.tmp
@echo LIB $(lib) >> __link__.tmp
endef
define link_exe_file
$(ECHO) $(subst /,$(DSEP),$(subst \,/,$(LDFLAGS))) NAME $@ > __link__.tmp
@echo $(LDFLAGS) NAME $@ > __link__.tmp
$(foreach file, $(^F), $(link_file))
$(foreach lib, $(HB_USER_LIBS), $(link_lib))
$(foreach lib, $(LINKLIBS), $(link_lib))
@@ -138,17 +128,16 @@ LD_RULE = $(link_exe_file) $(HB_USER_LDFLAGS)
#Note: The empty line below HAVE TO exist!
define lib_object
$(ECHO) -+$(subst /,$(DSEP),$(subst \,/,$(file))) >> __lib__.tmp
@echo -+$(file) >> __lib__.tmp
endef
define create_library
$(ECHO) $(subst /,$(DSEP),$(subst \,/,$(LIB_DIR)))$(DSEP)$@ > __lib__.tmp
@echo $(LIB_DIR)/$@ > __lib__.tmp
$(foreach file, $(^F), $(lib_object))
$(AR) $(ARFLAGS) @__lib__.tmp
endef
AR = wlib
ARFLAGS = -p=64 -c -n $(HB_USER_AFLAGS)
AR_RULE = $(create_library)
@@ -158,9 +147,6 @@ export DOS4G=quiet
include $(TOP)$(ROOT)config/rules.cf
HB := $(subst /,$(DSEP),$(subst \,/,$(HB)))
HB_FLAGS := $(subst /,$(DSEP),$(subst \,/,$(HB_FLAGS)))
# work arround to DOS command line size limit
export HARBOURCMD := $(HB_FLAGS)
HB_FLAGS =

View File

@@ -62,9 +62,11 @@ ifeq ($(HB_BUILD_DEBUG),yes)
CPPFLAGS += -d2
endif
ifeq ($(SHLVL),) # NT Shell
ifeq ($(CC),wcc386)
CC_RULE = $(CC) $(subst /,\,$(CPPFLAGS)) $(subst /,\,$(CFLAGS)) $(HB_CDBG) $(subst /,\,$(HB_USER_CFLAGS)) $(HB_CDYNLIB) $(subst /,\,$(CC_IN)) $(subst /,\,$<) $(CC_OUT)$(<F:.c=$(OBJ_EXT))
endif
endif
# Note: The empty line directly before 'endef' HAVE TO exist!
# It causes that the 'echo' command is separated by LF

View File

@@ -8,9 +8,9 @@ HB_BUILD_MODE = c
ifeq ($(HB_ARCHITECTURE),wce)
HB_USER_CFLAGS += -D_WIN32_WCE
endif
ifeq ($(HB_COMPILER),djgpp)
# DJGPP isn't correctly recognized by SQLite, so we're forcing
# the next best available option. This will cause missing
ifeq ($(HB_ARCHITECTURE),dos)
# DJGPP and OpenWatcom in DOS aren't correctly recognized by SQLite,
# so we're forcing the next best available option. This will cause missing
# externals though. [vszakats]
HB_USER_CFLAGS += -DSQLITE_OS_OTHER
endif