summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2015-05-10 01:59:37 +0100
committerCarl Hetherington <cth@carlh.net>2015-05-10 01:59:37 +0100
commit3bd44601d084d7139a81e787bd72fdf80832f2c3 (patch)
tree941e9bf11e3661bc3a5c1bf09cc950d6bd37836d /src
parent773a9e0518f86b09cd1df81cef969a654c4018cf (diff)
Possibly inaccurate port of master; build system cleanups.
Diffstat (limited to 'src')
-rw-r--r--src/lib/wscript22
-rw-r--r--src/tools/wscript23
-rw-r--r--src/wscript18
-rw-r--r--src/wx/wscript64
4 files changed, 103 insertions, 24 deletions
diff --git a/src/lib/wscript b/src/lib/wscript
index 24aa7c134..68897a4c4 100644
--- a/src/lib/wscript
+++ b/src/lib/wscript
@@ -1,3 +1,21 @@
+#
+# Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net>
+#
+# 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) any later version.
+#
+# 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, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+
import os
import i18n
@@ -102,7 +120,7 @@ sources = """
"""
def build(bld):
- if bld.env.BUILD_STATIC:
+ if bld.env.STATIC_DCPOMATIC:
obj = bld(features = 'cxx cxxstlib')
else:
obj = bld(features = 'cxx cxxshlib')
@@ -123,7 +141,7 @@ def build(bld):
if bld.env.TARGET_WINDOWS:
obj.uselib += ' WINSOCK2 BFD DBGHELP IBERTY SHLWAPI MSWSOCK BOOST_LOCALE'
- if bld.env.BUILD_STATIC:
+ if bld.env.STATIC_DCPOMATIC:
obj.uselib += ' XMLPP'
obj.target = 'dcpomatic2'
diff --git a/src/tools/wscript b/src/tools/wscript
index 175cebc96..42aea9562 100644
--- a/src/tools/wscript
+++ b/src/tools/wscript
@@ -1,3 +1,21 @@
+#
+# Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net>
+#
+# 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) any later version.
+#
+# 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, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+
import os
import glob
from waflib import Logs
@@ -9,9 +27,8 @@ def configure(conf):
conf.env.append_value('LINKFLAGS', ['-mconsole'])
def build(bld):
-
- uselib = 'BOOST_THREAD BOOST_DATETIME BOOST_FILESYSTEM OPENJPEG DCP CXML SNDFILE ZIP XMLPP SSH '
- uselib += 'AVFORMAT AVFILTER AVCODEC AVUTIL SWSCALE POSTPROC WXWIDGETS SUB CURL GLIB CAIROMM PANGOMM MAGICK '
+ uselib = 'BOOST_THREAD BOOST_DATETIME OPENJPEG DCP XMLSEC CXML XMLPP AVFORMAT AVFILTER AVCODEC '
+ uselib += 'AVUTIL SWSCALE POSTPROC CURL BOOST_FILESYSTEM SSH WXWIDGETS'
if bld.env.TARGET_WINDOWS:
uselib += 'WINSOCK2'
diff --git a/src/wscript b/src/wscript
index f3a6a8c7b..8ec39963f 100644
--- a/src/wscript
+++ b/src/wscript
@@ -1,3 +1,21 @@
+#
+# Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net>
+#
+# 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) any later version.
+#
+# 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, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+
def configure(conf):
conf.recurse('tools')
if not conf.env.DISABLE_GUI:
diff --git a/src/wx/wscript b/src/wx/wscript
index 7b5904b4b..a05774cd2 100644
--- a/src/wx/wscript
+++ b/src/wx/wscript
@@ -1,4 +1,24 @@
+#
+# Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net>
+#
+# 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) any later version.
+#
+# 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, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+
import os
+import subprocess
+import shlex
import glob
from waflib import Logs
import i18n
@@ -64,34 +84,40 @@ sources = """
"""
def configure(conf):
- args = '--cppflags --cxxflags'
- if not conf.env.BUILD_STATIC:
- args += ' --libs std,richtext'
-
- conf.check_cfg(msg='Checking for wxWidgets', package='', path=conf.options.wx_config, args=args,
- uselib_store='WXWIDGETS', mandatory=True)
+ conf.check_cfg(msg='Checking for wxWidgets',
+ package='',
+ path='wx-config',
+ args='--cppflags --cxxflags --libs std,richtext',
+ uselib_store='WXWIDGETS',
+ mandatory=True)
- if conf.env.BUILD_STATIC:
+ if conf.options.static_wxwidgets:
# wx-config returns its static libraries as full paths, without -l prefixes, which confuses
- # check_cfg(), so just hard-code it all.
- conf.env.STLIB_WXWIDGETS = ['wx_gtk2u_richtext-3.0', 'wx_gtk2u_xrc-3.0', 'wx_gtk2u_qa-3.0', 'wx_baseu_net-3.0', 'wx_gtk2u_html-3.0',
- 'wx_gtk2u_adv-3.0', 'wx_gtk2u_core-3.0', 'wx_baseu_xml-3.0', 'wx_baseu-3.0']
- conf.env.LIB_WXWIDGETS = ['tiff', 'SM', 'dl', 'jpeg', 'png', 'X11', 'expat']
- if conf.env.TARGET_DEBIAN and conf.env.DEBIAN_UNSTABLE:
- conf.env.LIB_WXWIDGETS.append('Xext')
- conf.env.LIB_WXWIDGETS.append('X11')
-
- if conf.env.TARGET_CENTOS_7:
- conf.env.LIB_WXWIDGETS.append('Xxf86vm')
+ # check_cfg(). It puts the static libraries into LINKFLAGS_WXWIDGETS, so fish them out.
+ stlibs = []
+ new_linkflags = []
+ stlib_paths = []
+ for f in conf.env.LINKFLAGS_WXWIDGETS:
+ if f.startswith('/'):
+ d = os.path.dirname(f)
+ if not d in stlib_paths:
+ stlib_paths.append(d)
+ stlibs.append(os.path.basename(f)[3:-2])
+ else:
+ new_linkflags.append(f)
+
+ conf.env.STLIB_WXWIDGETS = stlibs
+ conf.env.LINKFLAGS_WXWIDGETS = new_linkflags
+ conf.env.STLIBPATH_WXWIDGETS = stlib_paths
conf.in_msg = 1
- wx_version = conf.check_cfg(package='', path=conf.options.wx_config, args='--version').strip()
+ wx_version = conf.check_cfg(package='', path='wx-config', args='--version').strip()
conf.im_msg = 0
if not wx_version.startswith('3.0.'):
conf.fatal('wxwidgets version 3.0.x is required; %s found' % wx_version)
def build(bld):
- if bld.env.BUILD_STATIC:
+ if bld.env.STATIC_DCPOMATIC:
obj = bld(features = 'cxx cxxstlib')
else:
obj = bld(features = 'cxx cxxshlib')