diff --git a/harbour/ChangeLog b/harbour/ChangeLog index d8f082c82b..63de16b1bf 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,26 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-08-27 20:03 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * config/linux/libs.mk + ! Deleted some stuff left when doing the copy from + global.mk (yesterday). + Should fix double -fPIC switches seen on 64-bit Linux builds. + + * config/linux/libs.mk + + Adding /usr/X11R6/lib64 to sys lib path list on 64-bit systems. + If you find this wrong, please tell, we can tweak conditions. + + * config/bsd/gcc.mk + * config/darwin/gcc.mk + * config/hpux/gcc.mk + * config/linux/gcc.mk + * config/sunos/gcc.mk + * Changed to just plain pass list of obj on cmdline in dynamic + lib creation rule. Should be safe on these OSes according to this doc: + http://www.in-ulm.de/~mascheck/various/argmax/ + (we need about 31-32KB of cmdline at this moment) + 2009-08-27 19:15 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * config/rules.mk ! Mistake slipped in. diff --git a/harbour/config/bsd/gcc.mk b/harbour/config/bsd/gcc.mk index 15fe1292aa..9ec8dc847f 100644 --- a/harbour/config/bsd/gcc.mk +++ b/harbour/config/bsd/gcc.mk @@ -49,17 +49,6 @@ DFLAGS := -shared -fPIC $(foreach dir,$(SYSLIBPATHS),-L$(dir)) DY_OUT := -o$(subst x,x, ) DLIBS := $(foreach lib,$(SYSLIBS),-l$(lib)) -# NOTE: The empty line directly before 'endef' HAVE TO exist! -define dyn_object - @$(ECHO) $(ECHOQUOTE)INPUT($(subst \,/,$(file)))$(ECHOQUOTE) >> __dyn__.tmp - -endef -define create_dynlib - $(if $(wildcard __dyn__.tmp),@$(RM) __dyn__.tmp,) - $(foreach file,$^,$(dyn_object)) - $(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)$(DYN_DIR)/$@ __dyn__.tmp $(DLIBS) -endef - -DY_RULE = $(create_dynlib) +DY_RULE = $(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)$(DYN_DIR)/$@ $^ $(DLIBS) include $(TOP)$(ROOT)config/rules.mk diff --git a/harbour/config/darwin/gcc.mk b/harbour/config/darwin/gcc.mk index 4fd7bb3ab5..2c997fdd87 100644 --- a/harbour/config/darwin/gcc.mk +++ b/harbour/config/darwin/gcc.mk @@ -62,17 +62,6 @@ DFLAGS := -dynamic -flat_namespace -undefined warning -multiply_defined suppress DY_OUT := -o$(subst x,x, ) DLIBS := $(foreach lib,$(SYSLIBS),-l$(lib)) -# NOTE: The empty line directly before 'endef' HAVE TO exist! -define dyn_object - @$(ECHO) $(ECHOQUOTE)$(subst \,/,$(file))$(ECHOQUOTE) >> __dyn__.tmp - -endef -define create_dynlib - $(if $(wildcard __dyn__.tmp),@$(RM) __dyn__.tmp,) - $(foreach file,$^,$(dyn_object)) - $(DY) $(DFLAGS) -install_name "harbour$(DYN_EXT)" -compatibility_version $(HB_VER_MAJOR).$(HB_VER_MINOR) -current_version $(HB_VER_MAJOR).$(HB_VER_MINOR).$(HB_VER_RELEASE) $(HB_USER_DFLAGS) $(DY_OUT)$(DYN_DIR)/$@ -filelist __dyn__.tmp $(DLIBS) -endef - -DY_RULE = $(create_dynlib) +DY_RULE = $(DY) $(DFLAGS) -install_name "harbour$(DYN_EXT)" -compatibility_version $(HB_VER_MAJOR).$(HB_VER_MINOR) -current_version $(HB_VER_MAJOR).$(HB_VER_MINOR).$(HB_VER_RELEASE) $(HB_USER_DFLAGS) $(DY_OUT)$(DYN_DIR)/$@ $^ $(DLIBS) include $(TOP)$(ROOT)config/rules.mk diff --git a/harbour/config/hpux/gcc.mk b/harbour/config/hpux/gcc.mk index fcb407d08a..d4de5a2532 100644 --- a/harbour/config/hpux/gcc.mk +++ b/harbour/config/hpux/gcc.mk @@ -55,17 +55,6 @@ DFLAGS := -shared -fPIC $(foreach dir,$(SYSLIBPATHS),-L$(dir)) DY_OUT := -o$(subst x,x, ) DLIBS := $(foreach lib,$(SYSLIBS),-l$(lib)) -# NOTE: The empty line directly before 'endef' HAVE TO exist! -define dyn_object - @$(ECHO) $(ECHOQUOTE)INPUT($(subst \,/,$(file)))$(ECHOQUOTE) >> __dyn__.tmp - -endef -define create_dynlib - $(if $(wildcard __dyn__.tmp),@$(RM) __dyn__.tmp,) - $(foreach file,$^,$(dyn_object)) - $(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)$(DYN_DIR)/$@ __dyn__.tmp $(DLIBS) -endef - -DY_RULE = $(create_dynlib) +DY_RULE = $(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)$(DYN_DIR)/$@ $^ $(DLIBS) include $(TOP)$(ROOT)config/rules.mk diff --git a/harbour/config/linux/gcc.mk b/harbour/config/linux/gcc.mk index 18bb4ff3b1..25db5f4e41 100644 --- a/harbour/config/linux/gcc.mk +++ b/harbour/config/linux/gcc.mk @@ -53,17 +53,6 @@ DFLAGS := -shared -fPIC $(foreach dir,$(SYSLIBPATHS),-L$(dir)) DY_OUT := -o$(subst x,x, ) DLIBS := $(foreach lib,$(SYSLIBS),-l$(lib)) -# NOTE: The empty line directly before 'endef' HAVE TO exist! -define dyn_object - @$(ECHO) $(ECHOQUOTE)INPUT($(subst \,/,$(file)))$(ECHOQUOTE) >> __dyn__.tmp - -endef -define create_dynlib - $(if $(wildcard __dyn__.tmp),@$(RM) __dyn__.tmp,) - $(foreach file,$^,$(dyn_object)) - $(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)$(DYN_DIR)/$@ __dyn__.tmp $(DLIBS) -endef - -DY_RULE = $(create_dynlib) +DY_RULE = $(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)$(DYN_DIR)/$@ $^ $(DLIBS) include $(TOP)$(ROOT)config/rules.mk diff --git a/harbour/config/linux/libs.mk b/harbour/config/linux/libs.mk index 9b44d06feb..9313a8c601 100644 --- a/harbour/config/linux/libs.mk +++ b/harbour/config/linux/libs.mk @@ -2,29 +2,6 @@ # $Id$ # -BIN_EXT := -DYN_EXT := .so -DYN_PREF := lib - -HB_GT_LIBS += gttrm - -ifeq ($(HB_SHELL),sh) - ifneq ($(filter $(HB_COMPILER),gcc icc),) - ifeq ($(filter -fPIC,$(HB_USER_CFLAGS)),) - ifeq ($(filter -fpic,$(HB_USER_CFLAGS)),) - _UNAME_M := $(shell uname -m) - ifeq ($(findstring 86,$(_UNAME_M)),) - HB_CFLAGS += -fPIC - else - ifneq ($(findstring 64,$(_UNAME_M)),) - HB_CFLAGS += -fPIC - endif - endif - endif - endif - endif -endif - SYSLIBS := SYSLIBPATHS := @@ -40,7 +17,9 @@ ifneq ($(HB_LINKING_RTL),) endif ifneq ($(HB_HAS_X11),) SYSLIBS += X11 - # SYSLIBPATHS += /usr/X11R6/lib64 + ifneq ($(findstring 64,$(shell uname -m)),) + SYSLIBPATHS += /usr/X11R6/lib64 + endif SYSLIBPATHS += /usr/X11R6/lib endif ifneq ($(HB_HAS_GPM),) diff --git a/harbour/config/sunos/gcc.mk b/harbour/config/sunos/gcc.mk index 449b9fea7d..fa9bc7e616 100644 --- a/harbour/config/sunos/gcc.mk +++ b/harbour/config/sunos/gcc.mk @@ -53,17 +53,6 @@ DFLAGS := -shared -fPIC $(foreach dir,$(SYSLIBPATHS),-L$(dir)) DY_OUT := -o$(subst x,x, ) DLIBS := $(foreach lib,$(SYSLIBS),-l$(lib)) -# NOTE: The empty line directly before 'endef' HAVE TO exist! -define dyn_object - @$(ECHO) $(ECHOQUOTE)INPUT($(subst \,/,$(file)))$(ECHOQUOTE) >> __dyn__.tmp - -endef -define create_dynlib - $(if $(wildcard __dyn__.tmp),@$(RM) __dyn__.tmp,) - $(foreach file,$^,$(dyn_object)) - $(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)$(DYN_DIR)/$@ __dyn__.tmp $(DLIBS) -endef - -DY_RULE = $(create_dynlib) +DY_RULE = $(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)$(DYN_DIR)/$@ $^ $(DLIBS) include $(TOP)$(ROOT)config/rules.mk