]>
git.saurik.com Git - apple/javascriptcore.git/blob - wscript
   3 # Copyright (C) 2009 Kevin Ollivier  All rights reserved. 
   5 # Redistribution and use in source and binary forms, with or without 
   6 # modification, are permitted provided that the following conditions 
   8 # 1. Redistributions of source code must retain the above copyright 
   9 #    notice, this list of conditions and the following disclaimer. 
  10 # 2. Redistributions in binary form must reproduce the above copyright 
  11 #    notice, this list of conditions and the following disclaimer in the 
  12 #    documentation and/or other materials provided with the distribution. 
  14 # THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY 
  15 # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
  16 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
  17 # PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR 
  18 # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
  19 # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
  20 # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
  21 # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 
  22 # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
  23 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
  24 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
  26 # JavaScriptCore build script for the waf build system 
  30 from settings 
import * 
  36     jscore_excludes 
= ['jsc.cpp', 'ProfilerServer.mm', 'ExecutableAllocatorPosix.cpp'] 
  37     jscore_excludes
.extend(get_excludes(jscore_dir
, ['*Brew.cpp', '*CF.cpp', '*Symbian.cpp'])) 
  39     jscore_excludes
.extend(get_excludes(jscore_dir
, ['*None.cpp'])) 
  43     if Options
.options
.port 
== "wx": 
  45             jscore_excludes 
+= ['MarkStackPosix.cpp', 'OSAllocatorPosix.cpp', 'ThreadingPthreads.cpp'] 
  46             sources 
+= ['heap/MarkStackWin.cpp'] 
  48             jscore_excludes
.append('JSStringRefBSTR.cpp') 
  49             jscore_excludes
.extend(get_excludes(jscore_dir
, ['*Win.cpp'])) 
  51     full_dirs 
= get_dirs_for_features(jscore_dir
, features
=[Options
.options
.port
.lower()], dirs
=jscore_dirs
) 
  53     includes 
= common_includes 
+ full_dirs
 
  54     if sys
.platform
.startswith('darwin'): 
  55         includes
.append(os
.path
.join(jscore_dir
, 'icu')) 
  58     jscore 
= bld
.new_task_gen( 
  59         features 
= 'cxx cstaticlib', 
  60         includes 
= '. .. assembler DerivedSources ForwardingHeaders ' + ' '.join(includes
), 
  63         uselib 
= 'WX ICU ' + get_config(), 
  65         install_path 
= output_dir
) 
  67     jscore
.find_sources_in_dirs(full_dirs
, excludes 
= jscore_excludes
) 
  69     obj 
= bld
.new_task_gen( 
  70         features 
= 'cxx cprogram', 
  71         includes 
= '. .. assembler DerivedSources ForwardingHeaders ' + ' '.join(includes
), 
  74         uselib 
= 'WX ICU ' + get_config(), 
  75         uselib_local 
= 'jscore', 
  76         install_path 
= output_dir
, 
  80         myenv 
= obj
.env
.copy() 
  81         myenv
.CXXFLAGS 
= myenv
.CXXFLAGS
[:] 
  82         myenv
.CXXFLAGS
.remove('/EHsc') 
  85     bld
.install_files(os
.path
.join(output_dir
, 'JavaScriptCore'), 'API/*.h')