summaryrefslogtreecommitdiffstats
path: root/Configurations/common.tmpl
AgeCommit message (Collapse)Author
2016-04-06Perl: foreach (@list) { code } is betterRichard Levitte
Reviewed-by: Emilia Käsper <emilia@openssl.org>
2016-04-06Perl cleanup: don't create lists unnecessarilyRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-30Make it possible to specify source files that will only be used for shared libsRichard Levitte
There are rare cases when an object file will only be used when building a shared library. To enable this, we introduce SHARED_SOURCE: SHARED_SOURCE[libfoo]=dllmain.c Reviewed-by: Andy Polyakov <appro@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-07Unified - Add the build.info command OVERRIDE, to avoid build file clashesRichard Levitte
Should it be needed because the recipes within a RAW section might clash with those generated by Configure, it's possible to tell it not to generate them with the use of OVERRIDES, for example: SOURCE[libfoo]=foo.c bar.c OVERRIDES=bar.o BEGINRAW[Makefile(unix)] bar.o: bar.c $(CC) $(CFLAGS) -DSPECIAL -c -o $@ $< ENDRAW[Makefile(unix)] Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-07Unified - Add the build.info command GENERATE, to generate source filesRichard Levitte
In some cases, one might want to generate some source files from others, that's done as follows: GENERATE[foo.s]=asm/something.pl $(CFLAGS) GENERATE[bar.s]=asm/bar.S The value of each GENERATE line is a command line or part of it. Configure places no rules on the command line, except the the first item muct be the generator file. It is, however, entirely up to the build file template to define exactly how those command lines should be handled, how the output is captured and so on. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-27Keep a cache of files that already have a recipe, in common.tmplRichard Levitte
We don't want recipes for the same files generated more than once Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-22Clean away $config{no_shared} since we have $disabled{shared}Richard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-20Always build library object files with shared library cflagsRichard Levitte
This takes us away from the idea that we know exactly how our static libraries are going to get used. Instead, we make them available to build shareable things with, be it other shared libraries or DSOs. On the other hand, we also have greater control of when the shared library cflags. They will never be used with object files meant got binaries, such as apps/openssl or test/test*. With unified, we take this a bit further and prepare for having to deal with extra cflags specifically to be used with DSOs (dynamic engines), libraries and binaries (applications). Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-19Small rename fest in unified, obj2dynlib -> obj2dsoRichard Levitte
Since we're using the acronym DSO everywhere else and that's a common name for that kind of object, we might as well do so here as well. Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-02-18Don't treat .d (depend) files separately from object filesRichard Levitte
.d (.MMS in the VMS world) files with just dependencies are built from exactly the same conditions as the object files. Therefore, the rules for them can be built at the same time as the rules for the corresponding object files. This removes the requirement for a src2dep function in the build file templates, and for common.tmpl to call it. In the end, the existence of depend files is entirely up to the build file. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-12Unified build - fix make dependRichard Levitte
There was a catch 22, where 'make depend' directly after configuring in an otherwise pristine build tree would fail because buildinf.h didn't exist yet. This change has the depend building targets depend on the same other targets as the object file building targets, so the generation of buildinf.h and similar files would kick in during 'make depend'. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-09unified build scheme: add and document the "unified" driving engineRichard Levitte
common.tmpl will be used together with the template build file, and is the engine that connects the information gathered from all the build.info files with making the build file itself. This file expects there to be a template section in the build file template that defines a number perl functions designed to return strings with appropriate lines for the build system at hand. The exact functions, what they can expect as arguments and what output they're expected to produce is documented in Configurations/README. Reviewed-by: Viktor Dukhovni <viktor@openssl.org>