diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 9c8bce352e..6aa36d5095 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,12 @@ The license applies to all entries newer than 2009-04-28. */ +2011-02-22 23:31 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + * config/linux/sunpro.mk + * config/sunos/gcc.mk + * config/sunos/sunpro.mk + * massage solaris configs to be more in line with other gccs. [Tamas] + 2011-02-22 22:17 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * src/rtl/fscopy.c ! Use hb_fsReadLarge()/hb_fsWriteLarge(). diff --git a/harbour/config/linux/sunpro.mk b/harbour/config/linux/sunpro.mk index b8b7672ce5..3b32d7677a 100644 --- a/harbour/config/linux/sunpro.mk +++ b/harbour/config/linux/sunpro.mk @@ -67,7 +67,7 @@ ifneq ($(HB_BUILD_OPTIM),no) DFLAGS += -fast -xnolibmopt endif DY_OUT := -o$(subst x,x, ) -DLIBS := $(foreach lib,$(SYSLIBS),-l$(lib)) +DLIBS := $(foreach lib,$(HB_USER_LIBS) $(SYSLIBS),-l$(lib)) DY_RULE = $(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)$(DYN_DIR)/$@ $^ $(DLIBS) $(DYSTRIP) diff --git a/harbour/config/sunos/gcc.mk b/harbour/config/sunos/gcc.mk index 4b67f477d7..6bf1bc69b0 100644 --- a/harbour/config/sunos/gcc.mk +++ b/harbour/config/sunos/gcc.mk @@ -2,10 +2,12 @@ # $Id$ # -ifeq ($(HB_BUILD_MODE),cpp) - HB_CMP := g++ -else - HB_CMP := gcc +ifeq ($(HB_CMP),) + ifeq ($(HB_BUILD_MODE),cpp) + HB_CMP := g++ + else + HB_CMP := gcc + endif endif OBJ_EXT := .o @@ -17,7 +19,6 @@ HB_DYN_COPT := -DHB_DYNLIB -fPIC CC := $(HB_CCACHE) $(HB_CCPREFIX)$(HB_CMP)$(HB_CCPOSTFIX) CC_IN := -c # NOTE: The ending space after -o is important, please preserve it. -# Now solved with '$(subst x,x, )' expression. CC_OUT := -o$(subst x,x, ) CFLAGS += -I. -I$(HB_HOST_INC) @@ -48,13 +49,13 @@ LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),-l$(lib)) LDFLAGS += $(LIBPATHS) AR := $(HB_CCPREFIX)ar -AR_RULE = ( $(AR) $(ARFLAGS) $(HB_AFLAGS) $(HB_USER_AFLAGS) rc $(LIB_DIR)/$@ $(^F) $(ARSTRIP) ) || ( $(RM) $(LIB_DIR)/$@ && $(FALSE) ) +AR_RULE = ( $(AR) $(ARFLAGS) $(HB_AFLAGS) $(HB_USER_AFLAGS) rcs $(LIB_DIR)/$@ $(^F) $(ARSTRIP) ) || ( $(RM) $(LIB_DIR)/$@ && $(FALSE) ) DY := $(CC) DFLAGS += -shared $(LIBPATHS) DY_OUT := -o$(subst x,x, ) DLIBS := $(foreach lib,$(HB_USER_LIBS) $(SYSLIBS),-l$(lib)) -DY_RULE = $(DY) $(DFLAGS) $(HB_USER_DFLAGS) $(DY_OUT)$(DYN_DIR)/$@ $^ $(DLIBS) $(DYSTRIP) +DY_RULE = $(DY) $(DFLAGS) -Wl,-soname,$(DYN_NAME_CPT) $(HB_USER_DFLAGS) $(DY_OUT)$(DYN_DIR)/$@ $^ $(DLIBS) $(DYSTRIP) && $(LN) $(@F) $(DYN_FILE_NVR) && $(LN) $(@F) $(DYN_FILE_CPT) include $(TOP)$(ROOT)config/rules.mk diff --git a/harbour/config/sunos/sunpro.mk b/harbour/config/sunos/sunpro.mk index 85a26057d2..9fca512ff3 100644 --- a/harbour/config/sunos/sunpro.mk +++ b/harbour/config/sunos/sunpro.mk @@ -64,7 +64,7 @@ LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),-l$(lib)) LDFLAGS += $(LIBPATHS) AR := ar -AR_RULE = ( $(AR) $(ARFLAGS) $(HB_AFLAGS) $(HB_USER_AFLAGS) rc $(LIB_DIR)/$@ $(^F) $(ARSTRIP) ) || ( $(RM) $(LIB_DIR)/$@ && $(FALSE) ) +AR_RULE = ( $(AR) $(ARFLAGS) $(HB_AFLAGS) $(HB_USER_AFLAGS) rcs $(LIB_DIR)/$@ $(^F) $(ARSTRIP) ) || ( $(RM) $(LIB_DIR)/$@ && $(FALSE) ) DY := $(CC) DFLAGS += -G $(HB_ISAOPT) $(LIBPATHS)