diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 2e5707fa8a..31ab7ddb82 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,26 @@ past entries belonging to author(s): Viktor Szakats. */ +2010-05-29 15:30 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * INSTALL + * config/global.mk + + Added support for configurations where PATH contains the same + compiler multiple times. (and all similar cases when a files + is looked for in a list of possible dirs). From now on only + the first one will be extracted. Dirs can still contain spaces. + + Such configurations started to appear like mushrooms just + recently. Maybe it's something seasonal. Anyhow I'd suggest + to fix such configurations, since it may cause misc problems, + outside the real of Harbour. So the INSTALL is still not + lying: + Keep only one compiler in PATH at any time, and especially + don't keep the same C compiler multiple times in PATH, and + especially not two different versions of the same C compiler. + + If you're is interested in GNU Make black magic for some (pervert) + reason, you may want to take a closer look at the implementation. + 2010-05-29 10:29 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/hbwin/olecore.c ! fixed old bug in passing parameters by reference to OLE objects diff --git a/harbour/INSTALL b/harbour/INSTALL index 6f709c1b84..cd350900f5 100644 --- a/harbour/INSTALL +++ b/harbour/INSTALL @@ -36,8 +36,9 @@ HARBOUR (in PATH). Refer to your C compiler installation and setup instructions for details. It's recommended to make sure no tools in your PATH belonging to other C compilers are interfering with - your setup. Also make sure not to have duplicate entries for - your C compiler in PATH. For the list of supported compilers, + your setup. It's also highly discouraged to keep multiple copies + of the same compiler, or different versions of the same compiler + in PATH at the same time. For the list of supported compilers, please look up the relevant section in this document. 3.) You need to get GNU Make. We recommend this link: http://sourceforge.net/projects/mingw/files/MinGW%20make/make-3.81-20090914-mingw32/make-3.81-20090914-mingw32-bin.tar.gz/download diff --git a/harbour/config/global.mk b/harbour/config/global.mk index bd5067f8be..1d1e724d54 100644 --- a/harbour/config/global.mk +++ b/harbour/config/global.mk @@ -56,9 +56,9 @@ ifeq ($(filter $(_make_ver_min),$(firstword $(sort $(MAKE_VERSION) $(_make_ver_m $(error ! Error: GNU Make version $(MAKE_VERSION) found, $(_make_ver_min) or upper needed for Harbour) endif -find_in_path = $(strip $(foreach dir, $(subst $(PTHSEP), ,$(subst $(subst x, ,x),$(substpat),$(PATH))), $(wildcard $(subst //,/,$(subst $(substpat),\ ,$(subst \,/,$(dir)))/$(1))$(HB_HOST_BIN_EXT)))) -find_in_path_par = $(strip $(foreach dir, $(subst $(PTHSEP), ,$(subst $(subst x, ,x),$(substpat),$(2))), $(wildcard $(subst //,/,$(subst $(substpat),\ ,$(subst \,/,$(dir)))/$(1))$(HB_HOST_BIN_EXT)))) -find_in_path_raw = $(strip $(foreach dir, $(subst $(PTHSEP), ,$(subst $(subst x, ,x),$(substpat),$(2))), $(wildcard $(subst //,/,$(subst $(substpat),\ ,$(subst \,/,$(dir)))/$(1))))) +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))))))))) +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_raw = $(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_raw,os2.h,$(INCLUDE)),)