diff options
-rw-r--r-- | gears/SConscript | 126 | ||||
-rw-r--r-- | gears/SConscript.common | 7 | ||||
-rw-r--r-- | gears/SConscript.dll | 185 | ||||
-rw-r--r-- | gears/SConscript.libbreakpad_osx | 27 | ||||
-rw-r--r-- | gears/SConscript.libgd | 2 | ||||
-rw-r--r-- | gears/SConscript.libjpeg | 4 | ||||
-rw-r--r-- | gears/SConscript.libmozjs | 113 | ||||
-rw-r--r-- | gears/SConscript.portaudio | 18 | ||||
-rw-r--r-- | gears/SConscript.sqlite | 10 |
9 files changed, 459 insertions, 33 deletions
diff --git a/gears/SConscript b/gears/SConscript index 89224c4..f373024 100644 --- a/gears/SConscript +++ b/gears/SConscript @@ -6,6 +6,8 @@ # This assumes you have a working gears checkout from p4 in the current dir. # Steps for this: # > echo %USER%-chromegears > p4config +# or on linux/osx: +# > echo $USER-chromegears > p4config # > set P4CONFIG=p4config # > g4 client -p //depot/googleclient/gears/p4_depot_paths # > g4 sync @@ -56,7 +58,7 @@ os_browsers_map = { 'win32': ['IE', 'FF2', 'FF3', 'NPAPI'], 'wince': ['IE'], 'linux': ['FF2', 'FF3'], - 'osx': ['SF'], + 'osx': ['SF', 'FF2', 'FF3'], 'android': ['NPAPI'], } @@ -98,7 +100,7 @@ env.Replace( ) # Platform -# TODO: OSX and Symbian builds will override this value. +# TODO: Symbian builds will override this value. # For other platforms we set just one value. if env['OS'] in ['wince', 'android']: env.Replace(ARCH = 'arm') @@ -123,6 +125,18 @@ env.Replace( COMMON_GENFILES_DIR = "$COMMON_OUTDIR/genfiles", ) +# Library flags +env.Replace( + MOZJS_INCLUDE_PATHS = [ + '$MOZJS_DIR', + '$THIRD_PARTY_DIR/spidermonkey/nspr/pr/include', + '$THIRD_PARTY_DIR/spidermonkey/nspr/pr/include/private', + '$THIRD_PARTY_DIR/spidermonkey/nspr/pr/include/obsolete', + '$OSX_SDK_ROOT/Developer/Headers/FlatCarbon/', + ], + MOZJS_DIR = '$THIRD_PARTY_DIR/spidermonkey', +) + # Add our tools to the PATH. if os.path.exists(env.Dir('#/$PRIVATE_THIRD_PARTY_DIR').abspath): paths = [] @@ -236,7 +250,6 @@ env.Replace( '$OPEN_DIR', '$OPEN_DIR/..', '$THIRD_PARTY_DIR', - '$THIRD_PARTY_DIR/breakpad/src', '$THIRD_PARTY_DIR/googleurl', '$THIRD_PARTY_DIR/npapi', '$THIRD_PARTY_DIR/zlib', @@ -247,10 +260,20 @@ env.Replace( LIBPATH = [ '$LIBS_DIR', ], + CFLAGS = [], CCFLAGS = [], - CPPDEFINES = [], + CXXFLAGS = [], + CPPDEFINES = [ + # SpiderMonkey (the Firefox JS engine)'s JS_GET_CLASS macro in jsapi.h needs + # this defined to work with the gecko SDK that we've built. + # The definition of JS_THREADSAFE must be kept in sync with MOZJS_CPPFLAGS. + 'JS_THREADSAFE' + ], + FRAMEWORKPATH = [], + FRAMEWORKS = [], LIBS = [], LINKFLAGS = [], + SHLINKFLAGS = [], ) if env['MODE'] == 'dbg': @@ -399,6 +422,7 @@ if env['OS'] in ['win32', 'wince']: ], CPPPATH = [ '$VC80_CPPPATH', + '$THIRD_PARTY_DIR/breakpad/src', ], LIBPATH = [ '$VC80_LIBPATH', @@ -511,6 +535,7 @@ if env['OS'] in ['win32', 'wince']: '/OPT:ICF', ], ) +#--------------------------- LINUX --------------------------- elif env['OS'] == 'linux': env.Append( CPPDEFINES = [ @@ -575,19 +600,108 @@ elif env['OS'] == 'linux': '-O2', ], ) +#--------------------------- OSX --------------------------- +elif env['OS'] == 'osx': +# Gears uses the 10.4 SDK, so we need to build with g++-4.0. +# Chrome uses g++-4.2 so we override this here. + env['CC'] = 'gcc-4.0' + env['CXX'] = 'g++-4.0' +# Compile assembly files with the same command line as C files. + env['ASCOM'] = '$CCCOM' + + env.Append(OSX_SDK_ROOT = '/Developer/SDKs/MacOSX10.4u.sdk') + env.Append( + CPPDEFINES = [ + 'OSX', + 'OS_MACOSX', +# for breakpad + 'USE_PROTECTED_ALLOCATIONS=1', + ], + CPPPATH = [ +# Breakpad assumes it is in the include path + '$THIRD_PARTY_DIR/breakpad_osx/src', + ], + CCFLAGS = [ + ('-arch', 'ppc'), + ('-arch', 'i386'), + '-fPIC', + '-fmessage-length=0', +# TODO +# '-Wall', +# NS_LITERAL_STRING does not work properly without this compiler option + '-fshort-wchar', + '-fvisibility=hidden', +# Breakpad on OSX needs debug symbols to use the STABS format, rather than the +# default DWARF debug symbols format. Note that we enable gstabs for debug & +# opt; we strip them later in opt. + '-gstabs+', + ], + CXXFLAGS = [ + '-fvisibility-inlines-hidden', + '-fno-exceptions', + '-fno-rtti', + ('-Wall', + '-Wno-non-virtual-dtor', + '-Wno-ctor-dtor-privacy', + '-Wno-char-subscripts', +# When a function is deprecated in gcc, it stupidly warns about all functions +# and member functions that have the same name, regardless of signature. +# Example: Standard osx headers deprecate 'SetPort', which causes a warning for +# url_canon::Replacements::SetPort(). + '-Wno-deprecated-declarations', + ), + '-funsigned-char', + ('-include', env.File('#/$OPEN_DIR/base/safari/prefix_header.h').abspath), + ('-isysroot', '$OSX_SDK_ROOT') + ], + LINKFLAGS = [ + '-fPIC', + '-Bsymbolic', + '-arch', + 'ppc', + '-arch', + 'i386', + '-isysroot', + '$OSX_SDK_ROOT', + '-Wl,-dead_strip' + ], + ) + if env['MODE'] == 'dbg': + env.Append( + CPPFLAGS = [ + '-g', + '-O0', + ], + ) + else: # MODE=opt + env.Append( + CPPFLAGS = [ + '-O2', + ], + ) + # Load all the components sconscripts = [ 'SConscript.googleurl', - 'SConscript.libgd', 'SConscript.libjpeg', 'SConscript.libpng', - 'SConscript.portaudio', + 'SConscript.libmozjs', 'SConscript.sqlite', 'SConscript.zlib', ] +if env['OS'] == 'osx': + sconscripts += [ + 'SConscript.libbreakpad_osx', + ] + +if env['OS'] != 'osx': + sconscripts += [ + 'SConscript.libgd', + 'SConscript.portaudio', + ] for each in sconscripts: env.SConscript(each, diff --git a/gears/SConscript.common b/gears/SConscript.common index cfb7364..a497601 100644 --- a/gears/SConscript.common +++ b/gears/SConscript.common @@ -156,7 +156,8 @@ if env['OS'] == 'win32': crash_sender = env.Program('crash_sender', crash_sender_srcs, LIBS = Split('advapi32.lib shell32.lib wininet.lib')) elif env['OS'] == 'osx': - crash_sender = env.Program('crash_sender', crash_sender_srcs, - FRAMEWORKS = Split('Carbon Cocoa Foundation IOKit SystemConfiguration'), - LIBS='stdc++') + pass + # crash_sender = env.Program('crash_sender', crash_sender_srcs, + # FRAMEWORKS = Split('Carbon Cocoa Foundation IOKit SystemConfiguration'), + # LIBS='stdc++') env.Alias('gears', crash_sender) diff --git a/gears/SConscript.dll b/gears/SConscript.dll index cdefdca..8136e54 100644 --- a/gears/SConscript.dll +++ b/gears/SConscript.dll @@ -9,6 +9,8 @@ Import('env') env = env.Clone() +env['USING_NPAPI'] = env['BROWSER'] in ['SF', 'NPAPI'] + # TODO: move all these builders out to site_scons or somesuch. # Building .stab files, using M4FLAGS. @@ -70,6 +72,28 @@ 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 @@ -106,15 +130,18 @@ if env['BROWSER'] in ['FF2', 'FF3']: env.Prepend( CPPDEFINES = [ 'BROWSER_${BROWSER}=1', -# SpiderMonkey (the Firefox JS engine)'s JS_GET_CLASS macro in jsapi.h needs -# this defined to work with the gecko SDK that we've built. -# The definition of JS_THREADSAFE must be kept in sync with MOZJS_CPPFLAGS. -# TODO(mpcomplete): we only need this for FF and SF, I think. - 'JS_THREADSAFE', ], ) if env['BROWSER'] in ['FF2', 'FF3']: + + if env['OS'] == 'osx': + env.Prepend( + CPPDEFINES = [ + 'LINUX' + ] + ) + env.Prepend( CPPDEFINES = [ # TODO(cprince): Update source files so we don't need this compatibility define? @@ -157,6 +184,30 @@ env.Append( ], ) +if env['OS'] == 'osx': + env.Append( + LINKFLAGS = [ + '-mmacosx-version-min=10.4', + '-bundle' + ], + LIBS = [ + 'mozjs-gears', + 'curl', + 'crypto', + 'leopard_support', + 'breakpad_osx-gears' + ], + LIBPATH = [ + '$OPEN_DIR/tools/osx' + ], + FRAMEWORKS = [ + 'Carbon', + 'CoreServices', + 'Cocoa', + 'WebKit', + ] + ) + # Add in libraries for in-development APIs for non-official builds. if not env['OFFICIAL_BUILD']: if env['OS'] != 'wince': @@ -296,6 +347,24 @@ if env['OS'] == 'win32': # TODO: move to breakpad env.Append(CPPFLAGS = ['/wd4018']) +# Extra per-browser files +browser_specific_objects = [] + +if env['BROWSER'] == 'SF': + mozjs_sources = [ + '$MOZJS_DIR/gears_npapi_bindings/mozjs_npruntime.cc', + '$MOZJS_DIR/gears_npapi_bindings/mozjs_npruntime_utils.cc', + '$OPEN_DIR/base/common/js_standalone_engine_mozjs.cc', + '$MOZJS_DIR/gears_npapi_bindings/mozjs_npapi_storage.cc' + ] + mozjs_objects = env.SharedObject( + mozjs_sources, + CPPPATH = env['CPPPATH'] + env['MOZJS_INCLUDE_PATHS']) + browser_specific_objects += mozjs_objects + +# TODO(playmobil): Create builder to generate required header files. +# browser_specific_objects += \ +# env.SharedObject('$OPEN_DIR/base/safari/resource_archive.cc') # Input file lists def NewInputs(): @@ -341,6 +410,16 @@ if env['OS'] == 'win32': ] #----------------------------------------------------------------------------- +# third_party/breakpad_osx +srcs['SF'] += [ + '$OPEN_DIR/base/common/exception_handler_osx.mm', + '$OPEN_DIR/base/common/exception_handler_osx/google_breakpad.mm', + '$OPEN_DIR/base/common/exception_handler_osx/mach_ipc.mm', + '$OPEN_DIR/base/common/exception_handler_osx/on_demand_server.mm', + '$OPEN_DIR/base/common/exception_handler_osx/simple_string_dictionary.mm' +] + +#----------------------------------------------------------------------------- # third_party/v8/bindings srcs['NPAPI'] += [ @@ -446,6 +525,13 @@ srcs['all'] += [ '$OPEN_DIR/base/common/vista_utils.cc', ] +if env['OS'] == 'osx': + srcs['all'] += [ + '$OPEN_DIR/base/common/common_osx.mm', + '$OPEN_DIR/base/safari/nsstring_utils.mm', + '$OPEN_DIR/base/common/user_config_osx.cc' + ] + #----------------------------------------------------------------------------- # base/firefox @@ -554,6 +640,33 @@ if env['OS'] == 'win32': ] #----------------------------------------------------------------------------- +# base/safari +srcs['SF'] += [ + '$OPEN_DIR/base/common/common_sf.mm', + '$OPEN_DIR/base/common/detect_version_collision_osx.cc', + '$OPEN_DIR/base/common/file_posix.cc', + '$OPEN_DIR/base/common/html_event_monitor_np.cc', + '$OPEN_DIR/base/common/ipc_message_queue_linux.cc', + '$OPEN_DIR/base/common/ipc_message_queue_test.cc', + '$OPEN_DIR/base/common/ipc_message_queue_test_osx.mm', + '$OPEN_DIR/base/common/js_runner_np.cc', + '$OPEN_DIR/base/common/message_queue_sf.cc', + '$OPEN_DIR/base/common/paths_sf.mm', + '$OPEN_DIR/base/common/paths_sf_more.mm', + '$OPEN_DIR/base/npapi/browser_utils.cc', + '$OPEN_DIR/base/npapi/module.cc', + '$OPEN_DIR/base/npapi/np_utils.cc', + '$OPEN_DIR/base/npapi/npn_bindings.cc', + '$OPEN_DIR/base/npapi/npp_bindings.cc', + '$OPEN_DIR/base/npapi/plugin.cc', + '$OPEN_DIR/base/safari/browser_load_hook.mm', + '$OPEN_DIR/base/safari/browser_utils_sf.cc', + '$OPEN_DIR/base/safari/curl_downloader.mm', + '$OPEN_DIR/base/safari/messagebox.mm', + '$OPEN_DIR/base/safari/safari_workarounds.m', +] + +#----------------------------------------------------------------------------- # console srcs['all'] += [ @@ -675,9 +788,12 @@ srcs['FF3'] += [ '$OPEN_DIR/localserver/common/http_cookies.cc', ] +srcs['SF'] += [ + '$OPEN_DIR/localserver/common/http_cookies.cc', +] + #----------------------------------------------------------------------------- # localserver/chrome + npapi -# TODO: safari srcs['NPAPI'] += [ '$OPEN_DIR/localserver/chrome/gears_protocol_handler.cc', @@ -690,6 +806,22 @@ srcs['NPAPI'] += [ ] #----------------------------------------------------------------------------- +# localserver/safari + +srcs['SF'] += [ + '$OPEN_DIR/localserver/safari/async_task_sf.mm', + '$OPEN_DIR/localserver/safari/http_cookies_sf.mm', + '$OPEN_DIR/localserver/safari/http_handler.mm', + '$OPEN_DIR/localserver/safari/http_request_delegate.mm', + '$OPEN_DIR/localserver/safari/http_request_sf.mm', + '$OPEN_DIR/localserver/safari/localserver_db_proxy.mm', + '$OPEN_DIR/localserver/common/progress_event.cc', + '$OPEN_DIR/localserver/safari/progress_input_stream.mm', + '$OPEN_DIR/localserver/common/safe_http_request.cc', + '$OPEN_DIR/localserver/safari/ui_thread.cc' +] + +#----------------------------------------------------------------------------- # localserver/firefox srcs['FF3'] += [ @@ -767,6 +899,10 @@ srcs['FF3'] += [ '$OPEN_DIR/ui/common/settings_dialog.cc', ] +srcs['SF'] += [ + '$OPEN_DIR/ui/common/settings_dialog.cc', +] + stabsrcs['all'] = [ '$OPEN_DIR/ui/common/permissions_dialog.js.stab', '$OPEN_DIR/ui/common/settings_dialog.js.stab', @@ -775,7 +911,6 @@ stabsrcs['all'] = [ #----------------------------------------------------------------------------- # ui/npapi -# TODO: safari m4srcs['all'] += [ '$OPEN_DIR/ui/ie/ui_resources.rc.m4', @@ -790,6 +925,16 @@ srcs['NPAPI'] += [ ] #----------------------------------------------------------------------------- +# ui/safari + +srcs['SF'] += [ + '$OPEN_DIR/ui/safari/html_dialog_sf.mm', + '$OPEN_DIR/ui/safari/html_modeless_dialog_sf.mm', + '$OPEN_DIR/ui/safari/native_dialogs_osx.mm', + '$OPEN_DIR/ui/safari/settings_menu.mm', +] + +#----------------------------------------------------------------------------- # ui/factory m4srcs['FF3'] += [ @@ -850,13 +995,12 @@ elif env['OS'] == 'wince': #----------------------------------------------------------------------------- # workerpool/npapi -# TODO: safari - -srcs['NPAPI'] += [ - '$OPEN_DIR/workerpool/common/workerpool_utils.cc', - '$OPEN_DIR/workerpool/npapi/pool_threads_manager.cc', - '$OPEN_DIR/workerpool/workerpool.cc', -] +if env['USING_NPAPI']: + srcs['all'] += [ + '$OPEN_DIR/workerpool/common/workerpool_utils.cc', + '$OPEN_DIR/workerpool/npapi/pool_threads_manager.cc', + '$OPEN_DIR/workerpool/workerpool.cc', + ] #----------------------------------------------------------------------------- # workerpool/firefox @@ -959,11 +1103,12 @@ if not env['OFFICIAL_BUILD'] and env['OS'] != 'wince': #----------------------------------------------------------------------------- # factory/npapi -srcs['NPAPI'] += [ - '$OPEN_DIR/factory/factory_impl.cc', - '$OPEN_DIR/factory/factory_np.cc', - '$OPEN_DIR/factory/factory_utils.cc', -] +if env['USING_NPAPI']: + srcs['all'] += [ + '$OPEN_DIR/factory/factory_impl.cc', + '$OPEN_DIR/factory/factory_np.cc', + '$OPEN_DIR/factory/factory_utils.cc', + ] #----------------------------------------------------------------------------- # factory/firefox @@ -1180,7 +1325,7 @@ if env['OS'] in ['win32', 'wince']: env.Depends(module_res, m4s) module = env.ChromeSharedLibrary('gears', - srcs['all'] + libs + dll_resources) + srcs['all'] + libs + dll_resources + browser_specific_objects) env.Alias('gears', module) if env['OS'] == 'wince': diff --git a/gears/SConscript.libbreakpad_osx b/gears/SConscript.libbreakpad_osx new file mode 100644 index 0000000..7a8bff4 --- /dev/null +++ b/gears/SConscript.libbreakpad_osx @@ -0,0 +1,27 @@ +# Copyright (c) 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('env') + +env = env.Clone( +) + +env.Append( +) + +input_files = [ + '$THIRD_PARTY_DIR/breakpad_osx/src/client/mac/handler/dynamic_images.cc', + '$THIRD_PARTY_DIR/breakpad_osx/src/client/mac/handler/exception_handler.cc', + '$THIRD_PARTY_DIR/breakpad_osx/src/common/mac/file_id.cc', + '$THIRD_PARTY_DIR/breakpad_osx/src/common/mac/macho_id.cc', + '$THIRD_PARTY_DIR/breakpad_osx/src/common/mac/macho_utilities.cc', + '$THIRD_PARTY_DIR/breakpad_osx/src/common/mac/macho_walker.cc', + '$THIRD_PARTY_DIR/breakpad_osx/src/client/minidump_file_writer.cc', + '$THIRD_PARTY_DIR/breakpad_osx/src/client/mac/handler/minidump_generator.cc', + '$THIRD_PARTY_DIR/breakpad_osx/src/client/mac/handler/protected_memory_allocator.cc', + '$THIRD_PARTY_DIR/breakpad_osx/src/common/string_conversion.cc', + '$THIRD_PARTY_DIR/breakpad_osx/src/common/mac/string_utilities.cc', +] + +env.ChromeStaticLibrary('breakpad_osx-gears', input_files) diff --git a/gears/SConscript.libgd b/gears/SConscript.libgd index a857721..79c1961 100644 --- a/gears/SConscript.libgd +++ b/gears/SConscript.libgd @@ -45,7 +45,7 @@ if env['OS'] == 'win32': '/wd4102', ], ) -elif env['OS'] == 'linux': +elif env['OS'] in ['linux', 'osx']: env.Append( CPPFLAGS = [ '-Wno-unused-variable', diff --git a/gears/SConscript.libjpeg b/gears/SConscript.libjpeg index c6c7da6..167f026 100644 --- a/gears/SConscript.libjpeg +++ b/gears/SConscript.libjpeg @@ -18,9 +18,9 @@ env.Replace( ], ) -if env['OS'] == 'linux': +if env['OS'] in ['osx', 'linux']: env.Append( - CCFLAGS = [ + CFLAGS = [ '-Wno-main', ], ) diff --git a/gears/SConscript.libmozjs b/gears/SConscript.libmozjs new file mode 100644 index 0000000..bc7ac9c --- /dev/null +++ b/gears/SConscript.libmozjs @@ -0,0 +1,113 @@ +# Copyright (c) 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('env') + +env = env.Clone( +) + +env.Append( + CPPDEFINES = [ + 'JS_THREADSAFE', + 'XP_UNIX', + 'DARWIN', + 'HAVE_BSD_FLOCK', + 'XP_MACOSX', + 'HAVE_LCHOWN', + 'HAVE_STRERROR', + 'FORCE_PR_LOG', + '_PR_PTHREADS', + 'UHAVE_CVAR_BUILT_ON_SEM', + '_NSPR_BUILD_', + 'OSARCH=Darwin', + 'STATIC_JS_API', + 'JS_USE_SAFE_ARENA', + 'TRIMMED', + 'JS_HAS_EXPORT_IMPORT' + ], + CPPPATH = '$MOZJS_INCLUDE_PATHS', +) + +input_files = [ + # Common Files + '$MOZJS_DIR/nspr/pr/src/md/unix/darwin.c', + '$MOZJS_DIR/js/src/jsapi.c', + '$MOZJS_DIR/js/src/jsarena.c', + '$MOZJS_DIR/js/src/jsarray.c', + '$MOZJS_DIR/js/src/jsatom.c', + '$MOZJS_DIR/js/src/jsbool.c', + '$MOZJS_DIR/js/src/jscntxt.c', + '$MOZJS_DIR/js/src/jsdate.c', + '$MOZJS_DIR/js/src/jsdbgapi.c', + '$MOZJS_DIR/js/src/jsdhash.c', + '$MOZJS_DIR/js/src/jsdtoa.c', + '$MOZJS_DIR/js/src/jsemit.c', + '$MOZJS_DIR/js/src/jsexn.c', + '$MOZJS_DIR/js/src/jsfun.c', + '$MOZJS_DIR/js/src/jsgc.c', + '$MOZJS_DIR/js/src/jshash.c', + '$MOZJS_DIR/js/src/jsinterp.c', + '$MOZJS_DIR/js/src/jsinvoke.c', + '$MOZJS_DIR/js/src/jsiter.c', + '$MOZJS_DIR/js/src/jskwgen.c', + '$MOZJS_DIR/js/src/jslock.c', + '$MOZJS_DIR/js/src/jslog2.c', + '$MOZJS_DIR/js/src/jslong.c', + '$MOZJS_DIR/js/src/jsmath.c', + '$MOZJS_DIR/js/src/jsnum.c', + '$MOZJS_DIR/js/src/jsobj.c', + '$MOZJS_DIR/js/src/jsopcode.c', + '$MOZJS_DIR/js/src/jsparse.c', + '$MOZJS_DIR/js/src/jsprf.c', + '$MOZJS_DIR/js/src/jsregexp.c', + '$MOZJS_DIR/js/src/jsscan.c', + '$MOZJS_DIR/js/src/jsscope.c', + '$MOZJS_DIR/js/src/jsscript.c', + '$MOZJS_DIR/js/src/jsstr.c', + '$MOZJS_DIR/js/src/jsutil.c', + '$MOZJS_DIR/js/src/jsxdrapi.c', + '$MOZJS_DIR/js/src/jsxml.c', + '$MOZJS_DIR/xpcom/glue/pldhash.c', + '$MOZJS_DIR/nspr/pr/src/misc/pratom.c', + '$MOZJS_DIR/nspr/pr/src/threads/prcmon.c', + '$MOZJS_DIR/nspr/pr/src/misc/prdtoa.c', + '$MOZJS_DIR/nspr/pr/src/misc/prenv.c', + '$MOZJS_DIR/nspr/pr/src/misc/prerr.c', + '$MOZJS_DIR/nspr/pr/src/misc/prerror.c', + '$MOZJS_DIR/nspr/pr/src/misc/prerrortable.c', + '$MOZJS_DIR/nspr/pr/src/io/prfdcach.c', + '$MOZJS_DIR/nspr/pr/src/misc/prinit.c', + '$MOZJS_DIR/nspr/pr/src/misc/prinrval.c', + '$MOZJS_DIR/nspr/pr/src/io/priometh.c', + '$MOZJS_DIR/nspr/pr/src/io/pripv6.c', + '$MOZJS_DIR/nspr/pr/src/io/prlayer.c', + '$MOZJS_DIR/nspr/pr/src/linking/prlink.c', + '$MOZJS_DIR/nspr/pr/src/io/prlog.c', + '$MOZJS_DIR/nspr/pr/src/malloc/prmalloc.c', + '$MOZJS_DIR/nspr/pr/src/io/prmapopt.c', + '$MOZJS_DIR/nspr/pr/src/malloc/prmem.c', + '$MOZJS_DIR/js/src/prmjtime.c', + '$MOZJS_DIR/nspr/pr/src/io/prmmap.c', + '$MOZJS_DIR/nspr/pr/src/io/prmwait.c', + '$MOZJS_DIR/nspr/pr/src/misc/prnetdb.c', + '$MOZJS_DIR/nspr/pr/src/md/prosdep.c', + '$MOZJS_DIR/nspr/pr/src/io/prprf.c', + '$MOZJS_DIR/nspr/pr/src/threads/prrwlock.c', + '$MOZJS_DIR/nspr/pr/src/io/prscanf.c', + '$MOZJS_DIR/nspr/pr/src/memory/prseg.c', + '$MOZJS_DIR/nspr/pr/src/io/prstdio.c', + '$MOZJS_DIR/nspr/pr/src/misc/prtime.c', + '$MOZJS_DIR/nspr/pr/src/threads/prtpd.c', + '$MOZJS_DIR/nspr/pr/src/pthreads/ptio.c', + '$MOZJS_DIR/nspr/pr/src/pthreads/ptmisc.c', + '$MOZJS_DIR/nspr/pr/src/pthreads/ptsynch.c', + '$MOZJS_DIR/nspr/pr/src/pthreads/ptthread.c', + '$MOZJS_DIR/nspr/pr/src/md/unix/unix.c', + '$MOZJS_DIR/nspr/pr/src/md/unix/unix_errors.c', + '$MOZJS_DIR/nspr/pr/src/md/unix/uxproces.c', + '$MOZJS_DIR/nspr/pr/src/md/unix/os_Darwin_ppc.s', + '$MOZJS_DIR/nspr/pr/src/md/unix/os_Darwin_x86.s', +] + +env.ChromeStaticLibrary('mozjs-gears', input_files) diff --git a/gears/SConscript.portaudio b/gears/SConscript.portaudio index 888ef1d..612d8f1 100644 --- a/gears/SConscript.portaudio +++ b/gears/SConscript.portaudio @@ -50,7 +50,23 @@ elif env['OS'] == 'linux': 'HAVE_SYS_SOUNDCARD_H=1', ], ) - +elif env['OS'] == 'osx': + env.Append( + CPPPATH = [ + '$PA_DIR/src/hostapi/coreaudio', + '$PA_DIR/src/hostapi/mac_osx', + '$PA_DIR/src/os/unix', + ], + CPPFLAGS = [ +# disable some warnings + '-Wno-unused-variable', + '-Wno-uninitialized', + ], + CPPDEFINES = [ + 'PA_USE_COREAUDIO', + ], + ) + input_files = [ '$PA_DIR/src/common/pa_allocation.c', '$PA_DIR/src/common/pa_converters.c', diff --git a/gears/SConscript.sqlite b/gears/SConscript.sqlite index 9fb9c3f..09fe8fa9 100644 --- a/gears/SConscript.sqlite +++ b/gears/SConscript.sqlite @@ -73,6 +73,16 @@ elif env['OS'] == 'linux': 'HAVE_USLEEP=1', ], ) +elif env['OS'] == 'osx': + env.Append( + CFLAGS = [ + '-Wno-uninitialized', + '-Wno-pointer-sign', + ], + CPPDEFINES = [ + 'HAVE_USLEEP=1', + ], + ) input_files = [ '$SQLITE_DIR/src/alter.c', |