summaryrefslogtreecommitdiff
path: root/icu/icu4c-aix.patch
blob: aedaae12adbd034bc2e598d05d49d75d28f857e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
--- 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