4 BOOST_ROOT = [ os.environ BOOST_ROOT ] ;
6 rule debug-message ( txt * )
8 if --debug-build in [ modules.peek : ARGV ]
10 echo [luabind DEBUG] $(txt) ;
14 debug-message figuring out which libraries to link to... ;
15 debug-message os.name is [ os.name ] ;
21 errors.user-error "*** BOOST_ROOT must be set to a Boost installation." ;
24 LUA_PATH = [ os.environ LUA_PATH ] ;
28 errors.user-error "*** LUA_PATH must be set." ;
31 local includes = [ GLOB $(LUA_PATH)/include $(LUA_PATH)/src : lua.h ] ;
35 errors.user-error "*** Unable to determine Lua include directory." ;
38 includes = $(includes:D) ;
40 debug-message found include directory in $(includes) ;
42 if [ GLOB $(LUA_PATH) : lib ]
44 lib lua : : <link>static <name>lua5.1 <search>$(LUA_PATH)/lib/static : : <include>$(includes) ;
45 lib lua : : <link>shared <name>lua5.1 <search>$(LUA_PATH)/lib : : <include>$(includes) ;
47 else if [ GLOB $(LUA_PATH) : lua5.1.dll ]
49 lib lua : : <name>lua5.1 <search>$(LUA_PATH) : : <include>$(includes) ;
52 else if [ os.name ] in LINUX MACOSX FREEBSD
54 LUA_PATH = [ os.environ LUA_PATH ] ;
55 HOME = [ os.environ HOME ] ;
57 local possible-prefixes =
58 $(LUA_PATH) $(HOME)/Library/Frameworks /Library/Frameworks /usr /usr/local /opt/local /opt ;
60 local possible-suffixes =
61 include/lua5.1 include/lua51 include/lua include ;
63 local includes = [ GLOB $(possible-prefixes)/$(possible-suffixes) : lua.h ] ;
67 errors.user-error "*** Unable to determine Lua include directory." ;
70 local includes = $(includes[1]:D) ;
71 local prefix = $(includes:D) ;
73 if $(prefix:B) = "include"
75 prefix = $(prefix:D) ;
78 local lib = $(prefix)/lib ;
79 library = [ GLOB $(lib)/lua51 $(lib)/lua5.1 $(lib)/lua $(lib) :
80 liblua5.1.* liblua51.* liblua.* ] ;
81 lib-name = [ MATCH "lib(.*)" : $(library[1]:B) ] ;
83 debug-message prefix: $(prefix) ;
84 debug-message includes: $(includes) ;
85 debug-message lib: $(library:D) ;
89 errors.user-error "*** Unable to find Lua library." ;
92 lib m : : <link>shared ;
93 if [ os.name ] = LINUX
95 lib dl : : <link>shared ;
101 lib lua : m dl : <name>$(lib-name) <search>$(library:D) : : <include>$(includes) ;
114 link_compatibility.cpp
121 stack_content_by_name.cpp
127 <toolset>msvc,<link>shared:<define>LUABIND_IMPORT=__declspec(dllimport)
128 <toolset>msvc,<link>shared:<define>LUABIND_EXPORT=__declspec(dllexport)
129 <toolset>msvc,<link>shared:<cxxflags>/wd4251 ;
134 : <define>LUABIND_BUILDING
135 <include>. <include>$(BOOST_ROOT)
136 $(usage-requirements)
140 : <include>. <include>$(BOOST_ROOT)
141 $(usage-requirements)
149 : <link>static <link>shared release debug ;