]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/config/mh-aix-va
ICU-57131.0.1.tar.gz
[apple/icu.git] / icuSources / config / mh-aix-va
index 39faf459a0b3345393ee19c8b8eaf58b5b2dfc3e..628e4f5b3b3024dc7cf5a0be10df2ede64c7bdd6 100644 (file)
@@ -1,6 +1,6 @@
 ## -*-makefile-*-
 ## Aix-specific setup (for Visual Age 5+)
-## Copyright (c) 1999-2005, International Business Machines Corporation and
+## Copyright (c) 1999-2010, International Business Machines Corporation and
 ## others. All Rights Reserved.
 
 ## Commands to generate dependency files
@@ -10,12 +10,31 @@ GEN_DEPS.cc=        $(CXX) -E -M $(DEFS) $(CPPFLAGS)
 # -qroconst make the strings readonly, which is usually the default.
 #           This helps in the data library,
 # -qproto assumes all functions are prototyped (for optimization)
+# -qrtti turns on compiler RTTI, required beginning with ICU 4.6
 CFLAGS += -qproto -qroconst
-CXXFLAGS += -qproto -qroconst
+CXXFLAGS += -qproto -qroconst -qrtti
 
 # If you readd this line, you must change the SO value
 #LDFLAGS += -brtl
 
+ifeq ($(UCLN_NO_AUTO_CLEANUP),0)
+# set up init point.
+UCLN_FINI =  ucln_fini$(TARGET_STUBNAME)_$(SO_TARGET_VERSION_MAJOR)$(ICULIBSUFFIXCNAME)
+CPPFLAGS_FINI = -DUCLN_FINI=$(UCLN_FINI)
+LDFLAGS_FINI = -binitfini::$(UCLN_FINI)
+
+CPPFLAGSICUUC += $(CPPFLAGS_FINI)
+LDFLAGSICUUC += $(LDFLAGS_FINI)
+CPPFLAGSICUIO += $(CPPFLAGS_FINI)
+LDFLAGSICUIO += $(LDFLAGS_FINI)
+CPPFLAGSICUI18N += $(CPPFLAGS_FINI)
+LDFLAGSICUI18N += $(LDFLAGS_FINI)
+CPPFLAGSCTESTFW += $(CPPFLAGS_FINI)
+LDFLAGSCTESTFW += $(LDFLAGS_FINI)
+
+# ICUUC, ICUIO, ICUI18N, CTESTFW
+endif
+
 ## We need to delete things prior to linking, or else we'll get
 ## SEVERE ERROR: output file in use ..  on AIX. 
 ## But, shell script version should NOT delete target as we don't
@@ -67,12 +86,17 @@ STATIC_O = o
 FINAL_SO_TARGET=  $(basename $(SO_TARGET))$(SO_TARGET_VERSION).$(SO)
 MIDDLE_SO_TARGET= $(basename $(SO_TARGET))$(SO_TARGET_VERSION_MAJOR).$(SO)
 SHARED_OBJECT = $(notdir $(FINAL_SO_TARGET:.$(SO)=.$(SOBJ)))
+SHARED_OBJECT_NO_VERSION=  $(basename $(SO_TARGET)).$(SOBJ)
 
 ## Build archive from shared object
 %.a : %.so
-       $(AR) $(ARFLAGS) $@ $<
+       ln -f $< $(SHARED_OBJECT_NO_VERSION) 
+       $(AIX_PREDELETE) $(AR) $(ARFLAGS) $@ $(SHARED_OBJECT_NO_VERSION)
+       rm -f $(SHARED_OBJECT_NO_VERSION)
 $(LIBDIR)/%.a : %.so
-       $(AR) $(ARFLAGS) $@ $<
+       ln -f $< $(SHARED_OBJECT_NO_VERSION) 
+       $(AIX_PREDELETE) $(AR) $(ARFLAGS) $@ $(SHARED_OBJECT_NO_VERSION)
+       rm -f $(SHARED_OBJECT_NO_VERSION)
 
 ## Build import list from export list
 %.e : %.exp
@@ -99,11 +123,11 @@ $(LIBDIR)/%.a : %.so
 
 %.u : $(srcdir)/%.c
        @echo "generating dependency information for $<"
-       @$(SHELL) -ec '$(GEN_DEPS.c) $< > /dev/null'
+       @$(GEN_DEPS.c) $< > /dev/null
 
 %.u : $(srcdir)/%.cpp
        @echo "generating dependency information for $<"
-       @$(SHELL) -ec '$(GEN_DEPS.cc) $< > /dev/null'
+       @$(GEN_DEPS.cc) $< > /dev/null
 
 ## Versioned libraries rules
 %$(SO_TARGET_VERSION_MAJOR).$(SO): %$(SO_TARGET_VERSION).$(SO)