Lines Matching +full:build +full:- +full:in

5 -------------------------
7 The unified scheme takes all its data from the `build.info` files seen
9 needed to build end product files from diverse sources. See the
10 section on `build.info` files below.
12 From the information in `build.info` files, `Configure` builds up an
14 stored in configdata.pm, found at the top of the build tree (which may
19 intermediary files with the help of a few functions found in the
20 build-file templates. See the section on build-file templates further
23 build.info files
24 ----------------
26 As mentioned earlier, `build.info` files are meant to hold the minimum
27 information needed to build output files, and therefore only (with a
31 as object files are rarely directly referred to in `build.info` files (and
35 in `build.info`. Their file name extensions will be inferred by the
36 build-file templates, adapted for the platform they are meant for (see
37 sections on `%unified_info` and build-file templates further down).
48 All their values in all the `build.info` throughout the source tree are
57 # build.info
63 This is the top directory `build.info` file, and it tells us that two
65 used throughout when building anything that will end up in each
69 # apps/build.info
75 This is the `build.info` file in `apps/`, one may notice that all file
76 paths mentioned are relative to the directory the `build.info` file is
77 located in. This one tells us that there's a program to be built
79 platform and is therefore not mentioned in the `build.info` file). It's
85 # crypto/build.info
94 This is the `build.info` file in `crypto/`, and it tells us a little more
97 really unnecessary as it's already mentioned in the top `build.info`
101 This `build.info` file informs us that `libcrypto` is built from a few
106 using some script, in this case a perl script, and how such scripts
107 can be declared to depend on other files, in this case a perl module.
114 # ssl/build.info
118 This is the build.info file in `ssl/`, and it tells us that the
121 # engines/build.info
132 This is the `build.info` file in `engines/`, telling us that two modules
142 When `Configure` digests these `build.info` files, the accumulated
189 When `Configure` processes the `build.info` files, it will take it as
191 If the build tree is separate from the source tree, it will assume
192 that all built files and up in the build directory and that all source
193 files are to be found in the source tree, if they can be found there.
194 `Configure` will assume that source files that can't be found in the
195 source tree (such as `crypto/bildinf.h` in the example above) are
196 generated and will be found in the build tree.
199 ----------------------------
201 The information in all the `build.info` get digested by `Configure` and
207 variables in build.info files.
210 the MODULES variable in build.info files.
214 variables in build.info files.
218 variables in build.info files.
226 the LIBS variable in build.info files.
229 the PROGRAMS variable in build.info files.
232 the SCRIPTS variable in build.info files.
236 variables in build.info files. Object files are
237 mentioned in this hash table, with source files from
245 As an example, here is how the `build.info` files example from the
399 As can be seen, everything in `%unified_info` is fairly simple suggest
400 of information. Still, it tells us that to build all programs, we
401 must build `apps/openssl`, and to build the latter, we will need to
402 build all its sources (`apps/openssl.o` in this case) and all the
404 need to be built as well, using the same logic, so to build `libssl`,
405 we need to build `ssl/tls.o` as well as `libcrypto`, and to build the
408 Build-file templates
409 --------------------
411 Build-file templates are essentially build-files (such as `Makefile` on
412 Unix) with perl code fragments mixed in. Those perl code fragment
414 rules needed to build end product files and intermediary files alike.
416 functions that are used to generates specific build-file rules, to
417 build static libraries from object files, to build shared libraries
421 generatesrc - function that produces build file lines to generate
449 src2obj - function that produces build file lines to build an
463 'srcs' has the list of source files to build the
471 obj2lib - function that produces build file lines to build a
472 static library file ("libfoo.a" in Unix terms) from
482 has the list of object files to build this library.
484 libobj2shlib - backward compatibility function that's used the
486 expected to build the shared library from the
492 obj2shlib - function that produces build file lines to build a
493 shareable object library file ("libfoo.so" in Unix
504 *without* extension. This is useful in case
511 object files to build this library.
513 obj2dso - function that produces build file lines to build a
524 intent is to build a shareable library that can be
525 loaded in runtime (a "plugin"...).
527 obj2bin - function that produces build file lines to build an
538 that. 'objs' has the list of object files to build
543 in2script - function that produces build file lines to build a
552 'sources' has the list of source files to build the
555 Along with the build-file templates is the driving template
557 information in `%unified_info` and generates all the rulesets to build libraries,
559 functions defined in the build-file template.
561 As an example with the smaller `build.info` set we've seen as an
562 example, producing the rules to build `libcrypto` would result in the
604 together and written to the resulting build-file.