xref: /minix3/crypto/external/bsd/openssl/dist/util/files.pl (revision ebfedea0ce5bbe81e252ddf32d732e40fb633fae)
1*ebfedea0SLionel Sambuc#!/usr/local/bin/perl
2*ebfedea0SLionel Sambuc#
3*ebfedea0SLionel Sambuc# used to generate the file MINFO for use by util/mk1mf.pl
4*ebfedea0SLionel Sambuc# It is basically a list of all variables from the passed makefile
5*ebfedea0SLionel Sambuc#
6*ebfedea0SLionel Sambuc
7*ebfedea0SLionel Sambuc$s="";
8*ebfedea0SLionel Sambucwhile (<>)
9*ebfedea0SLionel Sambuc	{
10*ebfedea0SLionel Sambuc	chop;
11*ebfedea0SLionel Sambuc	s/#.*//;
12*ebfedea0SLionel Sambuc	if (/^(\S+)\s*=\s*(.*)$/)
13*ebfedea0SLionel Sambuc		{
14*ebfedea0SLionel Sambuc		$o="";
15*ebfedea0SLionel Sambuc		($s,$b)=($1,$2);
16*ebfedea0SLionel Sambuc		for (;;)
17*ebfedea0SLionel Sambuc			{
18*ebfedea0SLionel Sambuc			if ($b =~ /\\$/)
19*ebfedea0SLionel Sambuc				{
20*ebfedea0SLionel Sambuc				chop($b);
21*ebfedea0SLionel Sambuc				$o.=$b." ";
22*ebfedea0SLionel Sambuc				$b=<>;
23*ebfedea0SLionel Sambuc				chop($b);
24*ebfedea0SLionel Sambuc				}
25*ebfedea0SLionel Sambuc			else
26*ebfedea0SLionel Sambuc				{
27*ebfedea0SLionel Sambuc				$o.=$b." ";
28*ebfedea0SLionel Sambuc				last;
29*ebfedea0SLionel Sambuc				}
30*ebfedea0SLionel Sambuc			}
31*ebfedea0SLionel Sambuc		$o =~ s/^\s+//;
32*ebfedea0SLionel Sambuc		$o =~ s/\s+$//;
33*ebfedea0SLionel Sambuc		$o =~ s/\s+/ /g;
34*ebfedea0SLionel Sambuc
35*ebfedea0SLionel Sambuc		$o =~ s/\$[({]([^)}]+)[)}]/$sym{$1}/g;
36*ebfedea0SLionel Sambuc		$sym{$s}=$o;
37*ebfedea0SLionel Sambuc		}
38*ebfedea0SLionel Sambuc	}
39*ebfedea0SLionel Sambuc
40*ebfedea0SLionel Sambuc$pwd=`pwd`; chop($pwd);
41*ebfedea0SLionel Sambuc
42*ebfedea0SLionel Sambucif ($sym{'TOP'} eq ".")
43*ebfedea0SLionel Sambuc	{
44*ebfedea0SLionel Sambuc	$n=0;
45*ebfedea0SLionel Sambuc	$dir=".";
46*ebfedea0SLionel Sambuc	}
47*ebfedea0SLionel Sambucelse	{
48*ebfedea0SLionel Sambuc	$n=split(/\//,$sym{'TOP'});
49*ebfedea0SLionel Sambuc	@_=split(/\//,$pwd);
50*ebfedea0SLionel Sambuc	$z=$#_-$n+1;
51*ebfedea0SLionel Sambuc	foreach $i ($z .. $#_) { $dir.=$_[$i]."/"; }
52*ebfedea0SLionel Sambuc	chop($dir);
53*ebfedea0SLionel Sambuc	}
54*ebfedea0SLionel Sambuc
55*ebfedea0SLionel Sambucprint "RELATIVE_DIRECTORY=$dir\n";
56*ebfedea0SLionel Sambuc
57*ebfedea0SLionel Sambucforeach (sort keys %sym)
58*ebfedea0SLionel Sambuc	{
59*ebfedea0SLionel Sambuc	print "$_=$sym{$_}\n";
60*ebfedea0SLionel Sambuc	}
61*ebfedea0SLionel Sambucprint "RELATIVE_DIRECTORY=\n";
62