Ticket #989: bbv2patch.txt

File bbv2patch.txt, 3.4 KB (added by Mat Marcus, 15 years ago)

Macinotsh/darwin universal binary support for bbv2

Line 
1diff --strip-trailing-cr -bruEN -X exclude_from_diff.txt boost_1_34_0/tools/build/v2/tools/darwin.jam boost/tools/build/v2/tools/darwin.jam
2--- boost_1_34_0/tools/build/v2/tools/darwin.jam 2007-03-14 21:02:24.000000000 -0700
3+++ boost/tools/build/v2/tools/darwin.jam 2007-05-13 13:21:23.828125000 -0700
4@@ -49,8 +49,64 @@
5
6 feature framework : : free ;
7
8+# ADOBE : Adding architecture variant to build i386, ppc, or universal binaries;
9+# also adding static c++ lib settings and dead stripping on release
10+
11+# The following adds objective-c support to darwin.
12+# Thanks to http://thread.gmane.org/gmane.comp.lib.boost.build/13759
13+
14+type.register OBJECTIVE_C : m ;
15+type.register OBJECTIVE_CPP : mm ;
16+
17+generators.register-c-compiler darwin.compile.m : OBJECTIVE_C : OBJ : <toolset>darwin ;
18+generators.register-c-compiler darwin.compile.mm : OBJECTIVE_CPP : OBJ : <toolset>darwin ;
19+
20+rule compile.m
21+{
22+ LANG on $(<) = "-x objective-c" ;
23+}
24+
25+actions compile.m
26+{
27+ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
28+}
29+
30+rule compile.mm
31+{
32+ LANG on $(<) = "-x objective-c++" ;
33+}
34+
35+actions compile.mm
36+{
37+ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
38+}
39+
40+feature sdkroot : 10.4 10.3.9 10.2.8 : propagated link-incompatible ;
41+flags darwin.compile OPTIONS <sdkroot>10.4 : -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 ;
42+flags darwin.link OPTIONS <sdkroot>10.4 : -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 ;
43+flags darwin.compile OPTIONS <sdkroot>10.3.9 : -isysroot /Developer/SDKs/MacOSX10.3.9.sdk -mmacosx-version-min=10.3.9 ;
44+flags darwin.link OPTIONS <sdkroot>10.3.9 : -isysroot /Developer/SDKs/MacOSX10.3.9.sdk -mmacosx-version-min=10.3.9 ;
45+flags darwin.compile OPTIONS <sdkroot>10.2.8 : -isysroot /Developer/SDKs/MacOSX10.2.8.sdk -mmacosx-version-min=10.2.8 ;
46+flags darwin.link OPTIONS <sdkroot>10.2.8 : -isysroot /Developer/SDKs/MacOSX10.2.8.sdk -mmacosx-version-min=10.2.8 ;
47+
48+feature arch : native ppc i386 fat : composite propagated ;
49+flags darwin.compile OPTIONS <arch>fat : -arch i386 -arch ppc ;
50+flags darwin.link OPTIONS <arch>fat : -arch i386 -arch ppc ;
51+flags darwin.compile OPTIONS <arch>i386 : -arch i386 ;
52+flags darwin.link OPTIONS <arch>i386 : -arch i386 ;
53+flags darwin.compile OPTIONS <arch>ppc : -arch ppc ;
54+flags darwin.link OPTIONS <arch>ppc : -arch ppc ;
55+
56+feature c++-lib : dynamic static : link-incompatible composite propagated ;
57+flags darwin.compile OPTIONS <c++-lib>static : -fvisibility=hidden -fvisibility-inlines-hidden ;
58+flags darwin.link OPTIONS <c++-lib>static : -nodefaultlibs -shared-libgcc -lstdc++-static -lgcc_eh -lgcc -lSystem ;
59+
60+flags darwin.link OPTIONS <variant>release : -Wl,-dead_strip -no_dead_strip_inits_and_terms ;
61+
62+# ADOBE end changes
63+
64 flags darwin.compile OPTIONS <link>shared : -dynamic ;
65-flags darwin.compile OPTIONS : -Wno-long-double -no-cpp-precomp ;
66+flags darwin.compile OPTIONS : -Wno-long-double -no-cpp-precomp -gdwarf-2 ;
67
68 flags darwin.link FRAMEWORK <framework> ;
69
70@@ -91,6 +147,9 @@
71
72 actions piecemeal archive
73 {
74- ar -c -r -s $(ARFLAGS) "$(<:T)" "$(>:T)"
75-}
76+ # ADOBE : We use libtool instead of ar to support universal binary linking
77+
78+ libtool -static -o "$(<:T)" $(ARFLAGS) "$(>:T)"
79+
80+ # ADOBE end changes}
81