summaryrefslogtreecommitdiff
path: root/Install.txt
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2016-09-15 15:18:29 -0400
committerJeffrey Walton <noloader@gmail.com>2016-09-15 15:18:29 -0400
commit553049ba297d89d9e8fbf2204acb40a8a53f5cd6 (patch)
treed5c94e396b27655be57235d55a4f8219a9033b08 /Install.txt
parentdf40b6224ae03b6a93faf865b5c2e35460d7b88b (diff)
downloadcryptopp-git-553049ba297d89d9e8fbf2204acb40a8a53f5cd6.tar.gz
Update README and INSTALL with -DNDEBUG requirement for production software (thanks FW)
Diffstat (limited to 'Install.txt')
-rw-r--r--Install.txt15
1 files changed, 12 insertions, 3 deletions
diff --git a/Install.txt b/Install.txt
index 18e003b5..2ba285f7 100644
--- a/Install.txt
+++ b/Install.txt
@@ -15,11 +15,13 @@ INTRODUCTION
Crypto++ Library is a free C++ class library of cryptographic algorithms and schemes. It was written and placed in public domain by Wei Dai. The library homepage is at http://www.cryptopp.com/. The latest library source code can be found at http://github.com/weidai11/cryptopp. For licensing and copyright information, please see License.txt.
-These are general instructions for the BSDs, Linux, OS X, Solaris and Unix. On BSD and Solaris you will likely have to use `gmake` to build the library. On Linux, OS X, Solaris and Unix, the system's make should be OK. On Windows, Crypto++ provides Borland and Visual Studio solutions. Cmake is available, but its still maturing.
+These are general instructions for the BSDs, Linux, OS X, Solaris and Unix. The library uses a GNU makefile, which combines configuration and a non-anemic make. On BSD and Solaris you will likely have to use `gmake` to build the library. On Linux, OS X and Unix, the system's make should be OK. On Windows, Crypto++ provides Borland and Visual Studio solutions.
-Crypto++ uses a GNU makefile, which combines configuration and a non-anemic make. You should look through the GNUmakefile and config.h to ensure settings look reasonable before building. Please pay particular attention to CRYPTOPP_NO_UNALIGNED_DATA_ACCESS in config.h.
+You should look through the GNUmakefile and config.h to ensure settings look reasonable before building. You are strogly encourgaed to use `config.recommend` in place of `config.h` if you are building the library and you can recompile dependent programs.
-Crypto++ does not depend upon other tools or libraries. It does not use Autotools, does not use Cmake, and does not use Boost.
+Wiki pages are available for some platforms with specific build instructions. The wiki can be found at http://cryptopp.com/wiki/. The pages include Android, ARM, iOS and Solaris. Solaris users should visit the wiki for important information on compiling the library with different versions of SunCC and options, and information on improving library performnce and features.
+
+Crypto++ does not depend upon other tools or libraries. It does not use Autotools, does not use CMake, and does not use Boost. If you use an alternate build system, like Autotools or CMake, then see the warning below about CXXFLAGS and lack of -DNDEBUG. CMake is available in Master as a matter of convenience, but its not officially supported.
BUILDING THE LIBRARY
@@ -60,6 +62,13 @@ LLVM's libc++ is also supported, so you can:
make
+ALTERNATE BUILD SYSTEMS
+-----------------------
+
+The Crypto++ library is Make based and uses GNU Make by default. The makefile uses '-DNDEBUG -g2 -O2' CXXFLAGS by default. If you use an alternate build system, like Autotools or CMake, then ensure the build system includes '-DNDEBUG' for production or release builds. The Crypto++ library uses asserts for debugging and diagnostics during development; it does not rely on them to crash a program at runtime.
+
+If an assert triggers in production software, then unprotected sensitive information could be egressed from the program to the filesystem or the platform's error reporting program, like Apport on Ubuntu or CrashReporter on Apple.
+
INSTALLING THE LIBRARY
----------------------