aboutsummaryrefslogtreecommitdiffstats
path: root/src/build-data
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove use of -ansi; it's not particularly helpful anyway, and itlloyd2010-08-111-1/+1
| | | | causes obnoxious problems under MinGW.
* Clang supports -marchlloyd2010-08-091-0/+4
|
* Identify a i7-860 as Nehalemlloyd2010-08-081-0/+1
|
* Use clang++ instead of clang for the compiler driver, otherwise linklloyd2010-08-081-1/+1
| | | | errors can result due to not getting the C++ runtime library.
* Add a new utility class Dynamically_Loaded_Library which wraps aroundlloyd2010-07-271-0/+1
| | | | | | | | | | the system dynamic linker (if any). Currently it only supports dlopen, and is only enabled on Linux. It will almost certainly work on BSDs and Solaris as well, though, and should be easy to extend to support Win32-style dynamic loading. Also add a new engine, Dynamically_Loaded_Engine, which loads up a new Engine object from a shared library/DLL.
* Use configured compiler for Pythonlloyd2010-07-221-2/+3
|
* Drop support for running configure with Python 2.4. This allowslloyd2010-07-092-2/+2
| | | | | | | | | removing several workarounds for limitations in optparse in that release, and also allows using the ternary operator added in 2.5. As far as I can tell, the only still active release of any Linux/BSD distro that uses 2.4 is RHEL5. The beta of RHEL6 has 2.6, and it seems likely that RHEL6 will be out before 1.10.0.
* Delete os defaults file - only used by Perllloyd2010-07-091-19/+0
|
* Typo fixlloyd2010-06-281-1/+1
|
* Add a new configure option --maintainer-mode which turns on the fulllloyd2010-06-281-2/+3
| | | | | set of warning flags. Use just plain '-Wall -W' for regular GCC so the default build is happy on arbitrarily old versions.
* Yet more Doxygen commentslloyd2010-06-161-1/+1
|
* Remove DETAILS_AT_TOP, not a Doxygen option anymorelloyd2010-06-161-1/+0
|
* Don't extract local classeslloyd2010-06-151-2/+2
|
* More Doxygen updateslloyd2010-06-151-2/+2
|
* Expose a datestamp in build.h, provide function in version.h forlloyd2010-06-141-0/+2
| | | | getting runtime value.
* Change how install_name is set on OS X. Not tested, taken from patchlloyd2010-06-111-1/+1
| | | | used by MacPorts; I assume they know what they are doing.
* Fix problem that prevented AES-NI code from getting loaded in at leastlloyd2010-06-111-1/+3
| | | | | | | some cases. Add a westmere alias for "Core i5 CPU M 520", which is what uname (and thus, platform.processor()) returns on my laptop. Mostly for my benefit of course.
* Include generic mp_asmi.h for MSVClloyd2010-06-111-1/+1
| | | | | | | Don't use /EHc; it says "C" functions are nothrow, which is not true for bigint_sub2_rev. Include needed <intrin.h> for mp_asm.h
* For 64-bit InnoSetuplloyd2010-06-101-1/+5
|
* Add a simple Windows install targetlloyd2010-06-101-5/+3
|
* Exclude Python/Perl wrappers from Doxygen outputlloyd2010-06-071-1/+1
|
* Show inherited members; makes Doxygen output much more sensiblelloyd2010-06-021-1/+1
|
* Change BlockCipher::parallelism() to return the native parallelism oflloyd2010-05-251-0/+1
| | | | | | | | | | | | | | | | | | | | the implementation rather than the preferred one. Update all implementations. Add a new function parallel_bytes() which returns parallelism() * BLOCK_SIZE * BUILD_TIME_CONSTANT This is because i noticed all current calls of parallelism() just multiplied the result by the block size already, so this simplified that code. The build time constant is set to 4, which was the previous default return value of parallelism(). However the SIMD versions returned 2*native paralellism rather than 4*, so this increases the buffer sizes used for those algorithms. The constant multiple lives in buildh.in and build.h, and is named BOTAN_BLOCK_CIPHER_PAR_MULT.
* Add a build.h macro BOTAN_GCC_VERSION which is set to major*100+minor*10+patchlloyd2010-05-131-0/+7
| | | | | | | | if we are compiling under GCC, or 0 otherwise. Use it in cpuid.cpp for use of GCC's cpuid.h header file. If we don't have a method of calling cpuid, print a warning.
* Remove the old (unused) <supports_shared> config block. It specifiedlloyd2010-05-1317-69/+7
| | | | | | | which architectures the OS supported shared libs on; in all cases it was either all or none. Replace with new config build_shared [yes|no], which defaults to yes but is set to no for MinGW and Cygwin since shared libs don't seem to be working well there.
* More warning flagslloyd2010-03-191-2/+2
|
* Disable VC++ 4275 entirely; it also causes warnings when building thelloyd2010-03-161-2/+2
| | | | test app...
* Add back in blinding to RSA, RW, ElGamal, and DH.lloyd2010-03-081-1/+0
| | | | | | | | | | | | | | | | There are multiple unsatisfactory elements to the current solution, as compared to how blinding was previously done: Firstly, blinding is only used in the baseline implementations; the code using OpenSSL and GMP is not protected by blinding at all. Secondly, at the point we need to set up blinding, there is no access to a PRNG. Currently I am going with a quite nasty solution, of using a private key parameter to seed a simple PRNG constructed as: SHA-512(TS1 || private_key_param || public_key_param || TS2) I really want to fix both of these elements but I'm not sure how to do so easily.
* Add -Werror to gcc maintainer flagslloyd2010-03-051-1/+1
|
* Only disable VC++ warning C4275 with DLL buildslloyd2010-03-031-2/+2
|
* Fix VC++ static lib buildslloyd2010-03-031-0/+4
|
* Fix Windows distclean targetlloyd2010-03-031-1/+3
|
* Disable VC warning 4275lloyd2010-03-031-1/+1
|
* Use a single dir for all boost.python objectslloyd2010-03-021-5/+3
|
* Instead of the mode parallelism being specified via macros, have itlloyd2010-02-251-11/+0
| | | | | | | | | depend on the particular implementation. Add a new virtual function to BlockCipher named parallelism that returns the number of blocks the cipher object could or might want to process in parallel. Currently set to 1 by default but may make sense to increase this for even scalar implementations since it seems like better caching behavior makes it a win.
* Lowercase DOCDIR to match common conventionslloyd2010-01-293-3/+3
|
* Make all parallel block modes 16 blocks widelloyd2010-01-041-4/+4
|
* New macro TARGET_CPU_IS_XXX_FAMILY for XXX = X86, PPC, SPARC, undefinedlloyd2009-12-296-0/+13
| | | | elsewhere currently.
* Fix make doxygenlloyd2009-12-292-2/+2
|
* 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-232-1/+7
| | | | | | 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.
* Fix compile of get_nanoseconds_clock for Windows.lloyd2009-12-232-0/+2
| | | | | | | Add macros for OS support of gmtime_r (Unix) and gmtime_s (Win32) to deal with thread-unsafety of std::gmtime. Only enable gmtime_r on Linux currently, but it's probably available pretty much everywhere (specified in pthreads, origininally, AFAICT).
* Use only numeric version #s in VersionInfoVersion; InnoSetup and/or Windowslloyd2009-12-231-1/+1
| | | | doesn't like things like -dev or -rc1 in that field.
* 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.
* Add feature macro for Win32's GetSystemTimelloyd2009-12-222-0/+6
|
* 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).
* Make many more headers internal-only.lloyd2009-12-161-1/+3
| | | | | | | | | | | | | Fixes for the amalgamation generator for internal headers. Remove BOTAN_DLL exporting macros from all internal-only headers; the classes/functions there don't need to be exported, and avoiding the PIC/GOT indirection can be a big win. Add missing BOTAN_DLLs where necessary, mostly gfpmath and cvc For GCC, use -fvisibility=hidden and set BOTAN_DLL to the visibility __attribute__ to export those classes/functions.
* Consolidate the non-canonical epoch timers, like cpuid and Win32'slloyd2009-12-0114-0/+46
| | | | | | | | | | | | | | QueryPerformanceCounter, into an entropy source hres_timer. Its results, if any, do not count as contributing entropy to the poll. Convert the other (monotonic/fixed epoch) timers to a single function get_nanoseconds_clock(), living in time.h, which statically chooses the 'best' timer type (clock_gettime, gettimeofday, std::clock, in that order depending on what is available). Add feature test macros for clock_gettime and gettimeofday. Remove the Timer class and timer.h. Remove the Timer& argument to the algorithm benchmark function.
* Convert line endings on examples.lloyd2009-11-241-6/+5
| | | | Sort files in an attempt to help out the compression algorithm.