We have too many warnings going unchecked. The next step is to
fix all these warnings. One can re-enable errors on warning by
doing: CPPFLAGS=-Werror make in order to start fixing them.
The source code of the libraries depends on openssl being built, as it will setup the headers.
Since we don't know exactly which source depends on openssl (we could start flagging it in build.json, but that'd be painful), we just flag all the source for every ssl-enabled library to depend on openssl being built.
If we don't have a .o, we don't need dependencies, so skip the setup
step of building them. Instead, when building the .o, we generate the
.dep and output it (to objs/ to make the rules a little easier). The
next run of make will include the dep file and any dependencies will be
picked up.
This change also disables the disabling of dependency checking if we
have zlib or openssl being compiled from third_party. Additionally it
inverts the logic for including dependencies from ONLY if we are doing a
clean to ONLY if we are NOT doing a clean.
Expand test runner to be compatible.
Change on 2015/01/06 by ctiller <ctiller@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83378004
This will open the way for CONFIG=tsan, for instance.
Change on 2015/01/06 by ctiller <ctiller@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83368093
-) Properly linking built-in OpenSSL into the grpc library.
-) grpc now properly depends on gpr when linking shared code.
-) Properly naming the shared library with all their aliases.
-) Properly installing the shared library aliases on the system.
-) Potentially supporting Darwin and MINGW32 targets for shared libraries.
Caveat: if using shared libraries, some tests will not compile anymore if they want to use OpenSSL functions, as they are no longer publically available externally. Which is the feature we were seeking.
The Makefile currently does it properly, by linking the tests statically. This only applies when using external code and Makefiles, if said external code improperly assumes SSL is available through grpc.
Change on 2014/12/22 by nnoble <nnoble@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82656438
This will make auto-running different test configurations a little easier.
Change on 2014/12/19 by ctiller <ctiller@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82555939
-) Detecting system and embedded presence of zlib and OpenSSL with ALPN.
-) Automatically disabling secure targets if no OpenSSL present
--> make all won't work if no OpenSSL is present, forcing the users to select the nonsecure Makefile targets explicitely.
-) Removing build instructions for OpenSSL - this isn't really necessary anymore.
-) Adding more blurb about OpenSSL and the new Makefile features.
Change on 2014/12/12 by nnoble <nnoble@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82020890
Change on 2014/12/12 by jtattermusch <jtattermusch@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82017498