summaryrefslogtreecommitdiffstats
path: root/base/base_lib.scons
Commit message (Collapse)AuthorAgeFilesLines
* Data pack file reader and unit test, used for resources on Linux.evan@chromium.org2009-01-081-0/+1
| | | | | | | | | See http://dev.chromium.org/developers/design-documents/linuxresourcesandlocalizedstrings for more details. Review URL: http://codereview.chromium.org/17253 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7751 0039d316-1c4b-4281-b951-d872f2087c98
* Mass convert ChromeStaticLibrary -> ChromeLibrary, including pulling the ↵evanm@google.com2008-12-261-1/+1
| | | | | | | | | | | updated ICU dep that uses it as well. Add a SHARED scons command-line flag to build shared libraries. Review URL: http://codereview.chromium.org/16477 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7479 0039d316-1c4b-4281-b951-d872f2087c98
* Provide an unimplemented function to appease the dynamic linker.evanm@google.com2008-12-261-0/+1
| | | | | | | Review URL: http://codereview.chromium.org/16262 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7470 0039d316-1c4b-4281-b951-d872f2087c98
* Initial subset of .vcproj file generation, covering generation of:sgk@google.com2008-12-241-41/+266
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | base\build\base.vcproj base\build\base_gfx.vcproj base\build\base_unittests.vcproj base\build\debug_message.vcproj skia\skia.vcproj testing\gtest.vcproj third_party\icu38\icu.vcproj third_party\icu38\icudt.vcproj third_party\libpng\libpng.vcproj third_party\zlib\zlib.vcproj Supporting work in *.scons files: * Adds .h files to the input_files lists in the various *.scons files. * Add arguments to ChromeMSVSProject() to actually generate the .vcproj files. * Add MSVS.AddConfig() calls to the *.scons files to preserve the .vsprops inclusion in the generated .vcproj files. (These will go away eventually as we migrate away from .vsprops in favor of using the settings from the SCons configuration.) * Add MSVS.AddConfig() calls to preserve the .vsprops inclusion. * Move the special generation of dmg_fp/*.cc files ahead of the input file list so we can list the generated object files. * Change the 'solutions' Alias to 'msvs' so we don't mislead about what will actually be generated. Updates to the new _Node_MSVS.py module with latest from upstream prototype development: * Support configurability of: * buildtarget (used to generat project name) * RootNamespace * relative_path_prefix (to prepend './') * tools (to avoid repetition in the project configs) * Track the Visual Studio hierarchy in SCons Nodes, not DOM, so we can delay evaluation until after the complete configuration has been specified. * Add a FileList base class for the things that need, with a subclass hierarchy for the different concrete things in our tree, and a FileListWalk() function for traversing hierarchies. * Centralize turning strings into Nodes in the args2nodes() method and have AddFiles() just use it. Updates to chromium_builders.py to support all this * Add knowledge about stripping out noncompilable files (.h files) from input_files lists. * Return a Null() class if we're not generating MSVS files so we don't have to hide the other calls in if:-blocks. * Add custom ChromeFileList subclass of MSVS.FileList as a container for the file list manipulation we need to do. * Move the Chrome*() function definitions out to global space, and just use the generate() function for adding them to the passed-in environment as class methods. * Make a change to SCons (in Node/FS.py) to handle polymorphism in the new MSVS Node hierarchy. Review URL: http://codereview.chromium.org/16447 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7467 0039d316-1c4b-4281-b951-d872f2087c98
* Initial generation of native Visual Studio solution filessgk@google.com2008-12-191-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (project files still to come). To wit: * Solution file configuration is in *_sln.scons files (base\base_sln.scons, chrome\chrome_sln.scons). * Individual Project file configuration is in the the .scons file for the relevant target (base\base_unittests.scons, third_party\libxml\libxml.scons, etc.)--that is, where their file lists will live. * MSVSProject() calls are currently placeholders that establish the existence of Project Nodes (and Project dependencies) but don't yet have actual Project configuration information (file lists, .vsprops, etc.). * Configuraiton is very manual. In particular, the entries in the .sln file will be written out in exactly the order specified in the configuration(s). The current ordering is taken from our existing .sln files, so we can generate virtually the same configurations on output. * Generated solution files are nearly byte-for-byte identical with our existing .sln files, modulo: * net\dump_cache has a WebsiteProperties sections (making that configurable per project isn't important right now); * sandbox\sandbox.sln was missing a dependency of base.vcproj on on debug_message.vcproj (present in other .sln files) * webkit\webkit.sln was missing dependencies of WebCore.vcproj on libxml_config.vcproj and libxslt_config.vcproj (present in chrome.sln); * add a handful of other miscellaneous missing dependencies on various .vcproj definitions in chrome.sln (present in other .sln files). * remove stats_viewer.csproj from chrome.sln (sorry, mbelshe), which was complicating the solution configuration with unnecessary (for us) "Mixed Platform" types; * All MSVSFolder(), MSVSProject() and MSVSSolution() calls have hard-wired guid= values taken from our existing configuration, so we can: 1) verify generation of working configs; 2) minimize diffs when checking in generated .sln files. We can remove these in the future in favor of extracting them from existing .sln files if we wish. * Add ChromeMSVSFolder(), ChromeMSVSProject() and ChromeMSVSSolution() wrappers to chromium_builders.py, that gate the underlying call to the env.MSVS*() builders based on whether env.Bit('msvs') is set (i.e., we're in --mode=msvs). * Remove platform-specific gating of to-be-ported .scons files that we now need to load on any platform to generate coheren MSVS files. Move the env.Bit('windows') tests for actually building their executables into the individual .scons files. Review URL: http://codereview.chromium.org/14472 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7297 0039d316-1c4b-4281-b951-d872f2087c98
* Convert from using env['PLATFORM'] directly to using the more flexiblesgk@google.com2008-12-181-8/+8
| | | | | | | | | | | | | | | | | | and better-thought-out Hammer env.Bits() idioms: * env['PLATFORM'] == 'win32' => env.Bit('windows') * env['PLATFORM'] == 'posix' => env.Bit('linux') * env['PLATFORM'] == 'darwin' => env.Bit('mac') New idioms: * env.Bit('posix') => really does mean "any POSIX platform" * env.AnyBits('mac', 'linux') => specifically mac or linux, excluding other POSIX platforms Where we were using compound conditionals (e.g., "env['PLATFORM'] in ('posix', 'darwin')") I tried to take my best shot at translating the intent (i.e., "env.Bits('posix')" for something POSIX, "not env.Bits('mac')" for something not yet ported to Mac, etc.) Review URL: http://codereview.chromium.org/15051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7270 0039d316-1c4b-4281-b951-d872f2087c98
* Adds a helper class used to mark/define critical section in a class and then ↵maruel@chromium.org2008-12-171-0/+1
| | | | | | | | | | | | install controls to check that those critical sections are not violated. This CL is due the thread posted on chromium-dev: http://groups.google.com/group/chromium-dev/browse_frm/thread/30af0b63b6adb245. From Gaetano Mendola <mendola bigfoot com> Review URL: http://codereview.chromium.org/8621 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7127 0039d316-1c4b-4281-b951-d872f2087c98
* Remove few more errors in mac scons build.phajdan.jr@chromium.org2008-12-151-3/+5
| | | | | | | BUG=5525 Review URL: http://codereview.chromium.org/14113 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6981 0039d316-1c4b-4281-b951-d872f2087c98
* Port flush_cache tool and perf_tests.phajdan.jr@chromium.org2008-12-121-0/+2
| | | | | | | | | BUG=4160,4263 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=6815 Review URL: http://codereview.chromium.org/9639 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6886 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 6815.phajdan.jr@chromium.org2008-12-111-2/+0
| | | | | | Review URL: http://codereview.chromium.org/14006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6816 0039d316-1c4b-4281-b951-d872f2087c98
* Port flush_cache tool and perf_tests.phajdan.jr@chromium.org2008-12-111-0/+2
| | | | | | | BUG=4160,4263 Review URL: http://codereview.chromium.org/9639 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6815 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup of the path service. (With some extra utilities to be used later.)avi@google.com2008-12-091-0/+1
| | | | | | Review URL: http://codereview.chromium.org/13260 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6584 0039d316-1c4b-4281-b951-d872f2087c98
* Add the test_file_util changes to the Windows scons.deanm@chromium.org2008-11-251-0/+1
| | | | | | Review URL: http://codereview.chromium.org/12664 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6011 0039d316-1c4b-4281-b951-d872f2087c98
* Port base/watchdog to Linux.deanm@chromium.org2008-11-251-5/+2
| | | | | | | | | BUG=4632 Review URL: http://codereview.chromium.org/11326 Patch from Pawel Hajdan Jr. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6004 0039d316-1c4b-4281-b951-d872f2087c98
* Purify support:sgk@google.com2008-11-221-0/+1
| | | | | | | | | | | | | | | * Add third_party/purify/pure_api.c to the base\base_lib.scons sources. * Support specification of CHROME_BUILD_TYPE (and CHROMIUM_BUILD while we're here) either on the command line or as an external environment variable. * Fix syntax error in release_impl_purify.scons (previously unused). * Add a central $CHROMIUM_CC_OPT_FLAGS variable (included in $CCFLAGS) that can be used to set explicitly the optimization level without having to worry about optimization flags being pulled in from other settings files. Review URL: http://codereview.chromium.org/11368 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5887 0039d316-1c4b-4281-b951-d872f2087c98
* Only remove -Wall from $CXXFLAGS on Linux, not on Mac. Mac's toolsgk@google.com2008-11-211-1/+1
| | | | | | | chain doesn't add -Wall, leading to an exception and stack trace. Review URL: http://codereview.chromium.org/11343 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5819 0039d316-1c4b-4281-b951-d872f2087c98
* Finish release (opt) builds on Windows, including the parallelsgk@google.com2008-11-201-9/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | build\*.scons structure (mirroring build\*.vsprops files): * Use env.ApplySConscript() instead of env.SConscript with a hand-crafted dictionary defining 'env'. * Move various CPPPATH, CCFLAGS, CPPDEFINES, LIBS and LIBPATH definitions from build/SConscript.main and target-specific *.scons files into the build\*.scons files that mirror the existing build\*.vsprops hierarchy. * Use the new build\{debug,release}.scons files to update the windows_dbg and windows_opt construction environments. * Mirror current support for CHROME_BUILD_TYPE and CHROMIUM_BUILD external environment variables. * Remove hard-coded /TP options. * Massage $CXXFLAGS to remove $CCFLAGS, avoiding duplication of options on command lines. Handle the ripple effect in $PCHCOM by adding $CCFLAGS back to that command line. * Delete hammer's default settings of {CC,LINK}FLAGS_{DEBUG,OPTIMIZED} so they don't pollute our construction environments. * Update chrome config to link against v8 for opt, v8_g for dbg. * Get rid of fragile by-hand order of using_net.scons before other using_*.scons files. We're now using --start-group and --end-group on Linux to deal with dependency cycles in libraries. Review URL: http://codereview.chromium.org/11478 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5741 0039d316-1c4b-4281-b951-d872f2087c98
* Move dmg_fp in scons build to compile fromtc@google.com2008-11-151-0/+21
| | | | | | | | base/third_party/dmg_fp and compile it into base_lib. Review URL: http://codereview.chromium.org/10769 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5521 0039d316-1c4b-4281-b951-d872f2087c98
* Implement the idle timer for Linux using libxss.dsh@google.com2008-11-061-0/+4
| | | | | | | | BUG=2183 Review URL: http://codereview.chromium.org/8806 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4930 0039d316-1c4b-4281-b951-d872f2087c98
* Make better (and more efficient) use of Hammer functionalitysgk@google.com2008-11-051-2/+1
| | | | | | | | | | | | | in base, net and sandbox: * Remove by-hand Install() and Alias() calls. * Set $COMPONENT_PROGRAM_GROUPS and $COMPONENT_TEST_PROGRAM_GROUPS (with in each foo\foo.scons file) so executables get added automatically to the appropriate Alias. * Set $TESTS_DIR and $STAGING_DIR so executables get linked directly in their final resting place ($TARGET_ROOT). Review URL: http://codereview.chromium.org/9188 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4805 0039d316-1c4b-4281-b951-d872f2087c98
* Rewrote the clipboard API to be more concurrent. Added a helper class to ↵estade@chromium.org2008-11-051-0/+2
| | | | | | | | make it more foolproof. Updated all clients and unittests. Mac port by jeremy@chromium.org Review URL: http://codereview.chromium.org/9154 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4719 0039d316-1c4b-4281-b951-d872f2087c98
* * Add write and read/write support to FileStream (renamed from FileInputStream).erikkay@google.com2008-11-031-0/+2
| | | | | | | | * Moved net/disk_cache/os_file to base/platform_file. Review URL: http://codereview.chromium.org/8843 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4454 0039d316-1c4b-4281-b951-d872f2087c98
* Port a few test_shell_tests. Now it runs 45 of them.evanm@google.com2008-10-271-0/+1
| | | | | | | | | | | | | | | | I removed some files from test_files because scons complains (warns) when a file is both in test_files and input_files. So the files removed from test_files also exist in input_files and at some pointed will be ported anyway. I also made some linking stubs. BUG=3674 Review URL: http://codereview.chromium.org/7974 Patch from Paweł Hajdan jr <phajdan.jr@gmail.com>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4031 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up filter and content encoding handling jar@google.com2008-10-271-0/+1
| | | | | | | | | | | | | | | | Centralize translation functions (text of "Content-Encoding" to enum) in filter.cc Centralize error recovery (for damaged content encoding headers) in filter.cc Error recovery includes a loss of SDCH encoding headers, plus handling of Apache server bug with gzip files are tagged as also being gzip encoded. Centralize and add a pile of unit tests to this filter code. r=openvcdiff,huanr Review URL: http://codereview.chromium.org/8018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4004 0039d316-1c4b-4281-b951-d872f2087c98
* Simultaneously store multiple formats on the linux clipboard.estade@chromium.org2008-10-231-0/+1
| | | | | | Review URL: http://codereview.chromium.org/8038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3819 0039d316-1c4b-4281-b951-d872f2087c98
* Using $CHROME_SRC_DIR in place of hash/..bradnelson@google.com2008-10-221-1/+1
| | | | | | | | This will facilitate changing where the main sconstruct lives. Review URL: http://codereview.chromium.org/7847 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3725 0039d316-1c4b-4281-b951-d872f2087c98
* Add directory_watcher_win.cc and its unit test to thesgk@google.com2008-10-221-0/+1
| | | | | | | SCons Windows build. Review URL: http://codereview.chromium.org/7852 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3719 0039d316-1c4b-4281-b951-d872f2087c98
* SCons renaming updates for base, net and googleurl:sgk@google.com2008-10-211-0/+188
* Rename SConscript files to {module}.scons or {moduel}_lib.scons, depending on the primary target involved. * Separate targets into individual *.scons files, with one construction environment (named "env") per *.scons file. * Add using_{module}.scons files (like .vsprops) that will be used by other modules to add CPPDEFINES, CPPPATH, LIBS and LIBPATH values. * Update other modules' *.scons files to use the new using_{module}.scons files (using a temporary one-liner idiom until we have the ApplySConscript() method from the Hammer modules). * Use the idiom of removing to-be-ported files from the master list, so they can be simply deleted from the to-be-ported list as they get ported in the future, instead of having to shuffle entries between lists. * Use $OBJ_ROOT instead of hard-coded '#/$BUILD_TYPE/' for the $*_DIR variables. * Add a addRepository() call mapping build/ to $TARGET_ROOT/googleurl, so its $OBJ_ROOT value can look like the others'. * Formatting changes, primarily modifying indentation to conform to style guidelines. * Fix copyright headers in some third_party/* modules previously overlooked. * Add rudimentary __doc__ strings, setting up for a future ability to generate meaningful documentation. Review URL: http://codereview.chromium.org/7807 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3675 0039d316-1c4b-4281-b951-d872f2087c98