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

377 Коммитов

Автор SHA1 Сообщение Дата
Alon Zakai 68fa40ad92 safely internalize in s_x_x tests too 2012-12-21 10:47:40 -08:00
Alon Zakai 98fda6ea81 do lto before dce, since lto opens up dce opportunities 2012-12-21 10:47:40 -08:00
Alon Zakai 7f1fdbef4c be careful with internalize in llvm LTO, and mark needed symbols for relooper 2012-12-21 10:47:39 -08:00
Alon Zakai e9fe31fb2f llvm 3.2 internalize internalizes even main, so manually keep it and other exports alive 2012-12-21 10:47:39 -08:00
Alan Kligman a2bc9a30de Updated to add a PYTHON config option instead of defaulting to python2. This should preserve the default behavior in a way that can be overridden. 2012-12-19 18:06:48 -05:00
Alan Kligman 315f13e5a1 Updated scripts to call python2 directly rather than relying on python symlink pointing to the right place. See PEP394 for details on why this should be OK. 2012-12-19 18:06:48 -05:00
Alon Zakai 1c796635aa remove --remove-duplicates 2012-12-19 14:02:34 -08:00
Alon Zakai c83b1d4e9e Merge branch 'incoming' into asm_js 2012-12-11 14:01:06 -08:00
Alon Zakai 42b03394eb warni when ignoring libs 2012-12-10 19:01:53 -08:00
Alon Zakai 3ee9d95f98 test fixes and set sign and overflow correction to 1 when in asm mode 2012-12-07 14:23:24 -08:00
Alon Zakai 1189e117b7 improve asm test wrapping 2012-12-07 14:23:22 -08:00
Alon Zakai ee32a53886 move emcc minify decision to after we potentially modify closure 2012-12-07 14:23:20 -08:00
Alon Zakai 48447d1ece typo 2012-12-07 14:23:20 -08:00
Alon Zakai 3c642441a9 do registerize in asm.js+reloop mode, as an alternative to closure 2012-12-07 14:23:20 -08:00
Alon Zakai 1b591a0b0c add eliminator mode for asm 2012-12-07 14:23:19 -08:00
Alon Zakai a917909969 disable closure when ASM_JS 2012-12-07 14:23:19 -08:00
Alon Zakai b0b611c9f7 add parts of system bitcode libraries when necessary, and refactor library inclusion decision code 2012-12-07 12:32:49 -08:00
Alon Zakai 4df6589efa Merge pull request #735 from eclecticdave/emcc_so_fix
Fixes to emcc to make autoconf enable shared objs
2012-12-04 16:45:57 -08:00
Alon Zakai c735bb6469 do not apply -l if not generating an executable or a library 2012-12-03 14:30:09 -08:00
Alon Zakai 30f484d68f ignore argument after -I -L for purposes of input detection in emcc 2012-12-03 13:36:37 -08:00
David Claughton 5d48629cf0 Fixes to emcc to make autoconf enable shared objs
When using emcc as a linker, autoconf disables
shared object support.  This is because it expects
the text returned by the -v and --help options to
match certain things that GNU ld prints.

Specifically it expects the output of emcc -v to include
the word 'GNU' and the output of emcc -v to match the
regexp ': supported targets.* elf'

