X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/46f4442e9a5a4f3b98b7c1083586332f6a8a99a4..2ca993e82fb37b597a3c73ecd1586a139a6579c5:/icuSources/config/mh-aix-gcc?ds=sidebyside diff --git a/icuSources/config/mh-aix-gcc b/icuSources/config/mh-aix-gcc index 3f4a0ce1..e73e19f5 100644 --- a/icuSources/config/mh-aix-gcc +++ b/icuSources/config/mh-aix-gcc @@ -1,11 +1,17 @@ ## -*-makefile-*- -## Copyright (c) 2003-2007 IBM, Ken Foskey, and others. All rights reserved. +## Copyright (c) 2003-2015 IBM, Ken Foskey, and others. All rights reserved. ## ## Aix-specific setup (for gcc) ## ## Please note: AIX does NOT have library versioning per se (there is no 'SONAME' capability). ## So, we are using 'windows' style library names, that is, libicuuc20.1.so instead of libicuuc.so.20.1 +# When building stubdata, special considerations need to be made when building on AIX with GCC +BUILD_HOST_ICU=AIX_GCC + +# Certain files don't compile in -ansi mode (e.g. umutex.c, toolutil.c, and cdatatst.c) +CFLAGS += -D_ALL_SOURCE + ## Commands to generate dependency files GEN_DEPS.c= $(CC) -E -MM $(DEFS) $(CPPFLAGS) GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS) @@ -16,9 +22,12 @@ GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS) LINK.c= $(AIX_PREDELETE) $(CXX) $(CXXFLAGS) $(LDFLAGS) LINK.cc= $(AIX_PREDELETE) $(CXX) $(CXXFLAGS) $(LDFLAGS) +## Shared library options +LD_SOOPTIONS= -Wl,-bsymbolic + ## Commands to make a shared library -SHLIB.c= $(AIX_PREDELETE) $(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,-bexpall -SHLIB.cc= $(AIX_PREDELETE) $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared -Wl,-bexpall +SHLIB.c= $(AIX_PREDELETE) $(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,-bexpall $(LD_SOOPTIONS) +SHLIB.cc= $(AIX_PREDELETE) $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared -Wl,-bexpall $(LD_SOOPTIONS) ## Compiler switch to embed a runtime search path LD_RPATH= -I @@ -44,6 +53,7 @@ LDLIBRARYPATH_ENVVAR = LIBPATH 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) # The following is for Makefile.inc's use. ICULIBSUFFIX_VERSION = $(LIB_VERSION_MAJOR) @@ -72,9 +82,13 @@ STATIC_O = o ## Build archive from shared object %.a : %.so - $(AR) $(ARFLAGS) $@ $< + ln -f $< $(SHARED_OBJECT_NO_VERSION) + $(AR) $(ARFLAGS) $@ $(SHARED_OBJECT_NO_VERSION) + rm -f $(SHARED_OBJECT_NO_VERSION) $(LIBDIR)/%.a : %.so - $(AR) $(ARFLAGS) $@ $< + ln -f $< $(SHARED_OBJECT_NO_VERSION) + $(AR) $(ARFLAGS) $@ $(SHARED_OBJECT_NO_VERSION) + rm -f $(SHARED_OBJECT_NO_VERSION) ## Build import list from export list %.e : %.exp