1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-12 09:18:10 +03:00

r14471: Convert installheader script to perl

This commit is contained in:
Jelmer Vernooij 2006-03-16 13:04:28 +00:00 committed by Gerald (Jerry) Carter
parent f7312dab3b
commit c6a478a1af
3 changed files with 45 additions and 27 deletions

View File

@ -128,7 +128,7 @@ installlib: libraries installdirs
@$(SHELL) $(srcdir)/script/installlib.sh $(DESTDIR)$(LIBDIR) $(STATIC_LIBS)
installheader: headers installdirs
@$(SHELL) $(srcdir)/script/installheader.sh $(DESTDIR)$(INCLUDEDIR) $(PUBLIC_HEADERS) $(DEFAULT_HEADERS)
@$(PERL) $(srcdir)/script/installheader.pl $(DESTDIR)$(INCLUDEDIR) $(PUBLIC_HEADERS) $(DEFAULT_HEADERS)
installdat: installdirs
@$(SHELL) $(srcdir)/script/installdat.sh $(DESTDIR)$(DATADIR) $(srcdir)

44
source/script/installheader.pl Executable file
View File

@ -0,0 +1,44 @@
#!/usr/bin/perl
use strict;
use File::Basename;
my $includedir = shift;
sub install_header($$)
{
my ($src,$dst) = @_;
open(IN, "<$src");
open(OUT, ">$dst");
while (<IN>) {
print OUT $_;
}
close(OUT);
close(IN);
}
foreach my $p (@ARGV)
{
my $p2 = basename($p);
print "Installing $p as $includedir/$p2\n";
if ( -f "$includedir/$p2" ) {
unlink("$includedir/$p2.old");
rename("$includedir/$p2", "$includedir/$p2.old");
}
install_header($p,"$includedir/$p2");
}
print <<EOF;
======================================================================
The headers are installed. You may restore the old headers (if there
were any) using the command "make revert". You may uninstall the headers
using the command "make uninstallheader" or "make uninstall" to uninstall
binaries, man pages and shell scripts.
======================================================================
EOF
exit 0;

View File

@ -1,26 +0,0 @@
#!/bin/sh
INCLUDEDIR=$1
shift
for p in $*; do
p2=`basename $p`
echo Installing $p as $INCLUDEDIR/$p2
if [ -f $INCLUDEDIR/$p2 ]; then
rm -f $INCLUDEDIR/$p2.old
mv $INCLUDEDIR/$p2 $INCLUDEDIR/$p2.old
fi
cp $p $INCLUDEDIR/
done
cat << EOF
======================================================================
The headers are installed. You may restore the old headers (if there
were any) using the command "make revert". You may uninstall the headers
using the command "make uninstallheader" or "make uninstall" to uninstall
binaries, man pages and shell scripts.
======================================================================
EOF
exit 0