Index: cvs/install.pl --- cvs/install.pl.orig 2009-02-03 22:33:00 +0100 +++ cvs/install.pl 2009-02-06 23:12:14 +0100 @@ -102,11 +102,11 @@ } # prior installation may not have supported .makepp/*.mk files --r "$datadir/FileInfo_makepp.pm" and - (stat "$datadir/FileInfo_makepp.pm")[9] < 1102710870 || # check-in time +-r "$ENV{DESTDIR}$datadir/FileInfo_makepp.pm" and + (stat "$ENV{DESTDIR}$datadir/FileInfo_makepp.pm")[9] < 1102710870 || # check-in time do { my $found; - open F, "$datadir/FileInfo_makepp.pm"; + open F, "$ENV{DESTDIR}$datadir/FileInfo_makepp.pm"; while( ) { $found = 1, last if /build_info_subdir.+\.mk/; } @@ -152,7 +152,7 @@ @sig_num{split ' ', $Config{sig_name}} = split ' ', $Config{sig_num}; $USR1 = $sig_num{USR1}; $USR1 = $USR1; # suppress used-only-once warning -make_dir("$datadir/$_") for +make_dir("$ENV{DESTDIR}$datadir/$_") for qw(Mpp ActionParser BuildCheck CommandParser Scanner Signature); our $useoldmodules = ''; @@ -180,10 +180,10 @@ } } -substitute_file( $_, $bindir, 0755, 1 ) for +substitute_file( $_, "$ENV{DESTDIR}$bindir", 0755, 1 ) for qw(makepp makeppbuiltin makeppclean makeppgraph makeppinfo makepplog makeppreplay makepp_build_cache_control); -substitute_file( $_, $datadir, 0644 ) for +substitute_file( $_, "$ENV{DESTDIR}$datadir", 0644 ) for qw(recursive_makepp FileInfo_makepp.pm Mpp/BuildCacheControl.pm); foreach $module (qw(Mpp/Frame @@ -208,13 +208,13 @@ Signature Signature/c_compilation_md5 Signature/md5 Signature/shared_object Signature/verilog_simulation_md5 Signature/verilog_synthesis_md5)) { - copy("$module.pm", "$datadir/$module.pm"); - chmod 0644, "$datadir/$module.pm"; + copy("$module.pm", "$ENV{DESTDIR}$datadir/$module.pm"); + chmod 0644, "$ENV{DESTDIR}$datadir/$module.pm"; } foreach $include (qw(makepp_builtin_rules makepp_default_makefile)) { - copy("$include.mk", "$datadir/$include.mk"); - chmod 0644, "$datadir/$include.mk"; + copy("$include.mk", "$ENV{DESTDIR}$datadir/$include.mk"); + chmod 0644, "$ENV{DESTDIR}$datadir/$include.mk"; } # @@ -228,16 +228,16 @@ # Install the man pages: # if ($mandir ne 'none') { - make_dir("$mandir/man1"); + make_dir("$ENV{DESTDIR}$mandir/man1"); foreach $file (@pods) { my $manfile = $file; $manfile =~ s/\.pod$/.1/; # Get the name of the man file. $manfile =~ s@^pod/@@; - system("pod2man $file > $mandir/man1/$manfile 2>/dev/null"); + system("pod2man $file > $ENV{DESTDIR}$mandir/man1/$manfile 2>/dev/null"); # Ignore stderr because older versions of # pod2man (e.g., perl 5.006) don't understand # =head3. - chmod 0644, "$mandir/man1/$manfile"; + chmod 0644, "$ENV{DESTDIR}$mandir/man1/$manfile"; } } @@ -409,8 +409,8 @@ $nav .= join '
', map $link{$_}, @links; } $nav .= ''; - open my $outfile, ">$htmldir_val/$_" or die "can't create `$htmldir_val/$_'--$!"; - chmod 0644, "$htmldir_val/$_"; + open my $outfile, ">$ENV{DESTDIR}$htmldir_val/$_" or die "can't create `$htmldir_val/$_'--$!"; + chmod 0644, "$ENV{DESTDIR}$htmldir_val/$_"; s/\.html$//; my $title = (s/^makepp(?:_|$)// ? 'Makepp ' : '') . $alias{$_ || 'makepp'}; my $index; @@ -562,11 +562,11 @@ unlink $tmp; for( qw'google.png makepp.gif makepp.css pre.png sflogo.png url.png' ) { - copy $_, "$htmldir_val/$_"; - chmod 0644, "$htmldir_val/$_"; + copy $_, "$ENV{DESTDIR}$htmldir_val/$_"; + chmod 0644, "$ENV{DESTDIR}$htmldir_val/$_"; } - symlink 'makepp.html', "$htmldir_val/index.html"; + symlink 'makepp.html', "$ENV{DESTDIR}$htmldir_val/index.html"; } # @@ -672,6 +672,7 @@ } sub read_with_prompt { + return undef; local $| = 1; # Enable autoflush on STDOUT. print @_; # Print the prompt.