2018-07-23 11:25:45 +00:00
|
|
|
{- our @apps_openssl_src =
|
2018-01-31 13:15:52 +00:00
|
|
|
qw(openssl.c
|
|
|
|
asn1pars.c ca.c ciphers.c cms.c crl.c crl2p7.c dgst.c dhparam.c
|
|
|
|
dsa.c dsaparam.c ec.c ecparam.c enc.c engine.c errstr.c gendsa.c
|
|
|
|
genpkey.c genrsa.c nseq.c ocsp.c passwd.c pkcs12.c pkcs7.c pkcs8.c
|
|
|
|
pkey.c pkeyparam.c pkeyutl.c prime.c rand.c req.c rsa.c rsautl.c
|
|
|
|
s_client.c s_server.c s_time.c sess_id.c smime.c speed.c spkac.c
|
|
|
|
srp.c ts.c verify.c version.c x509.c rehash.c storeutl.c);
|
|
|
|
our @apps_lib_src =
|
2018-08-16 02:36:01 +00:00
|
|
|
( qw(apps.c apps_ui.c opt.c fmt.c s_cb.c s_socket.c app_rand.c
|
|
|
|
bf_prefix.c),
|
2018-01-31 13:15:52 +00:00
|
|
|
split(/\s+/, $target{apps_aux_src}) );
|
|
|
|
our @apps_init_src = split(/\s+/, $target{apps_init_src});
|
2016-05-23 13:49:25 +00:00
|
|
|
"" -}
|
2016-04-14 12:44:15 +00:00
|
|
|
IF[{- !$disabled{apps} -}]
|
2018-11-07 10:02:06 +00:00
|
|
|
LIBS{noinst}=libapps.a
|
2018-01-31 13:15:52 +00:00
|
|
|
SOURCE[libapps.a]={- join(" ", @apps_lib_src) -}
|
Move libapps headers into their own directory
This got triggered by test/testutil.h including ../apps/opt.h.
Some compilers do all inclusions from the directory of the C file
being compiled, so when a C file includes a header file with a
relative file spec, and that header file also includes another header
file with a relative file spec, the compiler no longer follows.
As a specific example, test/testutil/basic_output.c included
../testutil.h. Fine so far, but then, test/testutil.h includes
../apps/opt.h, and the compiler ends up trying to include (seen from
the source top) test/apps/opt.h rather than apps/opt.h, and fails.
The solution could have been to simply add apps/ as an inclusion
directory. However, that directory also has header files that have
nothing to do with libapps, so we take this a bit further, create
apps/include and move libapps specific headers there, and then add
apps/include as inclusion directory in the build.info files where
needed.
Reviewed-by: Paul Yang <yang.yang@baishancloud.com>
(Merged from https://github.com/openssl/openssl/pull/8210)
2019-02-12 10:37:43 +00:00
|
|
|
INCLUDE[libapps.a]=.. ../include include
|
2018-01-31 13:15:52 +00:00
|
|
|
|
2016-04-14 12:44:15 +00:00
|
|
|
PROGRAMS=openssl
|
2018-01-31 13:15:52 +00:00
|
|
|
SOURCE[openssl]={- join(" ", @apps_init_src) -}
|
2017-06-15 17:31:01 +00:00
|
|
|
SOURCE[openssl]={- join(" ", @apps_openssl_src) -}
|
Move libapps headers into their own directory
This got triggered by test/testutil.h including ../apps/opt.h.
Some compilers do all inclusions from the directory of the C file
being compiled, so when a C file includes a header file with a
relative file spec, and that header file also includes another header
file with a relative file spec, the compiler no longer follows.
As a specific example, test/testutil/basic_output.c included
../testutil.h. Fine so far, but then, test/testutil.h includes
../apps/opt.h, and the compiler ends up trying to include (seen from
the source top) test/apps/opt.h rather than apps/opt.h, and fails.
The solution could have been to simply add apps/ as an inclusion
directory. However, that directory also has header files that have
nothing to do with libapps, so we take this a bit further, create
apps/include and move libapps specific headers there, and then add
apps/include as inclusion directory in the build.info files where
needed.
Reviewed-by: Paul Yang <yang.yang@baishancloud.com>
(Merged from https://github.com/openssl/openssl/pull/8210)
2019-02-12 10:37:43 +00:00
|
|
|
INCLUDE[openssl]=.. ../include include
|
2018-01-31 13:15:52 +00:00
|
|
|
DEPEND[openssl]=libapps.a ../libssl
|
2016-01-29 22:33:10 +00:00
|
|
|
|
2018-03-22 14:21:33 +00:00
|
|
|
IF[{- $config{target} =~ /^(?:Cygwin|mingw|VC-)/ -}]
|
|
|
|
GENERATE[openssl.rc]=../util/mkrc.pl openssl
|
|
|
|
SOURCE[openssl]=openssl.rc
|
|
|
|
ENDIF
|
|
|
|
|
2017-06-15 17:31:01 +00:00
|
|
|
{- join("\n ", map { (my $x = $_) =~ s|\.c$|.o|; "DEPEND[$x]=progs.h" }
|
|
|
|
@apps_openssl_src) -}
|
|
|
|
GENERATE[progs.h]=progs.pl $(APPS_OPENSSL)
|
|
|
|
DEPEND[progs.h]=../configdata.pm
|
|
|
|
|
Build: use attributes to indicate installed script classes
We have two classes of scripts to be installed, those that are
installed as "normal" programs, and those that are installed as "misc"
scripts. These classes are installed in different locations, so the
build file templates must pay attention.
Because we didn't have the tools to indicate what scripts go where, we
had these scripts hard coded in the build template files, with the
maintenance issues that may cause. Now that we have attributes, those
can be used to classify the installed scripts, and have the build file
templates simply check the attributes to know what's what.
Furthermore, the 'tsget.pl' script exists both as 'tsget.pl' and
'tsget', which is done by installing a symbolic link (or copy). This
link name is now given through an attribute, which results in even
less hard coding in the Unix Makefile template.
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/7581)
2018-11-07 10:05:17 +00:00
|
|
|
SCRIPTS{misc}=CA.pl
|
2016-04-14 12:44:15 +00:00
|
|
|
SOURCE[CA.pl]=CA.pl.in
|
Build: use attributes to indicate installed script classes
We have two classes of scripts to be installed, those that are
installed as "normal" programs, and those that are installed as "misc"
scripts. These classes are installed in different locations, so the
build file templates must pay attention.
Because we didn't have the tools to indicate what scripts go where, we
had these scripts hard coded in the build template files, with the
maintenance issues that may cause. Now that we have attributes, those
can be used to classify the installed scripts, and have the build file
templates simply check the attributes to know what's what.
Furthermore, the 'tsget.pl' script exists both as 'tsget.pl' and
'tsget', which is done by installing a symbolic link (or copy). This
link name is now given through an attribute, which results in even
less hard coding in the Unix Makefile template.
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/7581)
2018-11-07 10:05:17 +00:00
|
|
|
# linkname tells build files that a symbolic link or copy of this script
|
|
|
|
# without extension must be installed as well. Unix or Unix lookalike only.
|
|
|
|
SCRIPTS{misc,linkname=tsget}=tsget.pl
|
2018-07-23 11:25:45 +00:00
|
|
|
SOURCE[tsget.pl]=tsget.in
|
2016-04-14 12:44:15 +00:00
|
|
|
ENDIF
|