aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorAlon Zakai <azakai@mozilla.com>2011-02-10 20:03:01 -0800
committerAlon Zakai <azakai@mozilla.com>2011-02-10 20:03:01 -0800
commitf509bad6cfe59e1437634639fca039d28fcc893a (patch)
tree9d4f60d6f90b3c7345ea2c16138aecc92f238cbd /tools
parent7952725a86dbcb3e8ef1a17636896e1ed8ccaaeb (diff)
use clang in emmaken and in freetype&zlib tests
Diffstat (limited to 'tools')
-rwxr-xr-xtools/emmaken.py18
-rw-r--r--tools/shared.py14
2 files changed, 17 insertions, 15 deletions
diff --git a/tools/emmaken.py b/tools/emmaken.py
index ef392849..f100255f 100755
--- a/tools/emmaken.py
+++ b/tools/emmaken.py
@@ -48,29 +48,17 @@ def path_from_root(*pathelems):
return os.path.join(os.path.sep, *(abspath.split(os.sep)[:-1] + list(pathelems)))
exec(open(path_from_root('tools', 'shared.py'), 'r').read())
-CONFIG_FILE = os.path.expanduser('~/.emscripten')
-assert os.path.exists(CONFIG_FILE)
-exec(open(CONFIG_FILE, 'r').read())
-
try:
print >> sys.stderr, 'emmaken.py: ', ' '.join(sys.argv)
- CC='/home/alon/Dev/llvm-gcc-4.2-2.8.source/cbuild/install/bin/llvm-gcc'
- CXX='/home/alon/Dev/llvm-gcc-4.2-2.8.source/cbuild/install/bin/llvm-g++'
+ CXX = os.environ.get('EMMAKEN_COMPILER') or LLVM_GCC
+ CC = to_cc(CXX)
+
CC_ARG_SKIP = ['-g', '-O1', '-O2', '-O3']
CC_ADDITIONAL_ARGS = ['-m32', '-U__i386__', '-U__x86_64__', '-UX87_DOUBLE_ROUNDING', '-UHAVE_GCC_ASM_FOR_X87']
-
- #CC='llvm-gcc'
- #CC_ARG_SKIP = ['-g', '-O1', '-O2', '-O3']
- #CC_ADDITIONAL_ARGS = ['-U__i386__', '-U__x86_64__']
-
- LLVM_LINK = '/home/alon/Dev/llvm-2.8/cbuild/Release/bin/llvm-link'
- LLVM_DIS = '/home/alon/Dev/llvm-2.8/cbuild/Release/bin/llvm-dis'
ALLOWED_LINK_ARGS = ['-f', '-help', '-o', '-print-after', '-print-after-all', '-print-before',
'-print-before-all', '-time-passes', '-v', '-verify-dom-info', '-version' ]
DISALLOWED_LINK_ARGS = []#['rc']
- #LINK_ARG_SKIP = ['-pthread', '-DNDEBUG', '-g', '-O3', '-Wall', '-Wstrict-prototypes',
- # '-lpthread', '-ldl', '-lutil', '-Xlinker', '-export-dynamic', '-lm', '-shared']
# ---------------- End configs -------------
diff --git a/tools/shared.py b/tools/shared.py
index f6594af2..668e609b 100644
--- a/tools/shared.py
+++ b/tools/shared.py
@@ -7,6 +7,16 @@ if not os.path.exists(CONFIG_FILE):
shutil.copy(path_from_root('tests', 'settings.py'), CONFIG_FILE)
exec(open(CONFIG_FILE, 'r').read())
+# Tools
+
+LLVM_LINK=os.path.join(LLVM_ROOT, 'llvm-link')
+LLVM_OPT=os.path.expanduser(os.path.join(LLVM_ROOT, 'opt'))
+LLVM_AS=os.path.expanduser(os.path.join(LLVM_ROOT, 'llvm-as'))
+LLVM_DIS=os.path.expanduser(os.path.join(LLVM_ROOT, 'llvm-dis'))
+LLVM_DIS_OPTS = ['-show-annotations'] # For LLVM 2.8+. For 2.7, you may need to do just []
+
+# Utilities
+
def timeout_run(proc, timeout, note):
start = time.time()
if timeout is not None:
@@ -21,3 +31,7 @@ def run_js(engine, filename, args, check_timeout=False):
return timeout_run(Popen(engine + [filename] + (['--'] if 'v8' in engine[0] else []) + args,
stdout=PIPE, stderr=STDOUT), 120 if check_timeout else None, 'Execution')
+def to_cc(cxx):
+ # By default, LLVM_GCC and CLANG are really the C++ versions. This gets an explicit C version
+ return cxx.replace('clang++', 'clang').replace('g++', 'gcc')
+