blob: d7b235898951800d2de2cb1470266aa63daad1df [file] [log] [blame]
#
# library
#
env = WengoGetEnvironment()
env.ParseConfig('pkg-config --cflags --libs dbus-1')
libs = [
'expat'
]
lib_path = []
include_path = [
'include'
]
defines = {
'DBUS_API_SUBJECT_TO_CHANGE':1,
'DEBUG':1
}
headers = []
sources = [
'src/connection.cpp',
'src/debug.cpp',
'src/dispatcher.cpp',
'src/error.cpp',
'src/eventloop.cpp',
'src/interface.cpp',
'src/introspection.cpp',
'src/property.cpp',
'src/message.cpp',
'src/object.cpp',
'src/pendingcall.cpp',
'src/server.cpp',
'src/types.cpp',
'src/xml.cpp'
]
env.WengoAddDefines(defines)
env.WengoAddIncludePath(include_path)
env.WengoUseLibraries(libs)
env.WengoStaticLibrary('dbus-c++', sources)
#
# tools
#
tools_env = WengoGetEnvironment()
tools_libs = [
'dbus-c++'
]
tools_defines = {
'DBUS_API_SUBJECT_TO_CHANGE':1,
}
introspect_sources = [
'tools/introspect.cpp',
]
xml2cpp_sources = [
'tools/xml2cpp.cpp'
]
#tools_env.Append(LINKFLAGS = '-z origin')
#tools_env.Append(RPATH = env.Literal('\\$$ORIGIN\.'))
tools_env.WengoAddDefines(tools_defines)
tools_env.WengoAddIncludePath(include_path)
tools_env.WengoUseLibraries(tools_libs)
dbusxx_introspect = tools_env.WengoProgram('dbusxx-introspect', introspect_sources)
dbusxx_xml2cpp = tools_env.WengoProgram('dbusxx-xml2cpp', xml2cpp_sources)
#
# xml translator
#
def dbusxx_xml2cpp_emitter(target, source, env):
env.Depends(target, dbusxx_xml2cpp)
return (target, source)
dbusxx_xml2cpp_builder = Builder(action = dbusxx_xml2cpp[0].abspath + ' $SOURCE --adaptor=$TARGET',
emitter = dbusxx_xml2cpp_emitter,
suffix = '.h', src_suffix = '.xml')
Export('dbusxx_xml2cpp_builder')