1 | # (C) Copyright David Abrahams 2001. Permission to copy, use, modify, sell and |
---|
2 | # distribute this software is granted provided this copyright notice appears |
---|
3 | # in all copies. This software is provided "as is" without express or implied |
---|
4 | # warranty, and with no claim as to its suitability for any purpose. |
---|
5 | # |
---|
6 | # Boost.Python library Jamfile |
---|
7 | |
---|
8 | |
---|
9 | # declare the location of this subproject relative to the root |
---|
10 | subproject libs/python/build ; |
---|
11 | |
---|
12 | # bring in the rules for python |
---|
13 | import python ; |
---|
14 | |
---|
15 | if [ check-python-config ] |
---|
16 | { |
---|
17 | |
---|
18 | local bpl-linkflags ; |
---|
19 | |
---|
20 | if $(UNIX) && ( $(OS) = AIX ) |
---|
21 | { |
---|
22 | bpl-linkflags = <linkflags>"-e initlibboost_python" ; |
---|
23 | } |
---|
24 | |
---|
25 | # Enabling intrinsics (/0i) or maximize speed (/02) seem to cause |
---|
26 | # internal compiler errors with this toolset. |
---|
27 | local msvc-stlport-workarounds |
---|
28 | = <optimization>off "<cxxflags>-Ogty -O1 -Gs" ; |
---|
29 | |
---|
30 | local sources = |
---|
31 | numeric.cpp |
---|
32 | list.cpp |
---|
33 | long.cpp |
---|
34 | dict.cpp |
---|
35 | tuple.cpp |
---|
36 | str.cpp |
---|
37 | slice.cpp |
---|
38 | |
---|
39 | aix_init_module.cpp |
---|
40 | converter/from_python.cpp |
---|
41 | converter/registry.cpp |
---|
42 | converter/type_id.cpp |
---|
43 | object/enum.cpp |
---|
44 | object/class.cpp |
---|
45 | object/function.cpp |
---|
46 | object/inheritance.cpp |
---|
47 | object/life_support.cpp |
---|
48 | object/pickle_support.cpp |
---|
49 | errors.cpp |
---|
50 | module.cpp |
---|
51 | converter/builtin_converters.cpp |
---|
52 | converter/arg_to_python_base.cpp |
---|
53 | object/iterator.cpp |
---|
54 | object_protocol.cpp |
---|
55 | object_operators.cpp |
---|
56 | wrapper.cpp |
---|
57 | ; |
---|
58 | |
---|
59 | dll boost_python |
---|
60 | : ../src/$(sources) |
---|
61 | : $(BOOST_PYTHON_V2_PROPERTIES) |
---|
62 | <define>BOOST_PYTHON_SOURCE |
---|
63 | $(bpl-linkflags) |
---|
64 | <msvc-stlport><release>$(msvc-stlport-workarounds) |
---|
65 | <darwin><*><linkflags>-bind_at_load |
---|
66 | <gcc-3_3-darwin><*><linkflags>-bind_at_load |
---|
67 | ; |
---|
68 | |
---|
69 | template extension |
---|
70 | : <dll>boost_python |
---|
71 | : <sysinclude>../../.. |
---|
72 | ; |
---|
73 | |
---|
74 | lib boost_python |
---|
75 | : # sources |
---|
76 | ../src/$(sources) |
---|
77 | |
---|
78 | : # requirements |
---|
79 | $(BOOST_PYTHON_V2_PROPERTIES) |
---|
80 | <define>BOOST_PYTHON_SOURCE |
---|
81 | <define>BOOST_STATIC_LIB |
---|
82 | $(bpl-linkflags) |
---|
83 | <msvc-stlport><release>$(msvc-stlport-workarounds) |
---|
84 | ; |
---|
85 | |
---|
86 | stage bin-stage : <dll>boost_python <lib>boost_python |
---|
87 | : <tag><debug>"_debug" |
---|
88 | <tag><debug-python>"_pydebug" |
---|
89 | : |
---|
90 | debug release |
---|
91 | ; |
---|
92 | |
---|
93 | install python lib |
---|
94 | : <dll>boost_python <lib>boost_python |
---|
95 | ; |
---|
96 | } |
---|