mirror of
https://github.com/openssl/openssl.git
synced 2024-12-26 02:13:45 +08:00
Generate simple build test files
Generate small test programs to check that external programs can be built with our stuff at a very basic level. For now, they check that each of our header files can be included individually without compile failure. Reviewed-by: Rich Salz <rsalz@openssl.org>
This commit is contained in:
parent
39a470088a
commit
bffb149054
@ -1,4 +1,4 @@
|
|||||||
{- use File::Spec::Functions qw/catdir rel2abs/; -}
|
{- use File::Spec::Functions qw/catdir catfile rel2abs abs2rel updir/; -}
|
||||||
IF[{- !$disabled{tests} -}]
|
IF[{- !$disabled{tests} -}]
|
||||||
PROGRAMS=\
|
PROGRAMS=\
|
||||||
aborttest \
|
aborttest \
|
||||||
@ -254,4 +254,30 @@ IF[{- !$disabled{tests} -}]
|
|||||||
SOURCE[bioprinttest]=bioprinttest.c
|
SOURCE[bioprinttest]=bioprinttest.c
|
||||||
INCLUDE[bioprinttest]={- rel2abs(catdir($builddir,"../include")) -} ../include
|
INCLUDE[bioprinttest]={- rel2abs(catdir($builddir,"../include")) -} ../include
|
||||||
DEPEND[bioprinttest]=../libcrypto
|
DEPEND[bioprinttest]=../libcrypto
|
||||||
|
{-
|
||||||
|
use File::Basename;
|
||||||
|
use if $^O ne "VMS", 'File::Glob' => qw/glob/;
|
||||||
|
|
||||||
|
my $includes = join(" ",
|
||||||
|
rel2abs(catdir($builddir,"../include")), "../include");
|
||||||
|
my @nogo_headers = ( "asn1_mac.h",
|
||||||
|
"__decc_include_prologue.h",
|
||||||
|
"__decc_include_epilogue.h" );
|
||||||
|
my @headerfiles = glob catfile($sourcedir,
|
||||||
|
updir(), "include", "openssl", "*.h");
|
||||||
|
|
||||||
|
foreach my $headerfile (@headerfiles) {
|
||||||
|
my $name = basename($headerfile, ".h");
|
||||||
|
next if $disabled{$name};
|
||||||
|
next if grep { $_ eq lc("$name.h") } @nogo_headers;
|
||||||
|
$OUT .= <<"_____";
|
||||||
|
|
||||||
|
PROGRAMS=buildtest_$name
|
||||||
|
GENERATE[buildtest_$name.c]=generate_buildtest.pl $name
|
||||||
|
SOURCE[buildtest_$name]=buildtest_$name.c
|
||||||
|
INCLUDE[buildtest_$name]=$includes
|
||||||
|
DEPEND[buildtest_$name]=../libssl ../libcrypto
|
||||||
|
_____
|
||||||
|
}
|
||||||
|
-}
|
||||||
ENDIF
|
ENDIF
|
||||||
|
27
test/generate_buildtest.pl
Normal file
27
test/generate_buildtest.pl
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#! /usr/bin/env perl
|
||||||
|
# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
|
#
|
||||||
|
# Licensed under the OpenSSL license (the "License"). You may not use
|
||||||
|
# this file except in compliance with the License. You can obtain a copy
|
||||||
|
# in the file LICENSE in the source distribution or at
|
||||||
|
# https://www.openssl.org/source/license.html
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
# First argument is name;
|
||||||
|
my $name = shift @ARGV;
|
||||||
|
# All other arguments are ignored for now
|
||||||
|
|
||||||
|
print <<"_____";
|
||||||
|
/*
|
||||||
|
* Generated with test/generate_buildtest.pl, to check that such a simple
|
||||||
|
* program builds.
|
||||||
|
*/
|
||||||
|
#include <openssl/$name.h>
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_____
|
Loading…
Reference in New Issue
Block a user