aboutsummaryrefslogtreecommitdiffstats
path: root/src/build-data/buildh.in
Commit message (Collapse)AuthorAgeFilesLines
* Make all parallel block modes 16 blocks widelloyd2010-01-041-4/+4
|
* Define EAX in terms of CTR mode instead of implementing it within EAX_Base.lloyd2009-12-231-2/+1
| | | | | | | | | This is somewhat faster, especially with SIMD-ed ciphers. The ceiling on performance looks to be CMAC, which is iterative and thus can't take advantage of them. Remove BOTAN_PARALLEL_BLOCKS_EAX, since it implicitly is whatever CTR is doing. Bump CTR's default parallel blocks to 16.
* Fix compiler macro for MSVC warningslloyd2009-12-231-1/+1
|
* Use /W3 with VC++ (/W4 is really noisy, but it seems mostly useless stuff).lloyd2009-12-231-0/+6
| | | | | | But, disable warnings 4250 and 4251 in build.h with a pragma. Both seem impossible to work around without very major code changes, and both seem harmless AFAICT.
* Define BOTAN_TARGET_CPU_HAS_KNOWN_ENDIANNESS if the target CPU is known tolloyd2009-12-221-0/+5
| | | | be either fixed little or big endian. Unset if mixed endian or unknown.
* Un-internal loadstor.h (and its header deps, rotate.h andlloyd2009-12-211-1/+1
| | | | | | | | | | | | | | bswap.h); too many external apps rely on loadstor.h existing. Define 64-bit generic bswap in terms of 32-bit bswap, since it's not much slower if 32-bit is also generic, and much faster if it's not. This may be quite helpful on 32-bit x86 in particular. Change formulation of generic 32-bit bswap. It may be faster or slower depending on the CPU, especially the latency and throuput of rotate instructions, but should be faster on an ideally superscalar processor with rotate instructions (ie, what I expect future CPUs to look more like).
* Most compilers had empty dll_*_flags; remove them since the default islloyd2009-11-191-1/+1
| | | | | | | empty anyway. For VC++ (only user) set BOTAN_DLL to dllimport by default (for apps), and then redefine as dllexport when building the library.
* Add parallel block toggles for CBC and CFB (decrypt direction only)lloyd2009-09-101-1/+7
|
* Modify Keyed_Filter so it is a pure interfacelloyd2009-08-111-0/+6
| | | | | | | | | | Modify ECB to use parallel encryption/decryption where possible Add toggles in build.h specifying how many blocks to process in parallel. Defaults to 8 blocks for all modes, which is sufficient that any likely parallelism can be extracted (via SIMD or concurrent execution) but not so much as to seem likely to cause cache problems (8*128 bits = 128 bytes, or two x86 cache lines)
* Macro defines are split up in the build.h template nowlloyd2009-07-021-1/+9
|
* Change the makefile template language somewhat. Previously variableslloyd2009-07-011-13/+13
| | | | | | | | | | | | | | | | | had been denoted with @{var:NAME}, this has changed to %{NAME}. This is pretty much a wash for configure.pl but it makes it much easier to process the templates using Python's string.Template. The logic being the 'var:' prefix had been to support conditional statements in the templates (using an 'if:' prefix), but this functionality was not being used and support for it is removed from configure.pl in this revision. For a similiar reason, rename a number of template variables with hyphens in their name to use underscores instead. This is slightly more consistent anyway (since many variable names had already used _ instead of -) but more importantly makes them much easier to deal with using aforementioned Python template code. This should not result in any user-visible change (unless I messed up).
* Make the level of key consistency checking performed be a build constantlloyd2008-11-111-0/+5
| | | | instead of runtime configurable.
* Add a new switch to configure.pl --with-tr1-implementation whichlloyd2008-10-121-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | accepts options 'boost' and 'system'. Now GF(p) math (and indirectly, ECDSA) will be enabled if --with-tr1=boost or --with-tr1=system is passed at build time to enable a shared_ptr implementation. Modules can now specify that they require TR1, in which case they will only be autoloaded if a TR1 implementation was set (they can choose which one to use by checking the feature macros from build.h) The gfpmath module was set to load only on request. That has changed to load automatically (but will only do so if a TR1 impl is set as described above). CVC has also been marked as requiring TR1. (ECDSA/ECDH are not, since they do not use tr1 shared_ptr directly) Update and cleanup help output. Do not print the list of modules in --help anymore (too long); you can still get the list (in an easier to parse format) --module-info. Reorganize the help text so the more useful options are described closer to the top. Fix the --with-endian and --with-unaligned-mem options: they were being accepted but ignored.
* Rename the TR1 choice macros to BOTAN_USE_STD_TR1 and BOTAN_USE_BOOST_TR1.lloyd2008-10-121-30/+37
| | | | | | | | If neither is defined when build.h is included, choose Boost. Reorganize build.h so it is easier to find things, in particular move all of the interesting toggles to the top of the file and all of the long lists of modules and feature test macros to the end.
* Default to using Boost's TR1. There seems to be a bug in the GCC 4.3.2lloyd2008-10-111-2/+2
| | | | | implementation of shared_ptr on x86 that causes memory corruption; default to Boost to avoid this.
* Partially merge back with InSiTo in an attemp to trace bugslloyd2008-10-081-0/+3
|
* Set a preprocessor flag if we think the compiler supports GCC-stylelloyd2008-09-291-0/+8
| | | | | | | | inline asm (currently, if __GNUG__ is defined, which works with both GNU C++ and Intel C++, which are the only two compilers I know of that accept GCC's inline asm syntax). Use that in bswap.h - previously we would try to use inline asm even with VC++ or other compilers not supporting inline asm.
* Remove the misc dir:lloyd2008-09-291-0/+43
Moved XS, Boost Python, and SWIG wrappers to new toplevel directory 'wrappers' Moved NIST X.509 test suite into checks directory Move the build information used by configure.pl to src/build-data Move scripts directory to doc (for lack of a better spot)