Commit graph

57 commits

Author SHA1 Message Date
Dag-Erling Smørgrav
cdd29a0700 If we're going to have a sentinel, we may as well have fun with it. 2018-05-06 19:21:00 +02:00
Dag-Erling Smørgrav
dc8984d0a0 Create autoconf macros to automate component selection.
These macros are designed to work in concert with the AX_PKG_CONFIG macros.  It is now possible to disable any component, even if another depends on it, provided that it is already installed.  For enabled components, we define the same variables as AX_PKG_CONFIG would, so Makefiles don't need to know if a component they rely on is being built as part of this packge or if it was already installed.
2018-05-06 03:21:59 +02:00
Dag-Erling Smørgrav
7a9326dac4 Explicitly enable maintainer mode.
This is the default if the AM_MAINTAINER_MODE macro is not invoked, but invoking it also creates the --disable-maintainer-mode option which some automated build tools use to speed up builds from a clean tree.
2018-05-05 15:37:55 +02:00
Dag-Erling Smørgrav
6e70e11df9 Bump version and copyright years. 2018-04-26 22:00:21 +02:00
Dag-Erling Smørgrav
785612b12b Apply developer flags to C++ as well as C. 2017-12-17 14:03:26 +01:00
Dag-Erling Smørgrav
2e5134e217 Bump version. 2017-09-04 16:33:37 +02:00
Dag-Erling Smørgrav
5c8745138e Add strchrnul(), wcschrnul(), and tests for the former. 2017-08-23 13:41:40 +02:00
Dag-Erling Smørgrav
5a8998d440 Replace pkg.m4 with our own pkg-config macros. 2017-05-06 02:03:14 +02:00
Dag-Erling Smørgrav
c09b83a2ad AC_HELP_STRING was renamed to AS_HELP_STRING ages ago. 2017-05-06 00:53:37 +02:00
Dag-Erling Smørgrav
8402429448 Bump version. 2017-05-02 13:15:10 +02:00
Dag-Erling Smørgrav
d4ae7a43cb Fix compiler warnings in Travis.
Travis forces _FORTIFY_SOURCE, which enables warn_unused_result annotations in glibc. Some of those annotations are of dubious value; in the case of asprintf(3) and vasprintf(3), they flag code that doesn't check the return value as unsafe even if it checks the pointer instead (which is guaranteed to be NULL in case of failure, and arguably more useful than the return value). Unfortunately, gcc intentionally ignores (void) casts, so we have no choice but to quench the warning with -Wno-unused-result. However, some of the compilers we wish to support don't recognize it, so we move it from the developer flags to the Travis environment.

