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 +