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