aboutsummaryrefslogtreecommitdiffstats
path: root/src/build-data
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Clean up the implementation of the line ending converter.lloyd2009-11-241-12/+26
| | | | | | | | | | | | | | | | Add a custom install target to users can select specific things to enable or disable. Add api.pdf and tutorial.pdf, if they are available in the tree (otherwise skip) Add the set of examples as part of the documentation package. Require at least Windows 98 or 2000 since some code in the entropy gathering routines requires functions (CryptGenRandom and Toolhelp32) which are only available on these systems or later. Set the VersionInfoVersion (viewable via the Properties menu on the setup .exe)
* Don't do line ending conversion on build.h since that was (presumably/usually)lloyd2009-11-231-6/+9
| | | | written out by the local Python using Win32 line endings.
* Use a little Pascal script (hey, my first Pascal program!) in InnoSetuplloyd2009-11-231-5/+21
| | | | to conver the line endings of text files (.txt, .h) to Win32's CRLF.
* Fix minor errors in InnoSetup scriptlloyd2009-11-231-5/+5
|
* Add User and Developer install targets to Win32 installerlloyd2009-11-231-9/+22
|
* Fix the Nmake file - turns out the LIB is a really bad name for a variablelloyd2009-11-231-6/+6
| | | | in nmake, causes strange linker errors without any obvious cause.
* Various fixes for Visual C++ per bug 63 - --enable-debug sets debug options,lloyd2009-11-202-16/+17
| | | | | --disable-shared disables DLL options, and don't define _CONSOLE in the library build.
* Remove long #### blocks for readabilitylloyd2009-11-202-48/+16
|
* Add readme.txt, license.txt, and log.txt to the InnoSetup installlloyd2009-11-201-0/+4
|
* Include the dll.manifest and exports file in the installer; I'm not surelloyd2009-11-201-0/+2
| | | | | that anyone needs either of these, but it appears like they may be useful if you're doing unusual stuff like C++/CLI.
* Force /MD (threaded+DLL libc) with VC++. /MT is the default but seemslloyd2009-11-201-0/+4
| | | | | | | to cause random crashes during the test suite. With /MD they go away. I don't know enough about Windows development to know what this means... I'm sure it makes sense to somebody. Anyway, going with something that appears to function.