summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-09-11 23:05:11 +0000
committersgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-09-11 23:05:11 +0000
commitca4ce1ca78aabbffef981ab41bfdd646bfeb96d7 (patch)
treea97a4c3ae633f774e8665d3306b63ccaf6d3b95a
parenta9122956f932ea606843d43aa3fc8a4a4f91f7ed (diff)
downloadchromium_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
-rw-r--r--base/SConscript12
-rw-r--r--build/SConscript.main99
-rw-r--r--net/SConscript7
-rw-r--r--skia/SConscript2
4 files changed, 84 insertions, 36 deletions
diff --git a/base/SConscript b/base/SConscript
index 4684674..6be099c 100644
--- a/base/SConscript
+++ b/base/SConscript
@@ -68,7 +68,6 @@ input_files = [
'tracked_objects.cc',
'values.cc',
'word_iterator.cc',
- 'worker_pool.cc',
'third_party/nspr/prtime.cc',
'third_party/nss/sha512.cc',
]
@@ -123,6 +122,7 @@ if env['PLATFORM'] == 'win32':
'waitable_event_win.cc',
'win_util.cc',
'wmi_util.cc',
+ 'worker_pool.cc',
])
if env['PLATFORM'] in ('darwin', 'posix'):
@@ -144,11 +144,13 @@ if env['PLATFORM'] in ('darwin', 'posix'):
if env['PLATFORM'] == 'darwin':
input_files.extend([
'base_paths_mac.mm',
- 'clipboard_mac.cc',
+ 'clipboard_mac.mm',
'file_util_mac.mm',
'file_version_info_mac.mm',
'hmac_mac.cc',
+ 'platform_thread_mac.mm',
'sys_string_conversions_mac.cc',
+ 'worker_pool_mac.mm',
])
if env['PLATFORM'] == 'posix':
@@ -157,6 +159,7 @@ if env['PLATFORM'] == 'posix':
'base_paths_linux.cc',
'file_util_linux.cc',
'sys_string_conversions_linux.cc',
+ 'worker_pool.cc',
])
env.ChromeStaticLibrary('base', input_files)
@@ -302,6 +305,11 @@ if env['PLATFORM'] == 'win32':
'wmi_util_unittest.cc',
])
+if env['PLATFORM'] == 'darwin':
+ test_files.extend([
+ 'platform_test_mac.mm',
+ ])
+
base_unittests = env_tests.ChromeTestProgram('base_unittests', test_files)
# Install up a level to allow unit test path assumptions to be valid.
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',
diff --git a/net/SConscript b/net/SConscript
index 7b5c187..0b3fd50 100644
--- a/net/SConscript
+++ b/net/SConscript
@@ -125,7 +125,7 @@ if env['PLATFORM'] == 'win32':
if env['PLATFORM'] == 'darwin':
input_files.extend([
- 'base/platform_mime_util_mac.cc',
+ 'base/platform_mime_util_mac.mm',
])
if env['PLATFORM'] == 'posix':
@@ -253,6 +253,11 @@ if env['PLATFORM'] == 'win32':
'url_request/url_request_unittest.cc',
])
+if env['PLATFORM'] == 'darwin':
+ unittest_files.extend([
+ '../base/platform_test_mac.o',
+ ])
+
net_unittests = env_tests.ChromeTestProgram('net_unittests', unittest_files)
install_targets = net_unittests[:]
diff --git a/skia/SConscript b/skia/SConscript
index a255067..a646836 100644
--- a/skia/SConscript
+++ b/skia/SConscript
@@ -36,7 +36,7 @@ if env['PLATFORM'] == 'win32':
'/wd4800',
],
)
-elif env['PLATFORM'] == 'posix':
+elif env['PLATFORM'] in ('posix', 'darwin'):
if '-Wall' in env['CCFLAGS']:
# We're not responsible for bad warning hygiene in this third party code.
env['CCFLAGS'].remove('-Wall')