wscript: adjust for newer waf (incomplete)
This commit is contained in:
parent
edb6c26376
commit
486f9c4cee
|
@ -1,4 +1,4 @@
|
|||
/TAGS
|
||||
/.waf*
|
||||
/.lock-wscript
|
||||
/.lock-*
|
||||
/build
|
||||
|
|
|
@ -16,8 +16,8 @@ TEMP_FILE="${OUTPUT_FILE}.tmp"
|
|||
#echo $OUTPUT_FILE
|
||||
#echo $TEMP_FILE
|
||||
|
||||
OLDPWD=`pwd`
|
||||
cd ..
|
||||
#OLDPWD=`pwd`
|
||||
#cd ..
|
||||
|
||||
if test $# -eq 2
|
||||
then
|
||||
|
@ -44,7 +44,7 @@ else
|
|||
fi
|
||||
fi
|
||||
|
||||
cd "${OLDPWD}"
|
||||
#cd "${OLDPWD}"
|
||||
|
||||
rm ${TEMP_FILE}
|
||||
|
||||
|
|
193
wscript
193
wscript
|
@ -1,11 +1,21 @@
|
|||
#! /usr/bin/env python
|
||||
# encoding: utf-8
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
import os
|
||||
from Configure import g_maxlen
|
||||
import Params
|
||||
import subprocess
|
||||
#import shutil
|
||||
#import sys
|
||||
|
||||
from waflib import Logs, Options, TaskGen
|
||||
from waflib.Build import BuildContext, CleanContext, InstallContext, UninstallContext
|
||||
|
||||
import os
|
||||
#from Configure import g_maxlen
|
||||
#import Params
|
||||
import time
|
||||
import Task
|
||||
#import Task
|
||||
import re
|
||||
|
||||
APPNAME='a2jmidid'
|
||||
|
@ -15,6 +25,10 @@ VERSION='8'
|
|||
srcdir = '.'
|
||||
blddir = 'build'
|
||||
|
||||
@TaskGen.feature('gitversion')
|
||||
def gitversion(self):
|
||||
subprocess.run(["./gitversion_regenerate.sh", "build/gitversion.h"])
|
||||
|
||||
def create_gitversion_gen(bld, header='gitversion.h', define=None):
|
||||
cmd = '../gitversion_regenerate.sh ${TGT}'
|
||||
if define:
|
||||
|
@ -40,14 +54,19 @@ def create_gitversion_gen(bld, header='gitversion.h', define=None):
|
|||
tsk.prio = 1 # execute this task first
|
||||
|
||||
def display_msg(msg, status = None, color = None):
|
||||
sr = msg
|
||||
global g_maxlen
|
||||
g_maxlen = max(g_maxlen, len(msg))
|
||||
# sr = msg
|
||||
# global g_maxlen
|
||||
# g_maxlen = max(g_maxlen, len(msg))
|
||||
# if status:
|
||||
# print("%s :" % msg.ljust(g_maxlen), end=' ')
|
||||
# Params.pprint(color, status)
|
||||
# else:
|
||||
# print("%s" % msg.ljust(g_maxlen))
|
||||
if status:
|
||||
print("%s :" % msg.ljust(g_maxlen), end=' ')
|
||||
Params.pprint(color, status)
|
||||
print("%s :" % msg, status, end=' ')
|
||||
#Params.pprint(color, status)
|
||||
else:
|
||||
print("%s" % msg.ljust(g_maxlen))
|
||||
print("%s" % msg)
|
||||
|
||||
def set_options(opt):
|
||||
opt.tool_options('compiler_cc')
|
||||
|
@ -55,36 +74,44 @@ def set_options(opt):
|
|||
opt.add_option('--disable-dbus', action='store_true', default=False, help="Don't enable D-Bus support even if required dependencies are present")
|
||||
opt.add_option('--mandir', type='string', help="Manpage directory [Default: <prefix>/share/man]")
|
||||
|
||||
def configure(conf):
|
||||
conf.check_tool('compiler_cc')
|
||||
def options(opt):
|
||||
# options provided by the modules
|
||||
opt.load('compiler_c')
|
||||
#opt.load('autooptions')
|
||||
|
||||
conf.check_pkg('alsa', mandatory=True)
|
||||
conf.check_pkg('jack', vnum="0.109.0", mandatory=True)
|
||||
if not Params.g_options.disable_dbus:
|
||||
conf.check_pkg('dbus-1', mandatory=False, pkgvars=['session_bus_services_dir'])
|
||||
conf.env['DBUS_ENABLED'] = 'LIB_DBUS-1' in conf.env
|
||||
else:
|
||||
conf.env['DBUS_ENABLED'] = False
|
||||
def configure(conf):
|
||||
conf.load('compiler_c')
|
||||
|
||||
conf.check_cfg(package='alsa', mandatory=True, args='--cflags --libs')
|
||||
conf.check_cfg(package='jack', vnum="0.109.0", mandatory=True, args='--cflags --libs')
|
||||
conf.check_cfg(package='dbus-1', mandatory=True, args='--cflags --libs', pkgvars=['session_bus_services_dir'])
|
||||
# conf.check_cfg(package='dbus-1', mandatory=True, pkgvars=['session_bus_services_dir'])
|
||||
# if not Params.g_options.disable_dbus:
|
||||
# conf.check_cfg(package='dbus-1', mandatory=False, pkgvars=['session_bus_services_dir'])
|
||||
# conf.env['DBUS_ENABLED'] = 'LIB_DBUS-1' in conf.env
|
||||
# else:
|
||||
# conf.env['DBUS_ENABLED'] = False
|
||||
conf.env['DBUS_ENABLED'] = True
|
||||
|
||||
conf.env['LIB_DL'] = ['dl']
|
||||
conf.env['LIB_PTHREAD'] = ['pthread']
|
||||
|
||||
#conf.check_header('expat.h', mandatory=True)
|
||||
#conf.env['LIB_EXPAT'] = ['expat']
|
||||
conf.check_header('getopt.h', mandatory=True)
|
||||
conf.check(header_name='getopt.h', mandatory=True)
|
||||
|
||||
if conf.env['DBUS_ENABLED']:
|
||||
if Params.g_options.enable_pkg_config_dbus_service_dir:
|
||||
conf.env['DBUS_SERVICES_DIR'] = conf.env['DBUS-1_SESSION_BUS_SERVICES_DIR'][0]
|
||||
else:
|
||||
conf.env['DBUS_SERVICES_DIR'] = os.path.normpath(conf.env['PREFIX'] + '/share/dbus-1/services')
|
||||
# if conf.env['DBUS_ENABLED']:
|
||||
# if Params.g_options.enable_pkg_config_dbus_service_dir:
|
||||
# conf.env['DBUS_SERVICES_DIR'] = conf.env['DBUS-1_SESSION_BUS_SERVICES_DIR'][0]
|
||||
# else:
|
||||
# conf.env['DBUS_SERVICES_DIR'] = os.path.normpath(conf.env['PREFIX'] + '/share/dbus-1/services')
|
||||
|
||||
conf.check_tool('misc') # dbus service file subst tool
|
||||
# conf.check_tool('misc') # dbus service file subst tool
|
||||
|
||||
if Params.g_options.mandir:
|
||||
conf.env['MANDIR'] = Params.g_options.mandir
|
||||
else:
|
||||
conf.env['MANDIR'] = conf.env['PREFIX'] + '/share/man'
|
||||
# if Params.g_options.mandir:
|
||||
# conf.env['MANDIR'] = Params.g_options.mandir
|
||||
# else:
|
||||
# conf.env['MANDIR'] = conf.env['PREFIX'] + '/share/man'
|
||||
|
||||
conf.define('A2J_VERSION', VERSION)
|
||||
conf.write_config_header('config.h')
|
||||
|
@ -114,25 +141,36 @@ def configure(conf):
|
|||
display_msg("D-Bus support", have_dbus_status)
|
||||
if conf.env['DBUS_ENABLED']:
|
||||
display_msg('D-Bus service install directory', conf.env['DBUS_SERVICES_DIR'], 'CYAN')
|
||||
if conf.env['DBUS_SERVICES_DIR'] != conf.env['DBUS-1_SESSION_BUS_SERVICES_DIR'][0]:
|
||||
print()
|
||||
print(Params.g_colors['RED'] + "WARNING: D-Bus session services directory as reported by pkg-config is")
|
||||
print(Params.g_colors['RED'] + "WARNING:", end=' ')
|
||||
print(Params.g_colors['CYAN'] + conf.env['DBUS-1_SESSION_BUS_SERVICES_DIR'][0])
|
||||
print(Params.g_colors['RED'] + 'WARNING: but service file will be installed in')
|
||||
print(Params.g_colors['RED'] + "WARNING:", end=' ')
|
||||
print(Params.g_colors['CYAN'] + conf.env['DBUS_SERVICES_DIR'])
|
||||
print(Params.g_colors['RED'] + 'WARNING: You may need to adjust your D-Bus configuration after installing')
|
||||
print('WARNING: You can override dbus service install directory')
|
||||
print('WARNING: with --enable-pkg-config-dbus-service-dir option to this script')
|
||||
print(Params.g_colors['NORMAL'], end=' ')
|
||||
# if conf.env['DBUS_SERVICES_DIR'] != conf.env['DBUS-1_SESSION_BUS_SERVICES_DIR'][0]:
|
||||
# print()
|
||||
# print(Params.g_colors['RED'] + "WARNING: D-Bus session services directory as reported by pkg-config is")
|
||||
# print(Params.g_colors['RED'] + "WARNING:", end=' ')
|
||||
# print(Params.g_colors['CYAN'] + conf.env['DBUS-1_SESSION_BUS_SERVICES_DIR'][0])
|
||||
# print(Params.g_colors['RED'] + 'WARNING: but service file will be installed in')
|
||||
# print(Params.g_colors['RED'] + "WARNING:", end=' ')
|
||||
# print(Params.g_colors['CYAN'] + conf.env['DBUS_SERVICES_DIR'])
|
||||
# print(Params.g_colors['RED'] + 'WARNING: You may need to adjust your D-Bus configuration after installing')
|
||||
# print('WARNING: You can override dbus service install directory')
|
||||
# print('WARNING: with --enable-pkg-config-dbus-service-dir option to this script')
|
||||
# print(Params.g_colors['NORMAL'], end=' ')
|
||||
print()
|
||||
|
||||
def build(bld):
|
||||
if not os.access('gitversion.h', os.R_OK):
|
||||
create_gitversion_gen(bld)
|
||||
bld(features='gitversion')
|
||||
# create_gitversion_gen(bld)
|
||||
|
||||
prog = bld.create_obj('cc', 'program')
|
||||
# obj = bld(features=['c', 'cprogram'])
|
||||
# #obj.includes = sysdeps_dbus_include + ['.', '../', '../common', '../common/jack']
|
||||
#
|
||||
# #obj.defines = ['HAVE_CONFIG_H', 'SERVER_SIDE']
|
||||
# obj.source = [
|
||||
# 'jackdbus.c',
|
||||
# ]
|
||||
# obj.use = ['JACKSERVER']
|
||||
# obj.target = 'jackdbus'
|
||||
|
||||
prog = bld(features=['c', 'cprogram'])
|
||||
prog.source = [
|
||||
'a2jmidid.c',
|
||||
'log.c',
|
||||
|
@ -145,54 +183,55 @@ def build(bld):
|
|||
'list.c',
|
||||
]
|
||||
|
||||
if bld.env()['DBUS_ENABLED']:
|
||||
prog.source.append('dbus.c')
|
||||
prog.source.append('dbus_iface_introspectable.c')
|
||||
prog.source.append('dbus_iface_control.c')
|
||||
prog.source.append('sigsegv.c')
|
||||
#if bld.env()['DBUS_ENABLED']:
|
||||
prog.source.append('dbus.c')
|
||||
prog.source.append('dbus_iface_introspectable.c')
|
||||
prog.source.append('dbus_iface_control.c')
|
||||
prog.source.append('sigsegv.c')
|
||||
|
||||
prog.includes = '.' # make waf dependency tracking work
|
||||
prog.target = 'a2jmidid'
|
||||
prog.uselib = 'ALSA JACK DL PTHREAD'
|
||||
if bld.env()['DBUS_ENABLED']:
|
||||
prog.uselib += " DBUS-1"
|
||||
prog = bld.create_obj('cc', 'program')
|
||||
prog.use = ['ALSA', 'JACK', 'DL', 'PTHREAD']
|
||||
#if bld.env()['DBUS_ENABLED']:
|
||||
prog.use.append('DBUS-1')
|
||||
|
||||
prog = bld(features=['c', 'cprogram'])
|
||||
prog.source = 'a2jmidi_bridge.c'
|
||||
prog.target = 'a2jmidi_bridge'
|
||||
prog.uselib = 'ALSA JACK'
|
||||
prog.use = ['ALSA', 'JACK']
|
||||
|
||||
prog = bld.create_obj('cc', 'program')
|
||||
prog = bld(features=['c', 'cprogram'])
|
||||
prog.source = 'j2amidi_bridge.c'
|
||||
prog.target = 'j2amidi_bridge'
|
||||
prog.uselib = 'ALSA JACK'
|
||||
prog.use = ['ALSA', 'JACK']
|
||||
|
||||
if bld.env()['DBUS_ENABLED']:
|
||||
# process org.gna.home.a2jmidid.service.in -> org.gna.home.a2jmidid.service
|
||||
obj = bld.create_obj('subst')
|
||||
obj.source = 'org.gna.home.a2jmidid.service.in'
|
||||
obj.target = 'org.gna.home.a2jmidid.service'
|
||||
obj.dict = {'BINDIR': bld.env()['PREFIX'] + '/bin'}
|
||||
obj.inst_var = bld.env()['DBUS_SERVICES_DIR']
|
||||
obj.inst_dir = '/'
|
||||
# if bld.env()['DBUS_ENABLED']:
|
||||
# # process org.gna.home.a2jmidid.service.in -> org.gna.home.a2jmidid.service
|
||||
# obj = bld.create_obj('subst')
|
||||
# obj.source = 'org.gna.home.a2jmidid.service.in'
|
||||
# obj.target = 'org.gna.home.a2jmidid.service'
|
||||
# obj.dict = {'BINDIR': bld.env()['PREFIX'] + '/bin'}
|
||||
# obj.inst_var = bld.env()['DBUS_SERVICES_DIR']
|
||||
# obj.inst_dir = '/'
|
||||
|
||||
install_files('PREFIX', 'bin', 'a2j_control', chmod=0o755)
|
||||
install_files('PREFIX', 'bin', 'a2j', chmod=0o755)
|
||||
# install_files('PREFIX', 'bin', 'a2j_control', chmod=0o755)
|
||||
# install_files('PREFIX', 'bin', 'a2j', chmod=0o755)
|
||||
|
||||
# install man pages
|
||||
man_pages = [
|
||||
"a2jmidi_bridge.1",
|
||||
"a2jmidid.1",
|
||||
"j2amidi_bridge.1",
|
||||
]
|
||||
# # install man pages
|
||||
# man_pages = [
|
||||
# "a2jmidi_bridge.1",
|
||||
# "a2jmidid.1",
|
||||
# "j2amidi_bridge.1",
|
||||
# ]
|
||||
|
||||
if bld.env()['DBUS_ENABLED']:
|
||||
man_pages.append("a2j.1")
|
||||
man_pages.append("a2j_control.1")
|
||||
# if bld.env()['DBUS_ENABLED']:
|
||||
# man_pages.append("a2j.1")
|
||||
# man_pages.append("a2j_control.1")
|
||||
|
||||
for i in range(len(man_pages)):
|
||||
man_pages[i] = "man/" + man_pages[i]
|
||||
# for i in range(len(man_pages)):
|
||||
# man_pages[i] = "man/" + man_pages[i]
|
||||
|
||||
install_files('MANDIR', 'man1', man_pages)
|
||||
# install_files('MANDIR', 'man1', man_pages)
|
||||
|
||||
def dist_hook():
|
||||
os.remove('gitversion_regenerate.sh')
|
||||
|
|
Loading…
Reference in New Issue