Commit c477f8e7 authored by Andy Polyakov's avatar Andy Polyakov
Browse files

INSTALL: clarify 386 and no-sse2 options.



This is 1.0.2-specific reformat of 5ae5dc96.

Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
parent f47201b3
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -58,12 +58,13 @@ my $usage="Usage: Configure [no-<cipher> ...] [enable-<cipher> ...] [experimenta
# zlib-dynamic	Like "zlib", but the zlib library is expected to be a shared
#		library and will be loaded in run-time by the OpenSSL library.
# sctp          include SCTP support
# 386           generate 80386 code
# enable-weak-ssl-ciphers
#		Enable EXPORT and LOW SSLv3 ciphers that are disabled by
#		default.  Note, weak SSLv2 ciphers are unconditionally
#		disabled.
# no-sse2	disables IA-32 SSE2 code, above option implies no-sse2
# 386		generate 80386 code in assembly modules
# no-sse2	disables IA-32 SSE2 code in assembly modules, the above
#		mentioned '386' option implies this one
# no-<cipher>   build without specified algorithm (rsa, idea, rc5, ...)
# -<xxx> +<xxx> compiler options are passed through 
#
+26 −19
Original line number Diff line number Diff line
@@ -74,24 +74,26 @@

  no-asm        Do not use assembler code.

  386           Use the 80386 instruction set only (the default x86 code is
                more efficient, but requires at least a 486). Note: Use
                compiler flags for any other CPU specific configuration,
                e.g. "-m32" to build x86 code on an x64 system.

  no-sse2	Exclude SSE2 code pathes. Normally SSE2 extention is
		detected at run-time, but the decision whether or not the
		machine code will be executed is taken solely on CPU
		capability vector. This means that if you happen to run OS
		kernel which does not support SSE2 extension on Intel P4
		processor, then your application might be exposed to
		"illegal instruction" exception. There might be a way
		to enable support in kernel, e.g. FreeBSD kernel can be
		compiled with CPU_ENABLE_SSE, and there is a way to
		disengage SSE2 code pathes upon application start-up,
		but if you aim for wider "audience" running such kernel,
		consider no-sse2. Both 386 and no-asm options above imply
		no-sse2.
  386           In 32-bit x86 builds, when generating assembly modules,
                use the 80386 instruction set only (the default x86 code
                is more efficient, but requires at least a 486). Note:
                This doesn't affect code generated by compiler, you're
                likely to complement configuration command line with
                suitable compiler-specific option.

  no-sse2       Exclude SSE2 code paths from 32-bit x86 assembly modules.
                Normally SSE2 extension is detected at run-time, but the
                decision whether or not the machine code will be executed
                is taken solely on CPU capability vector. This means that
                if you happen to run OS kernel which does not support SSE2
                extension on Intel P4 processor, then your application
                might be exposed to "illegal instruction" exception.
                There might be a way to enable support in kernel, e.g.
                FreeBSD kernel can  be compiled with CPU_ENABLE_SSE, and
                there is a way to disengage SSE2 code paths upon application
                start-up, but if you aim for wider "audience" running
                such kernel, consider no-sse2. Both the 386 and
                no-asm options imply no-sse2.

  no-<cipher>   Build without the specified cipher (bf, cast, des, dh, dsa,
                hmac, md2, md5, mdc2, rc2, rc4, rc5, rsa, sha).
@@ -101,7 +103,12 @@
  -Dxxx, -lxxx, -Lxxx, -fxxx, -mXXX, -Kxxx These system specific options will
                be passed through to the compiler to allow you to
                define preprocessor symbols, specify additional libraries,
                library directories or other compiler options.
                library directories or other compiler options. It might be
                worth noting that some compilers generate code specifically
                for processor the compiler currently executes on. This is
                not necessarily what you might have in mind, since it might
                be unsuitable for execution on other, typically older,
                processor. Consult your compiler documentation.

  -DHAVE_CRYPTODEV Enable the BSD cryptodev engine even if we are not using
		BSD. Useful if you are running ocf-linux or something