1 --- misc/icu/source/config/mh-aix-gcc 2010-06-24 20:58:16.000000000 -0500
2 +++ misc/build/icu/source/config/mh-aix-gcc 2013-10-31 20:34:16.607982310 +0700
4 GEN_DEPS.c= $(CC) -E -MM $(DEFS) $(CPPFLAGS)
5 GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS)
8 -## We need to use the C++ linker, even when linking C programs, since
9 -## our libraries contain C++ code (C++ static init not called)
10 -LINK.c= $(AIX_PREDELETE) $(CXX) $(CXXFLAGS) $(LDFLAGS)
11 -LINK.cc= $(AIX_PREDELETE) $(CXX) $(CXXFLAGS) $(LDFLAGS)
13 -## Shared library options
14 -LD_SOOPTIONS= -Wl,-bsymbolic
16 -## Commands to make a shared library
17 -SHLIB.c= $(AIX_PREDELETE) $(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,-bexpall $(LD_SOOPTIONS)
18 -SHLIB.cc= $(AIX_PREDELETE) $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared -Wl,-bexpall $(LD_SOOPTIONS)
20 -## Compiler switch to embed a runtime search path
23 +## Flags for position independent code
24 +SHAREDLIBCFLAGS = -fPIC
25 +SHAREDLIBCXXFLAGS = -fPIC
26 +SHAREDLIBCPPFLAGS = -DPIC
28 +## Additional flags when building libraries and with threads
29 +THREADSCPPFLAGS = -D_REENTRANT -D_THREAD_SAFE
32 -## enable the shared lib loader
33 -LDFLAGS += -Wl,-bbigtoc
37 ## These are the library specific LDFLAGS
38 LDFLAGSICUDT=-nodefaultlibs -nostdlib
40 -## We need to delete things prior to linking, or else we'll get
41 -## SEVERE ERROR: output file in use .. on AIX.
42 -## But, shell script version should NOT delete target as we don't
43 -## have $@ in that context. (SH = only shell script, icu-config)
44 -AIX_PREDELETE=rm -f $@ ;
47 ## Environment variable to set a runtime search path
48 LDLIBRARYPATH_ENVVAR = LIBPATH
50 -## Override Versioned target for a shared library.
51 -FINAL_SO_TARGET= $(basename $(SO_TARGET))$(SO_TARGET_VERSION).$(SO)
52 -MIDDLE_SO_TARGET= $(basename $(SO_TARGET))$(SO_TARGET_VERSION_MAJOR).$(SO)
53 -SHARED_OBJECT = $(notdir $(FINAL_SO_TARGET:.$(SO)=.$(SOBJ)))
54 -SHARED_OBJECT_NO_VERSION = $(basename $(SO_TARGET)).$(SOBJ)
56 -# The following is for Makefile.inc's use.
57 -ICULIBSUFFIX_VERSION = $(LIB_VERSION_MAJOR)
59 -# this one is for icudefs.mk's use
60 -ifeq ($(ENABLE_SHARED),YES)
61 -SO_TARGET_VERSION_SUFFIX = $(SO_TARGET_VERSION_MAJOR)
64 -## Compiler switch to embed a library name. Not present on AIX.
67 -## The type of assembly needed when pkgdata is used for generating shared libraries.
68 -GENCCODE_ASSEMBLY=-a xlc
70 ## Shared object suffix
72 -# without the -brtl option, the library names use .a. AIX is funny that way.
77 ## Non-shared intermediate object suffix
82 -## Build archive from shared object
84 - ln -f $< $(SHARED_OBJECT_NO_VERSION)
85 - $(AR) $(ARFLAGS) $@ $(SHARED_OBJECT_NO_VERSION)
86 - rm -f $(SHARED_OBJECT_NO_VERSION)
88 - ln -f $< $(SHARED_OBJECT_NO_VERSION)
89 - $(AR) $(ARFLAGS) $@ $(SHARED_OBJECT_NO_VERSION)
90 - rm -f $(SHARED_OBJECT_NO_VERSION)
92 -## Build import list from export list
94 - @echo "Building an import list for $<"
95 - @$(SHELL) -ec "echo '#! $*.a($*.so)' | cat - $< > $@"
99 %.$(STATIC_O): $(srcdir)/%.c
101 [ -s $@ ] || rm -f $@'
103 ## Versioned libraries rules
104 -%$(SO_TARGET_VERSION_MAJOR).$(SO): %$(SO_TARGET_VERSION).$(SO)
105 - $(RM) $@ && ln -s ${*F}$(SO_TARGET_VERSION).$(SO) $@
106 -%.$(SO): %$(SO_TARGET_VERSION).$(SO)
107 - $(RM) $@ && ln -s ${*F}$(SO_TARGET_VERSION).$(SO) $@
108 +%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION)
109 + $(RM) $@ && ln -s ${<F} $@
110 +%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR)
111 + $(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@
114 ## BIR - bind with internal references [so app data and icu data doesn't collide]
115 --- misc/icu/source/tools/pkgdata/pkgdata.cpp 2013-04-06 20:56:00.935656635 +0100
116 +++ misc/build/icu/source/tools/pkgdata/pkgdata.cpp 2013-10-31 20:38:10.623984554 +0700
119 uprv_strcat(pkgDataFlags[SO_EXT], ".");
120 uprv_strcat(pkgDataFlags[SO_EXT], pkgDataFlags[A_EXT]);
121 -#elif U_PLATFORM == U_PF_OS400 || defined(_AIX)
122 +#elif U_PLATFORM == U_PF_OS400
123 sprintf(libFileNames[LIB_FILE_VERSION_TMP], "%s%s%s",
124 libFileNames[LIB_FILE],
126 @@ -1375,15 +1375,6 @@
127 pkgDataFlags[LDICUDTFLAGS],
129 libFileNames[LIB_FILE_CYGWIN_VERSION],
130 -#elif U_PLATFORM == U_PF_AIX
131 - sprintf(cmd, "%s %s%s;%s %s -o %s%s %s %s%s %s %s",
134 - libFileNames[LIB_FILE_VERSION_TMP],
135 - pkgDataFlags[GENLIB],
136 - pkgDataFlags[LDICUDTFLAGS],
138 - libFileNames[LIB_FILE_VERSION_TMP],
140 sprintf(cmd, "%s %s -o %s%s %s %s%s %s %s",
141 pkgDataFlags[GENLIB],