X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=INSTALL;h=007f6a38a5f5a84ee7c3f39429b7019a207a94fb;hp=01b8056dd060e135fed8778ff6ccd9cc58955b46;hb=5281435258b5d8201a00b4a9781bb724d99630f0;hpb=bf01fbbf31a6a99e3eb60b70e05cd78d728421c7 diff --git a/INSTALL b/INSTALL index 01b8056dd0..007f6a38a5 100644 --- a/INSTALL +++ b/INSTALL @@ -22,6 +22,7 @@ * NOTES.VMS (OpenVMS) * NOTES.WIN (any supported Windows) * NOTES.DJGPP (DOS platform with DJGPP) + * NOTES.ANDROID (obviously Android [NDK]) Notational conventions in this document --------------------------------------- @@ -482,27 +483,24 @@ likely to complement configuration command line with suitable compiler-specific option. - enable-tls1_3 - TODO(TLS1.3): Make this enabled by default - Build support for TLS1.3. Note: This is a WIP feature and - only a single draft version is supported. Implementations - of different draft versions will negotiate TLS 1.2 instead - of (draft) TLS 1.3. Use with caution!! - no- Don't build support for negotiating the specified SSL/TLS - protocol (one of ssl, ssl3, tls, tls1, tls1_1, tls1_2, dtls, - dtls1 or dtls1_2). If "no-tls" is selected then all of tls1, - tls1_1 and tls1_2 are disabled. Similarly "no-dtls" will - disable dtls1 and dtls1_2. The "no-ssl" option is synonymous - with "no-ssl3". Note this only affects version negotiation. - OpenSSL will still provide the methods for applications to - explicitly select the individual protocol versions. + protocol (one of ssl, ssl3, tls, tls1, tls1_1, tls1_2, + tls1_3, dtls, dtls1 or dtls1_2). If "no-tls" is selected then + all of tls1, tls1_1, tls1_2 and tls1_3 are disabled. + Similarly "no-dtls" will disable dtls1 and dtls1_2. The + "no-ssl" option is synonymous with "no-ssl3". Note this only + affects version negotiation. OpenSSL will still provide the + methods for applications to explicitly select the individual + protocol versions. no--method As for no- but in addition do not build the methods for applications to explicitly select individual protocol - versions. + versions. Note that there is no "no-tls1_3-method" option + because there is no application method for TLSv1.3. Using + individual protocol methods directly is deprecated. + Applications should use TLS_method() instead. enable- Build with support for the specified algorithm, where @@ -510,11 +508,11 @@ no- Build without support for the specified algorithm, where - is one of: bf, blake2, camellia, cast, chacha, cmac, - des, dh, dsa, ecdh, ecdsa, idea, md4, mdc2, ocb, poly1305, - rc2, rc4, rmd160, scrypt, seed, siphash, sm3, sm4 or - whirlpool. The "ripemd" algorithm is deprecated and if used - is synonymous with rmd160. + is one of: aria, bf, blake2, camellia, cast, chacha, + cmac, des, dh, dsa, ecdh, ecdsa, idea, md4, mdc2, ocb, + poly1305, rc2, rc4, rmd160, scrypt, seed, siphash, sm3, sm4 + or whirlpool. The "ripemd" algorithm is deprecated and if + used is synonymous with rmd160. -Dxxx, -Ixxx, -Wp, -lxxx, -Lxxx, -Wl, -rpath, -R, -framework, -static These system specific options will be recognised and @@ -539,7 +537,7 @@ these flags interact with those variables. VAR=value - Assignment if environment variable for Configure. These + Assignment of environment variable for Configure. These work just like normal environment variable assignments, but are supported on all platforms and are confined to the configuration scripts only. These assignments override @@ -564,12 +562,16 @@ CPPDEFINES List of CPP macro definitions, separated by a platform specific character (':' or space for Unix, ';' for Windows, ',' for - VMS). This can be used in place of -D. + VMS). This can be used instead of using + -D (or what corresponds to that on your + compiler) in CPPFLAGS. CPPINCLUDES List of CPP inclusion directories, separated the same way as for CPPDEFINES. This can - be used in place of -I. + be used instead of -I (or what corresponds + to that on your compiler) in CPPFLAGS. HASHBANGPERL Perl invocation to be inserted after '#!' - in public perl scripts. + in public perl scripts (only relevant on + Unix). LD The program linker (not used on Unix, $(CC) is used there). LDFLAGS Flags for the shared library, DSO and @@ -584,29 +586,29 @@ RCFLAGS Flags for the Windows reources manipulator. RM The command to remove files and directories. - These can be mixed with flags given on the command line. - Any variable assignment resets any corresponding flags - given before it, so for example: + These cannot be mixed with compiling / linking flags given + on the command line. In other words, something like this + isn't permitted. ./config -DFOO CPPFLAGS=-DBAR -DCOOKIE - Will end up having 'CPPFLAGS=-DBAR -DCOOKIE'. - - Here is how the flags documented above are collected as - augmentation of these variables: - - -Dxxx xxx is collected in CPPDEFINES - -Ixxx xxx is collected in CPPINCLUDES - -Wp,xxx collected in CPPFLAGS - -Lxxx collected in LDFLAGS - -lxxx collected in LDLIBS - -Wp,xxx collected in LDLIBS - -rpath xxx collected in LDLIBS - -R xxx collected in LDLIBS - -framework xxx collected in LDLIBS - -static collected in LDLIBS - -xxx collected in CFLAGS - +xxx collected in CFLAGS + Backward compatibility note: + + To be compatible with older configuration scripts, the + environment variables are ignored if compiling / linking + flags are given on the command line, except for these: + + AR, CC, CXX, CROSS_COMPILE, HASHBANGPERL, PERL, RANLIB, RC + and WINDRES + + For example, the following command will not see -DBAR: + + CPPFLAGS=-DBAR ./config -DCOOKIE + + However, the following will see both set variables: + + CC=gcc CROSS_COMPILE=x86_64-w64-mingw32- \ + ./config -DCOOKIE reconf reconfigure