X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=Configurations%2FREADME;h=c1f80fe49e8db90e528b0a3df7561aaca3af0e1a;hp=a03d445aea9ca0766a9b5774c54091e4fc333ea0;hb=994e86a9ffd4195f08a7b0ce61bf001e3bebf891;hpb=46d085096c6ead624c61e4b8b301421301511e64 diff --git a/Configurations/README b/Configurations/README index a03d445aea..c1f80fe49e 100644 --- a/Configurations/README +++ b/Configurations/README @@ -169,7 +169,14 @@ In each table entry, the following keys are significant: assembler files used when compiling with assembler implementations. shared_target => The shared library building method used. - This is a target found in Makefile.shared. + This serves multiple purposes: + - as index for targets found in shared_info.pl. + - as linker script generation selector. + To serve both purposes, the index for shared_info.pl + should end with '-shared', and this suffix will be + removed for use as a linker script generation + selector. Note that the latter is only used if + 'shared_defflag' is defined. build_scheme => The scheme used to build up a Makefile. In its simplest form, the value is a string with the name of the build scheme. @@ -393,7 +400,13 @@ $sourcedir and $builddir, which are the locations of the source directory for the current build.info file and the corresponding build directory, all relative to the top of the build tree. -To begin with, things to be built are declared by setting specific +'Configure' only knows inherently about the top build.info file. For +any other directory that has one, further directories to look into +must be indicated like this: + + SUBDIRS=something someelse + +On to things to be built; they are declared by setting specific variables: PROGRAMS=foo bar @@ -433,23 +446,6 @@ support building static libraries and DLLs at the same time, so using static libraries on Windows can only be done when configured 'no-shared'. -One some platforms, shared libraries come with a name that's different -from their static counterpart. That's declared as follows: - - SHARED_NAME[libfoo]=cygfoo-{- $config{shlibver} -} - -The example is from Cygwin, which has a required naming convention. - -Sometimes, it makes sense to rename an output file, for example a -library: - - RENAME[libfoo]=libbar - -That line has "libfoo" renamed to "libbar". While it makes no -sense at all to just have a rename like that (why not just use -"libbar" everywhere?), it does make sense when it can be used -conditionally. See a little further below for an example. - In some cases, it's desirable to include some source files in the shared form of a library only: @@ -460,6 +456,10 @@ include paths the build of their source files should use: INCLUDE[foo]=include +It's also possible to specify C macros that should be defined: + + DEFINE[foo]=FOO BAR=1 + In some cases, one might want to generate some source files from others, that's done as follows: @@ -554,15 +554,6 @@ conditions based on something in the passed variables, for example: SOURCE[libfoo]=... ENDIF -or: - - # VMS has a cultural standard where all libraries are prefixed. - # For OpenSSL, the choice is 'ossl_' - IF[{- $config{target} =~ /^vms/ -}] - RENAME[libcrypto]=ossl_libcrypto - RENAME[libssl]=ossl_libssl - ENDIF - Build-file programming with the "unified" build system ======================================================