1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-01 04:58:35 +03:00

r14471: Convert installheader script to perl

(This used to be commit c6a478a1af38cad5622d3c3c53a7a99f9770b169)
This commit is contained in:
Jelmer Vernooij 2006-03-16 13:04:28 +00:00 committed by Gerald (Jerry) Carter
parent 4f1c8daa36
commit 3bb28c83e2
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
source4/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