mirror of https://github.com/grpc/grpc.git
-) Adding a hand-massaged NMake script generated from OpenSSL's perl scripts. -) Adding a batch file to invoke it, and only compile the libraries we're interested in. Change on 2014/12/15 by nnoble <nnoble@google.com> ------------- Created by MOE: http://code.google.com/p/moe-java MOE_MIGRATED_REVID=82172630pull/1/merge
parent
bba7692b6b
commit
028ddde5d0
4 changed files with 3747 additions and 0 deletions
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,46 @@ |
||||
/*
|
||||
* |
||||
* Copyright 2014, Google Inc. |
||||
* All rights reserved. |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions are |
||||
* met: |
||||
* |
||||
* * Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* * Redistributions in binary form must reproduce the above |
||||
* copyright notice, this list of conditions and the following disclaimer |
||||
* in the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* * Neither the name of Google Inc. nor the names of its |
||||
* contributors may be used to endorse or promote products derived from |
||||
* this software without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
*/ |
||||
|
||||
#ifndef MK1MF_BUILD |
||||
/* auto-generated by Configure for crypto/cversion.c:
|
||||
* for Unix builds, crypto/Makefile.ssl generates functional definitions; |
||||
* Windows builds (and other mk1mf builds) compile cversion.c with |
||||
* -DMK1MF_BUILD and use definitions added to this file by util/mk1mf.pl. */ |
||||
#error "Windows builds (PLATFORM=VC-WIN32) use mk1mf.pl-created Makefiles" |
||||
#endif |
||||
#ifdef MK1MF_PLATFORM_VC_WIN32 |
||||
/* auto-generated/updated by util/mk1mf.pl for crypto/cversion.c */ |
||||
#define CFLAGS "cl /MD /Ox /O2 /Ob2 -DOPENSSL_THREADS -DDSO_WIN32 -W3 -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -DOPENSSL_USE_APPLINK -I. -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_STATIC_ENGINE " |
||||
#define PLATFORM "VC-WIN32" |
||||
#define DATE "Sat Dec 13 01:17:07 2014" |
||||
#endif |
@ -0,0 +1,293 @@ |
||||
/*
|
||||
* |
||||
* Copyright 2014, Google Inc. |
||||
* All rights reserved. |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions are |
||||
* met: |
||||
* |
||||
* * Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* * Redistributions in binary form must reproduce the above |
||||
* copyright notice, this list of conditions and the following disclaimer |
||||
* in the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* * Neither the name of Google Inc. nor the names of its |
||||
* contributors may be used to endorse or promote products derived from |
||||
* this software without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
*/ |
||||
|
||||
/* opensslconf.h */ |
||||
/* WARNING: Generated automatically from opensslconf.h.in by Configure. */ |
||||
|
||||
#ifdef __cplusplus |
||||
extern "C" { |
||||
#endif |
||||
/* OpenSSL was configured with the following options: */ |
||||
#ifndef OPENSSL_SYSNAME_WIN32 |
||||
#define OPENSSL_SYSNAME_WIN32 |
||||
#endif |
||||
#ifndef OPENSSL_DOING_MAKEDEPEND |
||||
|
||||
#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 |
||||
#define OPENSSL_NO_EC_NISTP_64_GCC_128 |
||||
#endif |
||||
#ifndef OPENSSL_NO_GMP |
||||
#define OPENSSL_NO_GMP |
||||
#endif |
||||
#ifndef OPENSSL_NO_JPAKE |
||||
#define OPENSSL_NO_JPAKE |
||||
#endif |
||||
#ifndef OPENSSL_NO_KRB5 |
||||
#define OPENSSL_NO_KRB5 |
||||
#endif |
||||
#ifndef OPENSSL_NO_LIBUNBOUND |
||||
#define OPENSSL_NO_LIBUNBOUND |
||||
#endif |
||||
#ifndef OPENSSL_NO_MD2 |
||||
#define OPENSSL_NO_MD2 |
||||
#endif |
||||
#ifndef OPENSSL_NO_RC5 |
||||
#define OPENSSL_NO_RC5 |
||||
#endif |
||||
#ifndef OPENSSL_NO_RFC3779 |
||||
#define OPENSSL_NO_RFC3779 |
||||
#endif |
||||
#ifndef OPENSSL_NO_SCTP |
||||
#define OPENSSL_NO_SCTP |
||||
#endif |
||||
#ifndef OPENSSL_NO_SSL_TRACE |
||||
#define OPENSSL_NO_SSL_TRACE |
||||
#endif |
||||
#ifndef OPENSSL_NO_STORE |
||||
#define OPENSSL_NO_STORE |
||||
#endif |
||||
#ifndef OPENSSL_NO_UNIT_TEST |
||||
#define OPENSSL_NO_UNIT_TEST |
||||
#endif |
||||
|
||||
#endif /* OPENSSL_DOING_MAKEDEPEND */ |
||||
|
||||
#ifndef OPENSSL_THREADS |
||||
#define OPENSSL_THREADS |
||||
#endif |
||||
#ifndef OPENSSL_NO_ASM |
||||
#define OPENSSL_NO_ASM |
||||
#endif |
||||
|
||||
/* The OPENSSL_NO_* macros are also defined as NO_* if the application
|
||||
asks for it. This is a transient feature that is provided for those |
||||
who haven't had the time to do the appropriate changes in their |
||||
applications. */ |
||||
#ifdef OPENSSL_ALGORITHM_DEFINES |
||||
#if defined(OPENSSL_NO_EC_NISTP_64_GCC_128) && !defined(NO_EC_NISTP_64_GCC_128) |
||||
#define NO_EC_NISTP_64_GCC_128 |
||||
#endif |
||||
#if defined(OPENSSL_NO_GMP) && !defined(NO_GMP) |
||||
#define NO_GMP |
||||
#endif |
||||
#if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE) |
||||
#define NO_JPAKE |
||||
#endif |
||||
#if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5) |
||||
#define NO_KRB5 |
||||
#endif |
||||
#if defined(OPENSSL_NO_LIBUNBOUND) && !defined(NO_LIBUNBOUND) |
||||
#define NO_LIBUNBOUND |
||||
#endif |
||||
#if defined(OPENSSL_NO_MD2) && !defined(NO_MD2) |
||||
#define NO_MD2 |
||||
#endif |
||||
#if defined(OPENSSL_NO_RC5) && !defined(NO_RC5) |
||||
#define NO_RC5 |
||||
#endif |
||||
#if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779) |
||||
#define NO_RFC3779 |
||||
#endif |
||||
#if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP) |
||||
#define NO_SCTP |
||||
#endif |
||||
#if defined(OPENSSL_NO_SSL_TRACE) && !defined(NO_SSL_TRACE) |
||||
#define NO_SSL_TRACE |
||||
#endif |
||||
#if defined(OPENSSL_NO_STORE) && !defined(NO_STORE) |
||||
#define NO_STORE |
||||
#endif |
||||
#if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST) |
||||
#define NO_UNIT_TEST |
||||
#endif |
||||
#endif |
||||
|
||||
/* crypto/opensslconf.h.in */ |
||||
|
||||
/* Generate 80386 code? */ |
||||
#undef I386_ONLY |
||||
|
||||
#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */ |
||||
#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) |
||||
#define ENGINESDIR "/usr/local/ssl/lib/engines" |
||||
#define OPENSSLDIR "/usr/local/ssl" |
||||
#endif |
||||
#endif |
||||
|
||||
#undef OPENSSL_UNISTD |
||||
#define OPENSSL_UNISTD <unistd.h> |
||||
|
||||
#undef OPENSSL_EXPORT_VAR_AS_FUNCTION |
||||
#define OPENSSL_EXPORT_VAR_AS_FUNCTION |
||||
|
||||
#if defined(HEADER_IDEA_H) && !defined(IDEA_INT) |
||||
#define IDEA_INT unsigned int |
||||
#endif |
||||
|
||||
#if defined(HEADER_MD2_H) && !defined(MD2_INT) |
||||
#define MD2_INT unsigned int |
||||
#endif |
||||
|
||||
#if defined(HEADER_RC2_H) && !defined(RC2_INT) |
||||
/* I need to put in a mod for the alpha - eay */ |
||||
#define RC2_INT unsigned int |
||||
#endif |
||||
|
||||
#if defined(HEADER_RC4_H) |
||||
#if !defined(RC4_INT) |
||||
/* using int types make the structure larger but make the code faster
|
||||
* on most boxes I have tested - up to %20 faster. */ |
||||
/*
|
||||
* I don't know what does "most" mean, but declaring "int" is a must on: |
||||
* - Intel P6 because partial register stalls are very expensive; |
||||
* - elder Alpha because it lacks byte load/store instructions; |
||||
*/ |
||||
#define RC4_INT unsigned int |
||||
#endif |
||||
#if !defined(RC4_CHUNK) |
||||
/*
|
||||
* This enables code handling data aligned at natural CPU word |
||||
* boundary. See crypto/rc4/rc4_enc.c for further details. |
||||
*/ |
||||
#undef RC4_CHUNK |
||||
#endif |
||||
#endif |
||||
|
||||
#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) |
||||
/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a
|
||||
* %20 speed up (longs are 8 bytes, int's are 4). */ |
||||
#ifndef DES_LONG |
||||
#define DES_LONG unsigned long |
||||
#endif |
||||
#endif |
||||
|
||||
#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) |
||||
#define CONFIG_HEADER_BN_H |
||||
#define BN_LLONG |
||||
|
||||
/* Should we define BN_DIV2W here? */ |
||||
|
||||
/* Only one for the following should be defined */ |
||||
#undef SIXTY_FOUR_BIT_LONG |
||||
#undef SIXTY_FOUR_BIT |
||||
#define THIRTY_TWO_BIT |
||||
#endif |
||||
|
||||
#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H) |
||||
#define CONFIG_HEADER_RC4_LOCL_H |
||||
/* if this is defined data[i] is used instead of *data, this is a %20
|
||||
* speedup on x86 */ |
||||
#define RC4_INDEX |
||||
#endif |
||||
|
||||
#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) |
||||
#define CONFIG_HEADER_BF_LOCL_H |
||||
#undef BF_PTR |
||||
#endif /* HEADER_BF_LOCL_H */ |
||||
|
||||
#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) |
||||
#define CONFIG_HEADER_DES_LOCL_H |
||||
#ifndef DES_DEFAULT_OPTIONS |
||||
/* the following is tweaked from a config script, that is why it is a
|
||||
* protected undef/define */ |
||||
#ifndef DES_PTR |
||||
#undef DES_PTR |
||||
#endif |
||||
|
||||
/* This helps C compiler generate the correct code for multiple functional
|
||||
* units. It reduces register dependancies at the expense of 2 more |
||||
* registers */ |
||||
#ifndef DES_RISC1 |
||||
#undef DES_RISC1 |
||||
#endif |
||||
|
||||
#ifndef DES_RISC2 |
||||
#undef DES_RISC2 |
||||
#endif |
||||
|
||||
#if defined(DES_RISC1) && defined(DES_RISC2) |
||||
YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED !!!!! |
||||
#endif |
||||
|
||||
/* Unroll the inner loop, this sometimes helps, sometimes hinders.
|
||||
* Very mucy CPU dependant */ |
||||
#ifndef DES_UNROLL |
||||
#undef DES_UNROLL |
||||
#endif |
||||
|
||||
/* These default values were supplied by
|
||||
* Peter Gutman <pgut001@cs.auckland.ac.nz> |
||||
* They are only used if nothing else has been defined */ |
||||
#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && \ |
||||
!defined(DES_UNROLL) |
||||
/* Special defines which change the way the code is built depending on the
|
||||
CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find |
||||
even newer MIPS CPU's, but at the moment one size fits all for |
||||
optimization options. Older Sparc's work better with only UNROLL, but |
||||
there's no way to tell at compile time what it is you're running on */ |
||||
|
||||
#if defined(sun) /* Newer Sparc's */ |
||||
#define DES_PTR |
||||
#define DES_RISC1 |
||||
#define DES_UNROLL |
||||
#elif defined(__ultrix) /* Older MIPS */ |
||||
#define DES_PTR |
||||
#define DES_RISC2 |
||||
#define DES_UNROLL |
||||
#elif defined(__osf1__) /* Alpha */ |
||||
#define DES_PTR |
||||
#define DES_RISC2 |
||||
#elif defined(_AIX) /* RS6000 */ |
||||
/* Unknown */ |
||||
#elif defined(__hpux) /* HP-PA */ |
||||
/* Unknown */ |
||||
#elif defined(__aux) /* 68K */ |
||||
/* Unknown */ |
||||
#elif defined(__dgux) /* 88K (but P6 in latest boxes) */ |
||||
#define DES_UNROLL |
||||
#elif defined(__sgi) /* Newer MIPS */ |
||||
#define DES_PTR |
||||
#define DES_RISC2 |
||||
#define DES_UNROLL |
||||
#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */ |
||||
#define DES_PTR |
||||
#define DES_RISC1 |
||||
#define DES_UNROLL |
||||
#endif /* Systems-specific speed defines */ |
||||
#endif |
||||
|
||||
#endif /* DES_DEFAULT_OPTIONS */ |
||||
#endif /* HEADER_DES_LOCL_H */ |
||||
#ifdef __cplusplus |
||||
} |
||||
#endif |
@ -0,0 +1,6 @@ |
||||
@echo Building OpenSSL 32bits using Visual Studio 2013. |
||||
|
||||
@call "%VS120COMNTOOLS%\..\..\vc\vcvarsall.bat" x86 |
||||
|
||||
cd ..\..\third_party\openssl |
||||
nmake /F ..\..\vsprojects\third_party\openssl\OpenSSL.mak out32\ssleay32.lib out32\libeay32.lib |
Loading…
Reference in new issue