aboutsummaryrefslogtreecommitdiff
path: root/Configurations
AgeCommit message (Collapse)AuthorFilesLines
2016-03-19If the asm file to be compiled isn't generated, leave the ext aloneRichard Levitte2-2/+12
Closes RT#4447 Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
2016-03-19Don't let 'generate' target depend on generated files, act directly insteadRichard Levitte1-50/+29
One of the 'generate' targets depended on $(SRCDIR)/apps/progs.h, which depended on... nothing. This meant it never got regenerated once it existed, regardless of need. Of course, we could have it depend on all the files checked to generate it, but they also depend on progs.h, so we'd end up getting cricular dependencies, which makes make unhappy. Furthermore, and this applies for the other generated files, having them as targets means that they may be regenerated on the fly in some cases, and since they get written to the source tree, this isn't such a good idea if that tree is read-only (which is a possible situation in an out-of-tree build). So, we move all the actions to the 'generate' targets themselves, thus making sure they get regenerated in a controlled manner and regardless of dependencies. Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
2016-03-19Revert "Generate apps/progs.h on the fly"Viktor Dukhovni1-1/+12
This reverts commit 04e2a527379ad12ca512aef4e838f94af22d7f79. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-19Add a few more quotes for Windows (install_ssldirs)Richard Levitte1-2/+2
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-19Replace sed command with perlRichard Levitte1-3/+3
Some implementations of sed require a newline before an ending '}'. The easier method is to replace that sed command with the corresponding perl command. Closes RT#4448 Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-19Clear the exit code from 'find' in 'make depend'Richard Levitte1-1/+1
Depending on what has been built so far, all .d files may not be present and 'find' will exit with non-zero exit code. This isn't a bother for us but may break make, so clear the exit code with an added 'exit 0'. Closes RT#4444 Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-19Shut find up about files not foundRichard Levitte1-1/+1
Some of the files in $(DEPS) might not exist. We don't need to know. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-19Use the dependencies received in generatesrc()Richard Levitte3-9/+12
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-19Generate apps/progs.h on the flyRichard Levitte1-12/+1
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-18Better 'make depend' mechanismRichard Levitte1-21/+4
Instead of relying on the '-nt' test operator, which doesn't exist everywhere, use find's '-newer' to find out if any of the known .d files is newer than Makefile. Closes RT#4444 Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-03-17Make picker, thread and combine standard config helper functionsRichard Levitte3-32/+0
Document them as well Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-03-17Remove Netware and OS/2Rich Salz1-57/+0
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-03-17windows-makefile.tmpl: Stop keeping temporary filesRichard Levitte1-2/+2
Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-03-17Add install targets for WindowsRichard Levitte1-10/+67
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-17Remove ultrix/mips support.Rich Salz1-17/+0
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-03-17Remove support for Borland C++Richard Levitte1-10/+0
Borland C++ 4.5 is very old and our "support" for it is already non-existent, we might as well remove it. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-17Start documenting Configure internalsRichard Levitte1-0/+136
This is a living document, everyone is encouraged to add to it. Implementation details as well as broader implementation philosophy has a place here. I'm starting with documentation of the how conditions in build.info files are treated. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-17Don't define OPENSSL_ENGINES in test recipes, do it in Makefiles insteadRichard Levitte2-0/+3
In most builds, we can assume that engines live in the build tree subdirectory "engines". This was hard coded into the tests that use the engine ossltest. However, that hard coding is tedious, it would need to be done in every test recipe, and it's an incorrect assumption in some cases. This change has us play it safe and let the build files tell the testing framework where the engines are. Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
2016-03-16unix-Makefile template: use $(PERL) everywhereRichard Levitte1-1/+1
There was one spot that had hard-coded 'perl' Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-16When building DLLs, hack the library name in the .def fileRichard Levitte1-1/+7
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-16DLL object files should not be built with /Zl"Richard Levitte1-1/+3
When building the DLLs, we depend on the correct default C RTL info. Reviewed-by: Matt Caswell <matt@openssl.org>
2016-03-16We should use $SRCDIR in MakefilesMatt Caswell1-1/+1
Normally we always refer to source files relative to $SRCDIR in Makefiles. However the reference to unix-Makefile.tmpl was using a fully expanded absolute path. This can cause problems for Mingw. Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-03-15poly1305/asm/poly1305-x86_64.pl: make it work with linux-x32.Andy Polyakov1-1/+1
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-03-15Make the perl dependency post-processor into just one lineRichard Levitte1-3/+1
Make doesn't always treat multiline quoted strings as nicely as one would wish. Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-03-15Not all shells understand !Richard Levitte1-9/+9
In unix-Makefile.tmpl, this construction has been used a few times if ! something; then ... It seems, though, that some shells do not understand !, so these need to be changed. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-15Cygwin configs were missing thread_scheme settings, add themRichard Levitte1-0/+2
Reviewed-by: Matt Caswell <matt@openssl.org>
2016-03-14s390x assembly pack: 32-bit fixups.Andy Polyakov2-2/+2
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-03-14Fix a few Configure errorsRichard Levitte1-6/+7
Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-03-13Collect the names of generated files and clean them away at target clean:Richard Levitte1-7/+9
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-13Use single quotes rather than double quotes when neededRichard Levitte1-16/+16
When passing down values to Makefile.shared, do so with single quotes as much as possible to avoid having the shell create a mess of quotes. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-13Harmonize Unix Makefile template with Windows ditoRichard Levitte2-27/+28
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-12Avoid sed for dependency post-processingRichard Levitte1-7/+3
It turns out that different sed implementations treat -i differently to cause issues. make it simpler by avoiding it entirely and give perl the trust to be consistent enough. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-11Some sed implementations are not greedy enough, use perl insteadRichard Levitte1-1/+10
The issue is demonstrated as follows: On Linux: $ echo ': foo.h /usr/include/stddef.h bar.h' | sed -e 's/ \/\(\\.\|[^ ]\)*//g' : foo.h bar.h On MacOS X: $ echo ': foo.h /usr/include/stddef.h bar.h' | sed -e 's/ \/\(\\.\|[^ ]\)*//g' : foo.husr/include/stddef.h bar.h Perl is more consistent: On Linux: $ echo ': foo.h /usr/include/stddef.h bar.h' | perl -pe 's/ \/(\\.|[^ ])*//g;' : foo.h bar.h On MacOS X: $ echo ': foo.h /usr/include/stddef.h bar.h' | perl -pe 's/ \/(\\.|[^ ])*//g;' : foo.h bar.h Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-03-11Configurations/unix-Makefile.tmpl: don't leave empty .s files behind.Andy Polyakov1-2/+2
If pre-processor failed, an empty .s file could be left behind, which could get successfully compiled if one simply re-ran make and cause linking failures. Not anymore. Remove even intermediate .S in case of pre-processor failure. Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-03-11Harmonise the two methods to generate dependency filesRichard Levitte1-2/+8
One of them didn't clean away .d.tmp files properly. The other would overwrite the .d files unconditionally, thereby causing a possibly unnecessary dependency rebuild, which touches the date of Makefile, which causes a possibly unnecessary rebuild of buildinf.h and everything that depends on that. Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-03-10In the recipe using "makedepend", make sure the object file extension is thereRichard Levitte1-1/+1
Reviewed-by: Stephen Henson <steve@openssl.org>
2016-03-10Add cleaning targets to Configurations/windows-makefile.tmplRichard Levitte1-0/+14
Reviewed-by: Matt Caswell <matt@openssl.org>
2016-03-10Pass down inclusion directories to source file generatorsRichard Levitte3-6/+15
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 Levitte1-0/+5
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 Levitte1-0/+47
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-09Unified - extract settings from util/pl/VC-32.pl and make the config settingsRichard Levitte3-36/+212
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 Levitte1-0/+293
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-09Because crypto/build.info demands CFLAGS_Q, descrip.mms.tmpl must deliverRichard Levitte1-0/+1
Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-03-09Add missing semiRichard Levitte1-1/+1
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
2016-03-09Adapt unix Makefile template to 'no-makedepend'Richard Levitte1-5/+18
This change is a bit more complex, as it involves several recipe variants. Also, remove the $(CROSS_COMPILE) prefix for the makedepend program. When we use the program "makedepend", this doesn't serve anything, and when we use the compiler, this value isn't even used. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-09Adapt descrip.mms.tmpl to 'no-makedepend'Richard Levitte1-1/+7
VMS doesn't have "makedepend" anyway, so this is just a matter of using the right qualifiers when 'makedepend' is enabled. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-09Redo the Unix source code generatorRichard Levitte1-20/+29
For assembler, we want the final target to be foo.s (lowercase s). However, the build.info may have lines like this (note upper case S): GENERATE[foo.S]=foo.pl This indicates that foo.s (lowercase s) is still to be produced, but that producing it will take an extra step via $(CC) -E. Therefore, the following variants (simplified for display) can be generated: GENERATE[foo.S]=foo.pl => foo.s: foo.pl $(PERL) $foo.pl $@.S; \ $(CC) $(CFLAGS) -E -P $@.S > $@ && \ rm -f $@.S GENERATE[foo.s]=foo.pl => foo.s: foo.pl $(PERL) $foo.pl $@ GENERATE[foo.S]=foo.m4 => foo.s: foo.m4 m4 -B 8192 $foo.m4 > $@.S; \ $(CC) $(CFLAGS) -E -P $@.S > $@ && \ rm -f $@.S GENERATE[foo.s]=foo.m4 => foo.s: foo.m4 m4 -B 8192 $foo.m4 > $@ Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-03-08SPARCv9 assembly pack: unify build rules and argument handling.Andy Polyakov1-5/+5
Make all scripts produce .S, make interpretation of $(CFLAGS) pre-processor's responsibility, start accepting $(PERLASM_SCHEME). [$(PERLASM_SCHEME) is redundant in this case, because there are no deviataions between Solaris and Linux assemblers. This is purely to unify .pl->.S handling across all targets.] Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-03-08Fix configurations such as 'dist' and tar buildingRichard Levitte2-3/+8
For config targets such as 'dist', which doesn't have a BASE template, we still need to have a default build scheme. Additionally, the unified Makefile template's target 'tar' wasn't quite as flexible as the unixmake one. Finally, .travis-create-release.sh can be somewhat simplified now that it builds with the unified build scheme. Reviewed-by: Matt Caswell <matt@openssl.org>
2016-03-08Make unified builds the default on UnixRichard Levitte1-4/+1
Reviewed-by: Matt Caswell <matt@openssl.org>