From 7b7cd6da61b1fcc0f2a3ecce2cb9e6c42782c717 Mon Sep 17 00:00:00 2001 From: Henning Makholm Date: Fri, 27 Jan 2006 18:00:00 -0500 Subject: Import of release 0.7 --- (limited to 'mancombine.pl') diff --git a/mancombine.pl b/mancombine.pl new file mode 100644 index 0000000..3de2919 --- /dev/null +++ b/mancombine.pl @@ -0,0 +1,56 @@ +#! /usr/bin/perl +# This script compiles final manpages for xcftools +# Copyright (C) 2006 Henning Makholm +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of version 2 of the GNU General Public License as +# published by the Free Software Foundation. +# +# 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, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +use strict ; use warnings ; + +my %defs ; + +if( open CONFIG, "<", "config.h" ) { + while( ) { + if( /^#define\s+(\S*)/ ) { + $defs{$1} = 1 ; + } + } + close CONFIG ; +} + +my $ignore = 0 ; + +while( <> ) { + if( /^\#else/ ) { + if( $ignore ) { + $ignore-- ; + } else { + $ignore = 1 ; + } + } elsif( /^\#endif/ ) { + $ignore-- if $ignore ; + } elsif( $ignore ) { + if( /^\#if/ ) { + $ignore++ ; + } + } elsif( /^\#ifdef\s+(\S+)/ ) { + $ignore = 1 unless $defs{$1} ; + } elsif( /^\s*.so\s*(.*)/ ) { + my $filename = $1 ; + open IN, "<", $filename or die "Cannot read $filename" ; + print ; + close IN ; + } else { + print ; + } +} -- cgit v0.9.1