Modified the messages returned by emcc for these options
to make autoconf happy.
2012-11-30 21:56:00 +00:00
Alon Zakai fc56ff9c04 fix test_failure_error_code 2012-11-23 16:38:47 +01:00
Alon Zakai 453ec4adfa jcache docs 2012-11-23 14:15:24 +01:00
Alon Zakai b74207976b print out total time in emcc in debug mode 2012-11-21 20:47:02 +01:00
Alon Zakai db65c00f8e fix missing jcache passing 2012-11-21 20:47:02 +01:00
Alon Zakai f199880bb1 set up parameter passing for jcache 2012-11-21 20:47:01 +01:00
Alon Zakai ed6571e237 return error code on no input files 2012-11-15 11:46:01 -08:00
Jukka Jylänki 4ab1c8acec Python system command line may come with untrimmed items at least on Windows Vista, cmake is bad at producing these, so trim off the excessive spaces before working on the command line. Fixes other.test_cmake on Windows Vista build bot. 2012-11-14 18:44:23 +02:00
Alon Zakai 587a1b3fdf forward -v to child processes 2012-11-13 17:42:35 -08:00
Jukka Jylänki 4f25d496a1 Don't pass all emcc command line inputs e.g. those of form '-DsomeDefine=1' etc. to shared.Building.is_ar() for testing whether a file by that name is a LLVM archive file. 2012-11-12 21:14:37 +02:00
Alon Zakai d27357b5fe cleanup 2012-11-09 16:27:26 -08:00
Alon Zakai a38333433a stop doing old-relooper-related js optimizer passes 2012-11-08 18:30:49 -08:00
Alon Zakai f0c024d982 refactor link time opts code 2012-11-07 11:39:54 -08:00
Alon Zakai f033c67b5c split up js optimizer passes only in EMCC_DEBUG=2, not 1 2012-11-07 10:57:41 -08:00
Alon Zakai 466af17eb9 strip debug info in -O1 and above by default, unless -g is specified when converting to JS, since (1) js optimizations strip it anyhow, and (2) it slows down compilation 2012-11-07 10:32:54 -08:00
Alon Zakai 7dee40c6bb fix temp dir in emcc 2012-11-06 20:59:08 -08:00
Alon Zakai 6f9780c50e more non-clang configure fixes for configure tests 2012-10-29 18:52:23 -07:00
Alon Zakai 99fb6b9b81 more non-clang configure work and debugging tools 2012-10-29 18:10:35 -07:00
Alon Zakai 83faf34660 configure debugging tools 2012-10-29 17:25:42 -07:00
Alon Zakai dcc877f3bd add experimental and non-enabled non-clang configure mode 2012-10-28 15:23:56 -07:00
Alon Zakai ed88bc7051 memory growth must be manually enabled with ALLOW_MEMORY_GROWTH, in which case the eliminator runs in safe mode 2012-10-27 20:07:07 -07:00
Alon Zakai d6e695eb2b comment on -O3 2012-10-26 17:53:46 -07:00
Alon Zakai 94ee68349b integrate eliminator as js optimizer pass 2012-10-23 17:35:37 -07:00
Alon Zakai 2781c7dca6 report times of passes in EMCC_DEBUG 2012-10-20 17:48:35 -07:00
Alon Zakai 844faf36eb do not include C library in shared library 2 2012-10-17 12:43:59 -07:00
Alon Zakai 922608f31f build libcxx and libcxxabi using direct commands, not a makefile, to make this more easily portable to windows where make is not always present 2012-10-13 17:10:01 -07:00
Alon Zakai 3a156a34e8 get almost all of embind test passing 2012-10-12 16:26:22 -05:00
Alon Zakai 217dbc2b3f embind integration in emcc and work towards a test 2012-10-12 15:40:12 -05:00
Alon Zakai 6a1702024c Merge branch 'master' into incoming 2012-10-12 14:56:21 -05:00
Alon Zakai f377f670cc indentation fix 2012-10-11 14:00:20 -05:00
Alon Zakai 363ce16a89 ignore and warn on -Os 2012-10-03 12:12:22 -07:00
Alon Zakai 8c53160d51 CONFIGURE_CC option to let you define the compiler used when configure-ing 2012-10-01 11:44:18 -07:00
Lars Schneider 0c33345f22 Add emcc option "--split <size>" to split javascript file.
Splits the resulting javascript file into pieces to ease debugging.
This option only works if Javascript is generated (target -o <name>.js).

Files with function declarations must be loaded before main file upon execution.

Without "-g" option:
Creates files with function declarations up to the given size with the suffix "_functions.partxxx.js" and a main file with the suffix ".js".

