diff options
Diffstat (limited to 'ACE/bin/generate_rel_manpages')
-rwxr-xr-x | ACE/bin/generate_rel_manpages | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/ACE/bin/generate_rel_manpages b/ACE/bin/generate_rel_manpages new file mode 100755 index 00000000000..21af3f5c962 --- /dev/null +++ b/ACE/bin/generate_rel_manpages @@ -0,0 +1,123 @@ +eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' + & eval 'exec perl -S $0 $argv:q' + if 0; + +# $Id$ + +use strict; +require Cwd; + + +########### +###### Sanity Checks +########## +my $hostname; +chomp ($hostname = $ENV{'HOSTNAME'} || `uname -n`); +unless ("$hostname" eq 'naboo') { + #### For efficiency sake . . . + die "$0: must run on host naboo.dre.vanderbilt.edu\n"; +} +my $perl_path = '/usr/bin/perl'; + +my $status= 0; + +&can_run($perl_path.' -V') || + die "$0: perl path is incorrect, please fix the script\n"; + +my $dot_path = '/usr/bin'; +&can_run($dot_path.'/dot -V') || + die "$0: dot path is incorrect, please fix the script\n"; + +my $doxy_path = '/usr/bin'; + +my $doxy_version = '1.4.7-1'; + +&can_run($doxy_path.'/doxygen --version | grep '.$doxy_version.' >/dev/null') || + die "$0: doxygen path or version incorrect, please fix the script\n"; + +$ENV{'PATH'} = $ENV{'PATH'}.':'.$doxy_path; + + + +print "Starting doxygen document generation \n"; + +my $chgrp = 'chgrp'; +my $cpio = 'cpio'; +my $cvs = 'cvs'; +my $date = 'date'; +my $egrep = 'egrep'; +my $find = 'find'; +my $gzip = 'gzip'; +my $bzip = 'bzip2'; +my $make = 'make -f Release -s'; +my $mv = 'mv -f'; +my $scp = 'scp '; +my $rm = 'rm -f'; +my $cp = 'cp -f'; +my $md5sum = 'md5sum'; +my $shell_cd = 'cd'; +my $cksum_ext = 'md5'; +my $redirect = '>'; +my $checksum = '$md5sum'; + +$SIG{'HUP'} = $SIG{'INT'} = $SIG{'QUIT'} = $SIG{'TERM'} = 'cleanup'; + +my $release_filter = '\\( -name CVS -o -name build \\) -prune -o ' . + '! -name \'.\#*\' ! -name \'\#*\' ! -name \'*~\' ' . + '! -name \'*.MAK\' -print'; + +my $bin_files = + "\"\\.dsp|\\.dsw|\\.mak|\\.mdp|\\.ide|\\.exe\|\\.ico\|\\.gz\|\\.zip\|" . + "\\.gif|\\.vcp|\\.vcproj|\\.vcw|\\.sln\""; + +my $dest = 'bugzilla@deuce.doc.wustl.edu:/project/deuce/ftp/pub/ACE+TAO-distribution'; +my $release_files = ''; + +chomp ($release_files = `$make show_release_files`); + +######## +######## Main execution thread. +######## +&ex ("bin/generate_doxygen.pl -is_release -perl_path $perl_path -dot_path $dot_path") + && die "$0: failed to generate ACE man pages\n"; + +my $build_command = + "$find html $release_filter | $cpio -o -H tar | " . + "$gzip -9 > ACE-html.tar.gz && ". + "$find html $release_filter | $cpio -o -H tar | " . + "$bzip -9 > ACE-html.tar.bz2 && ". + "$find html $release_filter | $egrep -v $bin_files | " . + "zip ACE-html.zip -q9@ &&" . + "$scp ACE-html.tar.gz ACE-html.tar.bz2 ACE-html.zip $dest;"; + +&ex ($build_command) + && die "$0: failed to move ACE man pages to $dest\n"; + +exit $status; + + +######## +######## Verify that a command can be executed, return 1 on sucess +######## +sub can_run { + my $command = shift; + + open (RUN, "$command 2>&1 |") + || return 0; + while (<RUN>) {} + close(RUN) + || return 0; + return 1; +} + +######## +######## Execute a command, unless -n had been specified. Return value +######## of 0 indicates success. +######## +sub ex () +{ + my ($command) = @_; + + print "Command is $command \n"; + system ("$command"); +} |