mirror of https://github.com/openssl/openssl.git
Update the Configurations READMEs
Reviewed-by: Tim Hudson <tjh@openssl.org>
This commit is contained in:
parent
5951e840d9
commit
e38bd9489a
|
@ -498,6 +498,8 @@ They are all expected to return a string with the lines they produce.
|
||||||
|
|
||||||
generatesrc(src => "PATH/TO/tobegenerated",
|
generatesrc(src => "PATH/TO/tobegenerated",
|
||||||
generator => [ "generatingfile", ... ]
|
generator => [ "generatingfile", ... ]
|
||||||
|
generator => [ "generatingfile", ... ]
|
||||||
|
incs => [ "INCL/PATH", ... ],
|
||||||
deps => [ "dep1", ... ],
|
deps => [ "dep1", ... ],
|
||||||
intent => one of "libs", "dso", "bin" );
|
intent => one of "libs", "dso", "bin" );
|
||||||
|
|
||||||
|
@ -507,9 +509,11 @@ They are all expected to return a string with the lines they produce.
|
||||||
expected to be the file to generate from.
|
expected to be the file to generate from.
|
||||||
generatesrc() is expected to analyse and figure out
|
generatesrc() is expected to analyse and figure out
|
||||||
exactly how to apply that file and how to capture
|
exactly how to apply that file and how to capture
|
||||||
the result. 'deps' is a list of explicit
|
the result. 'incs' and 'deps' are include
|
||||||
dependencies. 'intent' indicates what the generated
|
directories and files that are used if $(CC) used as
|
||||||
file is going to be used for.
|
an intermediary step when generating the end product
|
||||||
|
(the file indicated by 'src'). 'intent' indicates
|
||||||
|
what the generated file is going to be used for.
|
||||||
|
|
||||||
src2obj - function that produces build file lines to build an
|
src2obj - function that produces build file lines to build an
|
||||||
object file from source files and associated data.
|
object file from source files and associated data.
|
||||||
|
|
|
@ -103,9 +103,8 @@ This build.info file informs us that 'libcrypto' is built from a few
|
||||||
source files, 'crypto/aes.c', 'crypto/evp.c' and 'crypto/cversion.c'.
|
source files, 'crypto/aes.c', 'crypto/evp.c' and 'crypto/cversion.c'.
|
||||||
It also shows us that building the object file inferred from
|
It also shows us that building the object file inferred from
|
||||||
'crypto/cversion.c' depends on 'crypto/buildinf.h'. Finally, it
|
'crypto/cversion.c' depends on 'crypto/buildinf.h'. Finally, it
|
||||||
also shows the possibility to include raw build-file statements in a
|
also shows the possibility to declare how some files are generated
|
||||||
build.info file, in this case showing how 'buildinf.h' is built on
|
using some script, in this case a perl script.
|
||||||
Unix-like operating systems.
|
|
||||||
|
|
||||||
Two things are worth an extra note:
|
Two things are worth an extra note:
|
||||||
|
|
||||||
|
@ -153,10 +152,10 @@ information comes down to this:
|
||||||
INCLUDE[apps/openssl]=. include
|
INCLUDE[apps/openssl]=. include
|
||||||
DEPEND[apps/openssl]=libssl
|
DEPEND[apps/openssl]=libssl
|
||||||
|
|
||||||
ENGINES=engines/libossltest
|
ENGINES=engines/ossltest
|
||||||
SOURCE[engines/libossltest]=engines/e_ossltest.c
|
SOURCE[engines/ossltest]=engines/e_ossltest.c
|
||||||
DEPEND[engines/libossltest]=libcrypto
|
DEPEND[engines/ossltest]=libcrypto
|
||||||
INCLUDE[engines/libossltest]=include
|
INCLUDE[engines/ossltest]=include
|
||||||
|
|
||||||
GENERATE[crypto/buildinf.h]=util/mkbuildinf.pl "$(CC) $(CFLAGS)" "$(PLATFORM)"
|
GENERATE[crypto/buildinf.h]=util/mkbuildinf.pl "$(CC) $(CFLAGS)" "$(PLATFORM)"
|
||||||
DEPEND[crypto/buildinf.h]=Makefile
|
DEPEND[crypto/buildinf.h]=Makefile
|
||||||
|
@ -202,6 +201,10 @@ indexes:
|
||||||
engines => a list of engines. These are directly inferred from
|
engines => a list of engines. These are directly inferred from
|
||||||
the ENGINES variable in build.info files.
|
the ENGINES variable in build.info files.
|
||||||
|
|
||||||
|
generate => a hash table containing 'file' => [ 'generator' ... ]
|
||||||
|
pairs. These are directly inferred from the GENERATE
|
||||||
|
variables in build.info files.
|
||||||
|
|
||||||
includes => a hash table containing 'file' => [ 'include' ... ]
|
includes => a hash table containing 'file' => [ 'include' ... ]
|
||||||
pairs. These are directly inferred from the INCLUDE
|
pairs. These are directly inferred from the INCLUDE
|
||||||
variables in build.info files.
|
variables in build.info files.
|
||||||
|
@ -247,11 +250,15 @@ section above would be digested into a %unified_info table:
|
||||||
[
|
[
|
||||||
"libssl",
|
"libssl",
|
||||||
],
|
],
|
||||||
|
"crypto/buildinf.h" =>
|
||||||
|
[
|
||||||
|
"Makefile",
|
||||||
|
],
|
||||||
"crypto/cversion.o" =>
|
"crypto/cversion.o" =>
|
||||||
[
|
[
|
||||||
"crypto/buildinf.h",
|
"crypto/buildinf.h",
|
||||||
],
|
],
|
||||||
"engines/libossltest" =>
|
"engines/ossltest" =>
|
||||||
[
|
[
|
||||||
"libcrypto",
|
"libcrypto",
|
||||||
],
|
],
|
||||||
|
@ -262,8 +269,18 @@ section above would be digested into a %unified_info table:
|
||||||
},
|
},
|
||||||
"engines" =>
|
"engines" =>
|
||||||
[
|
[
|
||||||
"engines/libossltest",
|
"engines/ossltest",
|
||||||
],
|
],
|
||||||
|
"generate" =>
|
||||||
|
{
|
||||||
|
"crypto/buildinf.h" =>
|
||||||
|
[
|
||||||
|
"util/mkbuildinf.pl",
|
||||||
|
"\"\$(CC)",
|
||||||
|
"\$(CFLAGS)\"",
|
||||||
|
"\"$(PLATFORM)\"",
|
||||||
|
],
|
||||||
|
},
|
||||||
"includes" =>
|
"includes" =>
|
||||||
{
|
{
|
||||||
"apps/openssl" =>
|
"apps/openssl" =>
|
||||||
|
@ -271,7 +288,7 @@ section above would be digested into a %unified_info table:
|
||||||
".",
|
".",
|
||||||
"include",
|
"include",
|
||||||
],
|
],
|
||||||
"engines/libossltest" =>
|
"engines/ossltest" =>
|
||||||
[
|
[
|
||||||
"include"
|
"include"
|
||||||
],
|
],
|
||||||
|
@ -308,9 +325,6 @@ section above would be digested into a %unified_info table:
|
||||||
],
|
],
|
||||||
"rawlines" =>
|
"rawlines" =>
|
||||||
[
|
[
|
||||||
"crypto/buildinf.h : Makefile",
|
|
||||||
" perl util/mkbuildinf.h \"\$(CC) \$(CFLAGS)\" \"\$(PLATFORM)\" \\"
|
|
||||||
" > crypto/buildinf.h"
|
|
||||||
],
|
],
|
||||||
"sources" =>
|
"sources" =>
|
||||||
{
|
{
|
||||||
|
@ -338,7 +352,7 @@ section above would be digested into a %unified_info table:
|
||||||
[
|
[
|
||||||
"engines/e_ossltest.c",
|
"engines/e_ossltest.c",
|
||||||
],
|
],
|
||||||
"engines/libossltest" =>
|
"engines/ossltest" =>
|
||||||
[
|
[
|
||||||
"engines/e_ossltest.o",
|
"engines/e_ossltest.o",
|
||||||
],
|
],
|
||||||
|
@ -382,6 +396,29 @@ build static libraries from object files, to build shared libraries
|
||||||
from static libraries, to programs from object files and libraries,
|
from static libraries, to programs from object files and libraries,
|
||||||
etc.
|
etc.
|
||||||
|
|
||||||
|
generatesrc - function that produces build file lines to generate
|
||||||
|
a source file from some input.
|
||||||
|
|
||||||
|
It's called like this:
|
||||||
|
|
||||||
|
generatesrc(src => "PATH/TO/tobegenerated",
|
||||||
|
generator => [ "generatingfile", ... ]
|
||||||
|
incs => [ "INCL/PATH", ... ],
|
||||||
|
deps => [ "dep1", ... ],
|
||||||
|
intent => one of "libs", "dso", "bin" );
|
||||||
|
|
||||||
|
'src' has the name of the file to be generated.
|
||||||
|
'generator' is the command or part of command to
|
||||||
|
generate the file, of which the first item is
|
||||||
|
expected to be the file to generate from.
|
||||||
|
generatesrc() is expected to analyse and figure out
|
||||||
|
exactly how to apply that file and how to capture
|
||||||
|
the result. 'incs' and 'deps' are include
|
||||||
|
directories and files that are used if $(CC) used as
|
||||||
|
an intermediary step when generating the end product
|
||||||
|
(the file indicated by 'src'). 'intent' indicates
|
||||||
|
what the generated file is going to be used for.
|
||||||
|
|
||||||
src2obj - function that produces build file lines to build an
|
src2obj - function that produces build file lines to build an
|
||||||
object file from source files and associated data.
|
object file from source files and associated data.
|
||||||
|
|
||||||
|
@ -509,25 +546,22 @@ following calls:
|
||||||
# Note 2: libobj2shlib gets both the name of the static library
|
# Note 2: libobj2shlib gets both the name of the static library
|
||||||
# and the names of all the object files that go into it. It's up
|
# and the names of all the object files that go into it. It's up
|
||||||
# to the implementation to decide which to use as input.
|
# to the implementation to decide which to use as input.
|
||||||
|
# Note 3: common.tmpl peals off the ".o" extension from all object
|
||||||
|
# files, as the platform at hand may have a different one.
|
||||||
libobj2shlib(shlib => "libssl",
|
libobj2shlib(shlib => "libssl",
|
||||||
lib => "libssl",
|
lib => "libssl",
|
||||||
objs => [ "ssl/tls.o" ],
|
objs => [ "ssl/tls" ],
|
||||||
deps => [ "libcrypto" ]
|
deps => [ "libcrypto" ]
|
||||||
ordinals => [ "ssl", "util/libssl.num" ]);
|
ordinals => [ "ssl", "util/libssl.num" ]);
|
||||||
|
|
||||||
obj2lib(lib => "libssl"
|
obj2lib(lib => "libssl"
|
||||||
objs => [ "ssl/tls.o" ]);
|
objs => [ "ssl/tls" ]);
|
||||||
|
|
||||||
# Note 3: common.tmpl peals off the ".o" extension, as the
|
|
||||||
# platform at hand may have a different one.
|
|
||||||
src2obj(obj => "ssl/tls"
|
src2obj(obj => "ssl/tls"
|
||||||
srcs => [ "ssl/tls.c" ],
|
srcs => [ "ssl/tls.c" ],
|
||||||
deps => [ ],
|
deps => [ ],
|
||||||
incs => [ "include" ]);
|
incs => [ "include" ],
|
||||||
|
intent => "lib");
|
||||||
src2dep(obj => "ssl/tls"
|
|
||||||
srcs => [ "ssl/tls.c" ],
|
|
||||||
incs => [ "include" ]);
|
|
||||||
|
|
||||||
The returned strings from all those calls are then concatenated
|
The returned strings from all those calls are then concatenated
|
||||||
together and written to the resulting build-file.
|
together and written to the resulting build-file.
|
||||||
|
|
Loading…
Reference in New Issue