While there, switch Travis from Precious to Trusty.
2017-05-01 16:52:22 +02:00
Dag-Erling Smørgrav
24df7d433f Bump version. 2017-04-06 21:19:23 +02:00
Dag-Erling Smørgrav
206c6ffc85 Implement ffs() / fls() and use the latter to compute the MSB. 2017-04-06 19:52:23 +02:00
Dag-Erling Smørgrav
cdd1a65e84 Fix pasto which prevented cryb-mpi from being built. 2017-04-06 19:51:47 +02:00
Dag-Erling Smørgrav
95ba4d39da Bump version. 2017-04-06 19:51:46 +02:00
Dag-Erling Smørgrav
f164c3ac6e Replace the old mkpkgng script with a true port Makefile. 2017-04-06 19:51:46 +02:00
Dag-Erling Smørgrav
d96415b2c3 Define vector versions of the endianness conversion functions. 2017-04-06 19:51:46 +02:00
Dag-Erling Smørgrav
fbf69f31cb Start using pkg-config / pkgconf. 2017-03-07 00:54:46 +01:00
Dag-Erling Smørgrav
5476b36e9a Switch to using a real version number and bump. 2017-03-07 00:49:19 +01:00
Dag-Erling Smørgrav
912ba9b6ff Add a test that ensures that our headers are compilable in C++. 2017-01-24 15:08:48 +01:00
Dag-Erling Smørgrav
3da29c38c6 Fix typo in libcryb-enc's dependency list. 2016-11-21 13:47:17 +01:00
Dag-Erling Smørgrav
4cad790446 Fix typo in libcryb-rand's Makefile and ensure that it is built before libcryb-oath, which uses it. 2016-11-21 13:46:49 +01:00
Dag-Erling Smørgrav
856571a06d Implement a soft assert for unit tests.
Unlike assert(3), which uses abort(3), this has no other side effects (before raising SIGABRT) than an fprintf() call.  The test framework will catch the SIGABRT, report that the test case failed, and proceed with the next case.
2016-11-14 13:00:16 +01:00
Dag-Erling Smørgrav
183f023ab6 Alphabetize. 2016-11-14 12:59:13 +01:00
Dag-Erling Smørgrav
a36ae775dd Disable unused-result warnings.
It does not seem that gcc accepts casting to void as an alternative to actually checking the result.  The only recourse we have is to disable the warning.
2016-09-18 23:32:53 +02:00
Dag-Erling Smørgrav
cb6743bace Add wide-character versions of strlcat(), strlcmp(), strlcpy(). 2016-09-17 21:35:42 +02:00
Dag-Erling Smørgrav
d9b6740247 Implement the full range of BSD endianness conversion functions. 2016-09-15 11:18:01 +02:00
Dag-Erling Smørgrav
06a757e878 Big reorganization and cleanup 2016-09-04 14:56:39 +02:00
Dag-Erling Smørgrav
d2a98cd870 Generate .xz tarball by default, not .gz 2016-01-09 20:26:40 +01:00
Dag-Erling Smørgrav
9905f08c80 Change tarname to cryb-to to match github project name etc. 2016-01-09 20:16:04 +01:00
Dag-Erling Smørgrav
e5b9a12a35 Add -Wshadow. 2016-01-09 18:37:05 +01:00
Dag-Erling Smørgrav
f9c8ce7c65 Build system overhaul 2015-12-14 18:08:22 +01:00
Dag-Erling Smørgrav
7b48030ada Revert accidental commit 2015-11-02 19:34:54 +00:00
Dag-Erling Smørgrav
955cbc3013 Add t_malloc_snapshot() which writes a snapshot of the allocator state to
a caller-provided buffer.  Use it to warn about leaks in each individual
test case.  Note that we can't fail a test case for leaking, because
individual test cases in a unit may modify shared state which is cleaned
up at the end of the series.
2015-11-02 19:34:03 +00:00
Dag-Erling Smørgrav
f8ebdbc14d Move the test framework into its own subdirectory 2015-10-04 07:49:48 +00:00
Dag-Erling Smørgrav
dd18cd2995 Kick off libcryb-cipher with AES (from XySSL) and RC4 (my own). 2015-10-03 14:24:59 +00:00
Dag-Erling Smørgrav
20cd7d6012 Add 16-bit endian conversion functions. 2015-08-17 15:37:07 +00:00
Dag-Erling Smørgrav
dc75f2edd8 Add a memset_s() implementation (cf. C11 / WG14 N1381) 2015-02-15 09:18:18 +00:00
Dag-Erling Smørgrav
1a76a0cbb0 Get latest mkpkgng script from OpenPAM. 2014-12-20 02:58:11 +00:00
Dag-Erling Smørgrav
13bad71153 Make coverage.sh executable. 2014-12-20 00:52:37 +00:00
Dag-Erling Smørgrav
6ed802ddf3 Consistently use #if HAVE_FOO instead of #ifdef HAVE_FOO. The reason is
that AC_CHECK_DECLS([foo]), unlike AC_CHECK_FUNCS([foo]), will always
define HAVE_FOO, so #ifdef HAVE_FOO will always be true even if it is 0.
This commit finally fixes the [bl]e{32,64}{enc,dec} issue on Linux.
2014-12-20 00:38:54 +00:00
Dag-Erling Smørgrav
b74f5f8588 Add -Wcast-qual to the developer warning flags. 2014-12-20 00:27:20 +00:00
Dag-Erling Smørgrav
8ef2266a4b r103 was incomplete. It changed the checks in the configure script (and
accidentally introduced a no-op line), but did not change the checks in
the header, so we ended up always using our own [bl]e{32,64}{enc,dec}.
2014-12-20 00:26:37 +00:00
Dag-Erling Smørgrav
44230ff5e3 Use AC_SEARCH_LIBS instead of AC_CHECK_LIB so we don't pull in librt
unless we actually need it.
2014-10-30 14:32:46 +00:00
Dag-Erling Smørgrav
86e7cd9eb1 Fix the checks for the unaligned encoding / decoding functions, as
they can be macros or inline functions in either <endian.h> or
<sys/endian.h>.
2014-10-30 13:24:53 +00:00
Dag-Erling Smørgrav
14c64ec3a5 Improved checks for <sys/ktrace.h>. 2014-10-30 13:07:16 +00:00
Dag-Erling Smørgrav
75ee849080 Add missing checks for clock_gettime(2) (Linux has it in librt) and
for the unaligned encoding / decoding functions in <cryb/endian.h>.
2014-10-30 12:55:36 +00:00
Dag-Erling Smørgrav
cf44e01bb1 Check for <sys/ktrace.h> and utrace(2). 2014-10-30 12:05:45 +00:00
Dag-Erling Smørgrav
be31515f5e Start of a multiple-precision integer arithmetic library. 2014-08-12 07:30:31 +00:00
Dag-Erling Smørgrav
479ffbba4a Remove author and sponsor tags; we'll deal with that some other way.
Remove $Cryb$ tags as it is likely that the code will move to git.
2014-08-01 14:31:07 +00:00