#!/usr/bin/perl
+use strict;
+use warnings;
+
$| = 1;
#
# Build the libafs_tree by reading component list files in the src dir, and copying the
my $quiet = 0;
my $showonly = 0;
+my $treedir;
+my $projdir;
+my $sysname;
+my $ostype;
+my $objdir;
while ( $_ = shift @ARGV )
{
if (m/^-q/) { $quiet = 1; next; }
if (m/^-n/) { $showonly = 1; next; }
- usage;
+ &usage;
}
if ( !$treedir || !$projdir || !$ostype || !$sysname)
{
#
# Manual actions
#
-©it("$projdir/configure-libafs", "$treedir/configure-libafs");
+©it("$projdir/configure-libafs", "$treedir/configure");
©it("$projdir/Makefile-libafs.in", "$treedir/Makefile.in");
+©it("$projdir/src/libafs/MakefileProto.$ostype.in",
+ "$treedir/src/libafs/MakefileProto.in");
-system("$objdir/src/config/config",
- "$projdir/src/libafs/MakefileProto.$ostype.in",
- "$treedir/src/libafs/Makefile.in",
- $sysname);
+$showonly || system("$projdir/build-tools/git-version $projdir > $treedir/.version");
+
+# We need to regenerate this to support building amd64 kernels from a
+# libafs_tree built on i386.
+unlink("$treedir/include/afs/param.h");
#
# Subs
$subdir =~ s|/$||gio;
print "# $dir/$depname\n";
- open(COMPS, "$dir/$depname");
+ open(COMPS, "$depname");
while ( defined($file = <COMPS>) )
{
my ($destdir, $proj_src,$obj_src);
# do some simple substitution in dep file
#
$file =~ s/MKAFS_OSTYPE/$ostype/ge;
- $file =~ s/AFS_SYSNAME/$sysname/ge;
next if ( $file eq "" );
{
my ($arg) = @_;
return $arg if ( $arg && $arg ne "" );
- usage;
+ &usage;
}
sub mkfullpath
sub copyit
{
my ( $from, $to ) = @_;
- my (@from, @new);
+ my @from;
+ my @new;
+ my @to;
@from = stat($from);
@to = stat($to);