intl/icu/source/config/mh-hpux-acc

changeset 0
6474c204b198
     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

mercurial