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

Reply via email to