aboutsummaryrefslogtreecommitdiffstats
path: root/src/build-data/os
Commit message (Collapse)AuthorAgeFilesLines
* Add back support for Windows Phone RNG, undeprecate UWPJack Lloyd2018-05-281-0/+5
| | | | See #1586. Reverts part of #1494
* Do not create shared library symlinks on OpenBSD.Alexander Bluhm2018-04-121-1/+1
| | | | | | | | Symlinks to shared libraries confuse the OpenBSD dynamic linker. We need one file with two numbers. The problem became apparent when the abi_rev and the OpenBSD ports shared libs numbers diverged. Add a new conditional variable symlink_shared_lib to suppress the symlink in the makefile.
* Add back posix_mlock flagJack Lloyd2018-03-2613-1/+14
| | | | | We need a distinct flag for this because Haiku is mostly POSIX but does not support mlock.
* Use RtlGenRandom instead of CryptoAPIJack Lloyd2018-03-143-3/+2
|
* Add support for --library-suffix optionJack Lloyd2018-01-124-10/+10
| | | | Fixes GH #1404
* Test OS features by the feature vs the OS nameJack Lloyd2017-12-3019-80/+84
|
* Support regexes for OS aliasesJack Lloyd2017-12-301-1/+1
| | | | | Needed for mingw which has unames like mingw32_nt-6.3 and thus varies based on the underlying version. Might be useful elsewhere.
* Build improvementsJack Lloyd2017-12-238-6/+4
| | | | | | | | | | Derive the fact that shared libs are not supported from the lack of information about shared object names. If soname_suffix and co are not set -> shared libs are disabled. Disable stack protector by default on OSes where it has proven a problem namely AIX and Haiku. Add --with-stack-protector option to force turning it on.
* Enable additional Haiku featuresJack Lloyd2017-12-231-1/+3
|
* Enable shared libs on HaikuJack Lloyd2017-12-231-1/+2
| | | | Works fine, think this was a problem with their old gcc2 toolchain.
* Fix build issue on HaikuJack Lloyd2017-12-231-0/+2
| | | | Undeprecate it since it seems easy enough to support.
* Remove some unused OS feature flagsJack Lloyd2017-12-1317-20/+1
| | | | | We are unlikely to ever use gettimeofday or memset_s going forward. Also MinGW had the wrong flag for VirtualLock
* Drop IRIX supportJack Lloyd2017-12-131-9/+0
| | | | | | It turns out that GCC dropped support for IRIX in 4.8, so likely there was never even a C++11 compiler that could have been used to compile 2.x in any case.
* Simplify date conversion by avoiding OS utilitiesJack Lloyd2017-12-0410-10/+0
| | | | | | | We have to rely on non-portable OS calls to convert UTC times, and they are not available on many systems (including Solaris and MinGW). But instead there is a simple algorithm due to Howard Hinnant that does the same job. Woo.
* Build simplificationsJack Lloyd2017-12-021-0/+7
|
* Accept CXXFLAGS and LDFLAGS from environment (GH #1237)Jack Lloyd2017-12-021-0/+2
| | | | Also remove a duplicated block (rebase error)
* Fix macOS dynamic linkJack Lloyd2017-12-011-0/+2
|
* Avoid naming Windows library botand if in debug modeJack Lloyd2017-12-011-1/+1
| | | | | Apparently introduced in #584 but unnecessary afaict as the CLI was renamed at the same time.
* Remove support for setting install commandJack Lloyd2017-11-303-9/+0
| | | | Unused since the Python install script was introduced.
* Allow overriding ar commandJack Lloyd2017-11-294-12/+2
| | | | | | | | Splits up the ar command and ar options to make this possible. Removes support for calling `ranlib` after `ar`: testing in #1317 confirms that all platforms we support no longer need it. See #1237. Also fixes #455
* Use explicit_bzero on OpenBSDJack Lloyd2017-09-301-0/+1
| | | | [ci skip]
* Supposedly iOS has arc4random, so maybe this works...Jack Lloyd2017-09-212-4/+6
|
* Refactor RNGs to support Windows PhoneJack Lloyd2017-09-021-0/+26
| | | | | | | | | | | | | | | | | | | This OS has its own crypto API and does not support CryptGenRandom. Splits System_RNG_Impl into distinct declarations one per implementation type. Easier to read now that we are up to 4 distinct versions. Removes the CryptoAPI entropy source, and replaces it with an entropy source that calls the system RNG. This is nominally a bit less flexible in that the entropy source allowed polling multiple providers (though we didn't actually make use of that). Plus side is it works on all systems. Currently the dev_random entropy source is still there because we do actually use it to poll both /dev/random and /dev/urandom, and it might be useful (on certain systems) to also poll a HW RNG, which are often assigned their own device node. This could debatably also be removed in favor of just reading the system RNG.
* Add support for LLVM bitcode targetJack Lloyd2017-08-301-0/+9
|
* Add compatibility comment for getauxval on AndroidSimon Warta2017-08-271-0/+2
|
* Add support for Windows sockets to http_utilRené Korthaus2017-08-041-0/+1
| | | | | | Based on the work by @slicer4ever, adds support for Windows sockets to http_util. As a bonus, we get Windows support for tls_client and tls_server CLI.
* Use arc4random(3) as system rng on OpenBSD.Alexander Bluhm2017-03-301-0/+1
| | | | | | | | | OpenBSD provides the arc4random(3) function in libc for user land programs that need good random data. Use this to implement the Botan system random number generator. It has the advantage over /dev/urandom that it works without file descriptors and in chroot(2) environment. Internally libc is currently using a ChaCha20 cipher as PRNG and getentropy(2) to reseed itself automatically.
* Fix DragonflyBSD fs accessJack Lloyd2017-03-191-0/+2
| | | | GH #887
* OpenBSD does not have 3 digit soname and library symlinks.Alexander Bluhm2017-03-131-1/+3
| | | | | Set library name for openbsd to libbotan-2.so.0.0 and do not install symlinks.
* Add readdir for SolarisJack Lloyd2017-01-281-0/+1
| | | | [ci skip]
* Refactor CPUID implementation, add ARM supportJack Lloyd2017-01-172-0/+2
| | | | | | Tested for ARM only under qemu-aarch64, need to check hardware before merging. Changes x86 CPUID bitmasks which does break ABI for 2.1, no API implications.
* Cygwin has readdir, so uses it.Jack Lloyd2017-01-071-0/+1
| | | | | | | | Fixes a test problem on Cygwin. GH #824 [ci skip]
* Update features for AIXJack Lloyd2017-01-061-0/+5
| | | | | | Based on compiling on AIX 7.1 [ci skip]
* Update shared object naming for new versioning scheme.Jack Lloyd2017-01-0615-12/+29
| | | | | | | | | | | | Cleans up so object naming since most of the time (across Unix) we follow the exact same naming scheme; just make it the default if only the so suffix is specified in the file. Also updates include header dir to be botan-${major} Changes behavior when shared lib not supported; instead of making the user explicitly try again with --disable-shared, just assume it and continue running.
* Add os iosSimon Warta2017-01-031-0/+26
|
* configure - Better handling of filesystem feature bitJack Lloyd2016-10-1219-1/+39
|
* Add IncludeOS target. Make filesystem support optional.Jack Lloyd2016-10-101-0/+4
|
* Compile shared libraries (too) on FreeBSDLauri Nurmi2016-07-021-0/+4
| | | | Soname_patterns and link commands are identical to those used with Linux
* CLI rewriteJack Lloyd2015-12-195-0/+5
| | | | | | | | | | | | | | | | | | The command line tools' origin as a collection of examples and test programs glued together led to some unfortunate problems; lots of hardcoded values, missing parameters, and obsolete crypto. Adds a small library for writing command line programs of the sort needed here (cli.h), which cuts the length of many of the commands in half and makes commands more pleasant to write and extend. Generalizes a lot of the commands also, eg previously only signing/verification with DSA/SHA-1 was included! Removes the fuzzer entry point since that's fairly useless outside of an instrumented build. Removes the in-library API for benchmarking.
* New reseed_with_sources call on RNGsJack Lloyd2015-11-2411-11/+0
| | | | | | | | | | | | | Provides an easier way for an application to configure a list of entropy sources they'd like to use, or add a custom entropy source to their seeding. Exposes some toggles for the global/default entropy sources to build.h Adds basic entropy tests which runs the polls and does sanity checking on the results, including compression tests if available. These are less useful for the CSPRNG outputs but a good check for the ones producing plain ASCII like the /proc reader.
* Prevent users from building static non-amalgamations on MinGW and CygwinSimon Warta2015-09-092-6/+2
| | | | | | | | * Rename variable to avoid confusion of build_shared and options.build_shared_lib * Don't automatically change shared -> static. Force user to do that Fixes #211
* Add soname_patternSimon Warta2015-08-246-5/+17
| | | | Fixes #241
* Add mktime fallback for non-POSIX timegm()Simon Warta2015-07-278-0/+8
| | | | Closes #202
* Add Android OSDaniel Seither2015-07-171-0/+10
| | | | | | The android.txt is a copy of linux.txt minus the getsid feature (Android's libc, Bionic, doesn't support it) and the alias linux-gnu. It is supported anywhere where linux is supported.
* Add OS feature getsidDaniel Seither2015-07-1711-0/+11
| | | | | It is added to all OS that use getsid currently, so it must be available there.
* Add MSVC stl filesystem implementationSimon Warta2015-07-161-0/+1
| | | | Closes #199
* Add .exe suffix to MinGW and Cygwin binaries alsolloyd2015-04-273-0/+4
|
* I just now assumed configure.py --os=osx would work, and I'm probably not ↵lloyd2015-03-151-0/+1
| | | | the first.
* Hide all uses of boost filesystem in fs.cpp. Use readdir as anlloyd2015-02-215-1/+17
| | | | | alternate implementation for Unix and add some feature checks so a boost-free build of the tests and command line are possible again.
* Use RtlSecureZeroMemory or memset_s if availablelloyd2015-01-072-0/+2
|