]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/config/mh-solaris
ICU-511.25.tar.gz
[apple/icu.git] / icuSources / config / mh-solaris
index cf12e9cc518fb589bb5d2d2b71996b02c1c89cea..4b969b5b21cae86c14b7c76efe58a9e2a490e6a9 100644 (file)
@@ -1,9 +1,7 @@
 ## -*-makefile-*-
-## Solaris-specific setup using Sun's workshop compilers
-## Copyright (c) 1999-2000, International Business Machines Corporation and
+## Solaris-specific setup using Sun's compilers
+## Copyright (c) 1999-2010, International Business Machines Corporation and
 ## others. All Rights Reserved.
-##
-## $Id: mh-solaris,v 1.1.1.1 2003/02/05 21:31:17 avery Exp $
 
 ## Flags for position independent code
 SHAREDLIBCFLAGS = -KPIC
@@ -14,12 +12,27 @@ SHAREDLIBCPPFLAGS = -DPIC
 GEN_DEPS.c=  $(CC) -xM $(DEFS) $(CPPFLAGS)
 GEN_DEPS.cc= $(CXX) -xM $(DEFS) $(CPPFLAGS)
 
-# -libmil means use the intrinsic library functions like strlen
-CPPFLAGS += -libmil
+ifeq ($(UCLN_NO_AUTO_CLEANUP),0)
+# set up init point.
+UCLN_FINI =  ucln_fini$(TARGET_STUBNAME)_$(SO_TARGET_VERSION_MAJOR)$(ICULIBSUFFIXCNAME)
+CPPFLAGS_FINI = -DUCLN_FINI=$(UCLN_FINI)
+LDFLAGS_FINI = -zfiniarray=$(UCLN_FINI)
+
+CPPFLAGSICUUC += $(CPPFLAGS_FINI)
+LDFLAGSICUUC += $(LDFLAGS_FINI)
+CPPFLAGSICUIO += $(CPPFLAGS_FINI)
+LDFLAGSICUIO += $(LDFLAGS_FINI)
+CPPFLAGSICUI18N += $(CPPFLAGS_FINI)
+LDFLAGSICUI18N += $(LDFLAGS_FINI)
+CPPFLAGSCTESTFW += $(CPPFLAGS_FINI)
+LDFLAGSCTESTFW += $(LDFLAGS_FINI)
+
+# ICUUC, ICUIO, ICUI18N, CTESTFW
+endif
 
 # -mt means 'compiles and links a multithreaded program'
-CFLAGS += -mt
-CXXFLAGS += -mt
+THREADSCFLAGS += -mt
+THREADSCXXFLAGS += -mt
 
 ## Commands to link
 ## For Sun Workshop, use CC to link to bring in C++ runtime
@@ -31,11 +44,13 @@ SHLIB.c=    $(CC) $(CFLAGS) $(LDFLAGS) -G
 SHLIB.cc=      $(CXX) $(CXXFLAGS) $(LDFLAGS) -G
 
 ## Compiler switch to embed a runtime search path
-LD_RPATH=      -R
-LD_RPATH_PRE=  
+LD_RPATH=       -R'$$'ORIGIN 
+LD_RPATH_PRE=   -R
+
+#LIBRARY_PATH_PREFIX=/usr/lib/lwp:
 
 ## Compiler switch to embed a library name
-LD_SONAME = -h $(MIDDLE_SO_TARGET)
+LD_SONAME = -h $(notdir $(MIDDLE_SO_TARGET))
 
 ## Shared object suffix
 SO=            so
@@ -53,8 +68,6 @@ STATIC_O = o
 %.o: $(srcdir)/%.cpp
        $(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) -o $@ $<
 
-../data/%.o: ../data/%.c
-       $(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -o $@ $<
 
 ## Dependency rules
 %.d : $(srcdir)/%.c
@@ -68,12 +81,18 @@ STATIC_O = o
 ## Versioned libraries rules
 
 %.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION)
-       $(RM) $@ && ln -s $< $@
+       $(RM) $@ && ln -s ${<F} $@
 %.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR)
-       $(RM) $@ && ln -s $*.$(SO).$(SO_TARGET_VERSION) $@
+       $(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@
 
 # 
+ifeq (strip $(GENCCODE_ASSEMBLY),)
 BIR_LDFLAGS=  -Wl,-M,$(NAME).map -Wl,-B,symbolic -Wl,-B,eliminate
-BIR_CPPFLAGS= -DU_HAVE_BIND_INTERNAL_REFERENCES
 BIR_DEPS=   $(NAME).map
+endif
+
+## Remove shared library 's'
+STATIC_PREFIX_WHEN_USED = 
+STATIC_PREFIX = 
+
 ## End Solaris-specific setup