Commit Graph

337 Commits

Author SHA1 Message Date
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
Frank Denis
87972313d6 Do not export sysrandom symbols on Emscripten 2015-01-17 14:27:37 +01:00
Frank Denis
fa25d38288 Export _crypto_pwhash_scryptsalsa208sha256_ll 2015-01-17 12:42:51 +01:00
Frank Denis
c1b813c16a Emscripten: reserve space for 8 function pointers 2015-01-17 12:37:21 +01:00
Martin Hamrle
17247f7c99 Use bash for NDK make toolchain 2015-01-15 18:34:27 +01:00
Frank Denis
9b85fddfa9 Abort if the JS tests don't pass 2015-01-15 11:26:46 +01:00
Frank Denis
cd67cb17e5 Emscripten: add a file to mark that the build completed, for libsodium.js 2015-01-15 10:59:06 +01:00
Frank Denis
36d3d7cb5b Use io.js instead of node, if available. 2015-01-14 08:20:17 +01:00
Frank Denis
2262a592e6 Export the precomputed interface to emscripten 2015-01-06 17:59:52 +01:00
Frank Denis
c7492a4bae Make IPHONEOS_VERSION_MIN overridable 2014-12-26 23:01:38 +01:00
Frank Denis
9af34c5766 Compile for armv7s 2014-12-16 19:33:58 +01:00
clowwindy
b97c7f4f88 build both i386 and x86_64 for iOS simulator 2014-12-12 16:43:55 +08:00
clowwindy
d5acdd7f40 fix typo 2014-12-12 16:35:38 +08:00
Frank Denis
32cf1d50fa Since we're compiling for OSX, run the test suite. 2014-12-11 00:35:31 -08:00
Frank Denis
ba3fdb4790 Display what the fat library contains 2014-12-10 21:43:55 -08:00
Frank Denis
a96eb971b4 If the OSX code in ios.sh is just for the simulator, using -Oz is fine 2014-12-10 21:41:31 -08:00
Frank Denis
f2b034867e dist-build/ios: remove existing headers 2014-12-10 21:40:49 -08:00
Frank Denis
1ee6da8107 Make the output more readable 2014-12-10 21:27:10 -08:00
Frank Denis
d8deef19ef Use make distclean for cleanup; tell the user where it's been installed 2014-12-10 21:23:24 -08:00
Frank Denis
d050dbbed5 Cleanup -> make distclean 2014-12-10 21:22:01 -08:00
Frank Denis
997485ac22 Use the same options on OSX and iOS 2014-12-10 21:21:15 -08:00
Jack Wink
28edcc1885 update iOS build script to include arm64 and current OSX machine arch 2014-12-11 00:17:10 -05:00
Frank Denis
b53f5c7f74 The node binary was renamed nodejs on Ubuntu. 2014-12-04 10:28:49 -08:00
Frank Denis
4aac60f9a2 Ship android-armv7.sh 2014-12-01 19:47:04 -08:00
Frank Denis
4c1073e4e5 Exporting crypto_box and crypto_secretbox doesn't make sense in Javascript. 2014-11-30 20:00:10 -08:00
Frank Denis
f562d561d8 sodium_utils2 and sodium_utils3 cannot work in Javascript; this is expected. 2014-11-29 22:45:41 -08:00
Frank Denis
6fe4aeaf01 Emscripten: update the list of exported functions 2014-11-29 20:42:16 -08:00
Frank Denis
61620d7e42 Make 'make check' actually run the tests on Emscripten. 2014-11-25 09:51:39 -08:00
Frank Denis
db5b51042a Don't export the JS function names in LDFLAGS. 2014-11-22 14:53:16 -08:00
Frank Denis
e7069f0363 Do not use "=" with "--" options 2014-11-22 11:43:23 -08:00
Frank Denis
2ee447ff14 iOS: add -miphoneos-version-min 2014-11-20 14:01:35 -08:00
Frank Denis
729a54f4a2 Use --enable-minimal in the Android and iOS builds 2014-08-13 23:32:26 -07:00
Frank Denis
88ff698bfb --llvm-lto 1 produces smaller Javascript code.
Also add the symbol map.
2014-08-05 23:24:03 -07:00
Frank Denis
85acbd0020 Do not export low-level functions to Javascript by default 2014-08-05 23:09:39 -07:00
Frank Denis
658ae19e0b Update the list of symbols exported to Javascript. 2014-08-05 22:23:14 -07:00
Frank Denis
80f9d943f7 Export all the symbols to Emscripten 2014-07-12 21:42:16 -07:00
Frank Denis
64c70e0612 Bump up the max allowed memory for Emscripten. Might be required for scrypt. 2014-07-12 19:25:17 -07:00
Frank Denis
e6e0b7d498 Use --enable-minimal with the Javascript build 2014-07-09 21:14:27 -07:00
Frank Denis
dda77990f8 Target iOS 8.0 2014-06-29 10:55:13 -07:00
Frank Denis
27a33a062d msys-win64 build script: do not target Pentium 2 CPUs for a 64 bit build... 2014-05-13 21:03:12 -07:00
Frank Denis
d33d0f08e0 Preliminary build script for Emscripten 2014-05-06 14:43:46 -07:00
Frank Denis
2094263048 Update Win32/Win64 build scripts 2014-05-05 15:50:15 -07:00
Frank Denis
f2f126fdfd Remove empty lines 2014-05-01 10:54:00 -07:00
Frank Denis
884eac37ce iphone.sh -> ios.sh 2014-04-24 22:59:00 -07:00
Frank Denis
9b82685f14 Remove bashism 2014-03-04 09:20:53 -08:00
Sergey Shatunov
2c48c844d4 Split for armv6 and armv7 archs in buildscripts 2014-02-24 17:21:15 +08:00
Simon Levermann
c62bbd0b6f Update android build script
Use the --disable-soname-versions option for android
2014-02-20 17:56:54 +01:00
Sergey Shatunov
16a7691ead Build scripts for android arm/x86/mips 2014-02-17 17:31:35 +08:00
Frank Denis
3aa856474a Distribute the dist-build directory 2013-12-31 16:16:29 +01:00
Frank Denis
b989d28925 Do not require droid-gcc any more to compile for Android 2013-12-31 16:07:01 +01:00
Frank Denis
eab6ff79d4 Add a build script for msys-win64, rename msys.sh to msys-win32.sh 2013-12-30 17:54:43 +01:00
Frank Denis
9927b7460e Target iOS 7.1 2013-11-18 14:59:25 -08:00
Frank Denis
deb18cd490 Update the link to droid-wrapper 2013-10-29 20:17:36 -07:00
Frank Denis
d83a4bdb6c Move back to Xcode.app 2013-10-04 18:36:34 -07:00
Frank Denis
9db373dd6a Install msys binaries in a local directory 2013-09-09 11:51:25 -07:00
Frank Denis
faf6f5cbc1 iPhone / Android targets: issue an explicit make clean every time.
Often useful to automatically wipe forgotten leftovers from a different target.
2013-09-07 17:06:56 -07:00
Frank Denis
4cbfd71d88 Bump Android NDK version 2013-09-04 00:16:00 -07:00
Frank Denis
93aaa0e1a9 Target iOS 7 2013-07-20 17:40:23 -07:00
Alexander Kjeldaas
b01ebe6caf Check prerequisites in android.sh 2013-06-13 10:11:28 +02:00
Frank Denis
0ad0f3e1ce Disable PIE on Android 2013-06-09 12:14:31 -07:00
Frank Denis
39a54324fb Update Android & iPhone build scripts to build static libraries only. 2013-05-30 22:56:18 -07:00
Frank Denis
a461cb00cd Export NDK_ANDROID_SOURCES 2013-05-04 13:16:57 -07:00
Frank Denis
6aa35882eb Android: target Gingerbread, but downgrade the toolchain to 4.3.3 2013-04-27 11:18:08 -07:00
Frank Denis
9ce73f07e5 Bump Android NDK version 2013-04-25 22:57:55 -07:00
Frank Denis
9131967397 We don't need libltdl 2013-04-25 22:51:19 -07:00
Frank Denis
ecb70e2f77 Use included ltdl 2013-04-24 11:50:59 -07:00
Frank Denis
66c6df11bd Retweak msys compile script 2013-04-24 11:50:20 -07:00
Frank Denis
0ca48ff21c Tweak msys flags 2013-04-24 11:48:51 -07:00
Frank Denis
a2eeafe2ed Update Android toolchain version 2013-04-22 11:43:35 -07:00
Frank Denis
f7e643a75c Back to a stable Xcode version. 2013-02-08 01:25:55 -08:00
Frank Denis
4e51588674 Add build scripts for iOS, Android and MSYS. 2013-01-21 21:25:49 -08:00