aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Set install name for installed libraryCarlo Cabrera2022-02-193-2/+6
|
* Set install name in `LIBFLAGS`Carlo Cabrera2022-02-193-6/+2
| | | | | | | | | | My previous PR (#16) deliberately set the install name at install time instead of at build time, since this is the correct time to determine the library's install name. However, if you prefer to do this during build time instead, then there is no need to call `install_name_tool`. We can pass the appropriate flags to the linker instead.
* Update readmeMattias Andrée2022-02-191-1/+1
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Remove use of ifeq in Makefile and move use of install_name_tool from install-time to build-timeMattias Andrée2022-02-193-3/+5
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Merge pull request #16 from carlocab/macos-install-namesMattias Andrée2022-02-191-0/+3
|\ | | | | Fix library install name in `install` target on macOS
| * Fix library install name in `install` target on macOSCarlo Cabrera2022-02-061-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On macOS, libraries have "install names" which the linker records in a binary that links against the library. At runtime, the dynamic loader uses this install name to work out where to find the linked library. Currently, the Makefile passes no information about the install name to the linker, and so the DSO has an install name of `libkeccak.dylib`. This is a problem when you link something against `libkeccak` but install it outside the default linker search path, because the dynamic loader won't be able to find it. This change fixes that by making sure the dynamic loader will always be able to find `libkeccak.dylib` regardless of where it's been installed. We use `LIBMAJOREXT` since this is the typical convention for library install names. For example, the system libc++ has an install name of `libc++.1.dylib`, in the same way that `SONAME` also typically includes the library major version on Linux.
* | Merge pull request #15 from carlocab/macos-library-versioningMattias Andrée2022-02-191-1/+1
|\ \ | |/ |/| Implement library versioning for macOS
| * Implement library versioning for macOSCarlo Cabrera2022-02-061-1/+1
|/ | | | | | | | | | | | | | | | | | | | | Currently, the Makefile provides no version information about library to the macOS linker. This makes the linker fill in zeroes for `compatibility_version` and `current_version` by default. This is a problem for when you make breaking changes to the library that require re-compilation of linked software. The new library will still have a `compatibility_version` of `0.0.0`, which misleads the linker into believing the new library is a drop-in replacement for the old one. Let's fix that by making sure we pass version information correctly to the linker on macOS. NOTE: Since this increments the `compatibility_version` of the DSO from `0.0.0` to `1.0.0`, this change will require re-compilation of any macOS software that dynamically link against `libkeccak`. If you'd like to avoid this inconvenience for your users, you may wish to wait until you decide to increment `LIB_MAJOR` or otherwise make breaking changes to `libkeccak` before merging this change.
* Fix blksize adjustment when exceeding alloca limit in libkeccak_generalised_sum_fd1.3.1Mattias Andrée2022-02-031-1/+5
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Fix zero-copy update to libkeccak_generalised_sum_fd1.3Mattias Andrée2021-12-241-3/+6
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Add man pages for zero-copy functionsMattias Andrée2021-12-2413-7/+266
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Update library version numberMattias Andrée2021-12-241-1/+1
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Add libkeccak_zerocopy_{update,digest} and in libkeccak_generalised_sum_fd (requires man pages)Mattias Andrée2021-12-246-34/+216
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Fix libkeccak_state_copyMattias Andrée2021-12-241-4/+8
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Fix marshal and unmarshalMattias Andrée2021-12-242-28/+45
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Suppress clang warnings1.2.2Mattias Andrée2021-07-302-0/+11
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Use inline instead of static inline for non-deprecated functionsMattias Andrée2021-07-3027-62/+217
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Merge pull request #14 from alebcay/macos-allocaMattias Andrée2021-07-301-1/+1
|\ | | | | Include alloca.h on macOS
| * common.h: macOS needs alloca.h tooCaleb Xu2021-07-301-1/+1
| |
* | Fix clang warningsMattias Andrée2021-07-3018-61/+152
| | | | | | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* | Do not divide by sizeof(char)Mattias Andrée2021-07-306-17/+17
| | | | | | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* | Fix warningMattias Andrée2021-07-301-1/+1
|/ | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* config.mk: doc ALLOCA_LIMIT, add CC=cc, and set PREFIX=/usr1.2.1Mattias Andrée2021-07-271-1/+9
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Add ALLOCA_LIMIT to fix bug #13 on GitHub reported by Justin GottulaMattias Andrée2021-07-272-9/+30
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Improve makefileMattias Andrée2021-03-011-5/+6
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Style fixMattias Andrée2020-06-101-5/+5
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Merge pull request #12 from hackmod/win32Mattias Andrée2020-06-102-0/+11
|\ | | | | minimal WIN32 support added
| * support WIN32hackyminer2020-06-102-0/+11
|/
* Deprecate libkeccak_{state,hmac}_{unmarshal_skip,marshal_size} and replace with the functions without the _skip or _size suffixMattias Andrée2019-02-1220-302/+152
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Update makefile1.2Mattias Andrée2019-02-111-59/+59
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* General improvementsMattias Andrée2019-02-1124-225/+352
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Deprecate typedefsMattias Andrée2019-02-1175-274/+289
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Split most .c files into one per function and flatten file hierarchyMattias Andrée2019-02-1184-672/+723
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Remove old fileMattias Andrée2019-02-101-15/+0
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Update yearMattias Andrée2019-02-101-1/+1
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Update readmeMattias Andrée2019-02-101-1/+1
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Fix warningsMattias Andrée2019-02-104-65/+107
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* General API improvementsMattias Andrée2019-02-1073-1969/+1526
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Add test from github issue #101.1.5Mattias Andrée2019-02-091-0/+3
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Fix makefile add add OSCONFIGFILEMattias Andrée2019-02-0960-74/+81
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Remove texinfo file (it was truncated anyhow for some reason)Mattias Andrée2019-02-092-430/+1
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Fix makefile1.1.4Mattias Andrée2017-10-211-1/+1
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Fix use of LIBFLAGSMattias Andrée2017-10-181-1/+1
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Remove unnessary -r flag in make clean1.1.3Mattias Andrée2017-10-151-2/+2
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Merge pull request #6 from thebombzen/masterMattias Andrée2017-10-153-16/+13
|\ | | | | Two minor fixes
| * Makefile: use "rm -f" to prevent errors upon second cleaningLeo Izen2017-10-151-14/+11
| | | | | | | | | | | | | | The coreutil `rm` will by default exit with failure if it is instructed to remove a file that doesn't exist. Using `rm -f` will suppress this behavior, so `rm` will exit with success whether or not the file had existed before invoking `rm -f`.
| * tests: use quotes when including libkeccak.hLeo Izen2017-10-152-2/+2
|/ | | | | | | | If libkeccak is not already installed in the system, then test.c and benchmark.c will fail to compile. This is because they previously used `#include <libkeccak.h>` with angled brackets, which doesn't search `.` by default. Using `#include "libkeccak.h"` will search `.` so these will compile.
* Use basic config by default1.1.2Mattias Andrée2017-10-143-9/+16
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Fix makefileMattias Andrée2017-10-142-3/+3
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* General improvementsMattias Andrée2017-10-1482-1426/+626
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>