| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 | 
							- #!/usr/bin/perl
 
- # Transform Makefile.am and config.in so they can be executed
 
- # standalone. Then run the test suite.
 
- # There should be a way to use m4 for this.
 
- use 5.010;
 
- use strict;
 
- use warnings;
 
- use Config;
 
- use Cwd;
 
- my $big_endian = sub {
 
-     my $bo = $Config{'byteorder'};
 
-     ($bo == 87654321) and return 1;
 
-     ($bo == 12345678) and return;
 
-     die ("Cannot understand byte order: $bo");
 
- }->();
 
- chdir ('test') or die ("Cannot change to test/: $!");
 
- my $PWD = getcwd;
 
- sub transform {
 
-     my ($src_file, $dst_file) = @_;
 
-     my $fh_in;
 
-     my $fh_out;
 
-     open ($fh_in, '<', $src_file) or
 
-         die ("Cannot open '$src_file': $!");
 
-     open ($fh_out, '>', $dst_file) or
 
-         die ("Cannot write '$dst_file': $!");
 
-     my $in_clause;
 
-     my $mute;
 
-     while (defined (my $line = <$fh_in>)) {
 
-         if ($line =~ /if WORDS_BIGENDIAN/) {
 
-             $in_clause and die ('State machine error');
 
-             $in_clause = 1;
 
-             $mute = !$big_endian;
 
-             next;
 
-         } elsif ($line =~ /^else/) {
 
-             $in_clause or die ('State machine error');
 
-             $mute = $big_endian;
 
-             next;
 
-         } elsif ($line =~ /^endif/) {
 
-             $in_clause or die ('State machine error');
 
-             $mute = undef;
 
-             $in_clause = undef;
 
-             next;
 
-         }
 
-         $mute and next;
 
-         $line =~ s/\@PRINTF\@/printf/;
 
-         $line =~ s/\@host\@/localhost/;
 
-         $line =~ s/\@(target|build|nic1|nic2)\@/'-$1-'/;
 
-         $line =~ s:=../src/:=/usr/bin/:;
 
-         $line =~ s/\@debug_run_time_flag\@/--dbug=1/;
 
-         $line =~ s/^(all: .+) tcpreplay (.+)$/$1 $2/;
 
-         $line =~ s/\@srcdir\@/$PWD/g;
 
-         print $fh_out $line;
 
-     }
 
-     close ($fh_in);
 
-     close ($fh_out) or die;
 
-     system ('diff', '-u', $src_file, $dst_file);
 
- }
 
- transform ('Makefile.am', 'Makefile.test');
 
- transform ('config.in', 'config');
 
- $ENV{'srcdir'} = $PWD;
 
- system ('make', '-f', 'Makefile.test');
 
- my $exit = $? ? 1 : 0;
 
- print "test.log content:\n";
 
- system ('cat', 'test.log');
 
- exit $exit;
 
- __END__
 
 
  |