aboutsummaryrefslogtreecommitdiffstats
path: root/configure.py
Commit message (Collapse)AuthorAgeFilesLines
* Remove --build-mode and add individual toggles for optimization, debug,Jack Lloyd2015-10-261-36/+41
| | | | | | sanitizers and coverage as all 4 are usefully set independently. Use GCC 4.9 on CircleCI as it seems to be supported. Add ASan + UBSan test.
* Remove the strange conjoining of debug and optimization flags.Jack Lloyd2015-10-261-45/+21
| | | | | | | | | | | | | | | | | | | Previously a build had optimizations disabled completely when debug info was emitted. But there are many reasons to use optimized builds with debug symbols (running under valgrind, against afl, with Asan/Ubsan, in prod, etc). And personally I find even debugging at -O2 or -O3 is fine most of the time and worth it for the speed. Use the (now documented!) --no-optimizations flag if no optimization is desired while debugging. This also removes the distinction between library and application compile flags; there is a single optimization level that is probably good enough for everything. On Win32 it removes definding _CONSOLE for the application. This seems to be some mythical value that may have been required at some point, but is not documented anywhere I can find. Who knows what VC thinks, hoping I don't have to add this back. It also drops defining `EBUG` which is what happens when you tell cl.exe to '/DEBUG'. LOL.
* Add `--minimized-build` which does the same thing as `--no-autoload`Jack Lloyd2015-10-141-1/+3
| | | | | but the meaning of the option is probably easier to understand with this name.
* build system: Add framework support for OS X and iOSDaniel Seither2015-09-251-3/+14
| | | | | | | On Darwin platforms, there are frameworks that can bundle libraries and header files in a standardized directory structure. We need to support linking to them because most of the OS X or iOS-specific APIs are provided as frameworks.
* Pluralize --with-python-version option, remove it from single-option groupJack Lloyd2015-09-221-7/+4
|
* Fix pbkdf, pk padding and ECDH registration for static linking.Jack Lloyd2015-09-111-4/+0
| | | | | | | | With this change the tests pass when linked against a static library built in the normal (non-amalgamation) fashion. Remove the restriction in configure.py, and have circleci build the clang static build as a non-amalg.
* Prevent users from building static non-amalgamations on MinGW and CygwinSimon Warta2015-09-091-7/+6
| | | | | | | | * 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
* Remove duplicated ABI flags, and treat user-set flags as a single stringJack Lloyd2015-08-291-8/+6
|
* Allow multiple abi link flags with the same nameRené Korthaus2015-08-281-4/+4
| | | | | | Allow multiple ABI link flags with the same name, e.g., -arch armv7 -arch armv7s when cross-compiling for iOS. This is the first fix necessary for fixing #188.
* Add soname_patternSimon Warta2015-08-241-4/+21
| | | | Fixes #241
* On x86-32, anything using the simd wrapper needs to be pushed to the SSE2 objJack Lloyd2015-08-221-4/+8
|
* Update configure.pySimon Warta2015-07-261-15/+11
| | | | | | | | * Increase minimal python version to 2.7 * Remove monotone revision command * Set choices for --link-method argument Closes #217
* Remove the configure.py logic for handling bare asm. GH #216Jack Lloyd2015-07-251-25/+2
|
* Fix typosSimon Warta2015-07-241-1/+1
| | | | Thanks to @vlajos https://github.com/vlajos/misspell_fixer
* Make 'module not found' an errorSimon Warta2015-07-231-2/+2
| | | | | | | Before a typo in a module name was a warning. It now is an error because it is potentially harmful. [ci skip]
* Rename so_link_flags to so_link_commandsSimon Warta2015-07-211-10/+10
|
* Add binary_link_command; Use compiler configs to set RPATH on LinuxSimon Warta2015-07-211-17/+33
|
* Check for so_link_command existence in compiler settingsSimon Warta2015-07-211-1/+3
|
* Merge compile_option into CXX_FLAGSSimon Warta2015-07-211-3/+1
|
* Have a $(LINKER) variableSimon Warta2015-07-211-8/+16
|
* Rename template variable cc -> cxxSimon Warta2015-07-211-1/+1
|
* Make release/debug versions for: compile_flags, lib_opt_flags and app_opt_flagsSimon Warta2015-07-211-10/+21
| | | | | | This commit aims to preserve all settings. In some cases it will drop optimization flags and fall back to compiler's defaults in the new debug mode.
* Tie static build check to --via-amalgamation, not --gen-amalgamationSimon Warta2015-07-191-1/+1
| | | | | | --gen-amalgamation does not use amalgamation in the Makefile [ci skip]
* Make internal headers available for tests (amalgamation)Simon Warta2015-07-151-4/+3
|
* Force amalgamation in static buildSimon Warta2015-07-131-0/+4
| | | | Closes #128.
* Exit configure script with return value 1 on errorSimon Warta2015-07-121-4/+13
|
* Remove dead code (Boost.Python makefile, unused configure.py functions)Jack Lloyd2015-07-111-13/+0
|
* Make sanitizer a build mode for easy use by developers.Jack Lloyd2015-07-051-3/+8
|
* Rename variable with_shared_lib -> build_shared_libSimon Warta2015-07-031-1/+1
|
* Dont run install_name_tool when lib is statically linkedSimon Warta2015-07-011-1/+1
|
* Fix include handling in amalgamationSimon Warta2015-07-011-16/+19
| | | | Includes must be unique per .cpp file, not globally. Fixes #105
* Add optparse choices parameter to detect config errors nice and earlySimon Warta2015-06-241-2/+6
|
* Use install_name_tool to change location of botan lib on OSXSimon Warta2015-06-221-0/+7
|
* Set RPATH to $ORIGIN for ./botan and ./botan-testSimon Warta2015-06-221-1/+3
| | | | | | | | This makes setting LD_LIBRARY_PATH obsolete when Botan lib and botan /botan-test binary are in the same directory. This behavior is default on Windows. LD_LIBRARY_PATH can still be used to override the RPATH.
* Fix coverage make targetSimon Warta2015-06-211-0/+1
|
* Prefix gmake includesSimon Warta2015-06-201-8/+6
|
* Update build system:simon2015-06-181-1/+3
| | | | | | | | | | | | | - Remove unused make variables VERSION, BRANCH - Move first make all target below all variable definitions - Move "Executable targets" as well as "LIBNAME" from header.in into gmake.in and nmake.in. Those variables differ more than they share and are getting too abstract. - Use new variable names: LIB_BASENAME, LIB_FILENAME. Drop LIBNAME and BOTAN_LIB - Write libs to out_dir now, which enables out-of-tree builds GH #110, replaces #70 #106 #107 fixes #85
* Fix --disable-aes-ni flag which did not disable AES-NI. Reported onlloyd2015-06-031-1/+1
| | | | the mailing list.
* Add .exe suffix to MinGW and Cygwin binaries alsolloyd2015-04-271-1/+2
|
* Remove the stray binary character making Python3 unhappy, removelloyd2015-04-121-9/+4
| | | | encoding= flags since they are not needed anymore and broke Python2.
* Add back --debug-modelloyd2015-04-121-1/+5
|
* Remove notice loglevel as logging.addLevelName is broken in Python3lloyd2015-04-121-9/+5
| | | | | Read and write the amalgamation as latin1 so python3 treats it as just bits instead of invalid UTF8
* Add coverage checking with gcov/lcovlloyd2015-04-121-34/+33
|
* Fix the makefile for JOMsimon2015-03-181-1/+2
| | | | | | JOM is a nmake-compatible tool for Windows which supports -jN for parallel builds. JOM's $? variable is broken, but this workaround is simple. Github pull 66 from Simon Warta.
* Github pull 65, Use Clang on OS X when presentcordney2015-03-151-0/+3
|
* Get the ordering of operations correct in the build.lloyd2015-03-151-273/+232
| | | | | | If we're building via amalgamation then we need to edit what goes into the makefile. That requires the amalgamation run before the makefile since we don't know how many files there will be until we do the scan.
* Move the amalgamation generation to later in the build process solloyd2015-03-101-3/+3
| | | | | build.h exists. Otherwise an amalg build with a clean working dir will fail because build.h is not found. Github issue 57.
* Add option to generate single amalgamation file.lloyd2015-02-281-25/+29
|
* Split amalagamation into ISA specific objectslloyd2015-02-221-37/+63
|
* Hide all uses of boost filesystem in fs.cpp. Use readdir as anlloyd2015-02-211-5/+16
| | | | | alternate implementation for Unix and add some feature checks so a boost-free build of the tests and command line are possible again.