From 5dc8ba8ca34605ea82b7a4eb7b4092823c5873a6 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Sun, 20 Sep 2009 12:53:51 +0000 Subject: [PATCH] 2009-09-20 14:51 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * bin/postinst.sh ! Fix to strip command. Now using 'find' again and using -maxdepth 1 to prevent it from parsing subdirs. * config/global.mk + Added new user settings to screen dump. * source/dynlib/mt/Makefile * source/dynlib/Makefile * config/darwin/gcc.mk * config/linux/gcc.mk * config/dyn.mk + Attempt to add link creation for dynlibs. Not tested yet. ; TODO: darwin needs even more sopthistication. ; TODO: clean support is missing yet. ; TODO: add this to rest of targets. * source/vm/vmmt/Makefile ! Disabled HB_HVM_ALL for linux-icc, because it causes compiler internal error when using -fpic. * source/vm/Makefile * Indenting. --- harbour/ChangeLog | 26 +++++++++++++++++ harbour/bin/postinst.sh | 2 +- harbour/config/darwin/gcc.mk | 2 +- harbour/config/dyn.mk | 2 ++ harbour/config/global.mk | 26 ++++++++++++++--- harbour/config/linux/gcc.mk | 2 +- harbour/source/dynlib/Makefile | 1 + harbour/source/dynlib/mt/Makefile | 1 + harbour/source/vm/Makefile | 46 +++++++++++++++---------------- harbour/source/vm/vmmt/Makefile | 7 +++++ 10 files changed, 85 insertions(+), 30 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index b287f375b4..12a77ca8c2 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,32 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-09-20 14:51 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * bin/postinst.sh + ! Fix to strip command. Now using 'find' again and using -maxdepth 1 + to prevent it from parsing subdirs. + + * config/global.mk + + Added new user settings to screen dump. + + * source/dynlib/mt/Makefile + * source/dynlib/Makefile + * config/darwin/gcc.mk + * config/linux/gcc.mk + * config/dyn.mk + + Attempt to add link creation for dynlibs. + Not tested yet. + ; TODO: darwin needs even more sopthistication. + ; TODO: clean support is missing yet. + ; TODO: add this to rest of targets. + + * source/vm/vmmt/Makefile + ! Disabled HB_HVM_ALL for linux-icc, because it causes compiler internal + error when using -fpic. + + * source/vm/Makefile + * Indenting. + 2009-09-20 01:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/hvm.c * allow to check symbol module name for unregistered modules diff --git a/harbour/bin/postinst.sh b/harbour/bin/postinst.sh index ed94e60926..edc49dfb22 100755 --- a/harbour/bin/postinst.sh +++ b/harbour/bin/postinst.sh @@ -46,7 +46,7 @@ if [ -f $HB_BIN_INSTALL/harbour${HB_HOST_BIN_EXT} ]; then fi if [ "$HB_PLATFORM" != "hpux" ]; then # Keep the size of the libraries to a minimim, but don't try to strip symlinks. - ${HB_CCPREFIX}strip -S ${HB_LIB_INSTALL}/* + ${HB_CCPREFIX}strip -S `find $HB_LIB_INSTALL -type f -maxdepth 1` fi chmod 644 $HB_INC_INSTALL/* diff --git a/harbour/config/darwin/gcc.mk b/harbour/config/darwin/gcc.mk index 90aebe53a3..89bcc80e39 100644 --- a/harbour/config/darwin/gcc.mk +++ b/harbour/config/darwin/gcc.mk @@ -62,6 +62,6 @@ DFLAGS := -dynamic -flat_namespace -undefined warning -multiply_defined suppress DY_OUT := -o$(subst x,x, ) DLIBS := $(foreach lib,$(SYSLIBS),-l$(lib)) -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) +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) && $(LN) $(DYN_DIR)/$@ $(DYN_FILE2) include $(TOP)$(ROOT)config/rules.mk diff --git a/harbour/config/dyn.mk b/harbour/config/dyn.mk index 9377f3842c..2822d66cfd 100644 --- a/harbour/config/dyn.mk +++ b/harbour/config/dyn.mk @@ -55,6 +55,8 @@ ifneq ($(DY_RULE),) DYN_NAME := $(DYN_PREF)$(DYNNAME)$(DYN_EXT) DYN_FILE := $(DYN_DIR)/$(DYN_NAME) +DYN_NAME2 := $(DYN_PREF)$(DYNNAME2)$(DYN_EXT) +DYN_FILE2 := $(DYN_DIR)/$(DYNNAME2) ifneq ($(IMP_DIR),) IMP_NAME := $(LIB_PREF)$(DYNNAME)$(LIB_EXT) diff --git a/harbour/config/global.mk b/harbour/config/global.mk index d3acbbe36a..8e7b47722a 100644 --- a/harbour/config/global.mk +++ b/harbour/config/global.mk @@ -300,6 +300,9 @@ ifeq ($(HB_INIT_DONE),) ifneq ($(HB_BUILD_DLL),) $(info ! HB_BUILD_DLL: $(HB_BUILD_DLL)) 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 @@ -312,6 +315,12 @@ ifeq ($(HB_INIT_DONE),) 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_PART),) + $(info ! HB_BUILD_PART: $(HB_BUILD_PART)) + endif ifneq ($(HB_CONTRIBLIBS),) $(info ! HB_CONTRIBLIBS: $(HB_CONTRIBLIBS)) endif @@ -324,6 +333,9 @@ ifeq ($(HB_INIT_DONE),) 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 endif @@ -1341,13 +1353,19 @@ ifeq ($(HB_INIT_DONE),) endif ifeq ($(HB_PLATFORM)-$(HB_COMPILER),dos-watcom) - HB_DYNLIB_ST := harbour - HB_DYNLIB_MT := harbourm + HB_DYNLIB_BASE_ST := harbour + HB_DYNLIB_BASE_MT := harbourm + HB_DYNLIB_ST := $(HB_DYNLIB_BASE_ST) + HB_DYNLIB_MT := $(HB_DYNLIB_BASE_MT) else - HB_DYNLIB_ST := harbour$(DYNNAME_POST) - HB_DYNLIB_MT := harbourmt$(DYNNAME_POST) + HB_DYNLIB_BASE_ST := harbour + HB_DYNLIB_BASE_MT := harbourmt + HB_DYNLIB_ST := $(HB_DYNLIB_BASE_ST)$(DYNNAME_POST) + HB_DYNLIB_MT := $(HB_DYNLIB_BASE_MT)$(DYNNAME_POST) endif + export HB_DYNLIB_BASE_ST + export HB_DYNLIB_BASE_MT export HB_DYNLIB_ST export HB_DYNLIB_MT endif diff --git a/harbour/config/linux/gcc.mk b/harbour/config/linux/gcc.mk index 50b320448c..8acfacf3a9 100644 --- a/harbour/config/linux/gcc.mk +++ b/harbour/config/linux/gcc.mk @@ -51,6 +51,6 @@ DFLAGS := -shared $(LIBPATHS) DY_OUT := -o$(subst x,x, ) DLIBS := $(foreach lib,$(SYSLIBS),-l$(lib)) -DY_RULE = $(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)$(DYN_DIR)/$@ $^ $(DLIBS) +DY_RULE = $(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)$(DYN_DIR)/$@ $^ $(DLIBS) && $(LN) $(DYN_DIR)/$@ $(DYN_FILE2) include $(TOP)$(ROOT)config/rules.mk diff --git a/harbour/source/dynlib/Makefile b/harbour/source/dynlib/Makefile index f1e80009b9..59ebb63f6b 100644 --- a/harbour/source/dynlib/Makefile +++ b/harbour/source/dynlib/Makefile @@ -10,6 +10,7 @@ ifneq ($(DYNDIRLIST_BASE),) DYNDIRLIST := $(DYNDIRLIST_BASE) source/vm DYNNAME := $(HB_DYNLIB_ST) + DYNNAME2 := $(HB_DYNLIB_BASE_ST) DIRS := mt diff --git a/harbour/source/dynlib/mt/Makefile b/harbour/source/dynlib/mt/Makefile index fa675afd8c..199d2efd11 100644 --- a/harbour/source/dynlib/mt/Makefile +++ b/harbour/source/dynlib/mt/Makefile @@ -10,6 +10,7 @@ ifneq ($(DYNDIRLIST_BASE),) DYNDIRLIST := $(DYNDIRLIST_BASE) source/vm/vmmt DYNNAME := $(HB_DYNLIB_MT) + DYNNAME2 := $(HB_DYNLIB_BASE_MT) include $(TOP)$(ROOT)config/dyn.mk diff --git a/harbour/source/vm/Makefile b/harbour/source/vm/Makefile index 266501bdac..0f86815f10 100644 --- a/harbour/source/vm/Makefile +++ b/harbour/source/vm/Makefile @@ -8,29 +8,29 @@ include $(TOP)$(ROOT)config/global.mk ifeq ($(HB_HVM_ALL),) -HB_HVM_ALL := yes -ifeq ($(HB_COMPILER),watcom) - HB_HVM_ALL := no -endif -ifeq ($(HB_COMPILER),bcc) - HB_HVM_ALL := no -endif -ifeq ($(HB_COMPILER),pocc) - HB_HVM_ALL := no -endif -ifeq ($(HB_COMPILER),pocc64) - HB_HVM_ALL := no -endif -ifeq ($(HB_COMPILER),poccarm) - HB_HVM_ALL := no -endif -ifeq ($(HB_COMPILER),xcc) - HB_HVM_ALL := no -endif -ifeq ($(HB_COMPILER),dmc) - HB_HVM_ALL := no -endif -export HB_HVM_ALL + HB_HVM_ALL := yes + ifeq ($(HB_COMPILER),watcom) + HB_HVM_ALL := no + endif + ifeq ($(HB_COMPILER),bcc) + HB_HVM_ALL := no + endif + ifeq ($(HB_COMPILER),pocc) + HB_HVM_ALL := no + endif + ifeq ($(HB_COMPILER),pocc64) + HB_HVM_ALL := no + endif + ifeq ($(HB_COMPILER),poccarm) + HB_HVM_ALL := no + endif + ifeq ($(HB_COMPILER),xcc) + HB_HVM_ALL := no + endif + ifeq ($(HB_COMPILER),dmc) + HB_HVM_ALL := no + endif + export HB_HVM_ALL endif DIRS := diff --git a/harbour/source/vm/vmmt/Makefile b/harbour/source/vm/vmmt/Makefile index d640095531..e2dde267a5 100644 --- a/harbour/source/vm/vmmt/Makefile +++ b/harbour/source/vm/vmmt/Makefile @@ -27,6 +27,13 @@ else endif endif +ifeq ($(HB_HVM_ALL),yes) + # we disable it due to compiler bug (internal error) when using -fpic option. [20090920] + ifeq ($(HB_PLATFORM)-$(HB_COMPILER),linux-icc) + HB_HVM_ALL := no + endif +endif + ifeq ($(HB_HVM_ALL),yes) C_SOURCES := \