From 45502bfe19fb03c9f343b03fa6434ee0bece8428 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Fri, 19 Feb 2016 22:02:41 +0100 Subject: Always build library object files with shared library cflags 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 --- Configurations/README.design | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'Configurations/README.design') diff --git a/Configurations/README.design b/Configurations/README.design index 80839faa6d..362b967f17 100644 --- a/Configurations/README.design +++ b/Configurations/README.design @@ -392,15 +392,18 @@ etc. src2obj(obj => "PATH/TO/objectfile", srcs => [ "PATH/TO/sourcefile", ... ], deps => [ "dep1", ... ], - incs => [ "INCL/PATH", ... ]); + incs => [ "INCL/PATH", ... ] + intent => one of "lib", "dso", "bin" ); 'obj' has the intended object file *without* extension, src2obj() is expected to add that. 'srcs' has the list of source files to build the object file, with the first item being the source file that directly corresponds to the object file. - 'deps' is a list of dependencies. 'incs' is a list - of include file directories. + 'deps' is a list of explicit dependencies. 'incs' + is a list of include file directories. Finally, + 'intent' indicates what this object file is going + to be used for. obj2lib - function that produces build file lines to build a static library file ("libfoo.a" in Unix terms) from -- cgit v1.2.3