root/trunk/libffado/support/dbus/SConscript

Revision 2089, 3.1 kB (checked in by jwoithe, 9 years ago)

Provide manpages for commonly used FFADO programs. Closes #294.

Line 
1 #!/bin/env python
2 #
3 # Copyright (C) 2007,2008,2011 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"] )
36 env.PrependUnique( LIBPATH=[env['build_base']+"src"] )
37 env.PrependUnique( LIBS=["ffado"] )
38
39 if not env.GetOption( "clean" ):
40     env.MergeFlags( env["DBUS1_FLAGS"] )
41     env.MergeFlags( env["DBUSC1_FLAGS"] )
42     env.MergeFlags( env['LIBRAW1394_FLAGS'] )
43     if not env['SERIALIZE_USE_EXPAT']:
44         env.MergeFlags( env['LIBXML26_FLAGS'] )
45     else:
46         env.PrependUnique( LIBS=["expat"] )
47
48 env.Xml2Cpp_Proxy('controlclient-glue.h', 'control-interface.xml')
49 env.Xml2Cpp_Adaptor('controlserver-glue.h', 'control-interface.xml')
50
51 static_env = env.Clone()
52
53 apps = {
54 }
55
56 installapps = []
57
58 apps = {
59     "ffado-dbus-server":"ffado-dbus-server.cpp controlserver.cpp",
60     "test-dbus" : "test-dbus.cpp controlclient.cpp",
61     "test-dbus-server" : "test-dbus-server.cpp controlserver.cpp",
62 }
63
64 manpages = (
65     "ffado-dbus-server.1",
66 )
67
68 installapps += [ "ffado-dbus-server" ]
69
70 for app in apps.keys():
71     env.Program( target=app, source = env.Split( apps[app] ) )
72     if app.find( "test" ) == -1:
73         env.Install( "$bindir", app )
74
75 for manpage in manpages:
76     section = manpage.split(".")[1]
77     dest = os.path.join("$mandir", "man"+section, manpage)
78     env.InstallAs(source=manpage, target=dest)
79
80 servicefile = env.ScanReplace('org.ffado.Control.service.in')
81 if env['dbus_service_dir'] and ( env.destdir or os.access( env['dbus_service_dir'], os.W_OK ) ):
82     print "Will install the service-file"
83     targetdir = env.destdir + env['dbus_service_dir']
84     env.Alias( "install", env.Install( env.destdir + env['dbus_service_dir'], servicefile ) )
85 else:
86     if not env['dbus_service_dir']:
87         print 'Can\'t install the system-wide dbus service file as the concerned variable is not defined.'
88     else:
89         if not os.access( env['dbus_service_dir'], os.W_OK ):
90             print 'Insufficient rights to install the system-wide dbus service file.'
91             print 'Please run the "scons install" command with higher authority.'
92
93 # static versions
94 if static_env['BUILD_STATIC_TOOLS']:
95     static_env.Append(LIBS=File('#/src/libffado.a'))
96     for app in apps.keys():
97         static_app = app + "-static"
98         static_env.Program( target=static_app, source = static_env.Split( apps[app] ) )
99
100 # vim: et
Note: See TracBrowser for help on using the browser.