intl/icu/source/config/mh-beos

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/intl/icu/source/config/mh-beos	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,106 @@
     1.4 +## -*-makefile-*-
     1.5 +## BeOS-specific setup
     1.6 +## Copyright (c) 2003-2006, International Business Machines Corporation and
     1.7 +## others. All Rights Reserved.
     1.8 +##
     1.9 +## Original author: Andrew Bachmann
    1.10 +
    1.11 +## Commands to generate dependency files
    1.12 +GEN_DEPS.c=  $(CC) -E -MM $(DEFS) $(CPPFLAGS)
    1.13 +GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS)
    1.14 +
    1.15 +# Safe optimizations
    1.16 +#OPTIMIZATIONS= -fdefault-inline -fdefer-pop -fforce-mem -fforce-addr \
    1.17 +#	  -finline -finline-functions \
    1.18 +#	  -fkeep-inline-functions -fkeep-static-consts -fbranch-count-reg \
    1.19 +#	  -ffunction-cse -fstrength-reduce -fthread-jumps -fcse-follow-jumps \
    1.20 +#	  -fcse-skip-blocks -frerun-cse-after-loop -frerun-loop-opt \
    1.21 +#	  -fexpensive-optimizations -foptimize-register-move -fregmove \
    1.22 +#	  -fschedule-insns -fschedule-insns2 -ffloat-store -funroll-loops \
    1.23 +#	  -fmove-all-movables -freduce-all-givs -fpeephole \
    1.24 +#	  -funroll-all-loops -ffunction-sections -fdata-sections
    1.25 +
    1.26 +# BeOS gccs (geekgadgets + 2.95.3) have this old bug: 
    1.27 +# after this:          const wchar_t x[] = L"foo";
    1.28 +# x[2] is "optimized" into: (wchar_t)((char *)x)[2] (== 0)
    1.29 +#
    1.30 +# see also: http://gcc.gnu.org/ml/gcc-patches/2000-09/msg00454.html
    1.31 +#
    1.32 +# Unfortunately this behavior isn't controlled by a flag so we can't
    1.33 +# use any O optimizations at all. (the behavior kicks in at -O1)
    1.34 +
    1.35 +# Optimizations aren't currently defined in the mh files.
    1.36 +# So Don't override any flags set by the user or runConfigureICU.
    1.37 +#CFLAGS += $(OPTIMIZATIONS)
    1.38 +#CXXFLAGS += $(OPTIMIZATIONS)
    1.39 +
    1.40 +# Use -nostart instead of -shared
    1.41 +SHLIB.c=      $(CC) $(DEFS) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -nostart
    1.42 +SHLIB.cc=     $(CXX) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -nostart
    1.43 +
    1.44 +## Flags for position independent code
    1.45 +SHAREDLIBCFLAGS = -fPIC
    1.46 +SHAREDLIBCXXFLAGS = -fPIC
    1.47 +SHAREDLIBCPPFLAGS = -DPIC
    1.48 +
    1.49 +## Additional flags when building libraries and with threads
    1.50 +LIBCPPFLAGS = 
    1.51 +THREADSCPPFLAGS = 
    1.52 +
    1.53 +## Compiler switch to embed a runtime search path
    1.54 +LD_RPATH=	
    1.55 +LD_RPATH_PRE = -Wl,-rpath,
    1.56 +
    1.57 +## Compiler switch to embed a library name
    1.58 +LD_SONAME = -Wl,-soname -Wl,$(notdir $(MIDDLE_SO_TARGET))
    1.59 +
    1.60 +## Shared object suffix
    1.61 +SO = so
    1.62 +## Non-shared intermediate object suffix
    1.63 +STATIC_O = ao
    1.64 +
    1.65 +## Compilation rules
    1.66 +%.$(STATIC_O): $(srcdir)/%.c
    1.67 +	$(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $<
    1.68 +%.o: $(srcdir)/%.c
    1.69 +	$(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -o $@ $<
    1.70 +
    1.71 +%.$(STATIC_O): $(srcdir)/%.cpp
    1.72 +	$(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS) -o $@ $<
    1.73 +%.o: $(srcdir)/%.cpp
    1.74 +	$(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) -o $@ $<
    1.75 +
    1.76 +
    1.77 +## Dependency rules
    1.78 +%.d: $(srcdir)/%.c
    1.79 +	@echo "generating dependency information for $<"
    1.80 +	@$(SHELL) -ec '$(GEN_DEPS.c) $< \
    1.81 +		| sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \
    1.82 +		[ -s $@ ] || rm -f $@'
    1.83 +
    1.84 +%.d: $(srcdir)/%.cpp
    1.85 +	@echo "generating dependency information for $<"
    1.86 +	@$(SHELL) -ec '$(GEN_DEPS.cc) $< \
    1.87 +		| sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \
    1.88 +		[ -s $@ ] || rm -f $@'
    1.89 +
    1.90 +## Versioned libraries rules
    1.91 +
    1.92 +%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION)
    1.93 +	$(RM) $@ && ln -s ${<F} $@
    1.94 +%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR)
    1.95 +	$(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@
    1.96 +
    1.97 +##  Bind internal references
    1.98 +
    1.99 +# LDflags that pkgdata will use
   1.100 +BIR_LDFLAGS= -Wl,-Bsymbolic
   1.101 +
   1.102 +# Dependencies [i.e. map files] for the final library
   1.103 +BIR_DEPS=
   1.104 +
   1.105 +# Use LIBRARY_PATH instead of LD_LIBRARY_PATH
   1.106 +LDLIBRARYPATH_ENVVAR= LIBRARY_PATH
   1.107 +
   1.108 +## End BeOS-specific setup
   1.109 +

mercurial