aboutsummaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)Author
2020-09-26simplify MakefileLukas Lihotzki
2020-05-19move -o option before source files, for better compatibility with LLVMHubert Chathi
2020-05-16fix build on latest emscriptenMatthew Hodgson
2020-05-15remove overzealous -D param to install which breaks build on macOSMatthew Hodgson
2020-05-07Add wasm target to Makefilestoically
Allows building an WASM-ready archive with emscripten. This allows e.g. to compile to the `wasm32-unknown-unknown` target with Rust. Related matrix-rust-sdk PR: https://github.com/matrix-org/matrix-rust-sdk/pull/31 Signed-off-by: stoically <stoically@protonmail.com>
2019-09-30Build the js objects without PICDavid Baker
This confuses emscripten now
2019-08-08Makefile: Overwrite symlinks in install and install-debugTrygve Aaberge
Without this, it's not possible to run the install or install-debug rules multiple times. Signed-off-by: Trygve Aaberge <trygveaa@gmail.com>
2019-01-30Drop support for old emscriptenDavid Baker
because emscripted has dropped support for the old flag and us setting it is now breaking the build.
2019-01-21initial implementation of short authentication string generationHubert Chathi
2018-10-12Merge branch 'master' into poljarHubert Chathi
2018-10-10Merge remote-tracking branch 'origin/master' into dbkr/ci2David Baker
2018-10-09Merge branch 'master' into dbkr/wasmHubert Chathi
2018-10-05Build on macDavid Baker
2018-10-04Dual-build wasm and asm.js olmDavid Baker
2018-10-03Merge branch 'dbkr/wasm' into dbkr/ci2David Baker
2018-10-03Replace the impenetrable line of perl with pythonDavid Baker
Mostly because the standard emscripten docker image does not have libjson-perl, but python always comes with json. But also because it was impenetrable.
2018-09-25Another day, another interfaceDavid Baker
Change the interface again, hopefully this time a bit more normal. Now we wrap the emscripten module completely and just expose the high level objects. The olm library export is now imported as normal (ie. returns a module rather than a function returning a module) but has an `init` method which *must* be called. This returns a promise which resolves when the module is ready. It also rejects if the module failed to set up, unlike before (and unlike the promise-not-a-promise that emscripten returns). Generally catch failures to init the module.
2018-09-21Make OLM_OPTIONS work againDavid Baker
The closure compiler was just renaming the variable so it never would have picked them up. Make it an extern so it knows what to do.
2018-09-21WebAssembly support!David Baker
Quite a lot going on in this PR: * Updates to support recent emscripten, switching to WASM which is now the default * Use emscripten's MODULARIZE option rather than wrapping it ourself, since doing so in pre-post js doesn't work anymore. * Most changes are moving the emscripten runtime functions to top-level calls rather than in the Module object. * Get rid of duplicated NULL_BYTE_PADDING_LENGTH * Fix ciphertext_length used without being declared * Fix things that caused the closure compiler to error, eg. using OLM_OPTIONS without a declaration. * Wait until module is inited to do OLM_ERROR = olm_error() The main BREAKING CHANGE here is that the module now needs to initialise asyncronously (because it has to load the wasm file). require()ing olm now gives a function which needs to be called to create an instance. The resulting object has a promise-like then() method that can be used to detect when the module is ready. (We could use MODULARIZE_INSTANCE to return the module directly as before, rather than the function, but then we don't get the .then() method).
2018-07-18python: Enable build with the local build of the Olm C library.Damir Jelić
This patch adds the ability to build the bindings without having a globally installed Olm C library. Provided that the C library is already built, the tests can be run now with make test. Signed-off-by: Damir Jelić <poljar@termina.org.uk>
2018-06-27add initial implementation of basic private key encryption functionalityHubert Chathi
2018-04-12Update Makefile to support building on WindowsMTRNord
The code for this change is taken from https://stackoverflow.com/a/30225575/4929236 This patch is Signed-Off-By: Marcel Radzio <marcel@radzio-sh.de>
2017-03-29Makefile: fix tab/space substitution.Richard van der Hoff
2017-03-24Support building as a static libraryAndreas Zwinkau
Signed-off-by: Andreas Zwinkau <qznc@web.de>
2017-03-02Android : improve the version number management (#46)Yannick LE COLLEN
Add functions to make the difference between the native and the java code version. Factor out the version management in the makefiles.
2017-03-01prepare v2.2.22.2.2Richard van der Hoff
2017-01-18Prep v2.2.12.2.1Richard van der Hoff
2017-01-18Bump version numbers to 2.2.02.2.0Richard van der Hoff
2016-12-22Bump version numbers throughout2.1.0Richard van der Hoff
2016-11-17OLMKit: Add it to olm from version 2.0.1manuroe
2016-10-27Add a document on signing keysRichard van der Hoff
2016-10-25Version bump for 2.0.02.0.0Richard van der Hoff
2016-09-23Makefile: install-headers is phonyRichard van der Hoff
2016-09-23Add a Makefile rule to install the headersEmmanuel Gil Peyrot
Signed-off-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
2016-09-22First stab at a megolm specRichard van der Hoff
2016-09-14Changelog and version bump for 1.3.01.3.0Mark Haines
2016-09-06Bump version numbers to 1.2.01.2.0Richard van der Hoff
2016-09-05Avoid ldconfig in the MakefileRichard van der Hoff
... because OSX doesn't support it.
2016-09-01Fix Ed25519 keypair generationRichard van der Hoff
Ed25519 private keys, it turns out, have 64 bytes, not 32. We were previously generating only 32 bytes (which is all that is required to generate the public key), and then using the public key as the upper 32 bytes when generating the per-message session key. This meant that everything appeared to work, but the security of the private key was severely compromised. By way of fixes: * Use the correct algorithm for generating the Ed25519 private key, and store all 512 bits of it. * Update the account pickle format and refuse to load the old format (since we should consider it compromised). * Bump the library version, and add a function to retrieve the library version, so that applications can verify that they are linked against a fixed version of the library. * Remove the curve25519_{sign, verify} functions which were unused and of dubious quality.
2016-07-11Makefile rules to build the rst into htmlRichard van der Hoff
2016-07-11Prepare 1.0.0 release1.0.0Richard van der Hoff
2016-07-05Add an install and an install-debug targetsEmmanuel Gil Peyrot
This makes the user able to use the familiar `make install` syntax, and allows overriding of the default directories using the DESTDIR and PREFIX variables, for example: make DESTDIR=packaging PREFIX=/usr install
2016-07-05Specify the soname in the library and its nameEmmanuel Gil Peyrot
This provides users of this library the guarantee that the ABI will stay stable when MAJOR will reach 1, and will stay backwards compatible for the entire duration of the 1.x.y branch. It does require the maintainers to always update the version in the Makefile at every ABI change.
2016-05-26Merge branch 'rav/group_chat_js_bindings'Richard van der Hoff
2016-05-26Add a fuzzer for olm_group_decryptMark Haines
2016-05-25Javascript bindings for group sessionsRichard van der Hoff
2016-05-25Compile some of the crypto libs directlyRichard van der Hoff
sha256.c and aes.c contain conflicting declarations, so we need to compile them as separate units. This requires a bit more Makefile-shuffling; the build directory now includes 'src' or 'lib' as appropriate, and we just mkdir -p before each compilation.
2016-05-25Merge branch 'rav/jenkins_build'Richard van der Hoff
2016-05-25Merge branch 'markjh/fuzzingII'Mark Haines
2016-05-24Merge branch 'master' into rav/jenkins_buildRichard van der Hoff