diff --git a/harbour/ChangeLog b/harbour/ChangeLog index e71aae3f21..b324da20c4 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,49 @@ The license applies to all entries newer than 2009-04-28. */ +2010-06-16 09:56 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * config/detfun.mk + * config/global.mk + % Streamlined internal handling of HB_SRC_ROOTPATH value. + + HB_SRC_ROOTPATH will now be conditioned before use: + ending pathsep added, pathseps converted to forward + slash, double slashes deleted. + ! Fixed HB_BIN_COMPILE autodetection in PATH, $(realpath + was not necessary, it only ruined already absolute paths + which are likely to appear in PATH anyway. + % Optimized HB_BIN_COMPILE autodetection in PATH to reuse + function created for this purpose. + ! Fixed GNU Make 3.81 version detection to work also with + future GNU Make versions. + + Added GNU Make 3.80 version detection. (unused, commented) + % Deleted version guards from around $(eval) and $(info) calls: + Unknown function calls will simply be ignored by + GNU Make and empty string returned, so this is safe. + % Force HB_BUILD_PKG off only if HB_SRC_ROOTPATH is not + specified (and running < 3.81 GNU Make version). + + Show warning when using < 3.81 GNU Make version and + HB_SRC_ROOTPATH was not specified. + + Falling back to using HB_SRC_ROOTPATH in all places where + $(realpath) or $(abspath) calls are used in 3.81 version. + ! Protected one $(realpath) with version guard. + + Automatized how HB_VER_STATUS_SH is filled for final releases. + ; NOTE: HB_SRC_ROOTPATH support is completely untested. + ; TODO: If everything works as intended, now "only" $(eval) + calls need some workaround to give full blown + functionality also with 3.79 version of GNU Make. + + * config/instsh.mk + ! Fixed to not use $(realpath) (and fail to install), + when running under < 3.81 GNU Make. + + * utils/hbmk2/hbmk2.prg + * config/global.mk + * Changed to use 'wcc386' executable for watcom detection + (was 'wpp386'). + + * INSTALL + + Minor updates regarding QT. + 2010-06-15 19:02 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbide/resources/setup.ui * contrib/hbide/resources/setup.uic @@ -29,9 +72,9 @@ are remembered for next run. Please do not set "macintosh" theme on windows machines, it GPF's. - % Enhanced: "Setup" dialog with fields to hold settings for + % Enhanced: "Setup" dialog with fields to hold settings for variety of actions. Please have a look into them and propose more. - Currently only Theme and Animation mode, two actions are active + Currently only Theme and Animation mode, two actions are active in real-time. 2010-06-15 20:38 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) diff --git a/harbour/INSTALL b/harbour/INSTALL index 734b96ae61..644d725bde 100644 --- a/harbour/INSTALL +++ b/harbour/INSTALL @@ -1328,11 +1328,10 @@ HARBOUR C/C++ Compilers/Shells: - MinGW [win, *nix, free, open-soource] - http://www.tdragon.net/recentgcc/, http://sourceforge.net/projects/tdm-gcc/ (unofficial, recommended) - http://www.mingw.org/, http://sourceforge.net/projects/mingw/ (official, MSYS home) - MinGW x64 [win, *nix, free, open-source] - http://mingw-w64.sourceforge.net/, http://sourceforge.net/projects/mingw-w64/ + MinGW/MinGW-64 [win, *nix, free, open-soource] + http://www.mingw.org/, http://sourceforge.net/projects/mingw/ (official 32-bit, MSYS home) + http://mingw-w64.sourceforge.net/, http://sourceforge.net/projects/mingw-w64/ (official 64-bit, MSYS home) + http://www.tdragon.net/recentgcc/, http://sourceforge.net/projects/tdm-gcc/ (unofficial) MinGW CEGCC [win, *nix, free, open-source] http://cegcc.sourceforge.net/ Cygwin [win, free, open-source] @@ -1419,10 +1418,11 @@ HARBOUR http://get.qt.nokia.com/qt/source/qt-win-opensource-4.5.3-mingw.exe http://get.qt.nokia.com/qt/source/qt-win-opensource-4.6.3-mingw.exe How to create Windows static and MSVC builds: - http://doc.trolltech.com/4.5/deployment-windows.html + http://doc.trolltech.com/4.6/deployment-windows.html NOTES: - - Windows QT 4.5.x requires MinGW builds with SJLJ stack frame unwinding. - - Windows QT 4.6.x requires MinGW builds with DWARF-2 stack frame unwinding. + - QT 4.5.x for Windows requires MinGW builds with SJLJ stack frame unwinding. + (mingw official 3.4.x, or mingw tdm) + - QT 4.6.x for Windows requires MinGW builds with DWARF-2 stack frame unwinding. (mingw official 4.4.0 or upper, or mingw tdm with dwarf update) HB_WITH_SQLITE3 - sqlite3 [multiplatform, free, open-source] http://www.sqlite.org/ diff --git a/harbour/config/detfun.mk b/harbour/config/detfun.mk index 056201bf3c..1498267160 100644 --- a/harbour/config/detfun.mk +++ b/harbour/config/detfun.mk @@ -54,7 +54,7 @@ ifneq ($($(subst HB_INC_,HB_WITH_,$(_DET_VAR_INC_))),) endif ifneq ($(HB_SRC_ROOTPATH),) - _DET_INC_LOCL := $(HB_SRC_ROOTPATH)/$(_DET_INC_LOCL) + _DET_INC_LOCL := $(HB_SRC_ROOTPATH)$(_DET_INC_LOCL) else _DET_INC_LOCL := $(realpath $(TOP)$(ROOT)$(_DET_INC_LOCL)) endif diff --git a/harbour/config/global.mk b/harbour/config/global.mk index 9643fa54e6..f8f5d7d5aa 100644 --- a/harbour/config/global.mk +++ b/harbour/config/global.mk @@ -37,10 +37,13 @@ HB_VER_MINOR := 1 HB_VER_RELEASE := 0 # Status (dev, alpha1, alpha2, beta1, beta2, rc1, rc2, empty for final) HB_VER_STATUS := beta1 -# Short status (d, a1, a2, b1, b2, r1, r2, MINOR+RELEASE for final) -# HB_VER_STATUS_SH := $(HB_VER_MINOR)$(HB_VER_RELEASE) +# Short status (d, a1, a2, b1, b2, r1, r2, empty for final) HB_VER_STATUS_SH := b1 +ifeq ($(HB_VER_STATUS_SH),) + HB_VER_STATUS_SH := $(HB_VER_MINOR)$(HB_VER_RELEASE) +endif + # Arbitrary pattern which we do not expect to occur in real-world path names substpat := !@!@ @@ -60,16 +63,22 @@ ifeq ($(_make_ver_ok),) endif endif -_make_ver_381 := 3.81 -MAKE_381 := $(filter $(_make_ver_381),$(firstword $(sort $(MAKE_VERSION) $(_make_ver_381)))) +# Detect GNU Make version compatibility (unsupported functions return empty value in GNU Make) +ifneq ($(abspath .),) + _MAKE_COMPAT_381 := yes +endif +# $(eval _MAKE_COMPAT_380 := yes) -# Users must specify HB_SRC_ROOTPATH only for pre-3.81 GNU Make versions +# Users must specify HB_SRC_ROOTPATH only for < 3.81 GNU Make versions # (without '$(realpath)' function). For newer ones we clear it # to avoid messing things up. -ifneq ($(MAKE_381),) +ifneq ($(_MAKE_COMPAT_381),) HB_SRC_ROOTPATH := else - HB_SRC_ROOTPATH := $(subst \,/,$(HB_SRC_ROOTPATH)) + # Condition it to have forward slashes, a guaranteed ending slash and no double slashes, if specified + ifneq ($(HB_SRC_ROOTPATH),) + HB_SRC_ROOTPATH := $(subst //,/,$(subst \,/,$(HB_SRC_ROOTPATH))/) + endif endif find_in_path = $(strip $(subst $(substpat), ,$(firstword $(subst |, ,$(subst $(subst x, ,x),$(substpat),$(filter-out |,$(foreach dir, $(subst $(PTHSEP), ,$(subst $(subst x, ,x),$(substpat),$(PATH))),|$(wildcard $(subst //,/,$(subst $(substpat),\ ,$(subst \,/,$(dir)))/$(1))$(HB_HOST_BIN_EXT))))))))) @@ -77,20 +86,6 @@ find_in_path_raw = $(strip $(subst $(substpat), ,$(firstword $(subst |, ,$(subst find_in_path_par = $(strip $(subst $(substpat), ,$(firstword $(subst |, ,$(subst $(subst x, ,x),$(substpat),$(filter-out |,$(foreach dir, $(subst $(PTHSEP), ,$(subst $(subst x, ,x),$(substpat),$(2))),|$(wildcard $(subst //,/,$(subst $(substpat),\ ,$(subst \,/,$(dir)))/$(1))$(HB_HOST_BIN_EXT))))))))) find_in_path_prw = $(strip $(subst $(substpat), ,$(firstword $(subst |, ,$(subst $(subst x, ,x),$(substpat),$(filter-out |,$(foreach dir, $(subst $(PTHSEP), ,$(subst $(subst x, ,x),$(substpat),$(2))),|$(wildcard $(subst //,/,$(subst $(substpat),\ ,$(subst \,/,$(dir)))/$(1)))))))))) -define detect_watcom_platform - ifneq ($(call find_in_path_prw,os2.h,$(INCLUDE)),) - HB_PLATFORM := os2 - else - ifneq ($(call find_in_path_prw,dirent.h,$(INCLUDE)),) - HB_PLATFORM := linux - else - ifeq ($(call find_in_path_prw,windows.h,$(INCLUDE)),) - HB_PLATFORM := dos - endif - endif - endif -endef - define check_host ifneq ($(findstring MINGW,$(1)),) @@ -178,70 +173,6 @@ define check_host endef -define check_host_cpu - - ifneq ($(findstring ppc64,$(1)),) - HB_HOST_CPU := ppc64 - else - ifneq ($(findstring ppc,$(1)),) - HB_HOST_CPU := ppc - else - ifneq ($(findstring Power,$(1)),) - HB_HOST_CPU := ppc - else - ifneq ($(findstring arm,$(1)),) - HB_HOST_CPU := arm - else - ifneq ($(findstring ia64,$(1)),) - HB_HOST_CPU := ia64 - else - ifneq ($(findstring sparc64,$(1)),) - HB_HOST_CPU := sparc64 - else - ifneq ($(findstring sparc,$(1)),) - HB_HOST_CPU := sparc32 - else - ifneq ($(findstring mips,$(1)),) - HB_HOST_CPU := mips - else - ifneq ($(findstring alpha,$(1)),) - HB_HOST_CPU := alpha - else - ifneq ($(findstring 9000,$(1)),) - HB_HOST_CPU := parisc - else - ifneq ($(findstring parisc,$(1)),) - HB_HOST_CPU := parisc - else - ifneq ($(findstring x86_64,$(1)),) - HB_HOST_CPU := x86_64 - else - ifneq ($(findstring 86,$(1)),) - HB_HOST_CPU := x86 - else - ifneq ($(findstring 64,$(1)),) - HB_HOST_CPU := x86_64 - else - ifneq ($(findstring BePC,$(1)),) - HB_HOST_CPU := x86 - endif - endif - endif - endif - endif - endif - endif - endif - endif - endif - endif - endif - endif - endif - endif - -endef - # Some presets based on HB_BUILD_NAME ifneq ($(HB_BUILD_NAME),) ifeq ($(HB_BUILD_NAME),.r) @@ -307,9 +238,12 @@ ifeq ($(HB_INIT_DONE),) ifeq ($(HB_BUILD_PKG),yes) - # We need some >= 3.80 GNU Make feature to make this option work - ifneq ($(MAKE_381),) - export HB_BUILD_PKG := no + # We need some >= 3.81 GNU Make feature to make this option work, + # or we need HB_SRC_ROOTPATH to be specified by user. + ifneq ($(_MAKE_COMPAT_381),) + ifeq ($(HB_SRC_ROOTPATH),) + export HB_BUILD_PKG := no + endif endif # 'clean' and 'install' are required when building a release package ifeq ($(filter clean,$(HB_MAKECMDGOALS)),) @@ -367,6 +301,12 @@ endif ifeq ($(HB_INIT_DONE),) + ifeq ($(_MAKE_COMPAT_381),) + ifeq ($(HB_SRC_ROOTPATH),) + $(warning ! Warning: Using < 3.81 GNU Make version and empty HB_SRC_ROOTPATH. Some features may not work.) + endif + endif + # Some additional ones to be given a standard name: # HB_BIN_COMPILE -> HB_BUILD_BIN_DIR # HB_INC_COMPILE -> - (HB_BUILD_INC_DIR) @@ -375,96 +315,94 @@ ifeq ($(HB_INIT_DONE),) # Macros: # -DHB_GT_LIB= - ifneq ($(MAKE_381),) - $(info ! Building Harbour $(HB_VER_MAJOR).$(HB_VER_MINOR).$(HB_VER_RELEASE)$(HB_VER_STATUS) from source - http://harbour-project.org) - $(info ! MAKE: $(MAKE) $(MAKE_VERSION) $(SHELL) $(HB_MAKECMDGOALS) $(MAKEFLAGS) $(if $(MAKESHELL),MAKESHELL: $(MAKESHELL),)) - ifneq ($(HB_USER_PRGFLAGS),) - $(info ! HB_USER_PRGFLAGS: $(HB_USER_PRGFLAGS)) - endif - ifneq ($(HB_USER_CFLAGS),) - $(info ! HB_USER_CFLAGS: $(HB_USER_CFLAGS)) - endif - ifneq ($(HB_USER_LDFLAGS),) - $(info ! HB_USER_LDFLAGS: $(HB_USER_LDFLAGS)) - endif - ifneq ($(HB_USER_AFLAGS),) - $(info ! HB_USER_AFLAGS: $(HB_USER_AFLAGS)) - endif - ifneq ($(HB_USER_DFLAGS),) - $(info ! HB_USER_DFLAGS: $(HB_USER_DFLAGS)) - endif - ifneq ($(HB_USER_LIBS),) - $(info ! HB_USER_LIBS: $(HB_USER_LIBS)) - endif - ifneq ($(HB_INSTALL_PREFIX),) - $(info ! HB_INSTALL_PREFIX: $(HB_INSTALL_PREFIX)) - endif - ifneq ($(HB_BIN_INSTALL),) - $(info ! HB_BIN_INSTALL: $(HB_BIN_INSTALL)) - endif - ifneq ($(HB_LIB_INSTALL),) - $(info ! HB_LIB_INSTALL: $(HB_LIB_INSTALL)) - endif - ifneq ($(HB_DYN_INSTALL),) - $(info ! HB_DYN_INSTALL: $(HB_DYN_INSTALL)) - endif - ifneq ($(HB_INC_INSTALL),) - $(info ! HB_INC_INSTALL: $(HB_INC_INSTALL)) - endif - ifneq ($(HB_DOC_INSTALL),) - $(info ! HB_DOC_INSTALL: $(HB_DOC_INSTALL)) - endif - ifneq ($(HB_BUILD_NAME),) - $(info ! HB_BUILD_NAME: $(HB_BUILD_NAME)) - endif - ifneq ($(HB_BUILD_PKG),) - $(info ! HB_BUILD_PKG: $(HB_BUILD_PKG)) - endif - ifneq ($(HB_BUILD_DLL),) - $(info ! HB_BUILD_DLL: $(HB_BUILD_DLL)) - endif - ifneq ($(HB_BUILD_IMPLIB),) - $(info ! HB_BUILD_IMPLIB: $(HB_BUILD_IMPLIB)) - endif - ifneq ($(HB_BUILD_SHARED),) - $(info ! HB_BUILD_SHARED: $(HB_BUILD_SHARED)) - endif - ifneq ($(HB_BUILD_DEBUG),) - $(info ! HB_BUILD_DEBUG: $(HB_BUILD_DEBUG)) - endif - ifneq ($(HB_BUILD_STRIP),) - $(info ! HB_BUILD_STRIP: $(HB_BUILD_STRIP)) - endif - ifneq ($(HB_BUILD_OPTIM),) - $(info ! HB_BUILD_OPTIM: $(HB_BUILD_OPTIM)) - endif - ifneq ($(HB_BUILD_UNICODE),) - $(info ! HB_BUILD_UNICODE: $(HB_BUILD_UNICODE)) - endif - ifneq ($(HB_BUILD_MODE),) - $(info ! HB_BUILD_MODE: $(HB_BUILD_MODE)) - endif - ifneq ($(HB_BUILD_EXTDEF),) - $(info ! HB_BUILD_EXTDEF: $(HB_BUILD_EXTDEF)) - endif - ifneq ($(HB_BUILD_PARTS),) - $(info ! HB_BUILD_PARTS: $(HB_BUILD_PARTS)) - endif - ifneq ($(HB_CONTRIBLIBS),) - $(info ! HB_CONTRIBLIBS: $(HB_CONTRIBLIBS)) - endif - ifneq ($(HB_CONTRIB_ADDONS),) - $(info ! HB_CONTRIB_ADDONS: $(HB_CONTRIB_ADDONS)) - endif - ifneq ($(HB_EXTERNALLIBS),) - $(info ! HB_EXTERNALLIBS: $(HB_EXTERNALLIBS)) - endif - ifneq ($(HB_EXTERNAL_ADDONS),) - $(info ! HB_EXTERNAL_ADDONS: $(HB_EXTERNAL_ADDONS)) - endif - ifneq ($(HB_REBUILD_PARSER),) - $(info ! HB_REBUILD_PARSER: $(HB_REBUILD_PARSER)) - endif + $(info ! Building Harbour $(HB_VER_MAJOR).$(HB_VER_MINOR).$(HB_VER_RELEASE)$(HB_VER_STATUS) from source - http://harbour-project.org) + $(info ! MAKE: $(MAKE) $(MAKE_VERSION) $(SHELL) $(HB_MAKECMDGOALS) $(MAKEFLAGS) $(if $(MAKESHELL),MAKESHELL: $(MAKESHELL),)) + ifneq ($(HB_USER_PRGFLAGS),) + $(info ! HB_USER_PRGFLAGS: $(HB_USER_PRGFLAGS)) + endif + ifneq ($(HB_USER_CFLAGS),) + $(info ! HB_USER_CFLAGS: $(HB_USER_CFLAGS)) + endif + ifneq ($(HB_USER_LDFLAGS),) + $(info ! HB_USER_LDFLAGS: $(HB_USER_LDFLAGS)) + endif + ifneq ($(HB_USER_AFLAGS),) + $(info ! HB_USER_AFLAGS: $(HB_USER_AFLAGS)) + endif + ifneq ($(HB_USER_DFLAGS),) + $(info ! HB_USER_DFLAGS: $(HB_USER_DFLAGS)) + endif + ifneq ($(HB_USER_LIBS),) + $(info ! HB_USER_LIBS: $(HB_USER_LIBS)) + endif + ifneq ($(HB_INSTALL_PREFIX),) + $(info ! HB_INSTALL_PREFIX: $(HB_INSTALL_PREFIX)) + endif + ifneq ($(HB_BIN_INSTALL),) + $(info ! HB_BIN_INSTALL: $(HB_BIN_INSTALL)) + endif + ifneq ($(HB_LIB_INSTALL),) + $(info ! HB_LIB_INSTALL: $(HB_LIB_INSTALL)) + endif + ifneq ($(HB_DYN_INSTALL),) + $(info ! HB_DYN_INSTALL: $(HB_DYN_INSTALL)) + endif + ifneq ($(HB_INC_INSTALL),) + $(info ! HB_INC_INSTALL: $(HB_INC_INSTALL)) + endif + ifneq ($(HB_DOC_INSTALL),) + $(info ! HB_DOC_INSTALL: $(HB_DOC_INSTALL)) + endif + ifneq ($(HB_BUILD_NAME),) + $(info ! HB_BUILD_NAME: $(HB_BUILD_NAME)) + endif + ifneq ($(HB_BUILD_PKG),) + $(info ! HB_BUILD_PKG: $(HB_BUILD_PKG)) + endif + ifneq ($(HB_BUILD_DLL),) + $(info ! HB_BUILD_DLL: $(HB_BUILD_DLL)) + endif + ifneq ($(HB_BUILD_IMPLIB),) + $(info ! HB_BUILD_IMPLIB: $(HB_BUILD_IMPLIB)) + endif + ifneq ($(HB_BUILD_SHARED),) + $(info ! HB_BUILD_SHARED: $(HB_BUILD_SHARED)) + endif + ifneq ($(HB_BUILD_DEBUG),) + $(info ! HB_BUILD_DEBUG: $(HB_BUILD_DEBUG)) + endif + ifneq ($(HB_BUILD_STRIP),) + $(info ! HB_BUILD_STRIP: $(HB_BUILD_STRIP)) + endif + ifneq ($(HB_BUILD_OPTIM),) + $(info ! HB_BUILD_OPTIM: $(HB_BUILD_OPTIM)) + endif + ifneq ($(HB_BUILD_UNICODE),) + $(info ! HB_BUILD_UNICODE: $(HB_BUILD_UNICODE)) + endif + ifneq ($(HB_BUILD_MODE),) + $(info ! HB_BUILD_MODE: $(HB_BUILD_MODE)) + endif + ifneq ($(HB_BUILD_EXTDEF),) + $(info ! HB_BUILD_EXTDEF: $(HB_BUILD_EXTDEF)) + endif + ifneq ($(HB_BUILD_PARTS),) + $(info ! HB_BUILD_PARTS: $(HB_BUILD_PARTS)) + endif + ifneq ($(HB_CONTRIBLIBS),) + $(info ! HB_CONTRIBLIBS: $(HB_CONTRIBLIBS)) + endif + ifneq ($(HB_CONTRIB_ADDONS),) + $(info ! HB_CONTRIB_ADDONS: $(HB_CONTRIB_ADDONS)) + endif + ifneq ($(HB_EXTERNALLIBS),) + $(info ! HB_EXTERNALLIBS: $(HB_EXTERNALLIBS)) + endif + ifneq ($(HB_EXTERNAL_ADDONS),) + $(info ! HB_EXTERNAL_ADDONS: $(HB_EXTERNAL_ADDONS)) + endif + ifneq ($(HB_REBUILD_PARSER),) + $(info ! HB_REBUILD_PARSER: $(HB_REBUILD_PARSER)) endif endif @@ -537,23 +475,17 @@ ifeq ($(PTHSEP),) endif endif +# TOFIX: For < 3.80 GNU Make versions ifeq ($(HB_HOST_PLAT),) - ifneq ($(MAKE_381),) - $(eval $(call check_host,$(OSTYPE),)) + $(eval $(call check_host,$(OSTYPE),)) + ifeq ($(HB_HOST_PLAT),) + $(eval $(call check_host,$(MACHTYPE),)) ifeq ($(HB_HOST_PLAT),) - $(eval $(call check_host,$(MACHTYPE),)) + $(eval $(call check_host,$(OS),)) ifeq ($(HB_HOST_PLAT),) - $(eval $(call check_host,$(OS),)) - ifeq ($(HB_HOST_PLAT),) - $(eval $(call check_host,$(shell uname -s),)) - endif + $(eval $(call check_host,$(shell uname -s),)) endif endif - else - # UNFINISHED - ifneq ($(findstring QNX,$(1)),) - HB_HOST_PLAT := qnx - endif endif endif @@ -604,19 +536,71 @@ else ifneq ($(filter $(HB_HOST_PLAT),dos os2),) HB_HOST_CPU := x86 else - ifneq ($(MAKE_381),) - $(eval $(call check_host_cpu,$(shell uname -m),)) + _UNAME_M := $(shell uname -m) + ifneq ($(findstring ppc64,$(_UNAME_M)),) + HB_HOST_CPU := ppc64 else - # UNFINISHED - HB_HOST_CPU := + ifneq ($(findstring ppc,$(_UNAME_M)),) + HB_HOST_CPU := ppc + else + ifneq ($(findstring Power,$(_UNAME_M)),) + HB_HOST_CPU := ppc + else + ifneq ($(findstring arm,$(_UNAME_M)),) + HB_HOST_CPU := arm + else + ifneq ($(findstring ia64,$(_UNAME_M)),) + HB_HOST_CPU := ia64 + else + ifneq ($(findstring sparc64,$(_UNAME_M)),) + HB_HOST_CPU := sparc64 + else + ifneq ($(findstring sparc,$(_UNAME_M)),) + HB_HOST_CPU := sparc32 + else + ifneq ($(findstring mips,$(_UNAME_M)),) + HB_HOST_CPU := mips + else + ifneq ($(findstring alpha,$(_UNAME_M)),) + HB_HOST_CPU := alpha + else + ifneq ($(findstring 9000,$(_UNAME_M)),) + HB_HOST_CPU := parisc + else + ifneq ($(findstring parisc,$(_UNAME_M)),) + HB_HOST_CPU := parisc + else + ifneq ($(findstring x86_64,$(_UNAME_M)),) + HB_HOST_CPU := x86_64 + else + ifneq ($(findstring 86,$(_UNAME_M)),) + HB_HOST_CPU := x86 + else + ifneq ($(findstring 64,$(_UNAME_M)),) + HB_HOST_CPU := x86_64 + else + ifneq ($(findstring BePC,$(_UNAME_M)),) + HB_HOST_CPU := x86 + endif + endif + endif + endif + endif + endif + endif + endif + endif + endif + endif + endif + endif + endif endif endif endif ifeq ($(HB_INIT_DONE),) - ifneq ($(MAKE_381),) - $(info ! HB_HOST_PLAT: $(HB_HOST_PLAT)$(if $(HB_HOST_CPU), ($(HB_HOST_CPU)),) HB_SHELL: $(HB_SHELL)) - endif + $(info ! HB_HOST_PLAT: $(HB_HOST_PLAT)$(if $(HB_HOST_CPU), ($(HB_HOST_CPU)),) HB_SHELL: $(HB_SHELL)) endif HB_PLAT_AUTO := @@ -918,10 +902,9 @@ ifeq ($(HB_COMPILER),) endif endif else - HB_COMP_PATH := $(call find_in_path,wpp386) + HB_COMP_PATH := $(call find_in_path,wcc386) ifneq ($(HB_COMP_PATH),) HB_COMPILER := watcom - $(eval $(call detect_watcom_platform)) else HB_COMP_PATH := $(call find_in_path_raw,clarm.exe) ifneq ($(HB_COMP_PATH),) @@ -1049,10 +1032,9 @@ ifeq ($(HB_COMPILER),) endif else ifeq ($(HB_PLATFORM),linux) - HB_COMP_PATH := $(call find_in_path,wpp386) + HB_COMP_PATH := $(call find_in_path,wcc386) ifneq ($(HB_COMP_PATH),) HB_COMPILER := watcom - $(eval $(call detect_watcom_platform)) else HB_COMP_PATH := $(call find_in_path,gcc) ifneq ($(HB_COMP_PATH),) @@ -1109,10 +1091,9 @@ ifeq ($(HB_COMPILER),) ifneq ($(HB_COMP_PATH),) HB_COMPILER := djgpp else - HB_COMP_PATH := $(call find_in_path,wpp386) + HB_COMP_PATH := $(call find_in_path,wcc386) ifneq ($(HB_COMP_PATH),) HB_COMPILER := watcom - $(eval $(call detect_watcom_platform)) endif endif else @@ -1121,10 +1102,9 @@ ifeq ($(HB_COMPILER),) ifneq ($(HB_COMP_PATH),) HB_COMPILER := gcc else - HB_COMP_PATH := $(call find_in_path,wpp386) + HB_COMP_PATH := $(call find_in_path,wcc386) ifneq ($(HB_COMP_PATH),) HB_COMPILER := watcom - $(eval $(call detect_watcom_platform)) endif endif else @@ -1142,6 +1122,22 @@ ifeq ($(HB_COMPILER),) endif endif endif + + # autodetect watcom platform by looking at the header path config + ifeq ($(HB_COMPILER),watcom) + ifneq ($(call find_in_path_prw,os2.h,$(INCLUDE)),) + HB_PLATFORM := os2 + else + ifneq ($(call find_in_path_prw,dirent.h,$(INCLUDE)),) + HB_PLATFORM := linux + else + ifeq ($(call find_in_path_prw,windows.h,$(INCLUDE)),) + HB_PLATFORM := dos + endif + endif + endif + endif + ifneq ($(HB_COMPILER),) HB_COMP_PATH := $(subst $(substpat), ,$(dir $(firstword $(subst $(subst x, ,x),$(substpat),$(HB_COMP_PATH))))) HB_COMP_AUTO := (autodetected$(if $(HB_COMP_PATH),: $(HB_COMP_PATH),)) @@ -1207,7 +1203,12 @@ endif DYN_PREF := # define PKG_DIR only if run from root Makefile ifeq ($(ROOT),./) - PKG_DIR := $(TOP)$(ROOT)pkg/$(PLAT_COMP) + ifneq ($(HB_SRC_ROOTPATH),) + PKG_DIR := $(HB_SRC_ROOTPATH) + else + PKG_DIR := $(TOP)$(ROOT) + endif + PKG_DIR := $(PKG_DIR)pkg/$(PLAT_COMP) else PKG_DIR := endif @@ -1284,10 +1285,8 @@ ifeq ($(HB_INIT_DONE),) $(warning ! Please use the Windows build of GNU Make.) endif endif - ifneq ($(MAKE_381),) - $(info ! HB_PLATFORM: $(HB_PLATFORM)$(if $(HB_CPU), ($(HB_CPU)),) $(HB_PLAT_AUTO)) - $(info ! HB_COMPILER: $(HB_COMPILER)$(HB_COMP_VER) $(HB_COMP_AUTO)) - endif + $(info ! HB_PLATFORM: $(HB_PLATFORM)$(if $(HB_CPU), ($(HB_CPU)),) $(HB_PLAT_AUTO)) + $(info ! HB_COMPILER: $(HB_COMPILER)$(HB_COMP_VER) $(HB_COMP_AUTO)) endif ifeq ($(HB_HOST_PKGM),) @@ -1316,9 +1315,7 @@ export HB_HOST_PKGM ifeq ($(HB_INIT_DONE),) ifneq ($(HB_HOST_PKGM),) - ifneq ($(MAKE_381),) - $(info ! HB_HOST_PKGM: $(HB_HOST_PKGM)) - endif + $(info ! HB_HOST_PKGM: $(HB_HOST_PKGM)) endif endif @@ -1353,30 +1350,31 @@ ifneq ($(HB_HOST_PLAT)$(HB_HOST_CPU),$(HB_PLATFORM)$(HB_CPU)) ifneq ($(HB_HOST_PLAT)-$(HB_HOST_CPU)-$(HB_PLATFORM)-$(HB_CPU),win-x86-dos-x86) HB_CROSS_BUILD := yes # Try to autosetup - HB_BIN_COMPILE := $(dir $(firstword $(wildcard $(TOP)$(ROOT)bin/$(HB_HOST_PLAT)/*/harbour$(HB_HOST_BIN_EXT)))) - ifeq ($(HB_BIN_COMPILE),) - HB_BIN_COMPILE := $(dir $(firstword $(foreach dir,$(subst $(PTHSEP), ,$(PATH)),$(wildcard $(dir)/harbour$(HB_HOST_BIN_EXT))))) - ifneq ($(HB_BIN_COMPILE),) + ifneq ($(HB_SRC_ROOTPATH),) + _HB_ROOT_BIN := $(HB_SRC_ROOTPATH) + else + _HB_ROOT_BIN := $(TOP)$(ROOT) + endif + HB_BIN_COMPILE := $(dir $(firstword $(wildcard $(_HB_ROOT_BIN)bin/$(HB_HOST_PLAT)/*/harbour$(HB_HOST_BIN_EXT)))) + ifneq ($(HB_BIN_COMPILE),) + ifeq ($(HB_SRC_ROOTPATH),) HB_BIN_COMPILE := $(realpath $(HB_BIN_COMPILE)) endif else - HB_BIN_COMPILE := $(realpath $(HB_BIN_COMPILE)) + # Look in PATH + HB_BIN_COMPILE := $(dir $(call find_in_path,harbour)) endif ifeq ($(HB_BIN_COMPILE),) $(warning ! Warning: HB_BIN_COMPILE not specified. Could not find native build.) else - ifneq ($(MAKE_381),) - $(info ! HB_BIN_COMPILE not specified. Automatically set to: $(HB_BIN_COMPILE)) - endif + $(info ! HB_BIN_COMPILE not specified. Automatically set to: $(HB_BIN_COMPILE)) endif endif endif export HB_BIN_COMPILE else ifeq ($(HB_INIT_DONE),) - ifneq ($(MAKE_381),) - $(info ! HB_BIN_COMPILE: $(HB_BIN_COMPILE)) - endif + $(info ! HB_BIN_COMPILE: $(HB_BIN_COMPILE)) endif HB_CROSS_BUILD := yes endif @@ -1481,8 +1479,13 @@ export HB_PKGNAMI HB_INSTALL_PREFIX_ORI := $(HB_INSTALL_PREFIX) ifeq ($(HB_BUILD_PKG),yes) ifeq ($(HB_INIT_DONE),) - export HB_TOP := $(subst /,$(DIRSEP),$(realpath $(TOP)$(ROOT))) - HB_INSTALL_PREFIX := $(subst /,$(DIRSEP),$(abspath $(PKG_DIR)/$(HB_PKGNAME))) + ifneq ($(HB_SRC_ROOTPATH),) + export HB_TOP := $(subst /,$(DIRSEP),$(HB_SRC_ROOTPATH)) + HB_INSTALL_PREFIX := $(subst /,$(DIRSEP),$(PKG_DIR)/$(HB_PKGNAME)) + else + export HB_TOP := $(subst /,$(DIRSEP),$(realpath $(TOP)$(ROOT))) + HB_INSTALL_PREFIX := $(subst /,$(DIRSEP),$(abspath $(PKG_DIR)/$(HB_PKGNAME))) + endif HB_BIN_INSTALL := HB_INC_INSTALL := @@ -1499,7 +1502,7 @@ else else ifeq ($(HB_PLATFORM_UNIX),) ifneq ($(HB_SRC_ROOTPATH),) - HB_INSTALL_PREFIX := $(HB_SRC_ROOTPATH)$(TOP)$(ROOT) + HB_INSTALL_PREFIX := $(HB_SRC_ROOTPATH) else HB_INSTALL_PREFIX := $(realpath $(TOP)$(ROOT)) endif @@ -1530,7 +1533,11 @@ else HB_INSTALL_PREFIX := $(subst {hb_plat},$(HB_PLATFORM),$(HB_INSTALL_PREFIX)) HB_INSTALL_PREFIX := $(subst {hb_comp},$(HB_COMPILER),$(HB_INSTALL_PREFIX)) HB_INSTALL_PREFIX := $(subst {hb_cpu},$(HB_CPU),$(HB_INSTALL_PREFIX)) - HB_INSTALL_PREFIX := $(subst {hb_top},$(realpath $(TOP)$(ROOT)),$(HB_INSTALL_PREFIX)) + ifneq ($(HB_SRC_ROOTPATH),) + HB_INSTALL_PREFIX := $(subst {hb_top},$(HB_SRC_ROOTPATH),$(HB_INSTALL_PREFIX)) + else + HB_INSTALL_PREFIX := $(subst {hb_top},$(realpath $(TOP)$(ROOT)),$(HB_INSTALL_PREFIX)) + endif HB_INSTALL_PREFIX := $(subst /,$(DIRSEP),$(HB_INSTALL_PREFIX)) endif endif @@ -1538,14 +1545,12 @@ endif export HB_INSTALL_PREFIX ifeq ($(HB_INIT_DONE),) - ifneq ($(MAKE_381),) - ifneq ($(HB_INSTALL_PREFIX_ORI),$(HB_INSTALL_PREFIX)) - $(info ! HB_INSTALL_PREFIX automatically set to: $(HB_INSTALL_PREFIX)) - endif - ifeq ($(ROOT),./) - ifneq ($(call find_in_path,svnversion),) - $(info ! REVISION: $(shell svnversion .)) - endif + ifneq ($(HB_INSTALL_PREFIX_ORI),$(HB_INSTALL_PREFIX)) + $(info ! HB_INSTALL_PREFIX automatically set to: $(HB_INSTALL_PREFIX)) + endif + ifeq ($(ROOT),./) + ifneq ($(call find_in_path,svnversion),) + $(info ! REVISION: $(shell svnversion .)) endif endif endif diff --git a/harbour/config/instsh.mk b/harbour/config/instsh.mk index b47e49111e..47fe4a875e 100644 --- a/harbour/config/instsh.mk +++ b/harbour/config/instsh.mk @@ -13,7 +13,15 @@ ifeq ($(INSTALL_DIR),) # Empty install dir INSTALL_RULE := @$(ECHO) $(ECHOQUOTE)! Can't install, install dir isn't set$(ECHOQUOTE) else -ifeq ($(realpath $(INSTALL_DIR)),$(realpath .)) +_SAME_DIR := +# Check if $(abspath)/$(realpath) functions are supported +ifneq ($(abspath .),) + ifeq ($(realpath $(INSTALL_DIR)),$(realpath .)) + _SAME_DIR := yes + endif +endif + +ifeq ($(_SAME_DIR),yes) INSTALL_RULE := @$(ECHO) $(ECHOQUOTE)! Skip install, destination dir '$(INSTALL_DIR)' is the same as source$(ECHOQUOTE) else diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index 5229de2391..685e43dc5a 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -1151,7 +1151,7 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause ) CASE hbmk[ _HBMK_cPLAT ] == "dos" #if ! defined( __PLATFORM__UNIX ) aCOMPDET := { { {|| FindInPath( "gcc" ) }, "djgpp" },; - { {|| FindInPath( "wpp386" ) }, "watcom" } } + { {|| FindInPath( "wcc386" ) }, "watcom" } } #endif aCOMPSUP := { "djgpp", "gcc", "watcom" } l_aLIBHBGT := { "gtdos" } @@ -1163,7 +1163,7 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause ) CASE hbmk[ _HBMK_cPLAT ] == "os2" #if ! defined( __PLATFORM__UNIX ) aCOMPDET := { { {|| FindInPath( "gcc" ) }, "gcc" },; - { {|| FindInPath( "wpp386" ) }, "watcom" } } + { {|| FindInPath( "wcc386" ) }, "watcom" } } #endif aCOMPSUP := { "gcc", "gccomf", "watcom" } l_aLIBHBGT := { "gtos2" } @@ -1181,13 +1181,13 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause ) { {|| FindInPath( "x86_64-pc-mingw32-gcc" ) }, "mingw64" },; /* Equation Solution build */ { {|| FindInPath( hbmk[ _HBMK_cCCPREFIX ] + "gcc" + hbmk[ _HBMK_cCCPOSTFIX ] ) }, "mingw" },; { {|| iif( ! Empty( GetEnv( "WATCOM" ) ),; - FindInPath( "wpp386" ),; + FindInPath( "wcc386" ),; NIL ) }, "watcom" },; { {|| FindInPath( "clarm.exe" ) }, "msvcarm" },; { {|| FindInPath( "armasm.exe" ) }, "msvcarm" },; { {|| FindInPath( "ml64.exe" ) }, "msvc64" },; { {|| FindInPath( "ias.exe" ) }, "msvcia64" },; - { {|| iif( FindInPath( "wpp386" ) == NIL,; + { {|| iif( FindInPath( "wcc386" ) == NIL,; FindInPath( "cl.exe" ),; NIL ) }, "msvc" },; { {|| _BCC_BIN_DETECT() }, "bcc" },; @@ -1332,10 +1332,10 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause ) AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "mingwarm" + hb_osPathSeparator() + "bin" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "gcc" + hbmk[ _HBMK_cCCEXT ] ), tmp1, NIL ) }, "wce" , "mingwarm", "arm-wince-mingw32ce-", NIL, NIL } ) AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "mingwarm" + hb_osPathSeparator() + "bin" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "gcc" + hbmk[ _HBMK_cCCEXT ] ), tmp1, NIL ) }, "wce" , "mingw" , "i386-mingw32ce-" , NIL, NIL } ) AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "djgpp" + hb_osPathSeparator() + "bin" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "gcc.exe" ), tmp1, NIL ) }, "dos" , "djgpp" , "" , NIL, {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } ) - AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binnt" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wpp386.exe" ), tmp1, NIL ) }, "win" , "watcom" , "" , NIL, {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } ) - AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binnt" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wpp386.exe" ), tmp1, NIL ) }, "dos" , "watcom" , "" , NIL, {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } ) - AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binnt" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wpp386.exe" ), tmp1, NIL ) }, "os2" , "watcom" , "" , NIL, {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } ) - AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binnt" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wpp386.exe" ), tmp1, NIL ) }, "linux", "watcom" , "" , NIL, {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } ) + AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binnt" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wcc386.exe" ), tmp1, NIL ) }, "win" , "watcom" , "" , NIL, {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } ) + AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binnt" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wcc386.exe" ), tmp1, NIL ) }, "dos" , "watcom" , "" , NIL, {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } ) + AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binnt" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wcc386.exe" ), tmp1, NIL ) }, "os2" , "watcom" , "" , NIL, {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } ) + AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binnt" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wcc386.exe" ), tmp1, NIL ) }, "linux", "watcom" , "" , NIL, {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } ) AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "pocc" + hb_osPathSeparator() + "Bin" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "pocc.exe" ), tmp1, NIL ) }, "win" , "pocc" , "" , NIL, {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } ) AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "pocc" + hb_osPathSeparator() + "Bin" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "pocc.exe" ), tmp1, NIL ) }, "win" , "pocc64" , "" , NIL, {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } ) AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "pocc" + hb_osPathSeparator() + "Bin" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "pocc.exe" ), tmp1, NIL ) }, "wce" , "poccarm" , "" , NIL, {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } ) @@ -1345,19 +1345,19 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause ) tmp3 := NIL; HB_SYMBOL_UNUSED( tmp3 ) AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "djgpp" + hb_osPathSeparator() + "bin" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "gcc.exe" ), tmp1, NIL ) }, "dos" , "djgpp" , "" , NIL, {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } ) - AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binw" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wpp386.exe" ), tmp1, NIL ) }, "dos" , "watcom" , "" , NIL, {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } ) - AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binw" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wpp386.exe" ), tmp1, NIL ) }, "win" , "watcom" , "" , NIL, {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } ) - AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binw" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wpp386.exe" ), tmp1, NIL ) }, "os2" , "watcom" , "" , NIL, {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } ) - AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binw" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wpp386.exe" ), tmp1, NIL ) }, "linux", "watcom" , "" , NIL, {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } ) + AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binw" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wcc386.exe" ), tmp1, NIL ) }, "dos" , "watcom" , "" , NIL, {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } ) + AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binw" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wcc386.exe" ), tmp1, NIL ) }, "win" , "watcom" , "" , NIL, {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } ) + AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binw" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wcc386.exe" ), tmp1, NIL ) }, "os2" , "watcom" , "" , NIL, {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } ) + AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binw" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wcc386.exe" ), tmp1, NIL ) }, "linux", "watcom" , "" , NIL, {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } ) #elif defined( __PLATFORM__OS2 ) tmp3 := NIL; HB_SYMBOL_UNUSED( tmp3 ) - AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binp" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wpp386.exe" ), tmp1, NIL ) }, "os2" , "watcom" , "" , NIL, {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } ) - AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binp" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wpp386.exe" ), tmp1, NIL ) }, "win" , "watcom" , "" , NIL, {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } ) - AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binp" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wpp386.exe" ), tmp1, NIL ) }, "dos" , "watcom" , "" , NIL, {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } ) - AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binp" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wpp386.exe" ), tmp1, NIL ) }, "linux", "watcom" , "" , NIL, {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } ) + AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binp" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wcc386.exe" ), tmp1, NIL ) }, "os2" , "watcom" , "" , NIL, {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } ) + AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binp" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wcc386.exe" ), tmp1, NIL ) }, "win" , "watcom" , "" , NIL, {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } ) + AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binp" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wcc386.exe" ), tmp1, NIL ) }, "dos" , "watcom" , "" , NIL, {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } ) + AAdd( aCOMPDET_EMBED, { {| cPrefix | tmp1 := PathNormalize( DirAddPathSep( l_cHB_INSTALL_PREFIX ) + _COMPEMBED_BASE_ + "watcom" + hb_osPathSeparator() + "binp" ), iif( hb_FileExists( tmp1 + hb_osPathSeparator() + cPrefix + "wcc386.exe" ), tmp1, NIL ) }, "linux", "watcom" , "" , NIL, {| cARCH, cCOMP, cPathBin | hbmk_COMP_Setup( cARCH, cCOMP, cPathBin + hb_osPathSeparator() + ".." ) } } ) #elif defined( __PLATFORM__UNIX )