diff options
author | mpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-11-14 20:23:01 +0000 |
---|---|---|
committer | mpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-11-14 20:23:01 +0000 |
commit | d924c436f199eb90b3d5c10e8d5aedd991de4f1d (patch) | |
tree | 7b5b127eca25377c5f0b1d2e1bd7e7b3367bed46 /gears | |
parent | 295659c7f84cc46843da8b602b60b682059237a1 (diff) | |
download | chromium_src-d924c436f199eb90b3d5c10e8d5aedd991de4f1d.zip chromium_src-d924c436f199eb90b3d5c10e8d5aedd991de4f1d.tar.gz chromium_src-d924c436f199eb90b3d5c10e8d5aedd991de4f1d.tar.bz2 |
Fix SF, FF2, and FF3 builds on osx in gears-scons build. OFFICIAL_BUILD=0 now
works as well.
Review URL: http://codereview.chromium.org/10923
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5504 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gears')
-rw-r--r-- | gears/SConscript | 15 | ||||
-rw-r--r-- | gears/SConscript.browser | 114 | ||||
-rw-r--r-- | gears/SConscript.common | 2 | ||||
-rwxr-xr-x | gears/SConscript.inputs | 19 | ||||
-rw-r--r-- | gears/SConscript.portaudio | 2 |
5 files changed, 89 insertions, 63 deletions
diff --git a/gears/SConscript b/gears/SConscript index f300de3..4bdb0c7 100644 --- a/gears/SConscript +++ b/gears/SConscript @@ -634,6 +634,7 @@ elif env['OS'] == 'osx': '$THIRD_PARTY_DIR/breakpad_osx/src', ], CCFLAGS = [ + '-mmacosx-version-min=10.4', ('-arch', 'ppc'), ('-arch', 'i386'), '-fPIC', @@ -667,15 +668,13 @@ elif env['OS'] == 'osx': ('-isysroot', '$OSX_SDK_ROOT') ], LINKFLAGS = [ - '-fPIC', + '-mmacosx-version-min=10.4', + '-fPIC', '-Bsymbolic', - '-arch', - 'ppc', - '-arch', - 'i386', - '-isysroot', - '$OSX_SDK_ROOT', - '-Wl,-dead_strip' + ('-arch', 'ppc'), + ('-arch', 'i386'), + ('-isysroot', '$OSX_SDK_ROOT'), + '-Wl,-dead_strip', ], ) if env['MODE'] == 'dbg': diff --git a/gears/SConscript.browser b/gears/SConscript.browser index c24c870..090bab7 100644 --- a/gears/SConscript.browser +++ b/gears/SConscript.browser @@ -82,28 +82,6 @@ elif env['BROWSER'] in ['FF2', 'FF3']: env['GECKO_BASE'] = '$THIRD_PARTY_DIR/gecko_1.9' env.PrependENVPath('PATH', env.Dir('#/$GECKO_BIN').abspath) -elif env['BROWSER'] == 'SF': - env.Replace( -# Enable breakpad for Safari on MacOSX. - USING_BREAKPAD_OSX = '1') - - env.Append( - CPPDEFINES = [ -# Remove these - During development, it was convenient to have these defined in -# the Safari port. Before release we want to clean this up, and replace these -# with a single BROWSER_SF symbol. -# We also want to consolidate the include paths, so we don't have to add these -# paths here. - 'BROWSER_NPAPI', - 'BROWSER_WEBKIT', - 'BROWSER_SAFARI' - ], - CCFLAGS = [ -# These flags are needed so that instead of exporting all symbols defined in -# the code, we just export those specifically marked, this reduces the output size. - '-fvisibility=hidden' - ], - CPPPATH = ['$THIRD_PARTY/spidermonkey/nspr/pr/include']) def MyIdlEmitter(target, source, env): """Produce the list of outputs generated by our IDL compiler. Outputs @@ -174,22 +152,36 @@ elif env['BROWSER'] == 'NPAPI' and env['OS'] == 'win32': 'BROWSER_CHROME=1', ], ) +elif env['BROWSER'] == 'SF': + env.Replace( +# Enable breakpad for Safari on MacOSX. + USING_BREAKPAD_OSX = '1') + + env.Append( + CPPDEFINES = [ +# Remove these - During development, it was convenient to have these defined in +# the Safari port. Before release we want to clean this up, and replace these +# with a single BROWSER_SF symbol. +# We also want to consolidate the include paths, so we don't have to add these +# paths here. + 'BROWSER_NPAPI', + 'BROWSER_WEBKIT', + 'BROWSER_SAFARI' + ], + CCFLAGS = [ +# These flags are needed so that instead of exporting all symbols defined in +# the code, we just export those specifically marked, this reduces the output +# size. + '-fvisibility=hidden' + ], + CPPPATH = ['$THIRD_PARTY/spidermonkey/nspr/pr/include'] + ) env.Append( - CPPPATH = [ -# '$LIBPNG_DIR', -# '$SKIA_DIR/include', -# '$SKIA_DIR/include/corecg', -# '$SKIA_DIR/platform', - ], LIBS = [ -# 'base', 'googleurl-gears', -# env['ICU_LIBS'], # TODO(sgk): '$ICU_LIBS' when scons is fixed -# 'modp_b64', 'png-gears', 'sqlite-gears', -# 'skia', 'zlib-gears', ], ) @@ -197,7 +189,6 @@ env.Append( if env['OS'] == 'osx': env.Append( LINKFLAGS = [ - '-mmacosx-version-min=10.4', '-bundle' ], LIBS = [ @@ -217,6 +208,13 @@ if env['OS'] == 'osx': 'WebKit', ] ) + if not env['OFFICIAL_BUILD']: + # For PortAudio: + env.Append(FRAMEWORKS = [ + 'CoreAudio', + 'AudioToolbox', + 'AudioUnit', + ]) # Add in libraries for in-development APIs for non-official builds. if not env['OFFICIAL_BUILD']: @@ -232,11 +230,6 @@ if not env['OFFICIAL_BUILD']: 'gd', 'jpeg-gears', ]) - elif env['OS'] == 'osx': - env.FilterOut(LIBS = [ - 'gd', - 'portaudio', - ]) if env['BROWSER'] == 'IE': if env['OS'] == 'win32': @@ -278,16 +271,18 @@ if env['BROWSER'] == 'IE': ], ) elif env['BROWSER'] in ['FF2', 'FF3']: - env.Append( - LIBPATH = '$GECKO_LIB', - LIBS = [ - 'xpcom', - 'xpcomglue_s', - ], - ) + env.Append(LIBPATH = '$GECKO_LIB') + + if env['BROWSER'] == 'FF2': + env.Append(LIBS = '$FF2_LIBS') + else: + env.Append(LIBS = '$FF3_LIBS') + if env['OS'] == 'win32': env.Append( LIBS = [ + 'xpcom', + 'xpcomglue_s', 'nspr4.lib', 'js3250.lib', 'ole32.lib', @@ -300,10 +295,31 @@ elif env['BROWSER'] in ['FF2', 'FF3']: ], ) elif env['OS'] == 'linux': - # Although the 1.9 SDK contains libnspr4, it is better to link against - # libxul, which in turn depends on libnspr4. In Ubuntu 8.04, libnspr4 was - # not listed in /usr/lib, only libxul was. - env.Append(LIBS = (env['BROWSER'] == 'FF2' and 'nspr4' or 'xul')) + env.Append( + LIBS = [ + 'xpcom', + 'xpcomglue_s', + ], +# Although the 1.9 SDK contains libnspr4, it is better to link against +# libxul, which in turn depends on libnspr4. In Ubuntu 8.04, libnspr4 was +# not listed in /usr/lib, only libxul was. + FF2_LIBS = ['nspr4'], + FF3_LIBS = ['xul'], + ) + elif env['OS'] == 'osx': + env.Append( + LIBS = [ + 'xpcom', + 'mozjs', + 'nspr4', + 'plds4', + 'plc4', + ], + FF2_LIBS = ['xpcom_core'], +# TODO(mpcomplete): the Makefiles specify many more libs, but we link fine with +# just this. Why? + FF3_LIBS = ['xpcomglue_s'], + ) elif env['BROWSER'] == 'NPAPI': env.Append( LIBS = [ diff --git a/gears/SConscript.common b/gears/SConscript.common index 2500e39..4c6ad5c 100644 --- a/gears/SConscript.common +++ b/gears/SConscript.common @@ -60,6 +60,8 @@ if GetInputs('$COMMON_BINSRCS'): '$COMMON_GENFILES_DIR/${SOURCE.file}.from_bin.cc', src)) for src in GetInputs('$COMMON_BINSRCS')] common_targets['link'] = [env.SharedObject(bin) for bin in bins] +else: + common_targets['link'] = [] Export('common_targets') diff --git a/gears/SConscript.inputs b/gears/SConscript.inputs index 09c78a6..ff5ff4b 100755 --- a/gears/SConscript.inputs +++ b/gears/SConscript.inputs @@ -258,7 +258,8 @@ if env['OS'] == 'osx': env.Append(BROWSER_CPPSRCS = [ '$OPEN_DIR/base/common/common_osx.mm', '$OPEN_DIR/base/safari/nsstring_utils.mm', - '$OPEN_DIR/base/common/user_config_osx.cc' + '$OPEN_DIR/base/common/user_config_osx.cc', + '$OPEN_DIR/notifier/notifier_process_osx.mm', ]) #----------------------------------------------------------------------------- @@ -293,6 +294,11 @@ env.Append(FF3_CPPSRCS = [ '$OPEN_DIR/base/firefox/xpcom_dynamic_load.cc', ]) +if env['OS'] == 'osx': + env.Append(FF3_CPPSRCS = [ + '$OPEN_DIR/base/common/ipc_message_queue_test_osx.mm', + ]) + #----------------------------------------------------------------------------- # base/ie @@ -406,7 +412,7 @@ env.Append(BROWSER_CPPSRCS = [ # canvas # The Canvas API is not yet enabled in official builds. -if not env['OFFICIAL_BUILD'] and env['OS'] in ['win32', 'osx']: +if not env['OFFICIAL_BUILD'] and env['OS'] in ['win32', 'osx']: env.Append(BROWSER_CPPSRCS = [ '$OPEN_DIR/canvas/blob_backed_skia_input_stream.cc', '$OPEN_DIR/canvas/blob_backed_skia_output_stream.cc', @@ -978,10 +984,13 @@ env.Append(COMMON_RESOURCES = [ #----------------------------------------------------------------------------- # libs +if not env['OFFICIAL_BUILD'] and env['OS'] in ['win32', 'osx']: + env.Append( + LIBPATH = ['$THIRD_PARTY_DIR/skia'], + LIBS = ['${LIBPREFIX}skia-${MODE}-${OS}-${ARCH}${LIBSUFFIX}'], + ) + if env['OS'] == 'win32': - env.Append(BROWSER_LINKSRCS = [ - '$THIRD_PARTY_DIR/skia/skia-${MODE}-${OS}-${ARCH}.lib', - ]) env.Append(NPAPI_LINKSRCS = [ '$THIRD_PARTY_DIR/v8/bin-${MODE}/libv8core.lib', '$THIRD_PARTY_DIR/v8/bin-${MODE}/no_snapshotv8.lib', diff --git a/gears/SConscript.portaudio b/gears/SConscript.portaudio index 5b65208..f053763 100644 --- a/gears/SConscript.portaudio +++ b/gears/SConscript.portaudio @@ -100,7 +100,7 @@ elif env['OS'] == 'osx': '$PA_DIR/src/hostapi/coreaudio/pa_mac_core.c', '$PA_DIR/src/hostapi/coreaudio/pa_mac_core_blocking.c', '$PA_DIR/src/hostapi/coreaudio/pa_mac_core_utilities.c', - '$PA_DIR/src/os/osx/pa_mac_hostapis.c', + '$PA_DIR/src/os/mac_osx/pa_mac_hostapis.c', '$PA_DIR/src/os/unix/pa_unix_util.c', ] |