aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/extras/ogl-sample/main/doc/man/tools
diff options
context:
space:
mode:
authorReinhard Tartler <siretart@tauware.de>2011-10-10 17:43:39 +0200
committerReinhard Tartler <siretart@tauware.de>2011-10-10 17:43:39 +0200
commitf4092abdf94af6a99aff944d6264bc1284e8bdd4 (patch)
tree2ac1c9cc16ceb93edb2c4382c088dac5aeafdf0f /nx-X11/extras/ogl-sample/main/doc/man/tools
parenta840692edc9c6d19cd7c057f68e39c7d95eb767d (diff)
downloadnx-libs-f4092abdf94af6a99aff944d6264bc1284e8bdd4.tar.gz
nx-libs-f4092abdf94af6a99aff944d6264bc1284e8bdd4.tar.bz2
nx-libs-f4092abdf94af6a99aff944d6264bc1284e8bdd4.zip
Imported nx-X11-3.1.0-1.tar.gznx-X11/3.1.0-1
Summary: Imported nx-X11-3.1.0-1.tar.gz Keywords: Imported nx-X11-3.1.0-1.tar.gz into Git repository
Diffstat (limited to 'nx-X11/extras/ogl-sample/main/doc/man/tools')
-rw-r--r--nx-X11/extras/ogl-sample/main/doc/man/tools/GNUmakefile49
-rw-r--r--nx-X11/extras/ogl-sample/main/doc/man/tools/constCheck.pl160
-rw-r--r--nx-X11/extras/ogl-sample/main/doc/man/tools/glman57
-rw-r--r--nx-X11/extras/ogl-sample/main/doc/man/tools/man2html608
-rw-r--r--nx-X11/extras/ogl-sample/main/doc/man/tools/mdate.pl50
-rw-r--r--nx-X11/extras/ogl-sample/main/doc/man/tools/mmdoc224
6 files changed, 1148 insertions, 0 deletions
diff --git a/nx-X11/extras/ogl-sample/main/doc/man/tools/GNUmakefile b/nx-X11/extras/ogl-sample/main/doc/man/tools/GNUmakefile
new file mode 100644
index 000000000..15593a2d2
--- /dev/null
+++ b/nx-X11/extras/ogl-sample/main/doc/man/tools/GNUmakefile
@@ -0,0 +1,49 @@
+#!gmake
+#
+# License Applicability. Except to the extent portions of this file are
+# made subject to an alternative license as permitted in the SGI Free
+# Software License B, Version 1.1 (the "License"), the contents of this
+# file are subject only to the provisions of the License. You may not use
+# this file except in compliance with the License. You may obtain a copy
+# of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+# Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+#
+# http://oss.sgi.com/projects/FreeB
+#
+# Note that, as provided in the License, the Software is distributed on an
+# "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+# DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+# CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+# PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+#
+# Original Code. The Original Code is: OpenGL Sample Implementation,
+# Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+# Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+# Copyright in any portions created by third parties is as indicated
+# elsewhere herein. All Rights Reserved.
+#
+# Additional Notice Provisions: The application programming interfaces
+# established by SGI in conjunction with the Original Code are The
+# OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+# April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+# 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+# Window System(R) (Version 1.3), released October 19, 1998. This software
+# was created using the OpenGL(R) version 1.2.1 Sample Implementation
+# published by SGI, but has not been independently verified as being
+# compliant with the OpenGL(R) version 1.2.1 Specification.
+#
+# $Date: 2004/03/14 08:29:09 $ $Revision: 1.1.1.4 $
+# $Header: /cvs/xorg/xc/extras/ogl-sample/main/doc/man/tools/GNUmakefile,v 1.1.1.4 2004/03/14 08:29:09 eich Exp $
+
+COMMONPREF = standard
+include $(ROOT)/usr/include/make/commondefs
+
+default headers headers_install libs libs_install install apps:
+ chmod +x mdate.pl mmdoc glman
+
+distsi distoss:
+ $(MAKE) $(COMMONPREF)$@
+
+$(COMMONTARGS): % : $(COMMONPREF)%
+
+include $(COMMONRULES)
diff --git a/nx-X11/extras/ogl-sample/main/doc/man/tools/constCheck.pl b/nx-X11/extras/ogl-sample/main/doc/man/tools/constCheck.pl
new file mode 100644
index 000000000..391435706
--- /dev/null
+++ b/nx-X11/extras/ogl-sample/main/doc/man/tools/constCheck.pl
@@ -0,0 +1,160 @@
+#! /usr/sbin/perl
+#
+# License Applicability. Except to the extent portions of this file are
+# made subject to an alternative license as permitted in the SGI Free
+# Software License B, Version 1.1 (the "License"), the contents of this
+# file are subject only to the provisions of the License. You may not use
+# this file except in compliance with the License. You may obtain a copy
+# of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+# Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+#
+# http://oss.sgi.com/projects/FreeB
+#
+# Note that, as provided in the License, the Software is distributed on an
+# "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+# DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+# CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+# PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+#
+# Original Code. The Original Code is: OpenGL Sample Implementation,
+# Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+# Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+# Copyright in any portions created by third parties is as indicated
+# elsewhere herein. All Rights Reserved.
+#
+# Additional Notice Provisions: The application programming interfaces
+# established by SGI in conjunction with the Original Code are The
+# OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+# April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+# 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+# Window System(R) (Version 1.3), released October 19, 1998. This software
+# was created using the OpenGL(R) version 1.2.1 Sample Implementation
+# published by SGI, but has not been independently verified as being
+# compliant with the OpenGL(R) version 1.2.1 Specification.
+#
+# $Date: 2004/03/14 08:29:09 $ $Revision: 1.1.1.4 $
+# $Header: /cvs/xorg/xc/extras/ogl-sample/main/doc/man/tools/constCheck.pl,v 1.1.1.4 2004/03/14 08:29:09 eich Exp $
+
+#-----------------------------------------------------------------------------
+#
+# Command line options
+#
+
+use Getopt::Std;
+getopts( 'v' );
+
+$verbose = 1 if $opt_v;
+
+#-----------------------------------------------------------------------------
+#
+# Configuration Variables
+#
+
+$ROOT = $ENV{'ROOT'};
+
+#-----------------------------------------------------------------------------
+#
+# Reference Files
+#
+
+$gl_h = "$ROOT/usr/include/GL/gl.h";
+$glu_h = "$ROOT/usr/include/GL/glu.h";
+$glx_h = "$ROOT/usr/include/GL/glx.h";
+$glxtokens_h = "$ROOT/usr/include/GL/glxtokens.h";
+
+
+#-----------------------------------------------------------------------------
+#
+# Build lookup tables
+#
+
+%glTokens = ();
+open( INFILE, "$gl_h" );
+while ( <INFILE> ) {
+ $glTokens{$1} = 1 if /^\#\s*define\s+GL_([\w\d_]+)/;
+}
+close( INFILE );
+
+%gluTokens = ();
+open( INFILE, "$glu_h" );
+while ( <INFILE> ) {
+ $gluTokens{$1} = 1 if /^\#\s*define\s+GLU_([\w\d_]+)/;
+}
+close( INFILE );
+
+%glxTokens = ();
+open( INFILE, "$glx_h" );
+while ( <INFILE> ) {
+ $glxTokens{$1} = 1 if /^\#\s*define\s+GLX_([\w\d_]+)/;
+}
+close( INFILE );
+
+open( INFILE, "$glxtokens_h" );
+while ( <INFILE> ) {
+ $glxTokens{$1} = 1 if /^\#\s*define\s+GLX_([\w\d_]+)/;
+}
+close( INFILE );
+
+
+#-----------------------------------------------------------------------------
+#
+# Check files
+#
+
+$fmt = "[%s:%d] Undefined %s constant : '%s'\n";
+
+foreach $file ( @ARGV ) {
+ $line = 1;
+ open( INFILE, "$file" ) || ( warn "Unable to open file '$file'\n", next );
+
+ print "Checking '$file' ...\n" if $verbose;
+
+ while ( <INFILE> ) {
+ @words = split;
+ @tokens = grep( /_\w*const\([\w\d_]+\)/, @words );
+
+ foreach ( @tokens ) {
+ /(_\w*const)\(([\w\d]+)\)/;
+ $constTag = $1;
+ $token = $2;
+
+ SWITCH : {
+ $constTag =~ /_const|_econst|_extstring/
+ && do {
+ printf( $fmt, $file, $line, "GL", $token)
+ unless $glTokens{$token} == 1;
+ last SWITCH;
+ };
+
+ #
+ # _arbconst's tack an extra "_ARB" onto the end of the
+ # token. We need to check that.
+ #
+ $constTag =~ /_arbconst/
+ && do {
+ $arbToken = $token . "_ARB";
+ printf( $fmt, $file, $line, "GL", $token)
+ unless $glTokens{$arbToken} == 1;
+ last SWITCH;
+ };
+
+ $constTag =~ /_gluconst/
+ && do {
+ printf( $fmt, $file, $line, "GLU", $token)
+ unless $gluTokens{$token} == 1;
+ last SWITCH;
+ };
+
+ $constTag =~ /_glxconst|_glxerror|_glxextstring/
+ && do {
+ printf( $fmt, $file, $line, "GLX", $token)
+ unless $glxTokens{$token} == 1;
+ last SWITCH;
+ };
+ }
+ }
+
+ $line++;
+ }
+ close( INFILE );
+}
diff --git a/nx-X11/extras/ogl-sample/main/doc/man/tools/glman b/nx-X11/extras/ogl-sample/main/doc/man/tools/glman
new file mode 100644
index 000000000..248fd8d6c
--- /dev/null
+++ b/nx-X11/extras/ogl-sample/main/doc/man/tools/glman
@@ -0,0 +1,57 @@
+#! /bin/sh
+#
+# License Applicability. Except to the extent portions of this file are
+# made subject to an alternative license as permitted in the SGI Free
+# Software License B, Version 1.1 (the "License"), the contents of this
+# file are subject only to the provisions of the License. You may not use
+# this file except in compliance with the License. You may obtain a copy
+# of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+# Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+#
+# http://oss.sgi.com/projects/FreeB
+#
+# Note that, as provided in the License, the Software is distributed on an
+# "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+# DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+# CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+# PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+#
+# Original Code. The Original Code is: OpenGL Sample Implementation,
+# Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+# Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+# Copyright in any portions created by third parties is as indicated
+# elsewhere herein. All Rights Reserved.
+#
+# Additional Notice Provisions: The application programming interfaces
+# established by SGI in conjunction with the Original Code are The
+# OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+# April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+# 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+# Window System(R) (Version 1.3), released October 19, 1998. This software
+# was created using the OpenGL(R) version 1.2.1 Sample Implementation
+# published by SGI, but has not been independently verified as being
+# compliant with the OpenGL(R) version 1.2.1 Specification.
+#
+# $Date: 2004/03/14 08:29:09 $ $Revision: 1.1.1.4 $
+# $Header: /cvs/xorg/xc/extras/ogl-sample/main/doc/man/tools/glman,v 1.1.1.4 2004/03/14 08:29:09 eich Exp $
+
+# $1 is the value of $PREFIX, $2 is the value of $DEPTH,
+# $3 is the target name, and $4 is the api file name.
+# $5 is M4 options (if any)
+
+bNamE=`echo $3 | sed -e s/\\\..*//`
+maCdIr=$2/macros
+export maCdIr
+m4opts=$5
+
+case `pwd` in
+ *ftn) mKHeaD=mkhead.ftn.awk ; SeTUp=setup.ftn ;;
+ *) mKHeaD=mkhead.awk ; SeTUp=setup ;;
+esac
+
+trap "rm -rf glmanm4.$$" 0 1 2 15
+
+aPiFile=${4:-$ROOT/usr/include/GL/gl.h}
+
+awk -f $2/macros/$mKHeaD -v prefix=$1 -v basename=$bNamE $aPiFile >glmanm4.$$
+cat $2/macros/$SeTUp glmanm4.$$ $3 | m4 $m4opts
diff --git a/nx-X11/extras/ogl-sample/main/doc/man/tools/man2html b/nx-X11/extras/ogl-sample/main/doc/man/tools/man2html
new file mode 100644
index 000000000..4953a6632
--- /dev/null
+++ b/nx-X11/extras/ogl-sample/main/doc/man/tools/man2html
@@ -0,0 +1,608 @@
+#!/usr/bin/perl
+#!/usr/local/bin/perl
+##---------------------------------------------------------------------------##
+## File:
+## @(#) man2html 1.2 97/08/12 12:57:30 @(#)
+## Author:
+## Earl Hood, ehood@medusa.acs.uci.edu
+## Description:
+## man2html is a Perl program to convert formatted nroff output
+## to HTML.
+##
+## Recommend command-line options based on platform:
+##
+## Platform Options
+## ---------------------------------------------------------------------
+## c2mp <None, the defaults should be okay>
+## hp9000s700/800 -leftm 1 -topm 8
+## sun4 -sun
+## ---------------------------------------------------------------------
+##
+##---------------------------------------------------------------------------##
+## Copyright (C) 1995-1997 Earl Hood, ehood@medusa.acs.uci.edu
+##
+## 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 2 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, write to the Free Software
+## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+## 02111-1307, USA
+##---------------------------------------------------------------------------##
+
+package Man2Html;
+
+use Getopt::Long;
+
+($PROG = $0) =~ s/.*\///;
+$VERSION = "3.0.1";
+
+## Input and outputs filehandles
+$InFH = \*STDIN unless $InFH;
+$OutFH = \*STDOUT unless $OutFH;
+
+## Backspace character: Used in overstriking detection
+*bs = \"\b";
+
+## Hash of section titles and their HTML tag wrapper.
+## This list allows customization of what HTML tag is used for
+## a given section head.
+##
+## The section title can be a regular expression. Therefore, one must
+## be careful about quoting special characters.
+##
+%SectionHead = (
+
+ '\S.*OPTIONS.*' => '<H2>',
+ 'AUTHORS?' => '<H2>',
+ 'BUGS' => '<H2>',
+ 'COMPATIBILITY' => '<H2>',
+ 'DEPENDENCIES' => '<H2>',
+ 'DESCRIPTION' => '<H2>',
+ 'DIAGNOSTICS' => '<H2>',
+ 'ENVIRONMENT' => '<H2>',
+ 'ERRORS' => '<H2>',
+ 'EXAMPLES' => '<H2>',
+ 'EXTERNAL INFLUENCES' => '<H2>',
+ 'FILES' => '<H2>',
+ 'LIMITATIONS' => '<H2>',
+ 'NAME' => '<H2>',
+ 'NOTES?' => '<H2>',
+ 'OPTIONS' => '<H2>',
+ 'REFERENCES' => '<H2>',
+ 'RETURN VALUE' => '<H2>',
+ 'SECTION.*:' => '<H2>',
+ 'SEE ALSO' => '<H2>',
+ 'STANDARDS CONFORMANCE' => '<H2>',
+ 'STYLE CONVENTION' => '<H2>',
+ 'SYNOPSIS' => '<H2>',
+ 'SYNTAX' => '<H2>',
+ 'WARNINGS' => '<H2>',
+ '\s+Section.*:' => '<H3>',
+
+);
+
+## Fallback tag if above is not found
+$HeadFallback = '<H2>';
+
+## Other gobals
+
+$Bare = 0; # Skip printing HTML head/foot flag
+$BTag = 'B'; # Overstrike tag
+$CgiUrl = ''; # CGI URL expression
+$Compress = 0; # Do blank line compression flag
+$K = 0; # Do keyword search processing flag
+$NoDepage = 0; # Do not strip page information
+$NoHeads = 0; # Do no header detection flag
+$SeeAlso = 0; # Do only SEE ALSO xrefs flag
+$Solaris = 0; # Solaris keyword search processing flag
+$Sun = 0; # Headers not overstriken flag
+$Title = ''; # Title
+$UTag = 'I'; # Underline tag
+$ftsz = 7; # Bottome margin size
+$hdsz = 7; # Top margin size
+$leftm = ''; # Left margin pad
+$leftmsz = 0; # Left margin size
+$pgsz = 66; # Size of page size
+$txsz = 52; # Text body length size
+
+#############################################################################
+## Main Block
+#############################################################################
+{
+ if (get_cli_opts()) {
+ if ($K) {
+ man_k();
+ } else {
+ do_it();
+ }
+ } else {
+ usage();
+ }
+}
+
+#############################################################################
+## Subroutines
+#############################################################################
+
+sub do_it {
+
+ ## Define while loop and then eval it when used. The reason
+ ## is to avoid the regular expression reevaulation in the
+ ## section head detection code.
+
+ $doitcode =<<'EndOfDoItCode';
+
+ my($line, $tmp, $i, $head, $preindent, $see_also, $do);
+
+ $see_also = !$SeeAlso;
+ print $OutFH "<!-- Manpage converted by man2html $VERSION -->\n";
+ LOOP: while(!eof($InFH)) {
+ $blank = 0;
+ for ($i=0; $i < $hdsz; $i++) {
+ last LOOP unless defined($_ = <$InFH>);
+ }
+ for ($i=0; $i < $txsz; $i++) {
+ last LOOP unless defined($_ = <$InFH>);
+
+ ## Check if compress consecutive blank lines
+ if ($Compress and !/\S/) {
+ if ($blank) { next; } else { $blank = 1; }
+ } else {
+ $blank = 0;
+ }
+
+ ## Try to check if line space is needed at page boundaries ##
+ if (!$NoDepage && ($i==0 || $i==($txsz-1)) && !/^\s*$/) {
+ /^(\s*)/; $tmp = length($1);
+ if ($do) {
+ if ($tmp < $preindent) { print $OutFH "\n"; }
+ } else {
+ $do = 1;
+ }
+ $preindent = $tmp;
+ } else {
+ $do = 0; $preindent = 0;
+ }
+
+ ## Interpret line
+ $line = $_;
+ entitize(\$_); # Convert [$<>] to entity references
+
+ ## Check for 'SEE ALSO' link only
+ if (!$see_also && $CgiUrl && $SeeAlso) {
+ ($tmp = $line) =~ s/.\010//go;
+ if ($tmp =~ /^\s*SEE\s+ALSO\s*$/o) { $see_also = 1; }
+ else { $see_also = 0; }
+ }
+
+ ## Create anchor links for manpage references
+ s/((((.\010)+)?[\+_\.\w-])+\(((.\010)+)?
+ \d((.\010)+)?\w?\))
+ /make_xref($1)
+ /geox if $see_also;
+
+ ## Emphasize underlined words
+ # s/((_\010[^_])+[\.\(\)_]?(_\010[^_])+\)?)/emphasize($1)/oge;
+ # s/((_\010[^_])+([\.\(\)_]?(_\010[^_])+)?)/emphasize($1)/oge;
+ #
+ # The previous expressions were trying to be clever about
+ # detecting underlined text which contain non-alphanumeric
+ # characters. nroff will not underline non-alphanumeric
+ # characters in an underlined phrase, and the above was trying
+ # to detect that. It does not work all the time, and it
+ # screws up other text, so a simplified expression is used.
+
+ s/((_\010[^_])+)/emphasize($1)/oge;
+
+ $secth = 0;
+ ## Check for strong text and headings
+ if ($Sun || /.\010./o) {
+ if (!$NoHeads) {
+ $line =~ s/.\010//go;
+ $tmp = $HeadFallback;
+EndOfDoItCode
+
+ ## Create switch statement for detecting a heading
+ ##
+ $doitcode .= "HEADSW: {\n";
+ foreach $head (keys %SectionHead) {
+ $doitcode .= join("", "\$tmp = '$SectionHead{$head}', ",
+ "\$secth = 1, last HEADSW ",
+ "if \$line =~ /^$leftm$head/o;\n");
+ }
+ $doitcode .= "}\n";
+
+ ## Rest of routine
+ ##
+ $doitcode .=<<'EndOfDoItCode';
+ if ($secth || $line =~ /^$leftm\S/o) {
+ chop $line;
+ $_ = $tmp . $line . $tmp;
+ s%<([^>]*)>$%</$1>%;
+ $_ = "\n</PRE>\n" . $_ . "<PRE>\n";
+ } else {
+ s/(((.\010)+.)+)/strongize($1)/oge;
+ }
+ } else {
+ s/(((.\010)+.)+)/strongize($1)/oge;
+ }
+ }
+ print $OutFH $_;
+ }
+
+ for ($i=0; $i < $ftsz; $i++) {
+ last LOOP unless defined($_ = <$InFH>);
+ }
+ }
+EndOfDoItCode
+
+
+ ## Perform processing.
+
+ printhead() unless $Bare;
+ print $OutFH "<PRE>\n";
+ eval $doitcode; # $doitcode defined above
+ print $OutFH "</PRE>\n";
+ printtail() unless $Bare;
+}
+
+##---------------------------------------------------------------------------
+##
+sub get_cli_opts {
+ return 0 unless
+ GetOptions(
+ "bare", # Leave out HTML, HEAD, BODY tags.
+ "belem=s", # HTML Element for overstriked text (def: "B")
+ "botm=i", # Number of lines for bottom margin (def: 7)
+ "cgiurl=s", # CGI URL for linking to other manpages
+ "cgiurlexp=s", # CGI URL Perl expr for linking to other manpages
+ "compress", # Compress consecutive blank lines
+ "headmap=s", # Filename of user section head map file
+ "k", # Process input from 'man -k' output.
+ "leftm=i", # Character width of left margin (def: 0)
+ "nodepage", # Do not remove pagination lines
+ "noheads", # Do not detect for section heads
+ "pgsize=i", # Number of lines in a page (def: 66)
+ "seealso", # Link to other manpages only in the SEE ALSO section
+ "solaris", # Parse 'man -k' output from a solaris system
+ "sun", # Section heads are not overstriked in input
+ "title=s", # Title of manpage (def: Not defined)
+ "topm=i", # Number of lines for top margin (def: 7)
+ "uelem=s", # HTML Element for underlined text (def: "I")
+
+ "help" # Short usage message
+ );
+ return 0 if defined($opt_help);
+
+ $pgsz = $opt_pgsize || $pgsz;
+ if (defined($opt_nodepage)) {
+ $hdsz = 0;
+ $ftsz = 0;
+ } else {
+ $hdsz = $opt_topm if defined($opt_topm);
+ $ftsz = $opt_botm if defined($opt_botm);
+ }
+ $txsz = $pgsz - ($hdsz + $ftsz);
+ $leftmsz = $opt_leftm if defined($opt_leftm);
+ $leftm = ' ' x $leftmsz;
+
+ $Bare = defined($opt_bare);
+ $Compress = defined($opt_compress);
+ $K = defined($opt_k);
+ $NoDepage = defined($opt_nodepage);
+ $NoHeads = defined($opt_noheads);
+ $SeeAlso = defined($opt_seealso);
+ $Solaris = defined($opt_solaris);
+ $Sun = defined($opt_sun);
+
+ $Title = $opt_title || $Title;
+ $CgiUrl = $opt_cgiurlexp ||
+ ($opt_cgiurl ? qq{return "$opt_cgiurl"} : '');
+
+ $BTag = $opt_belem || $BTag;
+ $UTag = $opt_uelem || $UTag;
+ $BTag =~ s/[<>]//g;
+ $UTag =~ s/[<>]//g;
+
+ if (defined($opt_headmap)) {
+ require $opt_headmap or warn "Unable to read $opt_headmap\n";
+ }
+ 1;
+}
+
+##---------------------------------------------------------------------------
+sub printhead {
+ print $OutFH "<HTML>\n";
+ print $OutFH "<HEAD>\n",
+ "<TITLE>$Title</TITLE>\n",
+ "</HEAD>\n" if $Title;
+ print $OutFH "<BODY>\n";
+ print $OutFH "<H1>$Title</H1>\n",
+ "<HR>\n" if $Title;
+}
+
+##---------------------------------------------------------------------------
+sub printtail {
+ print $OutFH <<EndOfRef;
+<HR>
+<ADDRESS>
+Man(1) output converted with
+<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
+</ADDRESS>
+</BODY>
+</HTML>
+EndOfRef
+}
+
+##---------------------------------------------------------------------------
+sub emphasize {
+ my($txt) = shift;
+ $txt =~ s/.\010//go;
+ $txt = "<$UTag>$txt</$UTag>";
+ $txt;
+}
+
+##---------------------------------------------------------------------------
+sub strongize {
+ my($txt) = shift;
+ $txt =~ s/.\010//go;
+ $txt = "<$BTag>$txt</$BTag>";
+ $txt;
+}
+
+##---------------------------------------------------------------------------
+sub entitize {
+ my($txt) = shift;
+
+ ## Check for special characters in overstrike text ##
+ $$txt =~ s/_\010\&/strike('_', '&')/geo;
+ $$txt =~ s/_\010</strike('_', '<')/geo;
+ $$txt =~ s/_\010>/strike('_', '>')/geo;
+
+ $$txt =~ s/(\&\010)+\&/strike('&', '&')/geo;
+ $$txt =~ s/(<\010)+</strike('<', '<')/geo;
+ $$txt =~ s/(>\010)+>/strike('>', '>')/geo;
+
+ ## Check for special characters in regular text. Must be careful
+ ## to check before/after character in expression because it might be
+ ## a special character.
+ $$txt =~ s/([^\010]\&[^\010])/htmlize2($1)/geo;
+ $$txt =~ s/([^\010]<[^\010])/htmlize2($1)/geo;
+ $$txt =~ s/([^\010]>[^\010])/htmlize2($1)/geo;
+}
+
+##---------------------------------------------------------------------------
+## escape special characters in a string, in-place
+##
+sub htmlize {
+ my($str) = shift;
+ $$str =~ s/&/\&amp;/g;
+ $$str =~ s/</\&lt;/g;
+ $$str =~ s/>/\&gt;/g;
+ $$str;
+}
+
+##---------------------------------------------------------------------------
+## htmlize2() is used by entitize.
+##
+sub htmlize2 {
+ my($str) = shift;
+ $str =~ s/&/\&amp;/g;
+ $str =~ s/</\&lt;/g;
+ $str =~ s/>/\&gt;/g;
+ $str;
+}
+
+##---------------------------------------------------------------------------
+## strike converts HTML special characters in overstriked text
+## into entity references. The entities are overstriked so
+## strongize() and emphasize() will recognize the entity to be
+## wrapped in tags.
+##
+sub strike {
+ my($w, $char) = @_;
+ my($ret);
+ if ($w eq '_') {
+ if ($char eq '&') {
+ $ret = "_$bs\&_${bs}a_${bs}m_${bs}p_${bs};";
+ } elsif ($char eq '<') {
+ $ret = "_$bs\&_${bs}l_${bs}t_${bs};";
+ } elsif ($char eq '>') {
+ $ret = "_$bs\&_${bs}g_${bs}t_${bs};";
+ } else {
+ warn qq|Unrecognized character, "$char", passed to strike()\n|;
+ }
+ } else {
+ if ($char eq '&') {
+ $ret = "\&$bs\&a${bs}am${bs}mp${bs}p;${bs};";
+ } elsif ($char eq '<') {
+ $ret = "\&$bs\&l${bs}lt${bs}t;${bs};";
+ } elsif ($char eq '>') {
+ $ret = "\&$bs\&g${bs}gt${bs}t;${bs};";
+ } else {
+ warn qq|Unrecognized character, "$char", passed to strike()\n|;
+ }
+ }
+ $ret;
+}
+
+##---------------------------------------------------------------------------
+## make_xref() converts a manpage crossreference into a hyperlink.
+##
+sub make_xref {
+ my $str = shift;
+ $str =~ s/.\010//go; # Remove overstriking
+
+ if ($CgiUrl) {
+ my($title,$section,$subsection) =
+ ($str =~ /([\+_\.\w-]+)\((\d)(\w?)\)/);
+
+ $title =~ s/\+/%2B/g;
+ my($href) = (eval $CgiUrl);
+ qq|<B><A HREF="$href">$str</A></B>|;
+ } else {
+ qq|<B>$str</B>|;
+ }
+}
+
+##---------------------------------------------------------------------------
+## man_k() process a keyword search. The problem we have is there
+## is no standard for keyword search results from man. Solaris
+## systems have a different enough format to warrent dealing
+## with it as a special case. For other cases, we try our best.
+## Unfortunately, there are some lines of results that may be
+## skipped.
+##
+sub man_k {
+ my($line,$refs,$section,$subsection,$desc,$i,
+ %Sec1, %Sec1sub, %Sec2, %Sec2sub, %Sec3, %Sec3sub,
+ %Sec4, %Sec4sub, %Sec5, %Sec5sub, %Sec6, %Sec6sub,
+ %Sec7, %Sec7sub, %Sec8, %Sec8sub, %Sec9, %Sec9sub,
+ %SecN, %SecNsub, %SecNsec);
+
+ printhead() unless $Bare;
+ print $OutFH "<!-- Man keyword results converted by ",
+ "man2html $VERSION -->\n";
+
+ while ($line = <$InFH>) {
+ next if $line !~ /\(\d\w?\)\s+-\s/; # check if line can be handled
+ ($refs,$section,$subsection,$desc) =
+ $line =~ /^\s*(.*)\((\d)(\w?)\)\s*-\s*(.*)$/;
+
+ if ($Solaris) {
+ $refs =~ s/^\s*([\+_\.\w-]+)\s+([\+_\.\w-]+)\s*$/$1/;
+ # <topic> <manpage>
+ } else {
+ $refs =~ s/\s(and|or)\s/,/gi; # Convert and/or to commas
+ $refs =~ s/^[^:\s]:\s*//; # Remove prefixed whatis path
+ }
+ $refs =~ s/\s//g; # Remove all whitespace
+ $refs =~ s/,/, /g; # Put space after comma
+ htmlize(\$desc); # Check for special chars in desc
+ $desc =~ s/^(.)/\U$1/; # Uppercase first letter in desc
+
+ if ($section eq '1') {
+ $Sec1{$refs} = $desc; $Sec1sub{$refs} = $subsection;
+ } elsif ($section eq '2') {
+ $Sec2{$refs} = $desc; $Sec2sub{$refs} = $subsection;
+ } elsif ($section eq '3') {
+ $Sec3{$refs} = $desc; $Sec3sub{$refs} = $subsection;
+ } elsif ($section eq '4') {
+ $Sec4{$refs} = $desc; $Sec4sub{$refs} = $subsection;
+ } elsif ($section eq '5') {
+ $Sec5{$refs} = $desc; $Sec5sub{$refs} = $subsection;
+ } elsif ($section eq '6') {
+ $Sec6{$refs} = $desc; $Sec6sub{$refs} = $subsection;
+ } elsif ($section eq '7') {
+ $Sec7{$refs} = $desc; $Sec7sub{$refs} = $subsection;
+ } elsif ($section eq '8') {
+ $Sec8{$refs} = $desc; $Sec8sub{$refs} = $subsection;
+ } elsif ($section eq '9') {
+ $Sec9{$refs} = $desc; $Sec9sub{$refs} = $subsection;
+ } else { # Catch all
+ $SecN{$refs} = $desc; $SecNsec{$refs} = $section;
+ $SecNsub{$refs} = $subsection;
+ }
+ }
+ print_mank_sec(\%Sec1, 1, \%Sec1sub);
+ print_mank_sec(\%Sec2, 2, \%Sec2sub);
+ print_mank_sec(\%Sec3, 3, \%Sec3sub);
+ print_mank_sec(\%Sec4, 4, \%Sec4sub);
+ print_mank_sec(\%Sec5, 5, \%Sec5sub);
+ print_mank_sec(\%Sec6, 6, \%Sec6sub);
+ print_mank_sec(\%Sec7, 7, \%Sec7sub);
+ print_mank_sec(\%Sec8, 8, \%Sec8sub);
+ print_mank_sec(\%Sec9, 9, \%Sec9sub);
+ print_mank_sec(\%SecN, 'N', \%SecNsub, \%SecNsec);
+
+ printtail() unless $Bare;
+}
+##---------------------------------------------------------------------------
+## print_mank_sec() prints out manpage cross-refs of a specific section.
+##
+sub print_mank_sec {
+ my($sec, $sect, $secsub, $secsec) = @_;
+ my(@array, @refs, $href, $item, $title, $subsection, $i, $section,
+ $xref);
+ $section = $sect;
+
+ @array = sort keys %$sec;
+ if ($#array >= 0) {
+ print $OutFH "<H2>Section $section</H2>\n",
+ "<DL COMPACT>\n";
+ foreach $item (@array) {
+ @refs = split(/,/, $item);
+ $section = $secsec->{$item} if $sect eq 'N';
+ $subsection = $secsub->{$item};
+ if ($CgiUrl) {
+ ($title = $refs[0]) =~ s/\(\)//g; # watch out for extra ()'s
+ $xref = eval $CgiUrl;
+ }
+ print $OutFH "<DT>\n";
+ $i = 0;
+ foreach (@refs) {
+ if ($CgiUrl) {
+ print $OutFH qq|<B><A HREF="$xref">$_</A></B>|;
+ } else {
+ print $OutFH $_;
+ }
+ print $OutFH ", " if $i < $#refs;
+ $i++;
+ }
+ print $OutFH " ($section$subsection)\n",
+ "</DT><DD>\n",
+ $sec->{$item}, "</DD>\n";
+ }
+ print $OutFH "</DL>\n";
+ }
+}
+
+##---------------------------------------------------------------------------
+##
+sub usage {
+ print $OutFH <<EndOfUsage;
+Usage: $PROG [ options ] < infile > outfile
+Options:
+ -bare : Do not put in HTML, HEAD, BODY tags
+ -belem <elem> : HTML Element for overstriked text (def: "B")
+ -botm <#> : Number of lines for bottom margin (def: 7)
+ -cgiurl <url> : URL for linking to other manpages
+ -cgiurlexp <url> : Perl expression URL for linking to other manpages
+ -compress : Compress consective blank lines
+ -headmap <file> : Filename of user section head map file
+ -help : This message
+ -k : Process a keyword search result
+ -leftm <#> : Character width of left margin (def: 0)
+ -nodepage : Do not remove pagination lines
+ -noheads : Turn off section head detection
+ -pgsize <#> : Number of lines in a page (def: 66)
+ -seealso : Link to other manpages only in the SEE ALSO section
+ -solaris : Process keyword search result in Solaris format
+ -sun : Section heads are not overstriked in input
+ -title <string> : Title of manpage (def: Not defined)
+ -topm <#> : Number of lines for top margin (def: 7)
+ -uelem <elem> : HTML Element for underlined text (def: "I")
+
+Description:
+ $PROG takes formatted manpages from STDIN and converts it to HTML sent
+ to STDOUT. The -topm and -botm arguments are the number of lines to the
+ main body text and NOT to the running headers/footers.
+
+Version:
+ $VERSION
+ Copyright (C) 1995-1997 Earl Hood, ehood\@medusa.acs.uci.edu
+ $PROG comes with ABSOLUTELY NO WARRANTY and $PROG may be copied only
+ under the terms of the GNU General Public License, which may be found in
+ the $PROG distribution.
+
+EndOfUsage
+ exit 0;
+}
diff --git a/nx-X11/extras/ogl-sample/main/doc/man/tools/mdate.pl b/nx-X11/extras/ogl-sample/main/doc/man/tools/mdate.pl
new file mode 100644
index 000000000..43fd2df79
--- /dev/null
+++ b/nx-X11/extras/ogl-sample/main/doc/man/tools/mdate.pl
@@ -0,0 +1,50 @@
+#!/usr/bin/perl
+#
+# License Applicability. Except to the extent portions of this file are
+# made subject to an alternative license as permitted in the SGI Free
+# Software License B, Version 1.1 (the "License"), the contents of this
+# file are subject only to the provisions of the License. You may not use
+# this file except in compliance with the License. You may obtain a copy
+# of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+# Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+#
+# http://oss.sgi.com/projects/FreeB
+#
+# Note that, as provided in the License, the Software is distributed on an
+# "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+# DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+# CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+# PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+#
+# Original Code. The Original Code is: OpenGL Sample Implementation,
+# Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+# Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+# Copyright in any portions created by third parties is as indicated
+# elsewhere herein. All Rights Reserved.
+#
+# Additional Notice Provisions: The application programming interfaces
+# established by SGI in conjunction with the Original Code are The
+# OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+# April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+# 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+# Window System(R) (Version 1.3), released October 19, 1998. This software
+# was created using the OpenGL(R) version 1.2.1 Sample Implementation
+# published by SGI, but has not been independently verified as being
+# compliant with the OpenGL(R) version 1.2.1 Specification.
+#
+# $Date: 2004/03/14 08:29:09 $ $Revision: 1.1.1.4 $
+# $Header: /cvs/xorg/xc/extras/ogl-sample/main/doc/man/tools/mdate.pl,v 1.1.1.4 2004/03/14 08:29:09 eich Exp $
+
+foreach (@ARGV) {
+ ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,
+ $mtime,$ctime,$blksize,$blocks) = stat($_);
+
+ if ($mtime) {
+ ($tm_sec,$tm_min,$tm_hour,$tm_mday,$tm_mon,$tm_year,$tm_wday,
+ $tm_yday,$tm_isdst) = localtime($mtime);
+
+ if ($tm_mday) {
+ print "-rd", $tm_mday, " -rm", $tm_mon, " -ry", $tm_year, "\n";
+ }
+ }
+}
diff --git a/nx-X11/extras/ogl-sample/main/doc/man/tools/mmdoc b/nx-X11/extras/ogl-sample/main/doc/man/tools/mmdoc
new file mode 100644
index 000000000..e4a0f8de8
--- /dev/null
+++ b/nx-X11/extras/ogl-sample/main/doc/man/tools/mmdoc
@@ -0,0 +1,224 @@
+#! /bin/sh
+
+# $XFree86$
+
+set -x
+
+# @(#)mmdoc 1.21 /doccenter/tmadm/src/shell/s.mmdoc
+# general documentation generator
+#
+# Files begining with a ".TH" macro are treated as manual pages.
+# Files whose first line is
+# '\" x
+# where "x" is a string begining with "c", "e", "t" are also treated as
+# manual pages.
+# Files whose first line is
+# '\"! text
+# are processed by the command line "text" with the file provided
+# as the standard input.
+# Files whose first line is
+# '\"macro name
+# where "name" is the name of a file in TMMACRO will be run off with
+# that macro package. "name"s begining "-" will be flag arguments
+# to nroff.
+# All others are handed to nroff with -cm and mmdoc
+#
+# Assumes mdate.pl will be found by the current search path.
+#
+umask 0 # nroff must be able to write into files it closes
+while [ -n "$1" ]
+do
+ case $1 in
+ -D )
+ DrafT=-rC3
+ export DrafT
+ ;;
+ -T* )
+ TERM=`expr $1 : '-T\(.*\)'`
+ case ${TERM} in
+ eps)
+ post="|deps"
+ flavor=troff
+ ;;
+ aps)
+ post="|apsend b=m305"
+ flavor=troff
+ ;;
+ Aps) # This is a fake out so that collections
+ # can be sent as a unit to APS-5
+ # instead of series of calls. Used only by
+ # collection routine 'tcol_final'
+ post=
+ flavor=troff
+ TERM=aps
+ ;;
+ image)
+ post="|apsend b=m305 d=i"
+ flavor=troff
+ TERM=aps
+ ;;
+ i300)
+ post="|dimpress"
+ flavor=troff
+ ;;
+ 8300)
+ post="|dimpress"
+ flavor=troff
+ TERM=aps
+ ;;
+ psc)
+ post="|psdit |lp -oh"
+ flavor=troff
+ export TERM
+ ;;
+
+ PS)
+ post="|psdit"
+ flavor=troff
+ TERM=psc
+ export TERM
+ ;;
+ X100)
+ post=""
+ flavor=troff
+ TERM=X100
+ export TERM
+ ;;
+ *)
+ post=
+ flavor=nroff
+ ;;
+ esac
+ export post flavor
+ ;;
+ -r[ymd]* )
+ DocdatE="$DocdatE $1"
+ export DocdatE
+ dateset=yes
+ ;;
+ -?* )
+ flags="$flags $1"
+ export flags
+ ;;
+ - | * )
+ break
+ esac
+ shift
+done
+if [ $# = 0 ]
+then
+ set -- -
+fi
+for i
+{
+ if [ "$i" != "-" -a ! -s "$i" ]
+ then
+ echo "Cannot input file: $i"
+ continue
+ fi
+ case $i in
+ - )
+ ;;
+ * )
+ Line1=`line <$i`
+ if [ ! "${dateset}" ]
+ then
+ # DocdatE is intentionally capitalized that way
+ # to cut the possibility of env name collision.
+ DocdatE=`mdate.pl $i`
+ export DocdatE
+ fi
+ esac
+
+ MacrO=${TMMACRO}
+
+ case "${Line1}" in
+ .TH* | "'\\\" "[cet]* )
+ man -T${TERM} -d ${DocdatE} $*
+ ;;
+ "'\\\"!"* )
+ cmd=`echo "${Line1}" | sed 's/^....//'`
+ if [ "$flavor" != troff ]
+ then
+ cmd=`echo " ${cmd} " | sed 's/ eqn / neqn /'`
+ fi
+ Line1=`sed -n -e 2p -e 2q ${i}`
+ export Line1
+ if [ "$flavor" = troff ]
+ then
+ eval '<$i' $cmd
+ #eval `parse "$cmd" ${i}`
+ else
+ TERM=lp
+ eval '<$i' $cmd
+ fi
+ ;;
+ "'\\\"macro"* )
+ cmd=`echo "${Line1}" |
+ sed ' s/.."macro//'"
+ s:[ ]\([^- ]\): ${TMMACRO?}/\1:g"`
+ cmd=`echo $cmd|sed "s;[ ]*.*/stdmacro;${MacrO?}/strings.mm ${MacrO?}/stdmacro;"`
+ cmd="$cmd $OTHERFILES"
+ if [ "$flavor" = troff ]
+ then
+ case "$cmd" in
+ *stdmacro*)
+ case "$flags" in
+ *-rs[0-9]*)
+ ;;
+ *)
+ flags="${flags} -rs1"
+ esac
+ esac
+ eval troff -T${TERM} ${DrafT} ${DocdatE} ${flags} ${cmd} $i ${post}
+ else
+ eval nroff ${DrafT} ${DocdatE} ${flags} ${cmd} $i
+ fi
+ ;;
+ "'\\\"text"* )
+ cmd=`echo "${Line1}" |
+ sed ' s/.."text//'"
+ s:[ ]\([^- ]\): ${TMMACRO?}/\1:g"`
+ cmd=`echo $cmd|sed "s;[ ]*.*/docmacs;${MacrO?}/docmacs;"`
+ if [ "$flavor" = troff ]
+ then
+ eval troff -T${TERM} ${DrafT} ${DocdatE} ${flags} ${cmd} $i ${post}
+ else
+ eval nroff ${DrafT} ${DocdatE} ${flags} ${cmd} $i
+ fi
+ ;;
+ .tH* )
+ # Right now 2/12/85 this stuff not used for DSG work.
+ # No enhancements to do troff done yet.
+ # Will do as necessary
+ if [ -r ${TMMACRO}/mandocvar ]
+ then
+ . ${TMMACRO}/mandocvar
+ fi
+ nroff -T${TERM} ${DocdatE} ${flags} \
+ -can ${MacrO?}/mandoc ${i} |
+ col
+ ;;
+ .pH* | '' | * )
+ if [ -r ${TMMACRO}/mmdocvar ]
+ then
+ . ${TMMACRO}/mmdocvar
+ fi
+ if [ "$flavor" = troff ]
+ then
+ eval troff -T${TERM} -rW${Width:-5}i \
+ -rL${Length:-8.5}i \
+ ${DocdatE} ${DrafT} ${flags} \
+ /usr/bin/mmt $i ${post}
+ else
+ TERM=lp
+ nroff -T${TERM} -u${Overstrike:-1} -rW${Width:-79} \
+ -rO${Offset:-0} -rL${Length:-66} \
+ ${DocdatE} ${DrafT} ${flags} \
+ ${MacrO?}/newmm \
+ ${MacrO?}/mmdoc ${TMMACRO}/custom $i |
+ col
+ fi
+ ;;
+ esac
+}