Lines Matching +full:build +full:- +full:in
5 configuration in diverse ways:
10 *.tmpl Build file templates, please read 'Build-file
11 programming with the "unified" build system' as well
12 as 'Build info files' for more information.
21 different platforms and their capabilities. We organise them in a
28 In each table entry, the following keys are significant:
52 given, as the build file defaults are
56 given here instead of in 'cppflags' [4].
61 may be given here instead of in 'cppflags'
89 in $(libdir)/pkgconfig/libcrypto.pc.
95 like "-fPIC".
138 where a default build would normally create the SSL
139 shared library as 'libssl.so -> libssl.so.1.1' with
141 definition that sets 'shlib_variant => "-abc"' will
142 create 'libssl.so -> libssl-abc.so.1.1', again with
148 letters in the "variant" identifier to upper case
149 and all non-alphanumeric characters to '_'.
157 be used in the future. See further notes
159 dso_scheme => The type of dynamic shared objects to build
168 source. This acts as a selector in build.info files.
170 source. This acts as a selector in build.info files.
172 even when 'no-asm' is given, even though it contains
179 - as index for targets found in shared_info.pl.
180 - as linker script generation selector.
182 should end with '-shared', and this suffix will be
186 build_scheme => The scheme used to build up a Makefile.
187 In its simplest form, the value is a string
188 with the name of the build scheme.
191 some options. In this case, the first
192 string in the list is the name of the build
194 Currently recognised build scheme is "unified".
195 For the "unified" build scheme, this item
202 32-bit and a 64-bit variant), this is used
203 to have the different variants in different
206 bn_ops => Building options (was just bignum options in
211 such as the type of integers used to build up
223 limb size is implied in
226 but 64-bit 'unsigned long
228 in calculations;
250 by corresponding key values in the inheriting configuration.
254 cannot be used as build targets.
256 If several configurations are given in the `inherit_from` array,
265 arguments. In fact, the concatenation of strings is really done
274 ignored => "This should not appear in the end result",
298 specifies `no-threads`. The value of the key `thread_scheme` may
299 be `(unknown)`, in which case the user MUST give some compilation
305 - shared libraries; that would be libcrypto and libssl.
306 - shared objects (sometimes called dynamic libraries); that would
308 - applications; those are apps/openssl and all the test apps.
310 Very roughly speaking, linking is done like this (words in braces
315 {ld} $(CFLAGS) {lflags} {shared_ldflag} -o libfoo.so \
319 {ld} $(CFLAGS) {lflags} {module_ldflags} -o libeng.so \
320 blah1.o blah2.o -lcrypto {ex_libs}
323 {ld} $(CFLAGS) {lflags} -o app \
324 app1.o utils.o -lssl -lcrypto {ex_libs}
330 Historically, the target configurations came in form of a string with
342 Build info files
345 The `build.info` files that are spread over the source tree contain the
346 minimum information needed to build and distribute OpenSSL. It uses a
350 For every `build.info` file, all file references are relative to the
351 directory of the `build.info` file for source files, and the
352 corresponding build directory for built files if the build tree
356 Text::Template, using the delimiters `{-` and `-}`. The hashes
359 directory for the current `build.info` file and the corresponding build
360 directory, all relative to the top of the build tree.
362 `Configure` only knows inherently about the top `build.info` file. For
377 without extensions. The build file templates will figure them out.
393 to be located in the source tree while files given through DEPEND are
394 expected to be located in the build tree)
402 only used when supported. For example, native Windows build doesn't
405 `no-shared`.
407 In some cases, it's desirable to include some source files in the
413 include paths the build of their source files should use:
421 In some cases, one might want to generate some source files from
430 build file template to define exactly how those command lines should
441 be used in that case:
447 Finally, you can have some simple conditional use of the `build.info`
458 The expression in square brackets is interpreted as a string in perl,
463 conditions based on something in the passed variables, for example:
465 IF[{- $disabled{shared} -}]
473 Build-file programming with the "unified" build system
476 "Build files" are called `Makefile` on Unix-like operating systems,
479 To use the "unified" build system, the target configuration needs to
481 In the rest of this section, we will assume that `build_scheme` is set
486 template file in `Configurations/` named like the build file, with
487 `.tmpl` appended, or in case of possible ambiguity, a combination of
490 `Configurations/Makefile.tmpl` or `Configurations/unix-Makefile.tmpl`.
491 In case both `Configurations/unix-Makefile.tmpl` and
494 The build-file template is processed with the perl module
495 Text::Template, using `{-` and `-}` as delimiters that enclose the
496 perl code fragments that generate configuration-dependent content.
500 The build-file template is expected to define at least the following
501 perl functions in a perl code fragment enclosed with `{-` and `-}`.
504 generatesrc - function that produces build file lines to generate
533 src2obj - function that produces build file lines to build an
547 'srcs' has the list of source files to build the
555 obj2lib - function that produces build file lines to build a
556 static library file ("libfoo.a" in Unix terms) from
566 has the list of object files to build this library.
568 libobj2shlib - backward compatibility function that's used the
570 expected to build the shared library from the
576 obj2shlib - function that produces build file lines to build a
577 shareable object library file ("libfoo.so" in Unix
588 *without* extension. This is useful in case
595 object files to build this library.
597 obj2dso - function that produces build file lines to build a
608 intent is to build a shareable library that can be
609 loaded in runtime (a "plugin"...).
611 obj2bin - function that produces build file lines to build an
622 that. 'objs' has the list of object files to build
627 in2script - function that produces build file lines to build a
636 'sources' has the list of source files to build the
639 In all cases, file file paths are relative to the build tree top, and
640 the build file actions run with the build tree top as current working
644 you thing is appropriate for the resulting build file. If nothing
647 ""; # Make sure no lingering values end up in the Makefile
648 -}
653 Configure uses helper scripts in this directory:
656 ---------------
660 either `{build_platform}-{build_file}-checker.pm` or
661 `{build_platform}-checker.pm`, where `{build_platform}` is the second
665 If the check succeeds, the script is expected to end with a non-zero