Reimplemented build system.
[luabind.git] / Jamroot
blobd3491845f6b8faf565c2a56c44a8af0e869162a5
1 import os ;
2 import errors ;
4 BOOST_ROOT = [ os.environ BOOST_ROOT ] ;
6 rule debug-message ( txt * )
8     if --debug-build in [ modules.peek : ARGV ]
9     {
10         echo [luabind DEBUG] $(txt) ;
11     }
14 debug-message figuring out which libraries to link to... ;
15 debug-message os.name is [ os.name ] ;
17 if [ os.name ] = NT
19     errors.user-error *** not implemented ;
21 else if [ os.name ] = LINUX
23     local includes = [ GLOB /usr/include : lua5.1 ] ;
25     if ! $(includes)
26     {
27         debug-message couldn't find lua include directory ;
28     }
30     debug-message found lua include directory in $(includes) ;
32     lib m : : <link>shared ;
33     lib dl : : <link>shared ;
34     lib lua : m dl : <name>lua5.1 : : <include>$(includes) ;
37 SOURCES =
38     class.cpp
39     class_info.cpp
40     class_registry.cpp
41     class_rep.cpp
42     create_class.cpp
43     error.cpp
44     find_best_match.cpp
45     function.cpp
46     implicit_cast.cpp
47     link_compatibility.cpp
48     object_rep.cpp
49     open.cpp
50     overload_rep.cpp
51     pcall.cpp
52     ref.cpp
53     scope.cpp
54     stack_content_by_name.cpp
55     weak_ref.cpp
56     wrapper_base.cpp ;
58 usage-requirements =
59     <library>lua
60     <toolset>msvc,<link>shared:<define>LUABIND_IMPORT=__declspec(dllimport)
61     <toolset>msvc,<link>shared:<define>LUABIND_EXPORT=__declspec(dllexport) ;
63 lib luabind
64     : src/$(SOURCES)
65     # requirements
66     : <define>LUABIND_BUILDING
67       <include>. <include>$(BOOST_ROOT)
68       $(usage-requirements)
69     # default-build
70     :
71     # usage-requirements
72     : <include>. <include>$(BOOST_ROOT)
73       $(usage-requirements)
74     ;
76 alias test
77   : test//test
78   # requirements
79   :
80   # default-build
81   : <link>static <link>shared release debug ;
83 explicit test ;