Author: esr
Date: Sat Mar 22 12:56:45 2008
New Revision: 24977
URL: http://svn.gna.org/viewcvs/wesnoth?rev=24977&view=rev
Log:
Split the scons recipe so it doesn't have to rebuild every .o every time.
Added:
trunk/src/SConstruct
Modified:
trunk/SConstruct
Modified: trunk/SConstruct
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/SConstruct?rev=24977&r1=24976&r2=24977&view=diff
==============================================================================
--- trunk/SConstruct (original)
+++ trunk/SConstruct Sat Mar 22 12:56:45 2008
@@ -44,231 +44,12 @@
# Setup
#
-env = Environment(options = opts)
-all = env.Alias("all", ["wesnoth", "wesnoth_editor", "wesnothd", "campaignd"])
-env.Default("all")
-
# FIXME: Currently this will only work under Linux
svnrev = commands.getoutput("svnversion -n 2>/dev/null")
-#
-# Program declarations
-#
-boost_libs = Split("boost_iostreams-mt boost_regex")
-SDL_libs = Split("SDL_net SDL_ttf SDL_mixer SDL pthread SDL_image")
-commonlibs = SDL_libs + boost_libs
-
-#color_range.cpp should be removed, but game_config depends on it.
-#game_config has very few things that are needed elsewhere, it should be
-#removed. Requires moving path and version at least to other files.
-
-libwesnoth_core_sources = [
- "src/color_range.cpp",
- "src/config.cpp",
- "src/filesystem.cpp",
- "src/game_config.cpp",
- "src/gettext.cpp",
- "src/log.cpp",
- "src/map.cpp",
- "src/network.cpp",
- "src/network_worker.cpp",
- "src/thread.cpp",
- "src/tstring.cpp",
- "src/util.cpp",
- "src/serialization/binary_or_text.cpp",
- "src/serialization/binary_wml.cpp",
- "src/serialization/parser.cpp",
- "src/serialization/preprocessor.cpp",
- "src/serialization/string_utils.cpp",
- "src/serialization/tokenizer.cpp",
- ]
-env.Library("wesnoth_core", libwesnoth_core_sources,
- CPPPATH = ['src', 'src/serialization', "/usr/include/SDL"])
-
-libwesnoth_sources = [
- "src/astarnode.cpp",
- "src/astarsearch.cpp",
- "src/builder.cpp",
- "src/cavegen.cpp",
- "src/clipboard.cpp",
- "src/construct_dialog.cpp",
- "src/cursor.cpp",
- "src/display.cpp",
- "src/events.cpp",
- "src/filechooser.cpp",
- "src/font.cpp",
- "src/generic_event.cpp",
- "src/hotkeys.cpp",
- "src/image.cpp",
- "src/key.cpp",
- "src/language.cpp",
- "src/loadscreen.cpp",
- "src/map_create.cpp",
- "src/map_label.cpp",
- "src/mapgen.cpp",
- "src/mapgen_dialog.cpp",
- "src/marked-up_text.cpp",
- "src/minimap.cpp",
- "src/pathutils.cpp",
- "src/preferences.cpp",
- "src/preferences_display.cpp",
- "src/race.cpp",
- "src/random.cpp",
- "src/reports.cpp",
- "src/sdl_utils.cpp",
- "src/show_dialog.cpp",
- "src/sound.cpp",
- "src/soundsource.cpp",
- "src/terrain.cpp",
- "src/terrain_translation.cpp",
- "src/tooltips.cpp",
- "src/video.cpp",
- "src/theme.cpp",
- "src/widgets/button.cpp",
- "src/widgets/file_menu.cpp",
- "src/widgets/label.cpp",
- "src/widgets/menu.cpp",
- "src/widgets/menu_style.cpp",
- "src/widgets/progressbar.cpp",
- "src/widgets/scrollarea.cpp",
- "src/widgets/scrollbar.cpp",
- "src/widgets/slider.cpp",
- "src/widgets/textbox.cpp",
- "src/widgets/widget.cpp",
- "src/wml_exception.cpp",
- ]
-env.Library("wesnoth", libwesnoth_sources,
- CPPPATH = ['src', 'src/serialization', "/usr/include/SDL"])
-
-wesnoth_sources = [
- "src/about.cpp",
- "src/actions.cpp",
- "src/ai.cpp",
- "src/ai_dfool.cpp",
- "src/ai_attack.cpp",
- "src/ai_move.cpp",
- "src/ai_python.cpp",
- "src/ai_village.cpp",
- "src/animated_game.cpp",
- "src/attack_prediction.cpp",
- "src/callable_objects.cpp",
- "src/config_adapter.cpp",
- "src/dialogs.cpp",
- "src/floating_textbox.cpp",
- "src/formula.cpp",
- "src/formula_ai.cpp",
- "src/formula_function.cpp",
- "src/formula_tokenizer.cpp",
- "src/game_display.cpp",
- "src/game_events.cpp",
- "src/game_preferences.cpp",
- "src/game_preferences_display.cpp",
- "src/gamestatus.cpp",
- "src/game.cpp",
- "src/generate_report.cpp",
- "src/halo.cpp",
- "src/help.cpp",
- "src/intro.cpp",
- "src/leader_list.cpp",
- "src/menu_events.cpp",
- "src/mouse_events.cpp",
- "src/multiplayer.cpp",
- "src/multiplayer_ui.cpp",
- "src/multiplayer_wait.cpp",
- "src/multiplayer_connect.cpp",
- "src/multiplayer_create.cpp",
- "src/multiplayer_lobby.cpp",
- "src/pathfind.cpp",
- "src/playcampaign.cpp",
- "src/play_controller.cpp",
- "src/playmp_controller.cpp",
- "src/playsingle_controller.cpp",
- "src/playturn.cpp",
- "src/publish_campaign.cpp",
- "src/replay.cpp",
- "src/replay_controller.cpp",
- "src/sha1.cpp",
- "src/settings.cpp",
- "src/statistics.cpp",
- "src/team.cpp",
- "src/terrain_filter.cpp",
- "src/titlescreen.cpp",
- "src/unit.cpp",
- "src/unit_abilities.cpp",
- "src/unit_animation.cpp",
- "src/unit_display.cpp",
- "src/unit_frame.cpp",
- "src/unit_map.cpp",
- "src/unit_types.cpp",
- "src/upload_log.cpp",
- "src/variable.cpp",
- "src/variant.cpp",
- "src/widgets/combo.cpp",
- "src/widgets/scrollpane.cpp",
-]
-env.Program("wesnoth", wesnoth_sources,
- CPPPATH = ['src', 'src/server', "/usr/include/SDL"],
- LIBS = commonlibs + ['wesnoth_core', 'wesnoth'],
- LIBPATH = [".", "src", "/lib", "/usr/lib"])
-
-wesnoth_editor_sources = [
- "src/editor/editor.cpp",
- "src/editor/editor_layout.cpp",
- "src/editor/map_manip.cpp",
- "src/editor/editor_display.cpp",
- "src/editor/editor_palettes.cpp",
- "src/editor/editor_main.cpp",
- "src/editor/editor_dialogs.cpp",
- "src/editor/editor_undo.cpp",
- "src/animated_editor.cpp",
- "src/gamestatus_editor.cpp",
- ]
-env.Program("wesnoth_editor", wesnoth_editor_sources,
- CPPPATH = ['src', 'src/server', "/usr/include/SDL"],
- LIBS = commonlibs + ['wesnoth_core', 'wesnoth'],
- LIBPATH = [".", "src", "/lib", "/usr/lib"])
-
-campaignd_sources = [
- "src/campaign_server/campaign_server.cpp",
- "src/publish_campaign.cpp",
- "src/loadscreen_empty.cpp",
- ]
-env.Program("campaignd", campaignd_sources,
- CPPPATH = ['src', 'src/server', "/usr/include/SDL"],
- LIBS = commonlibs + ['wesnoth_core', 'wesnoth'],
- LIBPATH = [".", "src", "/lib", "/usr/lib"])
-
-wesnothd_sources = [
- "src/server/game.cpp",
- "src/server/input_stream.cpp",
- "src/server/metrics.cpp",
- "src/server/player.cpp",
- "src/server/proxy.cpp",
- "src/server/server.cpp",
- "src/server/simple_wml.cpp",
- "src/loadscreen_empty.cpp"
- ]
-env.Program("wesnothd", wesnothd_sources,
- CPPPATH = ['src', 'src/server', "/usr/include/SDL"],
- LIBS = commonlibs + ['wesnoth_core'],
- LIBPATH = [".", "src", "/lib", "/usr/lib"])
-
-# FIXME: Include this in gameconfig.cpp when we switch over to scons.
-# Because of the content check, scons will do the right thing.
-# At that point -DSVNREV can be removed from CXXFLAGS.
-r = env.Command("revision_stamp.h", [],
- 'echo "#define REVISION \"%s\"" >revision_stamp.h' % svnrev)
-env.AlwaysBuild(r)
-
-#
-# Utility productions
-#
-
-tags = env.Command("TAGS",
- libwesnoth_sources + libwesnoth_core_sources + \
- wesnoth_editor_sources + campaignd_sources + wesnothd_sources,
- 'etags -l c++ $SOURCES')
-env.Clean(all, 'TAGS')
+env = Environment(options = opts)
+
+SConscript('src/SConstruct', exports='env')
#
# Configuration
Added: trunk/src/SConstruct
URL: http://svn.gna.org/viewcvs/wesnoth/trunk/src/SConstruct?rev=24977&view=auto
==============================================================================
--- trunk/src/SConstruct (added)
+++ trunk/src/SConstruct Sat Mar 22 12:56:45 2008
@@ -1,0 +1,224 @@
+Import('env')
+
+all = env.Alias("all", ["wesnoth", "wesnoth_editor", "wesnothd", "campaignd"])
+env.Default("all")
+
+#
+# Program declarations
+#
+boost_libs = Split("boost_iostreams-mt boost_regex")
+SDL_libs = Split("SDL_net SDL_ttf SDL_mixer SDL pthread SDL_image")
+commonlibs = SDL_libs + boost_libs
+
+#color_range.cpp should be removed, but game_config depends on it.
+#game_config has very few things that are needed elsewhere, it should be
+#removed. Requires moving path and version at least to other files.
+
+libwesnoth_core_sources = [
+ "color_range.cpp",
+ "config.cpp",
+ "filesystem.cpp",
+ "game_config.cpp",
+ "gettext.cpp",
+ "log.cpp",
+ "map.cpp",
+ "network.cpp",
+ "network_worker.cpp",
+ "thread.cpp",
+ "tstring.cpp",
+ "util.cpp",
+ "serialization/binary_or_text.cpp",
+ "serialization/binary_wml.cpp",
+ "serialization/parser.cpp",
+ "serialization/preprocessor.cpp",
+ "serialization/string_utils.cpp",
+ "serialization/tokenizer.cpp",
+ ]
+env.Library("wesnoth_core", libwesnoth_core_sources,
+ CPPPATH = ['.', 'src/serialization', "/usr/include/SDL"])
+
+libwesnoth_sources = [
+ "astarnode.cpp",
+ "astarsearch.cpp",
+ "builder.cpp",
+ "cavegen.cpp",
+ "clipboard.cpp",
+ "construct_dialog.cpp",
+ "cursor.cpp",
+ "display.cpp",
+ "events.cpp",
+ "filechooser.cpp",
+ "font.cpp",
+ "generic_event.cpp",
+ "hotkeys.cpp",
+ "image.cpp",
+ "key.cpp",
+ "language.cpp",
+ "loadscreen.cpp",
+ "map_create.cpp",
+ "map_label.cpp",
+ "mapgen.cpp",
+ "mapgen_dialog.cpp",
+ "marked-up_text.cpp",
+ "minimap.cpp",
+ "pathutils.cpp",
+ "preferences.cpp",
+ "preferences_display.cpp",
+ "race.cpp",
+ "random.cpp",
+ "reports.cpp",
+ "sdl_utils.cpp",
+ "show_dialog.cpp",
+ "sound.cpp",
+ "soundsource.cpp",
+ "terrain.cpp",
+ "terrain_translation.cpp",
+ "tooltips.cpp",
+ "video.cpp",
+ "theme.cpp",
+ "widgets/button.cpp",
+ "widgets/file_menu.cpp",
+ "widgets/label.cpp",
+ "widgets/menu.cpp",
+ "widgets/menu_style.cpp",
+ "widgets/progressbar.cpp",
+ "widgets/scrollarea.cpp",
+ "widgets/scrollbar.cpp",
+ "widgets/slider.cpp",
+ "widgets/textbox.cpp",
+ "widgets/widget.cpp",
+ "wml_exception.cpp",
+ ]
+env.Library("wesnoth", libwesnoth_sources,
+ CPPPATH = ['.', 'src/serialization', "/usr/include/SDL"])
+
+wesnoth_sources = [
+ "about.cpp",
+ "actions.cpp",
+ "ai.cpp",
+ "ai_dfool.cpp",
+ "ai_attack.cpp",
+ "ai_move.cpp",
+ "ai_python.cpp",
+ "ai_village.cpp",
+ "animated_game.cpp",
+ "attack_prediction.cpp",
+ "callable_objects.cpp",
+ "config_adapter.cpp",
+ "dialogs.cpp",
+ "floating_textbox.cpp",
+ "formula.cpp",
+ "formula_ai.cpp",
+ "formula_function.cpp",
+ "formula_tokenizer.cpp",
+ "game_display.cpp",
+ "game_events.cpp",
+ "game_preferences.cpp",
+ "game_preferences_display.cpp",
+ "gamestatus.cpp",
+ "game.cpp",
+ "generate_report.cpp",
+ "halo.cpp",
+ "help.cpp",
+ "intro.cpp",
+ "leader_list.cpp",
+ "menu_events.cpp",
+ "mouse_events.cpp",
+ "multiplayer.cpp",
+ "multiplayer_ui.cpp",
+ "multiplayer_wait.cpp",
+ "multiplayer_connect.cpp",
+ "multiplayer_create.cpp",
+ "multiplayer_lobby.cpp",
+ "pathfind.cpp",
+ "playcampaign.cpp",
+ "play_controller.cpp",
+ "playmp_controller.cpp",
+ "playsingle_controller.cpp",
+ "playturn.cpp",
+ "publish_campaign.cpp",
+ "replay.cpp",
+ "replay_controller.cpp",
+ "sha1.cpp",
+ "settings.cpp",
+ "statistics.cpp",
+ "team.cpp",
+ "terrain_filter.cpp",
+ "titlescreen.cpp",
+ "unit.cpp",
+ "unit_abilities.cpp",
+ "unit_animation.cpp",
+ "unit_display.cpp",
+ "unit_frame.cpp",
+ "unit_map.cpp",
+ "unit_types.cpp",
+ "upload_log.cpp",
+ "variable.cpp",
+ "variant.cpp",
+ "widgets/combo.cpp",
+ "widgets/scrollpane.cpp",
+]
+env.Program("wesnoth", wesnoth_sources,
+ CPPPATH = ['.', 'server', "/usr/include/SDL"],
+ LIBS = commonlibs + ['wesnoth_core', 'wesnoth'],
+ LIBPATH = [".", "src", "/lib", "/usr/lib"])
+
+wesnoth_editor_sources = [
+ "editor/editor.cpp",
+ "editor/editor_layout.cpp",
+ "editor/map_manip.cpp",
+ "editor/editor_display.cpp",
+ "editor/editor_palettes.cpp",
+ "editor/editor_main.cpp",
+ "editor/editor_dialogs.cpp",
+ "editor/editor_undo.cpp",
+ "animated_editor.cpp",
+ "gamestatus_editor.cpp",
+ ]
+env.Program("wesnoth_editor", wesnoth_editor_sources,
+ CPPPATH = ['.', 'server', "/usr/include/SDL"],
+ LIBS = commonlibs + ['wesnoth_core', 'wesnoth'],
+ LIBPATH = [".", "src", "/lib", "/usr/lib"])
+
+campaignd_sources = [
+ "campaign_server/campaign_server.cpp",
+ "publish_campaign.cpp",
+ "loadscreen_empty.cpp",
+ ]
+env.Program("campaignd", campaignd_sources,
+ CPPPATH = ['.', 'server', "/usr/include/SDL"],
+ LIBS = commonlibs + ['wesnoth_core', 'wesnoth'],
+ LIBPATH = [".", "src", "/lib", "/usr/lib"])
+
+wesnothd_sources = [
+ "server/game.cpp",
+ "server/input_stream.cpp",
+ "server/metrics.cpp",
+ "server/player.cpp",
+ "server/proxy.cpp",
+ "server/server.cpp",
+ "server/simple_wml.cpp",
+ "loadscreen_empty.cpp"
+ ]
+env.Program("wesnothd", wesnothd_sources,
+ CPPPATH = ['.', 'server', "/usr/include/SDL"],
+ LIBS = commonlibs + ['wesnoth_core'],
+ LIBPATH = [".", "src", "/lib", "/usr/lib"])
+
+# FIXME: Include this in gameconfig.cpp when we switch over to scons.
+# Because of the content check, scons will do the right thing.
+# At that point -DSVNREV can be removed from CXXFLAGS.
+#r = env.Command("revision_stamp.h", [],
+# 'echo "#define REVISION \"%s\"" >revision_stamp.h' % svnrev)
+#env.AlwaysBuild(r)
+
+#
+# Utility productions
+#
+
+tags = env.Command("TAGS",
+ libwesnoth_sources + libwesnoth_core_sources + \
+ wesnoth_editor_sources + campaignd_sources + wesnothd_sources,
+ 'etags -l c++ $SOURCES')
+env.Clean(all, 'TAGS')
+
_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits