Граф коммитов

456 Коммитов

Автор SHA1 Сообщение Дата
Sigmund Vik f829735cc3 Misc fixes for Windows.
Most of these changes have to do with how python scripts are invoked.

For Linux, 'Popen([EMCC] + args)' works because the first line in emcc
is '#!/usr/bin/env python'. On Windows, the python interpreter has
to be explicitly invoked, e.g. 'Popen(['python', EMCC] + args)'. Note
that there is no harm in explicitly invoking the python interpreter
on Linux, so this works on both platforms.

For Windows, execvp() behaves differently than on Linux:
http://mail.python.org/pipermail/python-list/2002-July/763863.html
http://msdn.microsoft.com/en-us/library/3xw6zy53.aspx

This causes many strange things to happen as the parent process
terminated before its children. In this change the use of execvp()
has been replaced with subprocess.call().

This change also fixes some code that assumed that the path separator
always is '/', but for Windows it is '\'. And where the path module
can be required, we use path.normalize() and path.resolve() to check
if a filename is absolute in a platform agnostic manner.
2012-03-20 14:26:50 +01:00
Alon Zakai 2a6749efe2 fix test_emcc_multifile 2012-03-19 17:10:36 -07:00
Alon Zakai f9ef501d57 define -DEMSCRIPTEN even when just configuring, so bundled headers work 2012-03-19 16:52:59 -07:00
Alon Zakai af8eab2920 nicer debug output in emcc 2012-03-19 16:49:36 -07:00
Alon Zakai 3bb37508db remove .compress if the compress wasn't worth it 2012-03-19 15:48:21 -07:00
Alon Zakai e4a926f49b do compression of downloaded code+datafiles in a worker 2012-03-19 14:52:49 -07:00
Alon Zakai 10cfa9fc93 emcc 'just copy' should do nothing if there is no target 2012-03-19 10:44:16 -07:00
Alon Zakai bca3596472 fix bug with compressed images 2012-03-17 18:30:09 -07:00
Alon Zakai 163e9c1cf4 unify data and image file preloading 2012-03-17 17:37:15 -07:00
Alon Zakai 105967a256 refactor datafile code 2012-03-17 16:43:49 -07:00
Alon Zakai c096ac45ee preload/embed file compression option in emcc 2012-03-16 14:18:30 -07:00
Alon Zakai 1a2df275c5 source code compression option in emcc 2012-03-16 12:39:12 -07:00
Alon Zakai 19520c66ee rename --compress to --minify in emcc 2012-03-16 11:00:12 -07:00
Alon Zakai 04961832c6 allow preloading/embedding of entire directories using emcc 2012-03-16 10:48:45 -07:00
Alon Zakai 3fc8b5c9b7 preload images for SDL 2012-03-15 18:15:12 -07:00
Alon Zakai 36afa3f0eb support files in directories in --embed-file and --preload-file 2012-03-15 14:58:22 -07:00
Alon Zakai be16312325 add file preloading in browsers 2012-03-15 14:07:04 -07:00
Alon Zakai 4f81862d24 add conftest.c workaround in emcc 2012-03-15 10:20:01 -07:00
Alon Zakai 44161f79bd helpful comment about necessary suffixes for emcc 2012-03-11 13:19:02 -07:00
Alon Zakai 84c9c22525 improve emcc input finding so that it ignores -MT x 2012-03-07 14:28:13 -08:00
Alon Zakai 89642b135f Merge pull request #294 from LCID-Fire/error_fix
Catch and log the errors when calling Processes
2012-03-06 10:16:11 -08:00
LCID Fire 2292b1a9b4 Remove unnecessary accessing of stdout 2012-03-05 13:59:53 +01:00
Alon Zakai dc769bd62f .o .bc comment 2012-03-03 12:00:39 -08:00
Alon Zakai 3c71f36c40 don't run optimizeShiftsAggressive without relooping, since it assumes non-switch structures 2012-03-01 16:02:37 -08:00
LCID Fire 16116a352f Catch and log the errors when calling Processes because users don't get any clue to what failed. 2012-03-01 15:32:24 +01:00
Alon Zakai 40f2ae9e94 EMCC_CFLAGS support 2012-02-27 20:09:09 -08:00
Alon Zakai c540f3f36a emcc fix 2012-02-27 15:59:30 -08:00
Alon Zakai 71cccfcf79 --pre-js and --post-js options 2012-02-26 21:30:20 -08:00
Alon Zakai b649dec410 emcc help 2012-02-26 10:32:39 -08:00
Alon Zakai f5d4f09244 --ignore-dynamic-linking option in emcc 2012-02-24 20:31:11 -08:00
Alon Zakai 508e953fd4 --embed-file option in emcc 2012-02-24 15:54:47 -08:00
Alon Zakai d125f1bd3d support -L/-l syntax in emcc 2012-02-23 11:14:52 -08:00
Alon Zakai 2c14a7b749 use libcxxabi for dynamic_cast 2012-02-22 12:29:38 -08:00
Alon Zakai c4e578be4c use aggressive shift optimizations, small but significant speedups on fannkuch and skinning 2012-02-17 10:17:26 -05:00
Alon Zakai e4a37fdb02 fix test_cases 2012-02-15 23:30:07 -05:00
Alon Zakai 7d756357d7 handle singleton .a files 2012-02-15 18:14:46 -05:00
Alon Zakai d8e25261b6 support compiling .so files directly in emcc 2012-02-15 17:00:25 -05:00
Ehsan Akhgari 8d402d08d7 Fix a typo 2012-02-09 20:56:23 -05:00
Ehsan Akhgari 88d76d4ad9 Fix the usage of temp_file in one location 2012-02-09 13:37:33 -05:00
Ehsan Akhgari fefc3d59b5 Preserve the extension of shared libraries as well 2012-02-08 18:52:18 -05:00
Ehsan Akhgari 06048b0e62 Use ld for linking multiple files passed to emcc 2012-02-08 18:46:22 -05:00
Ehsan Akhgari f0fe97c448 Use llvm-ar instead of llvm-link in emar
This makes the semantics of emar to be the same as the semantics of
system ar.
2012-02-08 18:45:37 -05:00
Alon Zakai f4af7740c1 remove warning on relooper slowness - it is reasonably fast at this point 2012-02-04 21:30:26 -08:00
Alon Zakai a122841331 Merge pull request #214 from ehsan/suffixes
Add the so and dll suffixes as bitcode suffixes as well
2012-02-03 15:07:33 -08:00
Ehsan Akhgari 49c3db581a Add the so and dll suffixes as bitcode suffixes as well 2012-02-03 18:05:24 -05:00
Alon Zakai 3299f8dc40 enable full optimizations with bindings generator 2012-02-03 15:00:45 -08:00
Alon Zakai aebbf2a994 fix for handling of suffixes in emcc 2012-02-02 13:58:58 -08:00
Alon Zakai 55b7aff21e add .a and .dylib as suffixes assumed to be bitcode 2012-02-02 10:11:56 -08:00
Alon Zakai 1549a85427 llvm inlining support (disabled by default; enabled in benchmarks) 2012-02-01 18:37:13 -08:00
Alon Zakai 97bcf96615 make it clear that some emcc messages are warnings 2012-02-01 17:43:37 -08:00
Alon Zakai fe6518c8da refactor build checks for standalone and unsafe opts 2012-02-01 10:37:40 -08:00
Alon Zakai 1204c42f4f fix usage of llvm opt level in emcc, and test_emcc fixes 2012-01-31 19:09:32 -08:00
Alon Zakai 88c3f16304 Merge branch 'master' into llvmopts 2012-01-31 18:11:28 -08:00
Ehsan Akhgari f10e3e811d Import shared.py properly 2012-01-30 17:31:07 -05:00
Alon Zakai 764e81bd04 do not do -Ox or LTO when building a linkable module 2012-01-30 10:41:55 -08:00
Alon Zakai 7caf985807 split LLVM LTO into separate pass 2012-01-29 21:05:12 -08:00
Alon Zakai b7f5745fd8 save raw and optimized bc in EMCC_DEBUG 2012-01-29 20:50:29 -08:00
Alon Zakai 687b8cfa3d Merge branch 'master' into llvmopts 2012-01-28 21:29:02 -08:00
Ehsan Akhgari 86e5310006 Add support for using a shell file except than the built-in one
This adds a --shell-file compiler option which allows users to use a
custom shell file.
2012-01-27 16:32:46 -05:00
Alon Zakai c3403cd5e0 do not include libraries when autodebugging 2012-01-25 18:06:39 -08:00
Alon Zakai 72133a5942 autodebugger support in emcc 2012-01-25 09:55:58 -08:00
Alon Zakai 594b8a6a56 do not suppress child process output in emcc in DEBUG mode 2012-01-23 20:29:31 -08:00
Alon Zakai 699e85c1d4 emcc help fix 2012-01-23 18:24:19 -08:00
Alon Zakai 71360ca6a7 simplify llvm opt picking code, and allow up to level 3 2012-01-23 14:11:41 -08:00
Alon Zakai ff69c85ed7 enable unsafe llvm opts in emcc 2012-01-23 13:44:36 -08:00
Alon Zakai 61e4b6b9d4 do not generate annotations when disassembling bitcode 2012-01-21 17:16:50 -08:00
Alon Zakai a38f613823 EMCC_DEBUG info for library inclusion 2012-01-21 14:12:18 -08:00
Alon Zakai 3f87ba46fc test fixes, and fail on trying to use q1 with libcxx 2012-01-21 14:01:42 -08:00
Alon Zakai 0647e9d3d9 turn on all CORRECT options for libcxx, just to be safe for now 2012-01-20 17:56:59 -08:00
Alon Zakai 875ee5d9db emcc comment 2012-01-19 11:26:56 -08:00
Alon Zakai 30a94d3f6f always include dlmalloc if including libcxx, since libcxx uses new internally 2012-01-18 21:24:11 -08:00
Alon Zakai f0c1bdde63 move libc++ new into dlmalloc in terms of emcc library autolinking 2012-01-18 21:02:12 -08:00
Alon Zakai 28686e4941 move dlmalloc to system/lib 2012-01-18 19:39:01 -08:00
Alon Zakai f6be80cbd7 LINKABLE options, disabling dead code elimination for shared libraries and main files that have things that shared libraries will access through an extern 2012-01-18 18:10:57 -08:00
Alon Zakai dfca41cfde fix bug with doing dead code elimination even with LEAVE_INPUTS_RAW 2012-01-18 17:40:58 -08:00
Alon Zakai e7c773654d use llvm internalive and globaldce to remove unneeded code before compiling to js 2012-01-18 12:31:45 -08:00
Alon Zakai 20ce1c2c6e automatically use libcxx when needed 2012-01-18 11:35:00 -08:00
Alon Zakai dd68fbf78c further refactor the library scanning code, and prepare for libcxx 2012-01-18 10:40:29 -08:00
Alon Zakai 67040a3b6e refactor library def scanning code 2012-01-18 09:53:48 -08:00
Alon Zakai 5ac93aaa0f fix typo 2012-01-17 19:06:45 -08:00
Alon Zakai c3be0254c5 preparations for libcxx building 2012-01-17 19:05:12 -08:00
Alon Zakai 907f7b1c9c fix emcc bug from last commit 2012-01-17 18:53:57 -08:00
Alon Zakai a8ff7b2bdf refactor emcc compiled library code which handles dlmalloc 2012-01-17 18:41:30 -08:00
Alon Zakai a0a27646bd cache for dlmalloc and soon libc++ 2012-01-17 18:10:40 -08:00
Alon Zakai 22dc3bb223 run multiple js optimizer passes in batches 2012-01-15 20:40:28 -08:00
Alon Zakai f2ab0ddbdd emcc option to compress js whitespace 2012-01-12 18:25:01 -08:00
Alon Zakai 6c5cc41f83 do not do redundant llvm optimizations on bitcode; do them only when actually generating js 2012-01-07 18:36:42 -08:00
Alon Zakai 5c02f40d34 automatic malloc need detection for new 2012-01-07 18:01:09 -08:00
Alon Zakai c35586c36c fix bug with emcc not respecting absolute paths and always placing outputs in the current directory 2012-01-05 18:11:31 -08:00
Alon Zakai 91cebac30b fix bug with not creating proper bitcode output with proper file name when emcc is given -o js 2012-01-04 18:14:18 -08:00
Alon Zakai abc912daee fix suffix of saved .ll file in emcc debug mode 2012-01-04 14:39:56 -08:00
Alon Zakai c3c090dc47 --js-transform option for emcc 2012-01-04 14:36:02 -08:00
Alon Zakai b724d8ba0b additional emcc debugging output 2012-01-01 20:55:55 -08:00
Alon Zakai 397ed99019 use reloop-relevant js optimizer passes only when actually relooping 2012-01-01 13:59:09 -08:00
Alon Zakai 21e67b7887 add .ll debugging output option to emcc 2012-01-01 11:17:49 -08:00
Alon Zakai f31705d6bd add optimizeShiftsConservative to emcc 2011-12-30 14:59:57 -08:00
Alon Zakai 6b83482d32 better debug info from emcc 2011-12-28 14:41:26 -08:00
Alon Zakai 17f3cf205d fix for debug printing in emcc 2011-12-26 17:54:00 -05:00
Alon Zakai 858d814861 refactor emcc debug saving of intermediates 2011-12-26 17:47:36 -05:00
Alon Zakai b815c45364 emcc debug info 2011-12-23 12:32:54 -08:00
Alon Zakai 93d966ead4 debugging stuff in emcc 2011-12-22 21:33:02 -08:00
Alon Zakai 6eaf330462 better temp dir definition and usage, and more debugging output in emcc 2011-12-22 17:59:33 -08:00
Alon Zakai 9dcd81dcdc make reloop warning appear only exactly when needed 2011-12-22 17:02:29 -08:00
Alon Zakai 29afa96aaf emcc debugger output 2011-12-21 16:48:37 -08:00
Alon Zakai e974325393 fix for o1.test_cases 2011-12-21 15:54:20 -08:00
Alon Zakai eccb671c19 add internal option to let emcc not compile inputs to bc. fixes test_cases 2011-12-21 15:47:38 -08:00
Alon Zakai 7953c8c6b8 refactoring and fixes for running more tests in new o1 and o2 modes 2011-12-20 18:49:42 -08:00
Alon Zakai 99cac67ecd refactor test system, replace ta2 runs with o1 (-O1 with SAFE_HEAP) and o2 (-O2 without closure) 2011-12-20 16:38:14 -08:00
Alon Zakai 8060c58d10 hoist multiples into branchings right before them 2011-12-20 11:04:45 -08:00
Alon Zakai 05b14137c1 nicer output in emcc when there are source code errors, plus test 2011-12-19 16:01:01 -08:00
Alon Zakai 029499a342 fix closure compiler warning in emcc and add sanity test 2011-12-19 15:37:47 -08:00
Alon Zakai 0e8e6a82b7 sanity checks 2011-12-18 11:34:19 -08:00
Alon Zakai ec683aa19a remove wip message from emcc 2011-12-17 21:48:24 -08:00
Alon Zakai 52f73412c5 fix gcc/g++ selection logic in emcc when just configuring 2011-12-17 13:14:59 -08:00
Alon Zakai 904ed62b5c various robustness improvements to emcc 2011-12-17 11:49:26 -08:00
Alon Zakai 3c17526474 make emcc and emar more robust against odd makefile inputs 2011-12-16 21:55:39 -08:00
Alon Zakai 7ae17d41b8 improve linking in emcc, can now build zlib, openjpeg, freetype 2011-12-16 19:08:30 -08:00
Alon Zakai d157b2049d support for .ll files as inputs to emcc 2011-12-16 18:14:23 -08:00
Alon Zakai 48a10df5a0 hide dlmalloc output in emcc 2011-12-16 17:54:18 -08:00
Alon Zakai 086526150c completely automatic malloc inclusion in emcc 2011-12-16 14:55:17 -08:00
Alon Zakai ac78c51c1b mention that we use closure advanced opts 2011-12-16 10:56:36 -08:00
Alon Zakai 426ae60955 disable C++ exception catching in emcc -O1 and -O2 2011-12-15 22:13:40 -08:00
Alon Zakai 693dcd6d30 js optimizer pass to simplify certain bit ops 2011-12-15 18:39:03 -08:00
Alon Zakai 8b1ee6dde8 allow specifying the temp dir for emcc 2011-12-15 11:01:56 -08:00
Alon Zakai 708cb6037e emcc option to override closure compiler, and use closure compiler by default in -O2 and not just -O3 2011-12-14 21:17:53 -08:00
Alon Zakai 12c70c9236 fix for source suffixes in emcc 2011-12-14 20:15:18 -08:00
Alon Zakai 53254fd492 support for .cc files in emcc 2011-12-14 20:13:22 -08:00
Alon Zakai 4d97e261fc support -o with multiple bitcode inputs in emcc 2011-12-14 18:46:48 -08:00
Alon Zakai 193a0cc9d2 more logging in emcc, and only generate js/html if specifically told to (so building things like .so.0.1.0.0) will work, as bitcode 2011-12-14 18:12:22 -08:00
Alon Zakai 67a5e29fa9 comment 2011-12-14 18:01:23 -08:00
Alon Zakai bd670b9f4d refactor emcc to use a temp directory for intermediate files 2011-12-14 17:42:35 -08:00
Alon Zakai df41a40591 generate .o by default, not .bc. fixes test_zlib 2011-12-14 17:01:16 -08:00
Alon Zakai b2c69c52b1 emcc linking fixes and tests 2011-12-14 11:39:53 -08:00
Alon Zakai 5322f208ad initial work to refactor emcc into emcc, emld, emar, emranlib 2011-12-14 11:12:19 -08:00
Alon Zakai 6c2ee0edcf return to a.out.js as default output in emcc 2011-12-14 10:50:22 -08:00
Alon Zakai 8ba32fb279 use emcc in benchmarks 2011-12-13 21:14:52 -08:00
Alon Zakai b6ec8c397c two env var settings for emcc 2011-12-13 19:19:43 -08:00
Alon Zakai 7fa88ad051 emcc --help fix 2011-12-13 19:11:42 -08:00
Alon Zakai 0091d9ca06 refactor emcc to support compiling multiple files, and partial work on supporting linker invocations 2011-12-13 18:23:00 -08:00
Alon Zakai ba17804f62 support a (js) target when emcc is given two input files 2011-12-13 16:32:40 -08:00
Alon Zakai 394bbcf08e refactor emcc in preparation for compiling multiple files at once 2011-12-13 16:21:03 -08:00
Alon Zakai 0dcba8bc4e finish llvm opts in emcc, plus more tests 2011-12-13 14:08:44 -08:00
Alon Zakai 9071942043 llvm opts in emcc (untested) 2011-12-13 12:20:45 -08:00
Alon Zakai c89d2ec4a4 support for --typed-arrays in emcc 2011-12-13 10:09:59 -08:00
Alon Zakai 7782c8cd4e support for -s in emcc 2011-12-12 18:07:07 -08:00
Alon Zakai 6df042a2ae support for running the js optimizer, eliminator and closure compiler from emcc 2011-12-12 17:41:03 -08:00
Alon Zakai 0281e14fd6 warning about -O3 in emcc 2011-12-12 16:55:42 -08:00
Alon Zakai 011d5e3631 relooper warning in emcc 2011-12-12 16:53:09 -08:00
Alon Zakai 063298bda9 emcc initial support for -Ox 2011-12-12 13:35:51 -08:00
Alon Zakai a5bd3ed73d support for generating html in emcc, and a test for that that also tests SDL, and some fixes for SDL 2011-12-12 11:24:16 -08:00
Alon Zakai ae02feec36 more emcc functionality and tests 2011-12-11 20:43:08 -08:00
Alon Zakai d13c1e87d5 refactor temp files handling code, and first passing compilation test for emcc 2011-12-11 15:24:04 -08:00
Alon Zakai 4191d90052 emcc help update 2011-12-11 11:54:22 -08:00
Alon Zakai 7859e29000 --help in emcc 2011-12-11 11:39:00 -08:00
Alon Zakai 58f694a190 emcc: --version 2011-12-11 10:23:03 -08:00
Alon Zakai 753437a56d emcc stuff 2011-11-22 21:34:03 -08:00