From 9fcdfebf82fe584a90a7ce10defb6a7c0a9aa96a Mon Sep 17 00:00:00 2001 From: Kevin Ollivier Date: Sat, 13 Mar 2010 17:50:51 +0000 Subject: [PATCH] Fix the waf build after the libresrc changes, and also tweak the script to properly handle dependency tracking with the generated files. Originally committed to SVN as r4173. --- aegisub/src/libresrc/wscript | 34 ++++++++++++++++++++++++---------- aegisub/src/wscript | 6 +++--- aegisub/wscript | 1 + 3 files changed, 28 insertions(+), 13 deletions(-) diff --git a/aegisub/src/libresrc/wscript b/aegisub/src/libresrc/wscript index e4da7cd44..1e547617d 100644 --- a/aegisub/src/libresrc/wscript +++ b/aegisub/src/libresrc/wscript @@ -19,16 +19,30 @@ import os dir = os.path.abspath('.') -source_list = [ - 'src/bitmaps/16', 'src/bitmaps/24', 'src/bitmaps/misc/splash.png', 'src/bitmaps/misc/wxicon.png' -] - -sources = '' -for source in source_list: - sources += ' %s/%s' % (dir, source) - def build(bld): - obj = bld.new_task_gen( - rule = dir + '/build/default/tools/common-respack %s/src/libresrc/libresrc.cpp' % dir + sources, + bld.new_task_gen( + rule = dir + '/build/default/tools/common-respack ${TGT} ${SRC}', + source = "default_mru.json", + target = 'default_config.cpp', + name = 'default_config', after = 'common-respack', ) + + bld.new_task_gen( + rule = dir + '/build/default/tools/common-respack ${TGT} ${SRC} ../src/bitmaps/16 ../src/bitmaps/24', + source = '../bitmaps/misc/splash.png ../bitmaps/misc/wxicon.png', + target = 'bitmap.cpp', + after = 'common-respack', + name = 'bitmap', + ) + + bld.add_group() + + bld.new_task_gen( + features = 'cc cxx cstaticlib', + target = 'libresrc', + source = 'bitmap.cpp default_config.cpp libresrc.cpp', + includes = '.', + uselib = 'WX', + after = 'bitmap default_config', + ) diff --git a/aegisub/src/wscript b/aegisub/src/wscript index ce0a2d72d..e0f6c2b34 100644 --- a/aegisub/src/wscript +++ b/aegisub/src/wscript @@ -22,7 +22,7 @@ import distutils.dir_util def build(bld): subdirs = ['libresrc'] - uselib_local = [] + uselib_local = ['libresrc'] includes = ['#', '.'] if Options.options.with_provider_video == 'ffmpegsource' or Options.options.with_provider_audio == 'ffmpegsource': @@ -45,10 +45,10 @@ def build(bld): features = 'cc cxx cprogram', target = 'aegisub', includes = includes, - source = 'libresrc/libresrc.cpp', defines = '', uselib = 'GL CURL FONTCONFIG FREETYPE2 WX', - uselib_local = uselib_local) + uselib_local = uselib_local, + after = 'libresrc') if sys.platform.startswith('darwin'): excludes.append('bundledirs-test.c') diff --git a/aegisub/wscript b/aegisub/wscript index 8ab46f437..56e166eb1 100644 --- a/aegisub/wscript +++ b/aegisub/wscript @@ -55,6 +55,7 @@ def configure(conf): conf.check_tool('osx') conf.env.append_value('CPPPATH', '/usr/local/aegisub-deps/include') + conf.env.append_value('CPPPATH', os.path.join(appdir, blddir, 'default', 'src', 'libresrc')) conf.define('HAVE_GETTEXT', 1)