1#!/usr/bin/env perl 2 3$version = $ARGV[0]; 4 5if($version eq "") { 6 print "Enter version number!\n"; 7 exit; 8} 9 10if(!-f "ares.h") { 11 print "run this script in the ares source root dir\n"; 12 exit; 13} 14 15my ($major, $minor, $patch)=split(/\./, $version); 16 17$major += 0; 18$minor += 0; 19$patch += 0; 20 21open(VER, "<ares_version.h") || 22 die "can't open ares_version.h"; 23open(NEWV, ">ares_version.h.dist"); 24while(<VER>) { 25 $_ =~ s/^\#define ARES_VERSION_MAJOR .*/\#define ARES_VERSION_MAJOR $major/; 26 $_ =~ s/^\#define ARES_VERSION_MINOR .*/\#define ARES_VERSION_MINOR $minor/; 27 $_ =~ s/^\#define ARES_VERSION_PATCH .*/\#define ARES_VERSION_PATCH $patch/; 28 $_ =~ s/^\#define ARES_VERSION_STR .*/\#define ARES_VERSION_STR \"$version\"/; 29 30 print NEWV $_; 31} 32close(VER); 33close(NEWV); 34print "ares_version.h.dist created\n"; 35 36if(!-f "configure") { 37 print "running buildconf\n"; 38 `./buildconf`; 39} 40print "adding $version in the configure.ac file\n"; 41`sed -e 's/AC_INIT.*/AC_INIT([c-ares], [$version],/' < configure.ac > configure.ac.dist`; 42 43# now make a new configure script with this 44print "makes a new configure script\n"; 45`autoconf configure.ac.dist >configure`; 46 47# now run this new configure to get a fine makefile 48print "running configure\n"; 49`./configure`; 50 51# generate HTML versions of man pages 52# Deactivated for now. It seems that man pages need some adjustments 53# relative to paragraph and/or line breaks for proper html formatting. 54# EXTRA_DIST will need $(HTMLPAGES) when this is fully activated. 55# print "running make html\n"; 56# `make -s html`; 57 58# generate PDF versions of man pages 59print "running make pdf\n"; 60`make -s pdf`; 61 62# now make the actual tarball 63print "running make dist\n"; 64`make dist VERSION=$version`; 65 66# remove temporay sourced man pages 67`make -s clean-sourced-manpages`; 68 69print "removing temporary configure.ac file\n"; 70`rm configure.ac.dist`; 71print "removing temporary ares_version.h file\n"; 72`rm ares_version.h.dist`; 73 74print "NOTE: now tag this release!\n"; 75