Index: icu46/source/config/mh-beos |
=================================================================== |
--- icu46/source/config/mh-beos (revision 0) |
+++ icu46/source/config/mh-beos (revision 0) |
@@ -0,0 +1,106 @@ |
+## -*-makefile-*- |
+## BeOS-specific setup |
+## Copyright (c) 2003-2006, International Business Machines Corporation and |
+## others. All Rights Reserved. |
+## |
+## Original author: Andrew Bachmann |
+ |
+## Commands to generate dependency files |
+GEN_DEPS.c= $(CC) -E -MM $(DEFS) $(CPPFLAGS) |
+GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS) |
+ |
+# Safe optimizations |
+#OPTIMIZATIONS= -fdefault-inline -fdefer-pop -fforce-mem -fforce-addr \ |
+# -finline -finline-functions \ |
+# -fkeep-inline-functions -fkeep-static-consts -fbranch-count-reg \ |
+# -ffunction-cse -fstrength-reduce -fthread-jumps -fcse-follow-jumps \ |
+# -fcse-skip-blocks -frerun-cse-after-loop -frerun-loop-opt \ |
+# -fexpensive-optimizations -foptimize-register-move -fregmove \ |
+# -fschedule-insns -fschedule-insns2 -ffloat-store -funroll-loops \ |
+# -fmove-all-movables -freduce-all-givs -fpeephole \ |
+# -funroll-all-loops -ffunction-sections -fdata-sections |
+ |
+# BeOS gccs (geekgadgets + 2.95.3) have this old bug: |
+# after this: const wchar_t x[] = L"foo"; |
+# x[2] is "optimized" into: (wchar_t)((char *)x)[2] (== 0) |
+# |
+# see also: http://gcc.gnu.org/ml/gcc-patches/2000-09/msg00454.html |
+# |
+# Unfortunately this behavior isn't controlled by a flag so we can't |
+# use any O optimizations at all. (the behavior kicks in at -O1) |
+ |
+# Optimizations aren't currently defined in the mh files. |
+# So Don't override any flags set by the user or runConfigureICU. |
+#CFLAGS += $(OPTIMIZATIONS) |
+#CXXFLAGS += $(OPTIMIZATIONS) |
+ |
+# Use -nostart instead of -shared |
+SHLIB.c= $(CC) $(DEFS) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -nostart |
+SHLIB.cc= $(CXX) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -nostart |
+ |
+## Flags for position independent code |
+SHAREDLIBCFLAGS = -fPIC |
+SHAREDLIBCXXFLAGS = -fPIC |
+SHAREDLIBCPPFLAGS = -DPIC |
+ |
+## Additional flags when building libraries and with threads |
+LIBCPPFLAGS = |
+THREADSCPPFLAGS = |
+ |
+## Compiler switch to embed a runtime search path |
+LD_RPATH= |
+LD_RPATH_PRE = -Wl,-rpath, |
+ |
+## Compiler switch to embed a library name |
+LD_SONAME = -Wl,-soname -Wl,$(notdir $(MIDDLE_SO_TARGET)) |
+ |
+## Shared object suffix |
+SO = so |
+## Non-shared intermediate object suffix |
+STATIC_O = ao |
+ |
+## Compilation rules |
+%.$(STATIC_O): $(srcdir)/%.c |
+ $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $< |
+%.o: $(srcdir)/%.c |
+ $(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -o $@ $< |
+ |
+%.$(STATIC_O): $(srcdir)/%.cpp |
+ $(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS) -o $@ $< |
+%.o: $(srcdir)/%.cpp |
+ $(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) -o $@ $< |
+ |
+ |
+## Dependency rules |
+%.d: $(srcdir)/%.c |
+ @echo "generating dependency information for $<" |
+ @$(SHELL) -ec '$(GEN_DEPS.c) $< \ |
+ | sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \ |
+ [ -s $@ ] || rm -f $@' |
+ |
+%.d: $(srcdir)/%.cpp |
+ @echo "generating dependency information for $<" |
+ @$(SHELL) -ec '$(GEN_DEPS.cc) $< \ |
+ | sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \ |
+ [ -s $@ ] || rm -f $@' |
+ |
+## Versioned libraries rules |
+ |
+%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION) |
+ $(RM) $@ && ln -s ${<F} $@ |
+%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR) |
+ $(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@ |
+ |
+## Bind internal references |
+ |
+# LDflags that pkgdata will use |
+BIR_LDFLAGS= -Wl,-Bsymbolic |
+ |
+# Dependencies [i.e. map files] for the final library |
+BIR_DEPS= |
+ |
+# Use LIBRARY_PATH instead of LD_LIBRARY_PATH |
+LDLIBRARYPATH_ENVVAR= LIBRARY_PATH |
+ |
+## End BeOS-specific setup |
+ |