1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/intl/icu/source/config/mh-hpux-acc Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,136 @@ 1.4 +## -*-makefile-*- 1.5 +## HP/UX-specific setup using aCC 1.6 +## Copyright (c) 1999-2012, International Business Machines Corporation and 1.7 +## others. All Rights Reserved. 1.8 + 1.9 +## Commands to generate dependency files 1.10 +GEN_DEPS.c= : 1.11 +GEN_DEPS.cc= : 1.12 + 1.13 +## Flags for position independent code 1.14 +SHAREDLIBCFLAGS = +Z 1.15 +SHAREDLIBCXXFLAGS = +Z 1.16 + 1.17 +## Additional flags when building libraries with threads 1.18 +## We use this instead of -mt, which isn't available in all versions of aCC 1.19 +## Our tools won't compile with -D_POSIX_C_SOURCE=199506L 1.20 +THREADSCPPFLAGS = -D_REENTRANT -D_THREAD_SAFE 1.21 + 1.22 +# Use Extended ANSI mode, which is useful for 64-bit numbers 1.23 +# +W ignores some warnings 1.24 +# 740 Unsafe cast between pointers/references to incomplete classes... 1.25 +# 749 This operation is non-portable and potentially unsafe. 1.26 +# (Ironically the solution to fix this warning is non-portable) 1.27 +# 823 Redundant preprocessing concatenation operation results in two valid 1.28 +# preprocessing tokens. This comes from INT64_C in <inttypes.h> 1.29 +# 4232 conversion to a more strictly aligned type may cause misaligned access. 1.30 +CFLAGS += -Ae +Olit=all 1.31 +CXXFLAGS += -AA -Wc,-ansi_for_scope,on +W740 +W749 +W823 +W4232 1.32 + 1.33 +ifeq ($(UCLN_NO_AUTO_CLEANUP),0) 1.34 +# set up init point. 1.35 +UCLN_FINI = ucln_fini$(TARGET_STUBNAME)_$(SO_TARGET_VERSION_MAJOR)$(ICULIBSUFFIXCNAME) 1.36 +CPPFLAGS_FINI = -DUCLN_FINI=$(UCLN_FINI) 1.37 +LDFLAGS_FINI = -Wl,+fini,$(UCLN_FINI) 1.38 + 1.39 +CPPFLAGSICUUC += $(CPPFLAGS_FINI) 1.40 +LDFLAGSICUUC += $(LDFLAGS_FINI) 1.41 +CPPFLAGSICUIO += $(CPPFLAGS_FINI) 1.42 +LDFLAGSICUIO += $(LDFLAGS_FINI) 1.43 +CPPFLAGSICUI18N += $(CPPFLAGS_FINI) 1.44 +LDFLAGSICUI18N += $(LDFLAGS_FINI) 1.45 +CPPFLAGSCTESTFW += $(CPPFLAGS_FINI) 1.46 +LDFLAGSCTESTFW += $(LDFLAGS_FINI) 1.47 + 1.48 +# ICUUC, ICUIO, ICUI18N, CTESTFW 1.49 +endif 1.50 + 1.51 +# -Bhidden_def Hides all symbols defined in the module. 1.52 +#LIBCFLAGS = -Bhidden_def 1.53 +#LIBCXXFLAGS = -Bhidden_def 1.54 + 1.55 +## Commands to compile 1.56 +COMPILE.c= $(CC) $(DEFS) $(CPPFLAGS) $(CFLAGS) -c 1.57 +COMPILE.cc= $(CXX) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) -c 1.58 + 1.59 +## Common 'default' path to ensure the sanity of users. Search the current 1.60 +## directory, at least. 1.61 +LD_DEFAULTPATH= -Wl,+b,'$$'ORIGIN/ 1.62 + 1.63 +# Use SHLIB_PATH and LD_LIBRARY_PATH to locate shared libraries 1.64 +LDFLAGS += -Wl,+s $(LD_DEFAULTPATH) 1.65 + 1.66 +## Commands to link 1.67 +## For aCC, use the C++ linker so that __shlinit gets defined 1.68 +LINK.c= $(CXX) $(CXXFLAGS) $(LDFLAGS) 1.69 +LINK.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) 1.70 + 1.71 +## Shared library options 1.72 +## HPUX PA-risc does not recognize -Bprotected_def aC++ option. 1.73 +## Use linker option -Wl,-B,symbolic instead. 1.74 +ifeq ($(shell uname -m),ia64) 1.75 +LD_SOOPTIONS= -Bprotected_def 1.76 +else 1.77 +LD_SOOPTIONS= -Wl,-B,symbolic 1.78 +endif 1.79 + 1.80 +## Commands to make a shared library 1.81 +#SHLIB.c= $(LD) $(LDFLAGS) -b 1.82 +SHLIB.c= $(CXX) $(CXXFLAGS) $(LDFLAGS) -b $(LD_SOOPTIONS) 1.83 +SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -b $(LD_SOOPTIONS) 1.84 + 1.85 +## Compiler switch to embed a runtime search path 1.86 +LD_RPATH= -Wl,+b, 1.87 +LD_RPATH_PRE= 1.88 + 1.89 +## Environment variable to set a runtime search path 1.90 +LDLIBRARYPATH_ENVVAR = SHLIB_PATH 1.91 + 1.92 +## Compiler switch to embed a library name 1.93 +LD_SONAME = -Wl,+h,$(notdir $(MIDDLE_SO_TARGET)) 1.94 + 1.95 +## The type of assembly needed when pkgdata is used for generating shared libraries. 1.96 +# Commented out for now because the hp1 test machine runs out of memory. 1.97 +#GENCCODE_ASSEMBLY=-a aCC-parisc 1.98 + 1.99 +## Shared object suffix 1.100 +SO= sl 1.101 +## Non-shared intermediate object suffix 1.102 +STATIC_O = o 1.103 + 1.104 +## Compilation rules 1.105 +%.$(STATIC_O): $(srcdir)/%.c 1.106 + $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $< 1.107 +%.o: $(srcdir)/%.c 1.108 + $(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -o $@ $< 1.109 + 1.110 +%.$(STATIC_O): $(srcdir)/%.cpp 1.111 + $(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS) -o $@ $< 1.112 +%.o: $(srcdir)/%.cpp 1.113 + $(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) -o $@ $< 1.114 + 1.115 + 1.116 +## Dependency rules 1.117 +%.d : $(srcdir)/%.c 1.118 + @echo "generating dependency information for $<" 1.119 + @$(GEN_DEPS.c) $< > $@ 1.120 + 1.121 +%.d : $(srcdir)/%.cpp 1.122 + @echo "generating dependency information for $<" 1.123 + @$(GEN_DEPS.cc) $< > $@ 1.124 + 1.125 +## Versioned libraries rules 1.126 + 1.127 +%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION) 1.128 + $(RM) $@ && ln -s ${<F} $@ 1.129 +%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR) 1.130 + $(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@ 1.131 + 1.132 +## Install libraries as executable 1.133 +INSTALL-L=$(INSTALL_PROGRAM) 1.134 + 1.135 +## Remove shared library 's' 1.136 +STATIC_PREFIX_WHEN_USED = 1.137 +STATIC_PREFIX = 1.138 + 1.139 +## End HP/UX-specific setup