From 577bd0202826b8f8b1bf04c09d0a48b74adeb799 Mon Sep 17 00:00:00 2001 From: bwarken Date: Fri, 26 Apr 2013 23:33:22 +0000 Subject: src/roff/groff: `read_groff_options.pl' is no longer needed. `Makefile.sub': Get `groff' options from `getopt' in `groff.cpp'. Store it in a new file `groff_options.txt', which is installed in `groff libdir'. --- src/roff/groff/Makefile.sub | 27 +++--- src/roff/groff/read_groff_options.pl | 165 ----------------------------------- 2 files changed, 15 insertions(+), 177 deletions(-) delete mode 100755 src/roff/groff/read_groff_options.pl (limited to 'src') diff --git a/src/roff/groff/Makefile.sub b/src/roff/groff/Makefile.sub index 2be61fb5..8fd89cdb 100644 --- a/src/roff/groff/Makefile.sub +++ b/src/roff/groff/Makefile.sub @@ -31,25 +31,28 @@ CCSRCS=$(srcdir)/groff.cpp CSRCS=$(srcdir)/pipeline.c HDRS=$(srcdir)/pipeline.h -MOSTLYCLEANADD=groff_options.info +MOSTLYCLEANADD=groff_options.txt RM=rm -f -all: groff_options.info +all: groff_options.txt -groff_options.info: read_groff_options.pl - ./$< > $@ +groff_options.txt: groff.cpp + $(EGREP) -A2 -e 'getopt' $< \ + | sed -n -e '/"/p' \ + | sed -e 's/^[^"\]*"//' \ + | sed -e 's/"[^"]*$$//' > $@ -install_data: groff_options.info - -test -d $(DESTDIR)$(libdir)/groff \ - || $(mkinstalldirs) $(DESTDIR)$(libdir)/groff - $(RM) $(DESTDIR)$(libdir)/groff/$< - $(INSTALL_SCRIPT) $< $(DESTDIR)$(libdir)/groff +install_data: groff_options.txt + -test -d $(DESTDIR)$(libprogramdir) \ + || $(mkinstalldirs) $(DESTDIR)$(libprogramdir) + $(RM) $(DESTDIR)$(libprogramdir)/$< + $(INSTALL_SCRIPT) $< $(DESTDIR)$(libprogramdir) uninstall_sub: - $(RM) $(DESTDIR)$(libdir)/groff/groff_options.info - -test -d $(DESTDIR)$(libdir)/groff \ - && -rmdir $(DESTDIR)$(libdir)/groff + $(RM) $(DESTDIR)$(libprogramdir)/groff_options.txt + -test -d $(DESTDIR)$(libprogramdir) \ + && -rmdir $(DESTDIR)$(libprogramdir) ######################################################################## diff --git a/src/roff/groff/read_groff_options.pl b/src/roff/groff/read_groff_options.pl deleted file mode 100755 index a403fbe7..00000000 --- a/src/roff/groff/read_groff_options.pl +++ /dev/null @@ -1,165 +0,0 @@ -#! /usr/bin/env perl - -use strict; -use warnings; -use diagnostics; - - -######################################################################## -# Legalese -######################################################################## - -use constant LASTUPDATE => '25 Apr 2013'; # date of last update - -### The following constants `LICENSE[12]' are the license for this -### file using `GPL' >= 3 - -use constant LICENSE1 => q* -read_groff_options.pl - generate lines with the `groff' options. - -Source file position: /src/roff/groff/read_groff_options.pl -*; - -use constant LICENSE2 => q* -Copyright (C) 2013 - Free Software Foundation, Inc. - Written by Bernd Warken . - -This file is part of `groff'. - - `GNU groff' 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. - - `GNU groff' 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 `groff', see the files `COPYING' and `LICENSE' in the top -directory of the `groff' source package. If not, see -.*; - - -use constant DOCUMENTATION => q* - This file is not installed, but is used to generate output -containing information of the `groff' options, which are read from the -function `synopsis' of the file `groff.cpp' in -`/src/roff/groff/'. The output is something like: - -groff_noarg: CENRSUVXZabceghijklpstvz -groff_witharg: DFIKLMPTWdfmnorw -*; - - -##### end legalese - -$\ = "\n"; # adds newline at each print -$/ = "\n"; # newline separates input -$| = 1; # flush after each print or write command - - -my $file = undef; -{ - use constant FALSE => 0; - use constant TRUE => 1; - - use File::Spec qw[]; - - my $arg = shift; - my $cpp = 'groff.cpp'; - - if ( defined($arg) ) { - if ( -d $arg ) { - $file = File::Spec->catfile($arg, $cpp); - $file = undef unless ( -f $file );; - } - if ( -f $arg && $arg =~ /groff.cpp$/ ) { - $file = $arg; - } - } else { # no argument - if ( -f $cpp ) { - $file = $cpp; - } - } - die "read_groff_options.pl: needs a directory with $cpp as argument: $!." - unless ( defined($file) ); - -} - -# $file is cpp-file - -my @lines = (); -{ - open(FH, '<', $file); - my $start_synopsis = FALSE; - foreach ( ) { - chomp; - if ( /^void\s+synopsis\(/ ) { - $start_synopsis = TRUE; - next; - } - if ( $start_synopsis ) { - if ( /\[-/ ) { - s/\\n//g; - push @lines, $_; - $start_synopsis = FALSE; - } - next; - } - if ( @lines ) { - if ( /\[-/ ) { - s/\\n//g; - push @lines, $_; - next; - } else { - last; - } - } - next; - } -} - -{ - my $noarg = ''; - my $witharg = ''; - my $first = shift @lines; - chomp $first; - $first =~ s/^[^-]*-(\w+)\]\s*//; - $noarg = $1; - unshift @lines, $first; - - foreach ( @lines ) { - my $s = $_; - while ( $s =~ /-/ ) { - $s =~ s/^[^-]*-(\w)\w+]//; - $witharg .= $1; - } - } - - sub sort_opts { - my @opts = split '', shift; - @opts = sort @opts; - return join '', @opts; - } - - my $res = &sort_opts($noarg); - print 'groff_noarg: ' . $res; - - $res = &sort_opts($witharg); - print 'groff_witharg: ' . $res; -} - -print ''; -print '#' x 30 . ' License ' . '#' x 30; -print q* -groff_options.info - 2 lines with the `groff' options. - -This file is generated by the run of `make' in the `groff' source by -the file /src/roff/groff/read_groff_options.pl. - -This file `groff_options.info' is installed in the `groff libdir'.*; - -print LICENSE2; -- cgit v1.2.1