With "-g" option:
Recreates the directory structure of the C source files and stores function declarations in their respective C files with the suffix ".js". If such a file exceeds the given size, files with the suffix ".partxxx.js" are created. The main file resides in the base directory and has the suffix ".js".
2012-09-26 19:30:19 +02:00
Alon Zakai 76c1195061 show warning about absolute paths only once 2012-09-21 17:53:05 -07:00
Alon Zakai 2210898ef5 -s docs in emcc 2012-09-21 17:36:22 -07:00
Janus b3039131e6 add conftest.c flag passing test and use right indenting 2012-09-20 14:32:26 +02:00
Janus 4b9f7c1c55 don't pass EMCC specific flags on when configuring using clang 2012-09-18 19:52:45 +02:00
Alon Zakai 1c993f99f1 clearer error message when a crucial llvm tool is missing, and force sanity checks in EMCC_DEBUG mode 2012-09-13 17:24:50 -07:00
Alon Zakai 103314ffaf make all temp files be in TEMP_DIR from ~/.emscripten 2012-09-12 18:59:58 -07:00
Alon Zakai 94a0cb1ccd --clear-cache option 2012-08-30 16:42:34 -07:00
Alon Zakai f35fa61a20 disable precise i32 multiplication even in -O0: too slow 2012-08-25 14:10:09 -07:00
Alon Zakai c14a675125 PRECISE_I32_MUL option for full precision in 32-bit multiply 2012-08-25 11:26:47 -07:00
Alon Zakai f4b1d25451 remove mentions of obsolete emld 2012-08-22 21:03:07 -07:00
Alon Zakai 1f666759fe warn on -I and -L to absolute paths, which may be to local system headers/libraries that are not portable 2012-08-18 22:05:23 -07:00
Alon Zakai b74118f69a improve emcc help on --embed and --preload 2012-07-29 16:41:51 -07:00
Behdad Esfahbod e7f8355cff Look into system/local/include and system/local/lib too
Now one can do:

emconfigure ./configure --prefix=/path/to/emscripten/local

And then make install to there, like a real /usr/local.  No
manual bitcode moving.

Now if there  was a way to change default prefix of configure
using an env var...
2012-07-13 15:37:38 -07:00
Alon Zakai d1b22871c3 use unique temp names for libraries too 2012-06-25 18:31:27 -07:00
Alon Zakai 9144e4fe1d minor emcc bugfix 2012-06-25 12:50:30 -07:00
Alon Zakai 27277383aa emcc --remove-duplicates option 2012-06-22 20:50:21 -07:00
Alon Zakai 956c997255 enable previous assertion, properly 2012-06-22 20:28:03 -07:00
Alon Zakai ddd0442f97 disable overly permissive assertion in emcc 2012-06-22 17:17:25 -07:00
Alon Zakai df16a752c4 remove some unneeding emcc printing 2012-06-18 20:07:56 -07:00
Alon Zakai 8140488533 allow multiple pre-js and post-js 2012-06-17 13:24:22 -07:00
Alon Zakai 045eaebb72 move suffix tools to shared 2012-06-16 18:12:02 -07:00
Alon Zakai 52a5e5e9dc accept .obj files as bitcode 2012-06-13 13:50:15 -07:00
Alon Zakai 4fe6e47928 refactor file packaging into standalone tool 2012-06-11 13:19:25 -07:00
Alon Zakai 3eac624d13 use closure-exported FS API for preloading 2012-06-11 11:33:09 -07:00
Alon Zakai 438cd93067 allow --preload-file when generating .js, which assumes the .js will be used in a web page 2012-06-11 11:13:37 -07:00
Alon Zakai 41a99b2871 remove GENERATING_HTML, it was confusing and gave little or no benefit 2012-06-11 10:32:42 -07:00
Alon Zakai 9d720befae emcc note on preloading and .data 2012-06-10 21:48:00 -07:00
Alon Zakai b0b7cee27f treat -s not before OPT=VALUE as a linker option 2012-05-31 11:59:42 -07:00
Alon Zakai 7b9855c062 update year in emcc 2012-05-24 11:15:06 +02:00
Alon Zakai d4cfd7a658 support emcc -v with no further arguments 2012-05-18 11:47:41 -07:00
Alon Zakai d3ed0aeb78 speed up O1 by removing unnecessary eliminator pass 2012-05-12 09:59:46 -07:00
Alon Zakai dcb1a7a14c FS.createPreloadedFile 2012-05-11 10:42:53 -07:00
Alon Zakai a7590b8609 handle absolute paths in file preloading 2012-05-08 20:35:37 -07:00
Alon Zakai bfc041b6b5 workaround for chromium bug 124926 to prevent hanging when loading audio in chrome 2012-05-04 18:12:53 -07:00
Alon Zakai f60dc11a02 link files in emcc without leaving a stub 2012-05-02 21:53:08 -07:00
Alon Zakai ce09542f72 -v in emcc 2012-04-26 11:41:50 -07:00
Alon Zakai 6799e19b3d add ENV_PREFIX to more places 2012-04-24 17:02:43 -07:00
Alon Zakai b5e53f4e17 --js-library option to make it easy to add additional library_*.js files 2012-04-13 18:57:41 -07:00
Sigmund Vik 8a93b915fc Make more browser tests work for Windows. 2012-04-13 15:51:19 +02:00
Alon Zakai ae1cb6d7ec handle identical basenames in emcc properly; fixes #287 2012-04-07 20:42:02 -07:00
Alon Zakai 7af9a2d81c improve fake precompiled header workaround in emcc 2012-04-07 18:32:06 -07:00
Alon Zakai c677d9e446 Merge pull request #346 from behdad/outgoing
Misc fixes
2012-04-04 11:11:43 -07:00
Sigmund Vik 5600f6c264 Fixed shlex.split() problem for Windows. 2012-04-04 18:25:09 +02:00
Behdad Esfahbod 03033b2fee Look for bitcode for library input files in other places
If an input file is not bitcode and looks like a library file, treat it
as library so we can look for it in other places.

