bc6295e0b3
Change-Id: Ide7c37c9738ca640e7d80ede904ad8d7702e5a34
155 lines
5.4 KiB
Diff
155 lines
5.4 KiB
Diff
--- misc/icu/source/config/mh-aix-gcc 2009-01-15 01:46:10.000000000 -0600
|
|
+++ misc/build/icu/source/config/mh-aix-gcc 2010-06-24 20:58:16.000000000 -0500
|
|
@@ -1,10 +1,7 @@
|
|
## -*-makefile-*-
|
|
-## Copyright (c) 2003-2009 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
|
|
+## Linux-specific setup
|
|
+## Copyright (c) 1999-2006, International Business Machines Corporation and
|
|
+## others. All Rights Reserved.
|
|
|
|
# Certain files don't compile in -ansi mode (e.g. umutex.c, toolutil.c, and cdatatst.c)
|
|
CFLAGS += -D_ALL_SOURCE
|
|
@@ -13,84 +10,30 @@
|
|
GEN_DEPS.c= $(CC) -E -MM $(DEFS) $(CPPFLAGS)
|
|
GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS)
|
|
|
|
-## Commands to link
|
|
-## We need to use the C++ linker, even when linking C programs, since
|
|
-## our libraries contain C++ code (C++ static init not called)
|
|
-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 $(LD_SOOPTIONS)
|
|
-SHLIB.cc= $(AIX_PREDELETE) $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared -Wl,-bexpall $(LD_SOOPTIONS)
|
|
+## Flags for position independent code
|
|
+SHAREDLIBCFLAGS = -fPIC
|
|
+SHAREDLIBCXXFLAGS = -fPIC
|
|
+SHAREDLIBCPPFLAGS = -DPIC
|
|
+
|
|
+## Additional flags when building libraries and with threads
|
|
+THREADSCPPFLAGS = -D_REENTRANT -D_THREAD_SAFE
|
|
+LIBCPPFLAGS =
|
|
|
|
## Compiler switch to embed a runtime search path
|
|
-LD_RPATH= -I
|
|
-LD_RPATH_PRE=
|
|
-
|
|
-## enable the shared lib loader
|
|
-LDFLAGS += -Wl,-bbigtoc
|
|
+LD_RPATH=
|
|
+LD_RPATH_PRE=
|
|
|
|
## These are the library specific LDFLAGS
|
|
LDFLAGSICUDT=-nodefaultlibs -nostdlib
|
|
|
|
-## 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
|
|
-## have $@ in that context. (SH = only shell script, icu-config)
|
|
-AIX_PREDELETE=rm -f $@ ;
|
|
-#SH# AIX_PREDELETE=
|
|
-
|
|
## Environment variable to set a runtime search path
|
|
LDLIBRARYPATH_ENVVAR = LIBPATH
|
|
|
|
-## Override Versioned target for a shared library.
|
|
-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)
|
|
-
|
|
-# this one is for icudefs.mk's use
|
|
-ifeq ($(ENABLE_SHARED),YES)
|
|
-SO_TARGET_VERSION_SUFFIX = $(SO_TARGET_VERSION_MAJOR)
|
|
-endif
|
|
-
|
|
-## Compiler switch to embed a library name. Not present on AIX.
|
|
-LD_SONAME =
|
|
-
|
|
-## The type of assembly needed when pkgdata is used for generating shared libraries.
|
|
-GENCCODE_ASSEMBLY=-a xlc
|
|
-
|
|
## Shared object suffix
|
|
-SOBJ= so
|
|
-# without the -brtl option, the library names use .a. AIX is funny that way.
|
|
-SO= a
|
|
-A= a
|
|
+SO = so
|
|
|
|
## Non-shared intermediate object suffix
|
|
-STATIC_O = o
|
|
-
|
|
-## Special AIX rules
|
|
-
|
|
-## Build archive from shared object
|
|
-%.a : %.so
|
|
- ln -f $< $(SHARED_OBJECT_NO_VERSION)
|
|
- $(AR) $(ARFLAGS) $@ $(SHARED_OBJECT_NO_VERSION)
|
|
- rm -f $(SHARED_OBJECT_NO_VERSION)
|
|
-$(LIBDIR)/%.a : %.so
|
|
- 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
|
|
- @echo "Building an import list for $<"
|
|
- @$(SHELL) -ec "echo '#! $*.a($*.so)' | cat - $< > $@"
|
|
+STATIC_O = ao
|
|
|
|
## Compilation rules
|
|
%.$(STATIC_O): $(srcdir)/%.c
|
|
@@ -118,10 +61,10 @@
|
|
[ -s $@ ] || rm -f $@'
|
|
|
|
## Versioned libraries rules
|
|
-%$(SO_TARGET_VERSION_MAJOR).$(SO): %$(SO_TARGET_VERSION).$(SO)
|
|
- $(RM) $@ && ln -s ${*F}$(SO_TARGET_VERSION).$(SO) $@
|
|
-%.$(SO): %$(SO_TARGET_VERSION).$(SO)
|
|
- $(RM) $@ && ln -s ${*F}$(SO_TARGET_VERSION).$(SO) $@
|
|
+%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION)
|
|
+ $(RM) $@ && ln -s ${<F} $@
|
|
+%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR)
|
|
+ $(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@
|
|
|
|
|
|
## BIR - bind with internal references [so app data and icu data doesn't collide]
|
|
--- misc/icu/source/tools/pkgdata/pkgdata.cpp 2013-03-15 22:12:06.000000000 +0000
|
|
+++ misc/build/icu/source/tools/pkgdata/pkgdata.cpp 2013-04-06 20:56:00.935656635 +0100
|
|
@@ -888,7 +888,7 @@
|
|
|
|
uprv_strcat(pkgDataFlags[SO_EXT], ".");
|
|
uprv_strcat(pkgDataFlags[SO_EXT], pkgDataFlags[A_EXT]);
|
|
-#elif U_PLATFORM == U_PF_OS400 || defined(_AIX)
|
|
+#elif U_PLATFORM == U_PF_OS400
|
|
sprintf(libFileNames[LIB_FILE_VERSION_TMP], "%s.%s",
|
|
libFileNames[LIB_FILE],
|
|
pkgDataFlags[SOBJ_EXT]);
|
|
@@ -1302,15 +1298,6 @@
|
|
pkgDataFlags[LDICUDTFLAGS],
|
|
targetDir,
|
|
libFileNames[LIB_FILE_CYGWIN_VERSION],
|
|
-#elif U_PLATFORM == U_PF_AIX
|
|
- sprintf(cmd, "%s %s%s;%s %s -o %s%s %s %s%s %s %s",
|
|
- RM_CMD,
|
|
- targetDir,
|
|
- libFileNames[LIB_FILE_VERSION_TMP],
|
|
- pkgDataFlags[GENLIB],
|
|
- pkgDataFlags[LDICUDTFLAGS],
|
|
- targetDir,
|
|
- libFileNames[LIB_FILE_VERSION_TMP],
|
|
#else
|
|
sprintf(cmd, "%s %s -o %s%s %s %s%s %s %s",
|
|
pkgDataFlags[GENLIB],
|