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