summaryrefslogtreecommitdiffstats
path: root/Configurations/windows-makefile.tmpl
AgeCommit message (Collapse)Author
2016-04-25Build system: add include directories and dependencies for generatorsRichard Levitte
In the case of generating a file like this: GENERATE[foo.S]=mkfoo.pl arg1 arg2 the 'mkfoo.pl' generator itself might need to include other files, such as perl modules within our source tree. We can reuse already existing syntax for it, like this: INCLUDE[mkfoo.pl]=module/path or: DEPEND[mkfoo.pl]=modules/mymodule.pm This change implements the support for such constructs, and for the DEPEND statement, for any value that indicates a perl module (.pm file), it will automatically infer an INCLUDE statement for its directory, just like it does for C header files, so you won't have do write this: DEPEND[mkfoo.pl]=modules/mymodule.pm INCLUDE[mkfoo.pl]=modules Reviewed-by: Emilia Käsper <emilia@openssl.org>
2016-04-19Build: Make 'test' depend on 'tests'Richard Levitte
Because we have a directory 'test', the target 'test' may be confusing to make. However, if we make it depend on 'tests', which doesn't exist, make should never fail to run the actions. Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-04-14Fix no-stdio and no-autoalginitMatt Caswell
no-stdio does not work with the apps. Since the tests also need the apps it doesn't support that either. Therefore we disable building of both. no-autoalginit is not compatible with the apps because it requires explicit loading of the algorithms, and the apps don't do that. Therefore we disable building the apps for this option. Similarly the tests depend on the apps so we also disable the tests. Finally the whole point about no-autoalginit is to avoid excessive executable sizes when doing static linking. Therefore we disable "shared" if this option is selected. Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-04-13Fix the handling of --with-zlib-includeRichard Levitte
The handling was Unix centric, already in Configure. Change that to just collect the value and let the build file templates figure out what to do with it. Reviewed-by: Matt Caswell <matt@openssl.org>
2016-04-07windows-makefile.tmpl: clean up after DLL link failure.Andy Polyakov
Without proper cleanup after DLL link failure second attempt to run nmake would actually proceed and failure will be "shifted" to run time. This is because libcrypto.lib import library is generated even if DLL link fails. Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-04-04Makefile et al template: only modify static library with new object filesRichard Levitte
Previously, we updated the static libraries (libcrypto.a on Unix, libcrypto.lib on Windows) with all the object files, regardless of if they were rebuilt or not. With this change, we only update them with the object files were rebuilt. NOTE: this does not apply on VMS, as the expansion of $? may be too large for a command line. Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-03-29Build system: VC-WIN64I fixups.Andy Polyakov
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-03-21Build system: VC-WIN64I fixups.Andy Polyakov
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-03-21Configurations/windows-makefile.tmpl: respect no-makedepend.Andy Polyakov
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-03-21Remove generation of ms/version32.rc from Configure, use util/mkrc.plRichard Levitte
utils/mkrc.pl was added a while ago as a better generator for the Windows DLL resource file. Finalize the change by removing the ms/version32.rc generator from Configure and adding resource file support using mkrc.pl in Configurations/windows-makefile.pl Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-03-19If the asm file to be compiled isn't generated, leave the ext aloneRichard Levitte
Closes RT#4447 Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
2016-03-19Add a few more quotes for Windows (install_ssldirs)Richard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-19Use the dependencies received in generatesrc()Richard Levitte
generatesrc() did already receive dependency information, but never used it, and never really needed to... until now. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-17windows-makefile.tmpl: Stop keeping temporary filesRichard Levitte
Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-03-17Add install targets for WindowsRichard Levitte
On Windows, we set INSTALLTOP to default as follows: VC-WIN32: PREFIX: %ProgramFiles(x86)%\OpenSSL OPENSSLDIR: %CommonProgramFiles(x86)%\SSL VC-WIN64*: PREFIX: %ProgramW6432%\OpenSSL OPENSSLDIR: %CommonProgramW6432%\SSL Should those environment variables be missing, the following is used as fallback: PREFIX: %ProgramFiles%\OpenSSL OPENSSLDIR: %CommonProgramFiles%\SSL Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-03-16When building DLLs, hack the library name in the .def fileRichard Levitte
util/mkdef.pl assumes it knows what the resulting library name will be. Really, it shouldn't, but changing it will break classic native Windows builds, so we leave it for now and change the LIBRARY line externally when needed instead. Reviewed-by: Matt Caswell <matt@openssl.org>
2016-03-13Harmonize Unix Makefile template with Windows ditoRichard Levitte
The variable SHARED_CFLAGS and SHARD_LDFLAGS were used in the Unix template because they normally contain options used when building "shared". The Windows template, on the other hand, uses LIB_CFLAGS, to express the intended use of those flags rather than their content. The Windows template still used SHARED_LDFLAGS, which seems inconsistent. To harmonize the two, any SHARED_CFLAGS gets renamed to LIB_CFLAGS and SHARED_LDFLAGS to LIB_LDFLAGS. That makes the intent consistent along with BIN_{C,LD}FLAGS and DSO_{C,LD}FLAGS. Finally, make sure to pass down $(LIB_CFLAGS) or $(DSO_CFLAGS) along with $(CFLAGS) when using Makefile.shared. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-10Add cleaning targets to Configurations/windows-makefile.tmplRichard Levitte
Reviewed-by: Matt Caswell <matt@openssl.org>
2016-03-10Pass down inclusion directories to source file generatorsRichard Levitte
The source file generators sometimes use $(CC) to post-process generated source, and getting the inclusion directories may be necessary at times, so we pass them down. RT#4406 Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-10When configured "shared", don't build static libraries on WindowsRichard Levitte
The reason for this is that the static libraries and the DLL import libraries are named the same on Windows. When configured "shared", the static libraries are unused anyway. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-09Adapt the Windows makefile template to source generationRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-09Unified - extract settings from util/pl/VC-32.pl and make the config settingsRichard Levitte
This introduces the settings loutflag and aroutflag, because different Windows tools that do the same thing have different ways to specify the output file. The Borland C++ config is commented away for the monent, perhaps permanently. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-09Unified - a native Windows makefile templateRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>