From: Micah Cowan Date: Fri, 4 Sep 2009 17:16:49 +0000 (-0700) Subject: Don't require Perl for user builds. X-Git-Tag: v1.13~256 X-Git-Url: http://sjero.net/git/?p=wget;a=commitdiff_plain;h=c794a7e82668a68b39461d267649d8b94cfe6fae;ds=sidebyside Don't require Perl for user builds. --- diff --git a/ChangeLog b/ChangeLog index 89104ebd..ea1f5a42 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 2009-09-04 Micah Cowan + * build-aux/build_info.pl: Moved from top directory. + * md5/*: Updated md5 from gnulib. * configure.ac: Configured build-aux/ as auxiliarry directory. @@ -9,7 +11,7 @@ build-aux/install-sh, build-aux/link-warning.h, build-aux/mdate-sh, build-aux/missing, build-aux/mkinstalldirs, build-aux/texinfo.tex, build-aux/useless-if-before-free, - build-aux/vc-list-files, build-aux/ylwrap: Moved from base + build-aux/vc-list-files, build-aux/ylwrap: Moved from top directory. * build-aux/announce-gen: Imported from gnulib. diff --git a/build-aux/build_info.pl b/build-aux/build_info.pl new file mode 100755 index 00000000..a006b6da --- /dev/null +++ b/build-aux/build_info.pl @@ -0,0 +1,107 @@ +#!/usr/bin/perl + +# Generate build_info.c. + +# Copyright (C) 2009 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +use strict; +use warnings; + +use FindBin qw($Bin); +use File::Spec (); + +my $file = shift @ARGV; + +{ + my $data = parse_config(); + output_code($data); +} + +sub parse_config +{ + my (%block, @defines, %feature); + + open(my $fh, '<', $file) or die "Cannot open $file: $!"; + my $cfg = do { local $/; <$fh> }; + close($fh); + + while ($cfg =~ /^\ *? (\w+) (?:\s+?)? (\w+?)? \s*$/gmx) { + $feature{$1} = $2 || '_MISSING'; + push @defines, $1; + } + while ($cfg =~ /^(\ *? \#\w+? \s+? (\w+) .+ \#\w+)/gmsx) { + $block{$2} = $1; + } + + my %data = ( + block => \%block, + defines => \@defines, + feature => \%feature, + ); + + return \%data; +} + +sub output_code +{ + my ($block, $defines, $feature) = + map $_[0]->{$_}, qw(block defines feature); + + print do { local $/; }, "\n"; + print <{$define}) { + push @output, <{$define}", +#else + "-$feature->{$define}", +#endif +EOC + } + else { + push @output, <{$define} +EOC + } + } + print join "\n", @output; + print < diff --git a/build_info.pl b/build_info.pl deleted file mode 100755 index 5766a254..00000000 --- a/build_info.pl +++ /dev/null @@ -1,107 +0,0 @@ -#!/usr/bin/perl - -# Generate build_info.c. - -# Copyright (C) 2009 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -use strict; -use warnings; - -use FindBin qw($Bin); -use File::Spec (); - -my $file = File::Spec->catfile($Bin, 'src', 'build_info.c.in'); - -{ - my $data = parse_config(); - output_code($data); -} - -sub parse_config -{ - my (%block, @defines, %feature); - - open(my $fh, '<', $file) or die "Cannot open $file: $!"; - my $cfg = do { local $/; <$fh> }; - close($fh); - - while ($cfg =~ /^\ *? (\w+) (?:\s+?)? (\w+?)? \s*$/gmx) { - $feature{$1} = $2 || '_MISSING'; - push @defines, $1; - } - while ($cfg =~ /^(\ *? \#\w+? \s+? (\w+) .+ \#\w+)/gmsx) { - $block{$2} = $1; - } - - my %data = ( - block => \%block, - defines => \@defines, - feature => \%feature, - ); - - return \%data; -} - -sub output_code -{ - my ($block, $defines, $feature) = - map $_[0]->{$_}, qw(block defines feature); - - print do { local $/; }, "\n"; - print <{$define}) { - push @output, <{$define}", -#else - "-$feature->{$define}", -#endif -EOC - } - else { - push @output, <{$define} -EOC - } - } - print join "\n", @output; - print < diff --git a/src/ChangeLog b/src/ChangeLog index 4cb424fb..c5f20190 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2009-09-04 Micah Cowan + + * Makefile.am: Move build_info.c to wget_SOURCES from + nodist_wget_SOURCES, reduce dependencies, and invoke build_info.pl + in its new home, $(top_srcdir)/build-aux. + 2009-09-03 Micah Cowan * ftp-ls.c (ftp_parse_vms_ls): Replace use of localtime_r with diff --git a/src/Makefile.am b/src/Makefile.am index 771318df..93930d14 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -44,14 +44,14 @@ wget_SOURCES = cmpt.c connect.c convert.c cookies.c ftp.c \ ftp-basic.c ftp-ls.c hash.c host.c html-parse.c html-url.c \ http.c init.c log.c main.c netrc.c progress.c ptimer.c \ recur.c res.c retr.c snprintf.c spider.c url.c \ - utils.c exits.c $(IRI_OBJ) \ + utils.c exits.c build_info.c $(IRI_OBJ) \ css-url.h css-tokens.h connect.h convert.h cookies.h \ ftp.h gen-md5.h hash.h host.h html-parse.h html-url.h \ http.h http-ntlm.h init.h log.h mswindows.h netrc.h \ options.h progress.h ptimer.h recur.h res.h retr.h \ spider.h ssl.h sysdep.h url.h utils.h wget.h iri.h \ exits.h gettext.h -nodist_wget_SOURCES = build_info.c version.c +nodist_wget_SOURCES = version.c EXTRA_wget_SOURCES = mswindows.c iri.c LDADD = $(LIBOBJS) ../lib/libgnu.a @MD5_LDADD@ AM_CPPFLAGS = -I$(top_srcdir)/lib @MD5_CPPFLAGS@ @@ -62,8 +62,9 @@ AM_CPPFLAGS = -I$(top_srcdir)/lib @MD5_CPPFLAGS@ ../md5/libmd5.a: cd ../lib && $(MAKE) $(AM_MAKEFLAGS) -build_info.c: $(wget_SOURCES) $(LDADD) $(srcdir)/Makefile.am - perl $(top_srcdir)/build_info.pl > $@ +build_info.c: $(srcdir)/Makefile.am $(srcdir)/build_info.c.in + $(PERL) $(top_srcdir)/build-aux/build_info.pl \ + $(srcdir)/build_info.c.in > $@ ESCAPEQUOTE = sed -e 's/[\\"]/\\&/g' -e 's/\\"/"/' -e 's/\\";$$/";/' version.c: $(wget_SOURCES) $(LDADD) $(srcdir)/Makefile.am \ @@ -81,8 +82,8 @@ version.c: $(wget_SOURCES) $(LDADD) $(srcdir)/Makefile.am \ | $(ESCAPEQUOTE) >> $@ check_LIBRARIES = libunittest.a -libunittest_a_SOURCES = $(wget_SOURCES) test.c test.h -nodist_libunittest_a_SOURCES = build_info.c version.c +libunittest_a_SOURCES = $(wget_SOURCES) test.c build_info.c test.h +nodist_libunittest_a_SOURCES = version.c libunittest_a_CPPFLAGS = -DTESTING -I$(top_srcdir)/lib libunittest_a_LIBADD = $(LIBOBJS) EXTRA_DIST = build_info.c.in