2009-08-20 15:49 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
! Fixed dos autodetection to not be overridden by explicit
HB_ARCHITECTURE value since it prevent dos hosted cross
build creation.
! Fixed *nix -> win/wce autodetection to not kick in on os2/dos
platforms.
* INSTALL
+ Updated cross-build matrix to not show some dos/os2 builds
fully untested. They should now work in a generic sence.
; TOFIX: watcom rules should be synced across platforms to use
shell specific tricks according to HB_SHELL excpect
assuming it being the host native one.
F.e. watcom/dos -> os2 builds will end with:
Bad command or filename - "@..\..\..\..\..\config\dj-echo".
watcom/dos -> linux builds will choke because of too long cmdlines.
This commit is contained in:
@@ -17,6 +17,25 @@
|
||||
past entries belonging to author(s): Viktor Szakats.
|
||||
*/
|
||||
|
||||
2009-08-20 15:49 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* config/global.mk
|
||||
! Fixed dos autodetection to not be overridden by explicit
|
||||
HB_ARCHITECTURE value since it prevent dos hosted cross
|
||||
build creation.
|
||||
! Fixed *nix -> win/wce autodetection to not kick in on os2/dos
|
||||
platforms.
|
||||
|
||||
* INSTALL
|
||||
+ Updated cross-build matrix to not show some dos/os2 builds
|
||||
fully untested. They should now work in a generic sence.
|
||||
|
||||
; TOFIX: watcom rules should be synced across platforms to use
|
||||
shell specific tricks according to HB_SHELL excpect
|
||||
assuming it being the host native one.
|
||||
F.e. watcom/dos -> os2 builds will end with:
|
||||
Bad command or filename - "@..\..\..\..\..\config\dj-echo".
|
||||
watcom/dos -> linux builds will choke because of too long cmdlines.
|
||||
|
||||
2009-08-20 15:38 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* config/dos/watcom.mk
|
||||
* DOS shell specific hacks protected by HB_SHELL guard.
|
||||
|
||||
@@ -368,18 +368,18 @@ OPTIONS AVAILABLE WHEN BUILDING HARBOUR
|
||||
-> wce/mingwarm
|
||||
-> wce/poccarm
|
||||
-> wce/msvcarm
|
||||
-> dos/djgpp (using DOS GNU make)
|
||||
-> dos/djgpp (using MS-DOS build of GNU Make)
|
||||
-> dos/watcom
|
||||
-> os2/watcom
|
||||
-> linux/watcom
|
||||
on MS-DOS hosts:
|
||||
-> win/watcom (*)
|
||||
-> os2/watcom (*)
|
||||
-> linux/watcom (*)
|
||||
-> win/watcom
|
||||
-> os2/watcom
|
||||
-> linux/watcom
|
||||
on OS/2 hosts:
|
||||
-> win/watcom
|
||||
-> dos/watcom (*)
|
||||
-> linux/watcom (*)
|
||||
-> dos/watcom
|
||||
-> linux/watcom
|
||||
on Linux hosts:
|
||||
-> wce/mingwarm
|
||||
-> win/mingw
|
||||
@@ -390,8 +390,6 @@ OPTIONS AVAILABLE WHEN BUILDING HARBOUR
|
||||
-> wce/mingwarm
|
||||
-> win/mingw
|
||||
|
||||
(*): Theoretically possible, but not heard of such build yet.
|
||||
|
||||
Point this envvar to the directory where native Harbour executables
|
||||
for your host platform can be found:
|
||||
HB_BIN_COMPILE=<HARBOUR_NATIVE_BUILD_DIR>\bin
|
||||
|
||||
@@ -393,10 +393,12 @@ ifeq ($(HB_HOST_ARCH),)
|
||||
ifneq ($(WINDIR),)
|
||||
HB_HOST_ARCH := win
|
||||
else
|
||||
ifneq ($(HB_ARCHITECTURE),)
|
||||
HB_HOST_ARCH := $(HB_ARCHITECTURE)
|
||||
else
|
||||
ifeq ($(HB_SHELL),dos)
|
||||
HB_HOST_ARCH := dos
|
||||
else
|
||||
ifneq ($(HB_ARCHITECTURE),)
|
||||
HB_HOST_ARCH := $(HB_ARCHITECTURE)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
@@ -487,94 +489,96 @@ HB_COMP_AUTO :=
|
||||
ifeq ($(HB_COMPILER),)
|
||||
ifneq ($(HB_HOST_ARCH),$(HB_ARCHITECTURE))
|
||||
# cross-build section *nix -> win/wce
|
||||
ifeq ($(HB_ARCHITECTURE),win)
|
||||
ifeq ($(filter $(HB_HOST_ARCH),dos os2),)
|
||||
ifeq ($(HB_ARCHITECTURE),win)
|
||||
|
||||
ifeq ($(call find_in_path_par,$(HB_CCPREFIX),$(HB_CCPATH)),)
|
||||
HB_CCPREFIX :=
|
||||
HB_CCPATH :=
|
||||
endif
|
||||
ifeq ($(call find_in_path_par,$(HB_CCPREFIX),$(HB_CCPATH)),)
|
||||
HB_CCPREFIX :=
|
||||
HB_CCPATH :=
|
||||
endif
|
||||
|
||||
# try to detect MinGW cross-compiler location using some default platform settings
|
||||
ifeq ($(HB_CCPATH)$(HB_CCPREFIX),)
|
||||
ifneq ($(call find_in_path_raw,debian_version,/etc),)
|
||||
HB_CCPREFIX := i586-mingw32msvc-
|
||||
else
|
||||
ifneq ($(call find_in_path_raw,gentoo-release,/etc),)
|
||||
ifneq ($(call find_in_path_par,i386-mingw32msvc-,/opt/xmingw/bin),)
|
||||
HB_CCPATH := /opt/xmingw
|
||||
HB_CCPREFIX := i386-mingw32msvc-
|
||||
else
|
||||
HB_CCPREFIX := i686-mingw32-
|
||||
endif
|
||||
# try to detect MinGW cross-compiler location using some default platform settings
|
||||
ifeq ($(HB_CCPATH)$(HB_CCPREFIX),)
|
||||
ifneq ($(call find_in_path_raw,debian_version,/etc),)
|
||||
HB_CCPREFIX := i586-mingw32msvc-
|
||||
else
|
||||
ifeq ($(HB_ARCHITECTURE),bsd)
|
||||
HB_CCPATH := /usr/local/mingw32
|
||||
ifneq ($(call find_in_path_raw,gentoo-release,/etc),)
|
||||
ifneq ($(call find_in_path_par,i386-mingw32msvc-,/opt/xmingw/bin),)
|
||||
HB_CCPATH := /opt/xmingw
|
||||
HB_CCPREFIX := i386-mingw32msvc-
|
||||
else
|
||||
HB_CCPREFIX := i686-mingw32-
|
||||
endif
|
||||
else
|
||||
MINGW_OK := $(strip $(foreach d, i386-mingw i486-mingw i586-mingw i686-mingw i386-mingw32 i486-mingw32 i586-mingw32 i686-mingw32, $(if $(wildcard /usr/local/bin/$(d)-gcc),$(d),)))
|
||||
ifneq ($(MINGW_OK),)
|
||||
HB_CCPATH := /usr/local/bin
|
||||
HB_CCPREFIX := $(MINGW_OK)-
|
||||
ifeq ($(HB_ARCHITECTURE),bsd)
|
||||
HB_CCPATH := /usr/local/mingw32
|
||||
else
|
||||
MINGW_OK := $(strip $(foreach d, i386-mingw i486-mingw i586-mingw i686-mingw i386-mingw32 i486-mingw32 i586-mingw32 i686-mingw32, $(if $(wildcard /usr/local/bin/$(d)-gcc),$(d),)))
|
||||
ifneq ($(MINGW_OK),)
|
||||
HB_CCPATH := /usr/local/bin
|
||||
HB_CCPREFIX := $(MINGW_OK)-
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
# generic detection for mingw cross-compiler
|
||||
ifeq ($(HB_CCPATH)$(HB_CCPREFIX),)
|
||||
MINGW_BASE_LIST := /usr /usr/local /usr/local/mingw32 /opt/xmingw
|
||||
MINGW_PREFIX := $(subst -gcc,,$(firstword $(call find_in_path_par,bin/i?86-mingw*-,$(MINGW_BASE_LIST))))
|
||||
ifneq ($(MINGW_PREFIX),)
|
||||
HB_CCPATH := $(dir $(MINGW_PREFIX))
|
||||
HB_CCPREFIX := $(notdir $(MINGW_PREFIX))
|
||||
else
|
||||
MINGW_PREFIX := $(dir $(firstword $(call find_in_path_par,i?86-mingw*/bin/,$(MINGW_BASE_LIST))))
|
||||
# generic detection for mingw cross-compiler
|
||||
ifeq ($(HB_CCPATH)$(HB_CCPREFIX),)
|
||||
MINGW_BASE_LIST := /usr /usr/local /usr/local/mingw32 /opt/xmingw
|
||||
MINGW_PREFIX := $(subst -gcc,,$(firstword $(call find_in_path_par,bin/i?86-mingw*-,$(MINGW_BASE_LIST))))
|
||||
ifneq ($(MINGW_PREFIX),)
|
||||
HB_CCPATH := $(MINGW_PREFIX)
|
||||
HB_CCPREFIX :=
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(HB_CCPATH)$(HB_CCPREFIX),)
|
||||
HB_COMPILER := mingw
|
||||
HB_ARCHITECTURE := win
|
||||
export HB_TOOLS_PREF := hbw
|
||||
export HB_XBUILD := win
|
||||
ifneq ($(HB_HOST_BUILD),all)
|
||||
HB_HOST_BUILD := lib
|
||||
endif
|
||||
else
|
||||
$(error ! Harbour build couldn't find mingw32 cross-compiler. Please install it, or point HB_CCPATH/HB_CCPREFIX environment variables to it)
|
||||
endif
|
||||
else
|
||||
ifeq ($(HB_ARCHITECTURE),wce)
|
||||
ifeq ($(HB_CCPATH),)
|
||||
HB_CCPATH := /opt/mingw32ce/bin/
|
||||
endif
|
||||
|
||||
ifneq ($(call find_in_path_par,arm-wince-mingw32ce-gcc,$(HB_CCPATH)),)
|
||||
HB_CCPREFIX := arm-wince-mingw32ce-
|
||||
HB_CCPATH := $(HB_CCPATH)/
|
||||
else
|
||||
ifneq ($(call find_in_path_par,arm-mingw32ce-gcc,$(HB_CCPATH)),)
|
||||
HB_CCPREFIX := arm-mingw32ce-
|
||||
HB_CCPATH := $(HB_CCPATH)/
|
||||
HB_CCPATH := $(dir $(MINGW_PREFIX))
|
||||
HB_CCPREFIX := $(notdir $(MINGW_PREFIX))
|
||||
else
|
||||
HB_CCPATH :=
|
||||
HB_CCPREFIX :=
|
||||
MINGW_PREFIX := $(dir $(firstword $(call find_in_path_par,i?86-mingw*/bin/,$(MINGW_BASE_LIST))))
|
||||
ifneq ($(MINGW_PREFIX),)
|
||||
HB_CCPATH := $(MINGW_PREFIX)
|
||||
HB_CCPREFIX :=
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(HB_CCPATH)$(HB_CCPREFIX),)
|
||||
HB_COMPILER := mingwarm
|
||||
HB_ARCHITECTURE := wce
|
||||
export HB_TOOLS_PREF := hbce
|
||||
export HB_XBUILD := wce
|
||||
HB_COMPILER := mingw
|
||||
HB_ARCHITECTURE := win
|
||||
export HB_TOOLS_PREF := hbw
|
||||
export HB_XBUILD := win
|
||||
ifneq ($(HB_HOST_BUILD),all)
|
||||
HB_HOST_BUILD := lib
|
||||
endif
|
||||
else
|
||||
$(error ! Harbour build couldn't find cegcc cross-compiler. Please install it to /opt/mingw32ce, or point HB_CCPATH/HB_CCPREFIX environment variables to it)
|
||||
$(error ! Harbour build couldn't find mingw32 cross-compiler. Please install it, or point HB_CCPATH/HB_CCPREFIX environment variables to it)
|
||||
endif
|
||||
else
|
||||
ifeq ($(HB_ARCHITECTURE),wce)
|
||||
ifeq ($(HB_CCPATH),)
|
||||
HB_CCPATH := /opt/mingw32ce/bin/
|
||||
endif
|
||||
|
||||
ifneq ($(call find_in_path_par,arm-wince-mingw32ce-gcc,$(HB_CCPATH)),)
|
||||
HB_CCPREFIX := arm-wince-mingw32ce-
|
||||
HB_CCPATH := $(HB_CCPATH)/
|
||||
else
|
||||
ifneq ($(call find_in_path_par,arm-mingw32ce-gcc,$(HB_CCPATH)),)
|
||||
HB_CCPREFIX := arm-mingw32ce-
|
||||
HB_CCPATH := $(HB_CCPATH)/
|
||||
else
|
||||
HB_CCPATH :=
|
||||
HB_CCPREFIX :=
|
||||
endif
|
||||
endif
|
||||
ifneq ($(HB_CCPATH)$(HB_CCPREFIX),)
|
||||
HB_COMPILER := mingwarm
|
||||
HB_ARCHITECTURE := wce
|
||||
export HB_TOOLS_PREF := hbce
|
||||
export HB_XBUILD := wce
|
||||
ifneq ($(HB_HOST_BUILD),all)
|
||||
HB_HOST_BUILD := lib
|
||||
endif
|
||||
else
|
||||
$(error ! Harbour build couldn't find cegcc cross-compiler. Please install it to /opt/mingw32ce, or point HB_CCPATH/HB_CCPREFIX environment variables to it)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
Reference in New Issue
Block a user