In conjuction with the previous change, now we can just drop, eg,
libfreetype.dylib bitcode in emscripten/system/lib and "dynamic" linking
would succeed.

Perhaps this can be changed to only lookup in emscripten/system/lib
instead of all lib_dirs, but this is a good start.
2012-04-04 01:03:43 -04:00
Behdad Esfahbod 67055e2115 Add emscripten/system/lib to lib_dirs
So people can just drop bitcode libraries there and be found by emcc.
2012-04-04 01:03:43 -04:00
Behdad Esfahbod c6e2a28f69 Ignore -install_name argument the way we do for -MT 2012-04-04 01:03:43 -04:00
Alon Zakai f485a33d65 fix -M -MM to add emcc compiler flags 2012-03-31 13:49:58 -07:00
Alon Zakai 8833fc409c remove unneeded -MF workaround code 2012-03-29 22:42:04 -07:00
Alon Zakai 62499dc395 comment 2012-03-29 21:15:40 -07:00
Alon Zakai f3bffe4b06 basic support for -M and -MM 2012-03-29 21:14:53 -07:00
Alon Zakai 2416d19b0b bundle preloaded files also when not compressing them 2012-03-29 13:39:53 -07:00
Alon Zakai f88f3af217 do not use blob constructor if not present, and closure workaround 2012-03-27 15:39:35 -07:00
Alon Zakai 7450114c4d support wav and mp3 audio suffixes too 2012-03-27 13:24:49 -07:00
Alon Zakai b4dcd8daa2 support for playing audio chunks through SDL mix 2012-03-27 11:59:12 -07:00
Alon Zakai 84d65c025b show 'Downloading..' when downloading data archive 2012-03-26 20:57:02 -07:00
Alon Zakai ca18402ba1 show status messages for decompressing and clear status on run 2012-03-26 17:54:44 -07:00
Alon Zakai b0e285503b compression docs 2012-03-26 16:46:24 -07:00
Alon Zakai 825407da4f compress all data files into one big file 2012-03-26 16:42:43 -07:00
Alon Zakai eb0f4c41bf use shlex 2012-03-26 10:21:25 -07:00
Alon Zakai 74acbe73a8 --llvm-lto option to disable lto 2012-03-25 14:13:53 -07:00
Alon Zakai 61443c6118 fix webkitURL 2012-03-24 11:57:54 -07:00
Alon Zakai d7c13abc2d support window.WebKitURL 2012-03-24 11:44:37 -07:00
Alon Zakai 26f0edbd0c support both Moz and WebKit BlobBuilders 2012-03-24 10:42:57 -07:00
Alon Zakai 406c106b0c save the canvas in preloadedImages, and do canvas blits in IMG_Load etc. 2012-03-22 10:40:06 -07:00
Alon Zakai 44e1d4a267 typo on directory generation code 2012-03-21 14:34:49 -07:00
Alon Zakai e0092a687d fix some bugs with preloading of entire directories 2012-03-21 14:24:55 -07:00
Alon Zakai cdc82664d8 Merge pull request #312 from SiggyBar/incoming
Misc fixes for Windows.
2012-03-20 16:03:39 -07:00
Alon Zakai ed9b24c684 emcc help on --pre and --post-js 2012-03-20 13:37:59 -07:00
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