Commit Graph

320 Commits

Author SHA1 Message Date
Frank Denis
770e7945c3 Bump major for generate-emscripten-symbols.sh 18 -> 23 2017-10-01 13:20:55 +02:00
Frank Denis
3659d342af Avoid losing the reference to Module in the promise.
by @buu700
2017-09-29 19:31:42 +02:00
Frank Denis
24ff2a7049 Emscripten: just use Module.onRuntimeInitialized = resolve; 2017-09-29 08:49:42 +02:00
Ryan Lester
170661671d Save libsodium.js (#605)
* revert wasm/asmjs split build changes

* combined wasm + asm.js build

* minor cleanup
2017-09-29 08:22:01 +02:00
Frank Denis
2c73b8e3b5 Merge branch 'master' of github.com:jedisct1/libsodium
* 'master' of github.com:jedisct1/libsodium:
  Remove aes128ctr from emscripten
  Regen MSVC files
  Remove aes128ctr
  Remove aes128ctr, add secretstream
2017-09-29 02:36:42 +02:00
Frank Denis
5233df125f Add -s SINGLE_FILE=1 when compiling to Emscripten 2017-09-29 02:36:03 +02:00
Frank Denis
8ceb55994b Remove aes128ctr from emscripten 2017-09-27 22:19:04 +02:00
Frank Denis
3e0b4dec6e Add sodium_base64_encoded_len() 2017-09-21 11:25:09 +02:00
Frank Denis
bfab44aa40 initbytes -> headerbytes for clarity 2017-09-16 23:21:28 +02:00
Frank Denis
d0a418a863 + _crypto_pwhash_scryptsalsa208sha256_str_needs_rehash() 2017-09-13 00:36:29 +02:00
Frank Denis
378304f818 Export crypto_pwhash_str_needs_rehash() to Javascript/WebAssembly 2017-09-06 21:00:34 +02:00
Frank Denis
6b43c1ddb6 Javascript: don't define crypto_pwhash constants in non-sumo builds 2017-08-27 16:27:07 +02:00
Frank Denis
a0fea69654 Remove RUNNING_JS_OPTS for WebAssembly 2017-08-25 22:53:31 +02:00
Frank Denis
d863c96652 chmod +x *.sh 2017-08-25 20:37:17 +02:00
Frank Denis
957c251f8e chmod +x *.sh 2017-08-25 20:36:32 +02:00
Frank Denis
f61a121b81 Regen emscripten symbols 2017-08-25 15:18:55 +02:00
Frank Denis
f8e535a446 messagesbytes -> messagebytes 2017-08-25 15:12:35 +02:00
Frank Denis
cd721cfc1f Have generate-emscripten-symbols.sh automatically update the js/wasm build script 2017-08-25 15:11:37 +02:00
Frank Denis
0ccdfd0c8d Update emscripten symbols list 2017-08-25 14:26:26 +02:00
Frank Denis
242045cb4d Update emscripten symbols list 2017-08-25 14:24:34 +02:00
Frank Denis
19f76d7cb3 Simplify 2017-08-03 22:45:18 +02:00
Frank Denis
f711c6d049 + emscripten-wasm.sh 2017-08-03 16:20:07 +02:00
Frank Denis
1a3b474f7f Update the exported list of JS symbols 2017-08-03 13:38:15 +02:00
Frank Denis
53280aa28f Revert "wasm tests: skip over *.asm.js files"
This reverts commit ac8111c315.
2017-08-02 18:26:35 +02:00
Frank Denis
ac8111c315 wasm tests: skip over *.asm.js files 2017-08-02 17:17:04 +02:00
Frank Denis
f02770b2ad Revert "+ sodium_alloc_overhead()"
This reverts commit c5b61d8129.
2017-08-02 14:26:56 +02:00
Frank Denis
c5b61d8129 + sodium_alloc_overhead() 2017-08-02 12:34:56 +02:00
Frank Denis
23c36615cd Remove TOTAL_MEMORY from wasm builds
asmjs builds need to be done separately to get actual asmjs code
and not almost-asmjs code.

Don't build html pages. It doesn't change anything, and support for
asmjs in libsodium.js remains a tricky problem to solve.
2017-08-01 23:21:57 +02:00
Frank Denis
3c3214fbd9 Node need for --expose-wasm any more with recent nodejs versions 2017-08-01 10:19:07 +02:00
Frank Denis
b5b67d074e Add -fembed-bitcode to the iOS 64 target, for WatchOS and TVOS 2017-07-31 14:54:15 +02:00
Frank Denis
580bf7a19d emscripten-wasm.sh: generate HTML files even if we don't use them
So that emscripten generates the stub to load the wasm code in web browsers.
2017-07-31 12:52:52 +02:00
Frank Denis
ae8cd7208c emscript-wasm: don't use --enable-minimal on sumo builds 2017-07-30 23:31:56 +02:00
Frank Denis
f2a7b61230 Update symbols 2017-07-30 21:34:09 +02:00
Frank Denis
21fd252ac2 Tweak emscripten-wasm.sh 2017-07-18 22:08:15 +02:00
Frank DENIS
5026954466 Remove extra character in the list of sumo symbols for the js builds 2017-07-12 09:55:33 +02:00
Frank Denis
e325b6d76b Regen emscripten.sh export list 2017-07-07 22:03:24 +02:00
Frank Denis
ccb842f488 Add a xchacha version of crypto_box_seal
No high level API for it, no reasons to, so not available in minimal mode.
2017-07-06 15:30:36 +02:00
Frank Denis
c77ba98d7b Update emscripten symbols 2017-06-28 16:44:06 +02:00
Frank Denis
51e6a59b8d Android: use PLATFORM 16 by default, don't bother with compat for API 21 2017-05-20 19:16:05 +02:00
Adriaan Duz
dbd7026bc5 Add armv7s architecture to dist-build/ios.sh (#528) 2017-04-07 07:16:44 -07:00
Frank Denis
415bc429a7 Android: the mipsel target that disappeared in r14 is back in r14b 2017-03-24 17:22:33 +01:00
Frank Denis
c1ab6f2328 emscripten: don't use --enable-minimal on sumo builds 2017-03-17 16:56:20 +01:00
Frank Denis
d4dbf0cc4f Import preliminary compilation script for webassembly
Thanks to @facekapow

This still needs quite a bit of work, so don't add to the distfiles yet
2017-03-12 17:44:29 +01:00
Frank Denis
849a35bd82 + crypto_kx_*() API
This doesn't include a full key exchange API yet.
2017-03-12 13:15:39 +01:00
Frank Denis
c759324679 Emscripten memory size must be a multiple of 16MB 2017-03-08 14:33:15 +01:00
Frank Denis
eaf19f25d0 Use clang to compile for Android. Except on mips64, where we have to stick to gcc. 2017-03-06 16:53:08 +01:00
Frank Denis
2abe6b9e05 Revert "Remove android-mip32.sh"
This reverts commit da76a860af.
2017-03-06 15:51:38 +01:00
Frank Denis
14f6c26ef6 Python3's fine for make_standalone_toolchain.py after all 2017-03-06 13:33:25 +01:00
Frank Denis
5777418548 Export sodium_library_minimal() to javascript 2017-03-06 11:09:12 +01:00
Frank Denis
8caab6db57 Simplify the python2 detection code 2017-03-06 10:54:00 +01:00
Frank Denis
4f2881a528 make_standalone_toolchain.py requires Python2, sigh 2017-03-06 10:08:01 +01:00
Frank Denis
3e56ce235d Revert "+x"
This reverts commit 8465469167.
2017-03-06 10:06:24 +01:00
Frank Denis
8465469167 +x 2017-03-06 09:25:40 +01:00
Frank Denis
da76a860af Remove android-mip32.sh
It doesn't properly build the library, so remove it until it
eventually gets fixed
2017-03-06 09:24:23 +01:00
Frank Denis
79fe40cfe8 Android: use unified headers 2017-03-06 08:24:29 +01:00
Frank Denis
cac339b226 Update emscripten symbols 2017-03-05 14:53:02 +01:00
Frank Denis
60e9668c14 Regen the emscripten build script with the updated list of symbols 2017-03-01 17:24:55 +01:00
Frank Denis
bc2bde3482 Add the new symbols to the Javascript target 2017-03-01 17:22:46 +01:00
Frank Denis
8b961fb1bd Trim TOTAL_MEMORY_SUMO to a 64k multiple 2017-01-21 01:42:28 +01:00
Frank Denis
5aaff1ce2a Remove unexpected tabs 2016-12-17 18:52:52 +01:00
Frank Denis
7afd929e70 js: measuring make check time is not useful, especially not in a web browser 2016-10-30 01:25:32 +02:00
Frank Denis
1ede5cc0bc $MAKE_TOOLCHAIN --force 2016-10-10 14:43:57 +02:00
Frank Denis
6e2b119d86 Use xcodebuild to retrieve the XCode version 2016-09-18 10:46:59 +02:00
Frank Denis
ed19556c2f XCode 8 may not be able to compile for iOS 5 and more 2016-09-18 09:21:53 +02:00
Frank Denis
1766e13a0e Pass --host to compile for the iOS simulator 2016-09-18 09:04:19 +02:00
Frank Denis
fcf96569d2 CRLF 2016-06-05 22:04:10 +02:00
Frank Denis
f8cc885b6f Android: compile for platform 24, check compat with 16 or 21 (64 bit) 2016-06-05 22:00:56 +02:00
Frank Denis
a6139c6b20 Add nativeclient-x86.sh 2016-04-30 14:07:50 +02:00
Frank Denis
a91530d40f Do not use pthreads on NativeClient 2016-04-30 10:17:47 +02:00
Frank Denis
90603f57ac x86-64 -> x86_64 2016-04-29 22:56:09 +02:00
Frank Denis
d463dadc51 Disable ssp and aesni on nativeclient, nativeclient.sh->nativeclient-pnacl.sh 2016-04-29 22:29:34 +02:00
Frank Denis
3499cbfbe5 Add dist-build/nativeclient-x86-64.sh 2016-04-29 21:55:06 +02:00
Frank Denis
90a5f8e624 Build scripts don't clean after themselves 2016-04-29 20:40:56 +02:00
Frank Denis
40db481236 Use pepper_49 2016-04-29 09:45:12 +02:00
Frank Denis
bdf5c8246b Compile with pthreads 2016-04-18 20:54:46 +02:00
Frank Denis
214f16802b Do not use emscripten's headless mode 2016-04-17 23:58:44 +02:00
Frank Denis
4ff0d326e1 Remove crypto_pwhash_*() from the non-sumo Javascript distribution 2016-04-17 23:18:18 +02:00
Frank Denis
9aab628b97 pwhash_*() require heap allocations, but everything else doesn't 2016-04-17 23:15:53 +02:00
Frank Denis
5dce2b5c64 Revamp the emscripten build script 2016-04-17 22:45:37 +02:00
Frank Denis
7055d81aaa Reduce TOTAL_MEMORY 2016-04-15 00:32:09 +02:00
Frank Denis
da65a7f003 JS target: use -Os instead of -O3
Performance is roughly the same, but output is noticeably smaller
2016-04-14 23:13:40 +02:00
Frank Denis
9a9dc02ee1 Do not use -Ofast 2016-04-13 11:13:59 +02:00
Frank Denis
c41bf91a48 Run make clean after ./configure instead of distclean before 2016-04-13 10:58:35 +02:00
Frank Denis
9f1a5e0cf9 Check for MinGW presence 2016-04-13 10:49:55 +02:00
Frank Denis
76d061b8a5 Revert -lfto addition on msys2 2016-04-13 09:11:52 +02:00
Frank Denis
535449612d msys2 supports -Ofast and -flto these days 2016-04-13 08:52:56 +02:00
Frank Denis
0248c38626 Use slightly more modern target CPUs for the msys2 builds 2016-04-11 23:26:21 +02:00
Frank Denis
2e7247d8b1 Use absolute .done files 2016-04-06 18:21:27 +02:00
Frank Denis
99576d46d0 Use a specific "done" file for every javascript target 2016-04-06 15:05:59 +02:00
Frank Denis
50a8c61086 Use different folders for libsodium-js and for the sumo version 2016-04-06 14:53:33 +02:00
Frank Denis
55f4cac2c9 Increase TOTAL_MEMORY for the Javascript target 2016-04-04 00:24:59 +02:00
Frank Denis
d4fd35d543 Update the list of symbols exported to Javascript 2016-04-01 21:28:21 +02:00
Frank Denis
cff964d0f9 Add symbols to include/ignore 2016-04-01 20:55:35 +02:00
Frank Denis
f40e0baca3 Remove hidden symbols from emscripten-symbols.def 2016-03-24 10:57:19 +01:00
Frank Denis
bdd5e07ff9 Set JS_EXPORTS_FLAGS after EXPORTED_FUNCTIONS 2016-03-21 21:26:21 +01:00
Frank Denis
054f563b0a Add the script to generate the emscripten symbols 2016-03-21 21:00:56 +01:00
Frank Denis
38265884ba Update emscripten symbols, add a "sumo" mode 2016-03-21 20:59:47 +01:00
Frank Denis
f3fc3e8b46 NO_BROWSER is not required any more with recent Emscripten versions 2016-03-01 20:58:50 +01:00
Frank Denis
86cf171c54 Update the list of symbols exported to Javascript 2016-03-01 20:40:50 +01:00
Frank Denis
fcf9441c7b Export crypto_pwhash*() to Javascript 2016-01-13 10:00:16 +01:00
Frank Denis
d39202c16c Put the browser-js.done marker at the right place 2015-12-29 18:02:24 +01:00
Frank Denis
e7d9129729 Run make distclean, not just make clean in the msys2 build scripts
for consistency with other build scripts
2015-12-10 10:26:15 +01:00
Frank Denis
0879c0bd22 Run "make clean" first in the build scripts 2015-12-10 10:24:19 +01:00
Frank Denis
9567be2df1 Revert "Use minimal builds on msys2"
This reverts commit cc29da17c3.
2015-12-09 22:29:41 +01:00
Frank Denis
26535c3d42 Remove browser-js.done or js.done, but not both 2015-12-07 12:50:24 +01:00
Frank Denis
bfa206ed4b Let emscripten.sh support a --browser-tests switch 2015-12-07 12:38:22 +01:00
Frank Denis
7ada62b1ff Reduce some test cases, generate html test files 2015-12-07 08:58:35 +01:00
Frank Denis
31b75afb99 Nits 2015-12-07 02:01:39 +01:00
Frank Denis
3d1e11fe81 Support a BROWSER_TESTS env variable to build tests for browsers 2015-12-07 01:44:33 +01:00
Frank Denis
cb1b6a4a2f Use -O2 & -flto for iOS targets 2015-11-30 00:17:22 +01:00
Frank Denis
bc531c6af5 On OSX, compile with -flto for better performance 2015-11-30 00:08:00 +01:00
Frank Denis
10151cdc8c Remove extra comma 2015-11-17 11:24:37 +01:00
Frank Denis
23a00c003f Do not export randombytes_set_implementation() in Javascript 2015-11-17 11:12:40 +01:00
Frank Denis
cc29da17c3 Use minimal builds on msys2 2015-11-11 12:41:41 +01:00
Frank Denis
52fe697e7a io.js has become node.js 2015-10-19 22:19:54 +02:00
Frank Denis
45df38c8c7 Remove sodium_memcmp() from the list of functions exported to Javascript 2015-10-19 22:15:32 +02:00
Frank Denis
2ec482a3d9 Sadly compile for platform version 16 (Android 4.1) 2015-08-11 07:58:50 +02:00
Frank Denis
fb2a76f37b Add braces for consistency 2015-08-05 20:00:15 +02:00
Frank Denis
7bce6d82f0 Reindent Android build script 2015-08-05 19:46:36 +02:00
Frank Denis
a934fe072b Export crypto_onetimeauth to emscripten 2015-08-05 11:41:44 +02:00
Frank Denis
e0ad286258 Remove armv7s from the iOS build script 2015-08-04 13:51:12 +02:00
Frank Denis
a8bd6a397b Add a nativeclient build script 2015-08-02 14:17:59 +02:00
Frank Denis
67205bc9d4 Emscripten target: don't run the Closure compiler any more. 2015-07-20 16:17:39 +02:00
Frank Denis
e972f0269b Emscripten: enable NO_DYNAMIC_EXECUTION=1
When enabled, we do not emit eval() and new Function(), which disables some functionality
(causing runtime errors if at tempted to be used), but allows the emitted code to be
acceptable in places that disallow dynamic code execution (chrome packaged app, non-
privileged firefox app, etc.)
2015-07-20 15:56:41 +02:00
Frank Denis
34176344fe iOS: install the library into $PREFIX/lib 2015-07-18 17:44:45 +02:00
Frank Denis
3a74da3345 Add missing Android build scripts to the distfiles 2015-07-12 02:23:59 +02:00
Emiliano Bonassi
8f4ac9c585 Add simple compile scripts for android-mips64 and android-x86_64 (w/o optimizations) 2015-07-12 02:22:04 +02:00
Frank Denis
965eaeac46 Revert "Export sodium_increment() to Emscripten"
This reverts commit a8e4115851.
2015-06-28 15:44:06 +02:00
Frank Denis
a8e4115851 Export sodium_increment() to Emscripten 2015-06-22 17:41:55 +02:00
Jack Wink
b87b3a7ac7 add arm64-v8a support for android builds 2015-06-17 14:05:46 -04:00
Frank Denis
a678c09ea3 Export chacha20poly1305_ietf functions to JavaScript 2015-05-15 10:27:16 +02:00
Frank Denis
c5556527ea + simple OSX build script 2015-04-20 12:47:12 +02:00
Frank Denis
ffc98b37b9 Let dist-build/ios.sh compile only for iOS and the iOS emulator. 2015-04-18 18:41:48 +02:00
Frank Denis
a26a126a51 Slightly revamp dist-build/ios.sh
- Compile arm32 and arm64 targets separately
- Compile for the iOS simulator

The resulting fat library include arm32, arm64, 32-bit simulator and
64-bit OSX targets.

This is a bit better than what we previously had regarding the simulator,
but still not optimal, as the 64-bit simulator version should also be
included. However, a fat library cannot include both the 64-bit simulator
version and a version for OSX since the architecture is the same.

The proper way to address this is probably to generate two libraries.
This requires some prior changes to Swift-Sodium.
2015-04-18 11:50:27 +02:00
Frank Denis
575ce93058 + crypto_box_seal() 2015-04-17 01:01:32 +02:00
Frank Denis
adf636f5db Android: Use app platform 21 2015-03-10 15:08:44 +01:00
Frank Denis
4723c3d37d Remove useless comment 2015-02-08 17:07:26 +01:00
Frank Denis
b15819fa60 Spacing 2015-02-08 17:04:15 +01:00
Frank Denis
2d3c61b3f2 armv7 -> armv7-a 2015-02-08 17:03:38 +01:00
Frank Denis
aeb26be748 Android: Use app platform 18 2015-02-08 11:30:03 +01:00
Frank Denis
53a5914a4c android-mips -> android-mips32 2015-02-08 10:42:27 +01:00
Frank Denis
0022a42f5a Don't build arm and armv7 android targets in the same directory 2015-02-08 10:34:39 +01:00
Frank Denis
046df856fa Revert "Disable PIE on Android"
This reverts commit cdf863c731.
2015-02-08 10:26:11 +01:00
mosin
4d5863a6cc android ndk requires arch to be arm not armv7
In the android-build.sh script, the call the ${ANDROID_NDK_HOME}/build/tools/make-standalone-toolchain.sh passes TARGET_ARCH as armv7 where as around line 117 of make-standalone-toolchain.sh requires ARCH to be {arm,x86,mips,arm64,x86_64,mips64}
2015-02-07 09:31:49 -05:00
Frank Denis
cdf863c731 Disable PIE on Android 2015-01-31 12:31:08 +01:00
Frank Denis
0938b7cf9a Export _crypto_generichash_statebytes() 2015-01-24 11:30:05 +01:00
Frank Denis
dd5224791b Re-add filesystem support for the library 2015-01-18 00:59:59 +01:00
Frank Denis
00f8156457 Do not hardcode the node binary 2015-01-18 00:52:14 +01:00
Frank Denis
98c96f4c99 No browser, no filesystem support required 2015-01-18 00:42:34 +01:00
Frank Denis
e7f410de10 Emscripten: don't use a memory init file any more.
It doesn't take that long to load the module, and it's going to make
users' life way easier.
2015-01-17 22:11:10 +01:00