X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=Configurations%2FREADME.design;h=41c2949d0874c6089ec012a6f4d245549454582a;hb=5f9b64a2fdfd0ccf04d58c8b04d576f13950d63f;hp=5777e72441bb1ea2718932465e416ef350e3ff94;hpb=2036fd50466b0586326bbc260a4f77020467531a;p=oweals%2Fopenssl.git diff --git a/Configurations/README.design b/Configurations/README.design index 5777e72441..41c2949d08 100644 --- a/Configurations/README.design +++ b/Configurations/README.design @@ -37,7 +37,9 @@ build-file templates, adapted for the platform they are meant for (see sections on %unified_info and build-file templates further down). The variables PROGRAMS, LIBS, ENGINES and SCRIPTS are used to declare -end products. +end products. There are variants for them with '_NO_INST' as suffix +(PROGRAM_NO_INST etc) to specify end products that shouldn't get +installed. The variables SOURCE, DEPEND, INCLUDE and ORDINALS are indexed by a produced file, and their values are the source used to produce that @@ -124,17 +126,25 @@ This is the build.info file in 'ssl/', and it tells us that the library 'libssl' is built from the source file 'ssl/tls.c'. # engines/build.info - ENGINES=libossltest - SOURCE[libossltest]=e_ossltest.c - DEPEND[libossltest]=../libcrypto - INCLUDE[libossltest]=../include - -This is the build.info file in 'engines/', telling us that an engine -called 'engines/libossltest' shall be built, that it's source is + ENGINES=dasync + SOURCE[dasync]=e_dasync.c + DEPEND[dasync]=../libcrypto + INCLUDE[dasync]=../include + + ENGINES_NO_INST=ossltest + SOURCE[ossltest]=e_ossltest.c + DEPEND[ossltest]=../libcrypto.a + INCLUDE[ossltest]=../include + +This is the build.info file in 'engines/', telling us that two engines +called 'engines/dasync' and 'engines/ossltest' shall be built, that +dasync's source is 'engines/e_dasync.c' and ossltest's source is 'engines/e_ossltest.c' and that the include directory 'include/' may -be used when building anything that will be part of this engine. -Finally, the engine 'engines/libossltest' depends on the library -'libcrypto' to function properly. +be used when building anything that will be part of these engines. +Also, both engines depend on the library 'libcrypto' to function +properly. ossltest is explicitly linked with the static variant of +the library 'libcrypto'. Finally, only dasync is being installed, as +ossltest is only for internal testing. When Configure digests these build.info files, the accumulated information comes down to this: @@ -154,9 +164,14 @@ information comes down to this: INCLUDE[apps/openssl]=. include DEPEND[apps/openssl]=libssl - ENGINES=engines/ossltest + ENGINES=engines/dasync + SOURCE[engines/dasync]=engines/e_dasync.c + DEPEND[engines/dasync]=libcrypto + INCLUDE[engines/dasync]=include + + ENGINES_NO_INST=engines/ossltest SOURCE[engines/ossltest]=engines/e_ossltest.c - DEPEND[engines/ossltest]=libcrypto + DEPEND[engines/ossltest]=libcrypto.a INCLUDE[engines/ossltest]=include GENERATE[crypto/buildinf.h]=util/mkbuildinf.pl "$(CC) $(CFLAGS)" "$(PLATFORM)" @@ -213,6 +228,11 @@ indexes: pairs. These are directly inferred from the INCLUDE variables in build.info files. + install => a hash table containing 'type' => [ 'file' ... ] pairs. + The types are 'programs', 'libraries', 'engines' and + 'scripts', and the array of files list the files of + that type that should be installed. + libraries => a list of libraries. These are directly inferred from the LIBS variable in build.info files. @@ -262,10 +282,14 @@ section above would be digested into a %unified_info table: [ "crypto/buildinf.h", ], - "engines/ossltest" => + "engines/dasync" => [ "libcrypto", ], + "engines/ossltest" => + [ + "libcrypto.a", + ], "libssl" => [ "libcrypto", @@ -277,6 +301,7 @@ section above would be digested into a %unified_info table: }, "engines" => [ + "engines/dasync", "engines/ossltest", ], "generate" => @@ -313,6 +338,22 @@ section above would be digested into a %unified_info table: "util", ], } + "install" => + { + "engines" => + [ + "engines/dasync", + ], + "libraries" => + [ + "libcrypto", + "libssl", + ], + "programs" => + [ + "apps/openssl", + ], + }, "libraries" => [ "libcrypto", @@ -360,6 +401,14 @@ section above would be digested into a %unified_info table: [ "crypto/evp.c", ], + "engines/e_dasync.o" => + [ + "engines/e_dasync.c", + ], + "engines/dasync" => + [ + "engines/e_dasync.o", + ], "engines/e_ossltest.o" => [ "engines/e_ossltest.c",