root/trunk/libffado/support/dbus/SConscript

Revision 1493, 2.5 kB (checked in by arnonym, 15 years ago)

Try to install a service-file for dbus if possible. This allows for dbus to start the ffado-dbus-server automaticly when someone wants to connect to org.ffado.Control.

Line 
1 #!/bin/env python
2 #
3 # Copyright (C) 2007-2008 Arnold Krille
4 # Copyright (C) 2007-2008 Pieter Palmers
5 #
6 # This file is part of FFADO
7 # FFADO = Free Firewire (pro-)audio drivers for linux
8 #
9 # FFADO is based upon FreeBoB.
10 #
11 # This program is free software: you can redistribute it and/or modify
12 # it under the terms of the GNU General Public License as published by
13 # the Free Software Foundation, either version 2 of the License, or
14 # (at your option) version 3 of the License.
15 #
16 # This program is distributed in the hope that it will be useful,
17 # but WITHOUT ANY WARRANTY; without even the implied warranty of
18 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19 # GNU General Public License for more details.
20 #
21 # You should have received a copy of the GNU General Public License
22 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
23 #
24
25 import os
26
27 Import( 'env' )
28
29 env = env.Clone()
30
31 #
32 # For the debugging apps
33 #
34
35 env.AppendUnique( CPPPATH=["#/", "#/src", "#/external/dbus/include"] )
36 env.PrependUnique( LIBPATH=[env['build_base']+"src", env['build_base']+"external/dbus"] )
37 env.PrependUnique( LIBS=["ffado", "dbus-c++"] )
38
39 if not env.GetOption( "clean" ):
40     env.MergeFlags( env["DBUS1_FLAGS"] )
41     if not env['SERIALIZE_USE_EXPAT']:
42         env.MergeFlags( env['LIBXML26_FLAGS'] )
43     else:
44         env.PrependUnique( LIBS=["expat"] )
45
46 env.Xml2Cpp_Proxy('controlclient-glue.h', 'control-interface.xml')
47 env.Xml2Cpp_Adaptor('controlserver-glue.h', 'control-interface.xml')
48
49 static_env = env.Clone()
50
51 apps = {
52 }
53
54 installapps = []
55
56 apps = {
57     "ffado-dbus-server":"ffado-dbus-server.cpp controlserver.cpp",
58     "test-dbus" : "test-dbus.cpp controlclient.cpp",
59     "test-dbus-server" : "test-dbus-server.cpp controlserver.cpp",
60 }
61
62 installapps += [ "ffado-dbus-server" ]
63
64 for app in apps.keys():
65     env.Program( target=app, source = env.Split( apps[app] ) )
66     if app.find( "test" ) == -1:
67         env.Install( "$bindir", app )
68
69 if env['dbus_service_dir'] and ( env.destdir or os.access( env['dbus_service_dir'], os.W_OK ) ):
70     print "Will install the service-file"
71     servicefile = env.ScanReplace('org.ffado.Control.service.in')
72     targetdir = env.destdir + env['dbus_service_dir']
73     env.Alias( "install", env.Install( env.destdir + env['dbus_service_dir'], servicefile ) )
74
75 # static versions
76 if static_env['BUILD_STATIC_TOOLS']:
77     static_env.Append(LIBS=File('#/src/libffado.a'))
78     for app in apps.keys():
79         static_app = app + "-static"
80         static_env.Program( target=static_app, source = static_env.Split( apps[app] ) )
81
82 # vim: et
Note: See TracBrowser for help on using the browser.