diff options
author | sgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-09-11 23:05:11 +0000 |
---|---|---|
committer | sgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-09-11 23:05:11 +0000 |
commit | ca4ce1ca78aabbffef981ab41bfdd646bfeb96d7 (patch) | |
tree | a97a4c3ae633f774e8665d3306b63ccaf6d3b95a /build | |
parent | a9122956f932ea606843d43aa3fc8a4a4f91f7ed (diff) | |
download | chromium_src-ca4ce1ca78aabbffef981ab41bfdd646bfeb96d7.zip chromium_src-ca4ce1ca78aabbffef981ab41bfdd646bfeb96d7.tar.gz chromium_src-ca4ce1ca78aabbffef981ab41bfdd646bfeb96d7.tar.bz2 |
Capture initial SCons build of {base,net,googleurl}_unittests on Mac:
* Initial flags and options that mimick how XCode builds (e.g.
XCode uses "gcc -x c++" to compile C++, but g++ to link it).
* Load minimal set of SConscript files: base, googleurl, net,
skia, testing, third_party. (breakpad and webkit to come.)
* Correct .cc => .mm file names (multiple places).
* Add base/{platform_thread,platform_test,worker_pool}_mac.mm.
* Remove -Wall when we build Skia, like we do on Linux.
Review URL: http://codereview.chromium.org/2435
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2097 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build')
-rw-r--r-- | build/SConscript.main | 99 |
1 files changed, 67 insertions, 32 deletions
diff --git a/build/SConscript.main b/build/SConscript.main index a412622..12cc0b7 100644 --- a/build/SConscript.main +++ b/build/SConscript.main @@ -1,31 +1,6 @@ -# Copyright 2008, Google Inc. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. import os import shutil @@ -373,6 +348,62 @@ elif env['PLATFORM'] == 'posix': # Build with system-provided NSS env.ParseConfig('pkg-config --cflags --libs nss') + +elif env['PLATFORM'] == 'darwin': + + # For now, mac only loads the components we know work on Mac, by default. + load = [ + 'base', + #'breakpad', + 'googleurl', + 'net', + 'skia', + 'testing', + 'third_party', + #'webkit', + ] + + env.Replace( + # Reproduce XCode's behavior of using gcc even to link C++, + # and distinguishing it the -x c++ option. + CC = 'gcc-4.2', + CXX = 'g++-4.2', + LINK = '$CXX', + + CFLAGS = [ + '-std=c99', + ], + CXXFLAGS = [ + '-fvisibility-inlines-hidden', + ], + CCFLAGS = [ + '-fmessage-length=0', + '-pipe', + '-O0', + '-mdynamic-no-pic', + '-Werror', + '-Wnewline-eof', + '-fvisibility=hidden', + '-gdwarf-2', + '-Wall', + '-Wendif-labels', + '-fstack-protector', + '-fstack-protector-all', + ], + CPPDEFINES = [ + 'DEBUG', + ], + + FRAMEWORKPATH = [ + env.Dir('${TARGET_ROOT}'), + '/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks', + ], + FRAMEWORKS = [ + 'ApplicationServices', + 'Foundation', + ], + ) + else: print "Unsupported SCons $PLATFORM value %s" % repr(env['PLATFORM']) @@ -463,15 +494,19 @@ if LoadComponent('third_party'): '$BSDIFF_DIR/SConscript', '$BZIP2_DIR/SConscript', '$ICU38_DIR/SConscript', - '$LIBJPEG_DIR/SConscript', '$LIBPNG_DIR/SConscript', - '$LIBXML_DIR/SConscript', - '$LIBXSLT_DIR/SConscript', '$LZMA_SDK_DIR/SConscript', '$MODP_B64_DIR/SConscript', '$ZLIB_DIR/SConscript', ]) -# This is temoporary until we get this lib to build on other platforms. + # Temporary until we get these building on Mac. + if env['PLATFORM'] != 'darwin': + sconscripts.extend([ + '$LIBJPEG_DIR/SConscript', + '$LIBXML_DIR/SConscript', + '$LIBXSLT_DIR/SConscript', + ]) + # This is temporary until we get this lib to build on other platforms. if env['PLATFORM'] == 'win32': sconscripts.extend([ '$BSPATCH_DIR/SConscript', |