diff options
Diffstat (limited to 'win32utils/updatelibxml2.pl')
-rw-r--r-- | win32utils/updatelibxml2.pl | 219 |
1 files changed, 0 insertions, 219 deletions
diff --git a/win32utils/updatelibxml2.pl b/win32utils/updatelibxml2.pl deleted file mode 100644 index 3b6377eb..00000000 --- a/win32utils/updatelibxml2.pl +++ /dev/null @@ -1,219 +0,0 @@ -#!/usr/bin/perl -# -# Copyright (C) 2009, 2010, 2012, 2013 Internet Systems Consortium, Inc. ("ISC") -# -# Permission to use, copy, modify, and/or distribute this software for any -# purpose with or without fee is hereby granted, provided that the above -# copyright notice and this permission notice appear in all copies. -# -# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH -# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, -# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -# PERFORMANCE OF THIS SOFTWARE. - -# $Id$ - -# updatelibxml2.pl -# This script locates the latest version of libxml2 in the grandparent -# directory and updates the build scripts to use that version. -# Copied from updateopenssl.pl. -# -# Path and directory -$path = "..\\..\\"; - -# List of files that need to be updated with the actual version of the -# libxml2 directory -@filelist = ("SetupLibs.bat", - "../lib/dns/win32/libdns.mak", - "../lib/dns/win32/libdns.dsp", - "../bin/check/win32/checktool.dsp", - "../bin/check/win32/namedcheckconf.dsp", - "../bin/check/win32/namedcheckconf.mak", - "../bin/check/win32/namedcheckzone.dsp", - "../bin/check/win32/namedcheckzone.mak", - "../bin/confgen/win32/confgentool.dsp", - "../bin/confgen/win32/ddnsconfgen.dsp", - "../bin/confgen/win32/ddnsconfgen.mak", - "../bin/confgen/win32/rndcconfgen.dsp", - "../bin/confgen/win32/rndcconfgen.mak", - "../bin/dig/win32/dig.dsp", - "../bin/dig/win32/dig.mak", - "../bin/dig/win32/dighost.dsp", - "../bin/dig/win32/host.dsp", - "../bin/dig/win32/host.mak", - "../bin/dig/win32/nslookup.dsp", - "../bin/dig/win32/nslookup.mak", - "../bin/dnssec/win32/dnssectool.dsp", - "../bin/dnssec/win32/dsfromkey.dsp", - "../bin/dnssec/win32/dsfromkey.mak", - "../bin/dnssec/win32/keyfromlabel.dsp", - "../bin/dnssec/win32/keyfromlabel.mak", - "../bin/dnssec/win32/keygen.dsp", - "../bin/dnssec/win32/keygen.mak", - "../bin/dnssec/win32/revoke.dsp", - "../bin/dnssec/win32/revoke.mak", - "../bin/dnssec/win32/settime.dsp", - "../bin/dnssec/win32/settime.mak", - "../bin/dnssec/win32/signzone.dsp", - "../bin/dnssec/win32/signzone.mak", - "../bin/dnssec/win32/verify.dsp", - "../bin/dnssec/win32/verify.mak", - "../bin/named/win32/named.dsp", - "../bin/named/win32/named.mak", - "../bin/nsupdate/win32/nsupdate.dsp", - "../bin/nsupdate/win32/nsupdate.mak", - "../bin/rndc/win32/rndc.dsp", - "../bin/rndc/win32/rndc.mak", - "../bin/tools/win32/journalprint.dsp", - "../bin/tools/win32/journalprint.mak", - "../lib/bind9/win32/libbind9.dsp", - "../lib/bind9/win32/libbind9.mak", - "../lib/dns/win32/libdns.dsp", - "../lib/dns/win32/libdns.mak", - "../lib/isc/win32/libisc.dsp", - "../lib/isc/win32/libisc.mak", - "../lib/isc/win32/libisc.def", - "../lib/isccc/win32/libisccc.dsp", - "../lib/isccc/win32/libisccc.mak", - "../lib/isccfg/win32/libisccfg.dsp", - "../lib/isccfg/win32/libisccfg.mak"); - -# Locate the libxml2 directory -$substr = getdirectory(); -if ($substr eq 0) { - print "No directory found\n"; -} -else { - print "Found $substr directory\n"; -} - -if ($substr ne 0) { - #Update the list of files - $ind = 0; - updateconfig(1); - foreach $file (@filelist) { - print "Updating file $file\n"; - updatefile($file, $substr, 1); - $ind++; - } -} -else { - #Update the configuration to reflect libxml2 being absent - $ind = 0; - updateconfig(0); - foreach $file (@filelist) { - print "Updating file $file\n"; - updatefile($file, $substr, 0); - $ind++; - } -} - -# Function to find the libxml2 directory -sub getdirectory { - my(@namelist); - my($file, $name); - my($cnt); - opendir(DIR,$path) || return (0); - @namelist = grep (/^libxml2-[0-9]+\.[0-9]+\.[0-9]+[a-z]*$/i, readdir(DIR)); - closedir(DIR); - - # Make sure we have something - if (scalar(@namelist) == 0) { - return (0); - } - # Now see if we have a directory or just a file. - # Make sure we are case insensitive - foreach $file (sort {uc($a) cmp uc($b)} @namelist) { - if (-d $path.$file) { - $name = $file; - } - } - - # If we have one use it otherwise report the error - # Note that we are only interested in the last one - # since the sort should have taken care of getting - # the latest - if (defined($name)) { - return ($name); - } - else { - return (0); - } -} - -# function to replace the libxml2 directory name with the latest one -sub updatefile { - my($filename, $substr, $line); - my(@Lines); - - $filename = $_[0]; - $substr = $_[1]; - $havexml = $_[2]; - - open (RFILE, $filename) || die "Can't open file $filename: $!"; - @Lines = <RFILE>; - close (RFILE); - - # Replace the string - foreach $line (@Lines) { - if ($havexml) { - $line =~ s/libxml2-[0-9]+\.[0-9]+\.[0-9]+[a-z]*/$substr/gi; - if ($filename =~ /\.mak$/) { - $line =~ s/^# (LIBXML=.*\/libxml2\.lib.*)$/\1/; - } elsif ($filename =~ /\.dsp$/ ) { - $line =~ s/^!MESSAGE (LIBXML=.*\/libxml2\.lib.*)$/\1/; - $line =~ s/^!MESSAGE (# ADD LINK32 .*\/libxml2\.lib.*)$/\1/; - } - $line =~ s/^; (isc_socketmgr_renderxml)$/\1/; - $line =~ s/^; (isc_mem_renderxml)$/\1/; - $line =~ s/^; (isc_taskmgr_renderxml)$/\1/; - } else { - if ($filename =~ /\.mak$/) { - $line =~ s/^(LIBXML=.*\/libxml2.lib.*)$/# \1/i; - } elsif ($filename =~ /\.dsp$/ ) { - $line =~ s/^(# ADD LINK32 .*\/libxml2.lib.*)$/!MESSAGE \1/i; - $line =~ s/^(LIBXML=.*\/libxml2.lib.*)$/!MESSAGE \1/i; - } - $line =~ s/^(isc_socketmgr_renderxml)$/; \1/; - $line =~ s/^(isc_mem_renderxml)$/; \1/; - $line =~ s/^(isc_taskmgr_renderxml)$/; \1/; - } - } - - #update the file - open (RFILE, ">$filename") || die "Can't open file $filename: $!"; - foreach $line (@Lines) { - print RFILE $line; - } - close(RFILE); -} - -# update config.h to define or undefine HAVE_LIBXML2 -sub updateconfig { - my($havexml, $substr, $line); - my(@Lines); - - $havexml = $_[0]; - - open (RFILE, "../config.h") || die "Can't open config.h"; - @Lines = <RFILE>; - close (RFILE); - - foreach $line (@Lines) { - if ($havexml) { - $line =~ s/^.*#undef HAVE_LIBXML2.*$/define HAVE_LIBXML2 1/; - } else { - $line =~ s/^#define HAVE_LIBXML2 .*$/\/\* #undef HAVE_LIBXML2 \*\//; - } - } - - open (RFILE, ">../config.h") || die "Can't open config.h"; - print "Updating file ../config.h\n"; - foreach $line (@Lines) { - print RFILE $line; - } - close(RFILE); -} |