office-gobmx/icu/icu4c-aix.patch

133 lines
4.5 KiB
Diff
Raw Normal View History

2010-10-13 07:23:48 -05:00
--- 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
2011-03-04 06:55:17 -06:00
@@ -1,10 +1,7 @@
2010-10-13 07:23:48 -05:00
## -*-makefile-*-
2011-03-04 06:55:17 -06:00
-## Copyright (c) 2003-2009 IBM, Ken Foskey, and others. All rights reserved.
2010-10-13 07:23:48 -05:00
-##
-## 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.
2011-03-04 06:55:17 -06:00
# Certain files don't compile in -ansi mode (e.g. umutex.c, toolutil.c, and cdatatst.c)
CFLAGS += -D_ALL_SOURCE
@@ 11,17 +8,13 @@
2010-10-13 07:23:48 -05:00
## Commands to generate dependency files
-GEN_DEPS.c= $(CC) -E -MM $(DEFS) $(CPPFLAGS)
-GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS)
+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)
-
2011-03-04 06:55:17 -06:00
-## Shared library options
-LD_SOOPTIONS= -Wl,-bsymbolic
-
2010-10-13 07:23:48 -05:00
-## Commands to make a shared library
2011-03-04 06:55:17 -06:00
-SHLIB.c= $(AIX_PREDELETE) $(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,-bexpall $(LD_OPTIONS)
-SHLIB.cc= $(AIX_PREDELETE) $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared -Wl,-bexpall $(LD_OPTIONS)
2010-10-13 07:23:48 -05:00
+## 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 =
2011-03-04 06:55:17 -06:00
@@ -28,40 +21,24 @@
2010-10-13 07:23:48 -05:00
## Compiler switch to embed a runtime search path
-LD_RPATH= -I
-LD_RPATH_PRE=
+LD_RPATH=
+LD_RPATH_PRE =
-## enable the shared lib loader
-LDFLAGS += -Wl,-bbigtoc
+## Force RPATH=$ORIGIN to locate own dependencies w/o need for LD_LIBRARY_PATH
+## (incl. the C++ runtime libs potentially found in the URE lib dir):
+#ENABLE_RPATH=YES
+#RPATHLDFLAGS=${LD_RPATH_PRE}'$$ORIGIN:$$ORIGIN/../ure-link/lib'
+
+#SH# ENABLE_RPATH=YES
+#SH# RPATHLDFLAGS="${LD_RPATH_PRE}'$$ORIGIN:$$ORIGIN/../ure-link/lib'"
## 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)))
2011-03-04 06:55:17 -06:00
-SHARED_OBJECT_NO_VERSION = $(basename $(SO_TARGET)).$(SOBJ)
2010-10-13 07:23:48 -05:00
-
-# 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
+## Compiler switch to embed a library name
+# The initial tab in the next line is to prevent icu-config from reading it.
+ #LD_SONAME = -Wl,-soname -Wl,$(notdir $(MIDDLE_SO_TARGET))
+#SH# # We can't depend on MIDDLE_SO_TARGET being set.
+#SH# LD_SONAME=
2011-03-04 06:55:17 -06:00
@@ -68,29 +44,8 @@
2011-03-11 01:33:11 -06:00
2010-10-13 07:23:48 -05:00
## 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
2011-03-04 06:55:17 -06:00
- ln -f $< $(SHARED_OBJECT_NO_VERSION)
- $(AR) $(ARFLAGS) $@ $(SHARED_OBJECT_NO_VERSION)
- rm -f $(SHARED_OBJECT_NO_VERSION)
2010-10-13 07:23:48 -05:00
-$(LIBDIR)/%.a : %.so
2011-03-04 06:55:17 -06:00
- ln -f $< $(SHARED_OBJECT_NO_VERSION)
- $(AR) $(ARFLAGS) $@ $(SHARED_OBJECT_NO_VERSION)
- rm -f $(SHARED_OBJECT_NO_VERSION)
2010-10-13 07:23:48 -05:00
-
-## 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
2011-03-04 06:55:17 -06:00