test/testutil.c test registry functions.

These help standardize the structure of main() and result reporting.

Reviewed-by: Tim Hudson <tjh@openssl.org>
Use testutil registry in heartbeat_test

Reviewed-by: Tim Hudson <tjh@openssl.org>
Update heartbeat_test #includes

ssl/ssl_locl.h now comes first to ensure that it will compile standalone.
test/testutil.h is considered to be in the same directory as the test file,
since the test file will be linked into test/ and built there.

Reviewed-by: Tim Hudson <tjh@openssl.org>
Check the test registry size during add_test()

Reviewed-by: Tim Hudson <tjh@openssl.org>
Fix documentation for RSA_set_method(3)

PR#1675
Reviewed-by: Matt Caswell <matt@openssl.org>
Windows build fixes.

Add cmac.h to mkdef.pl
Remove ENGINE_load_rsax from engine.h: no longer built.
Update ordinals
Reviewed-by: Tim Hudson <tjh@openssl.org>
Add cscope output file to .gitignore

This file is generated by cscope as described in:

http://wiki.openssl.org/index.php/Testing_and_Development_Tools_and_Tips
Emit PERLASM_SCHEME to fix GitMake on OS X

This fixes the errors when trying to assemble .s files using GitMake on OS X.
{,darwin64-}debug-test-64-clang Configure targets

These are based on debug-ben-debug-64-clang and is intended to produce
consistent settings for folks involved in the unit testing effort detailed at:

http://wiki.openssl.org/index.php/Unit_Testing

-fsanitize has been removed from the set of clang flags for now. Apparently
clang 3.1, which ships with FreeBSD 9.1, completely ignores -fsanitize. Clang
3.3, which ships with FreeBSD 9.2, compiles with it, but fails to link due to
the absence of libasan:

http://lists.freebsd.org/pipermail/freebsd-hackers/2013-December/043995.html
https://www.mail-archive.com/cfe-commits@cs.uiuc.edu/msg92260.html
http://reviews.llvm.org/D2644

We need -Wno-error=unused-const-variable because of this error:
.../crypto/ec/ec_lib.c:74:19: error: unused variable 'EC_version' [-Werror,-Wunused-const-variable]
static const char EC_version[] = "EC" OPENSSL_VERSION_PTEXT;
Improve variable parsing when generating MINFO

Before this change, variables for which a '=' appeared in the assignment would
be parsed as the entire string up until the final '='. For example:

  BUILD_CMD=shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \

would result in the variable name "BUILD_CMD=shlib_target". This doesn't
appear to harm the current generation of MINFO, but creates problems for other
Makefile-related work I'm attempting.
Remove redundant test targets outside of test/

These correspond to targets of the same name in test/Makefile that clash when
using the single-makefile build method using GitConfigure and GitMake.
Ignore dependency makefiles
Add missing SRC variable

This is the only Makefile without SRC defined. This change enables a
standard Makefile include directive to cover crypto/jpake/*.d files.

This was automatically applied by AddSrcVarIfNeeded() in:
https://code.google.com/p/mike-bland/source/browse/openssl/update_makefiles.py
Add whrlpool and camellia .s files to perlasm list
crypto: cversion.c depends on buildinf.h
Fix CC in FIPS_BUILD_CMD and FIPS_CRYPTO_BUILD_CMD

This should have been $(CC) all along; removing $(BUILDENV) from the
make invocation causes ${{CC}} to be empty, triggering a build failure as
LDCMD (in Makefile.shared) receives no value.
Fix mk1mf.pl rule generation for asm files

Before this change, the mk1mf.pl script only emitted incorrect rules for a
number of asm files, due to a combination of incomplete/incorrect pattern
matching (in the foreach block at line 1200 in the original) and missing
fix_asm() calls in 'copy' mode (line 909 in the original).

In the original, rules were emitted for files which appeared in the
lower-level Makefile variable definitions, regardless of the values defined in
the top-level Makefile. Now rules are emitted only for the top-level Makefile
values.

fix_asm() also now correctly handles the case where the asm variable is empty,
rather than causing a failure.

I noticed the problem during the course of my build system refactoring
experiments, while examining the makefile generated by GitConfigure in a clean
branch against one generated in my experimental branch. I used the same method
to verify that this change works as expected.
Add .d files to 'make clean' targets

This was automatically applied by AddDependencyFilesToCleanTargets() in:
https://code.google.com/p/mike-bland/source/browse/openssl/update_makefiles.py
Configure dependency-generating compiler flags

This is in anticipation of removing support for makedepend, as per:

http://marc.info/?t=140420825100001&r=1&w=2
https://groups.google.com/forum/#!topic/mailing.openssl.dev/m9XDCpmzWAg
Create process_makefile() function

This preserves existing behavior, but anticipates the addition of a
configure.mk.org file that will contain common build variables that will be
included in GNU- and BSD-specific Makefiles. Consequently, this code will be
updated again to accommodate configure.mk once it appears.