diff options
Diffstat (limited to 'nx-X11/extras/ogl-sample/main/doc/man/tools')
-rw-r--r-- | nx-X11/extras/ogl-sample/main/doc/man/tools/GNUmakefile | 49 | ||||
-rw-r--r-- | nx-X11/extras/ogl-sample/main/doc/man/tools/constCheck.pl | 160 | ||||
-rw-r--r-- | nx-X11/extras/ogl-sample/main/doc/man/tools/glman | 57 | ||||
-rw-r--r-- | nx-X11/extras/ogl-sample/main/doc/man/tools/man2html | 608 | ||||
-rw-r--r-- | nx-X11/extras/ogl-sample/main/doc/man/tools/mdate.pl | 50 | ||||
-rw-r--r-- | nx-X11/extras/ogl-sample/main/doc/man/tools/mmdoc | 224 |
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/&/\&/g; + $$str =~ s/</\</g; + $$str =~ s/>/\>/g; + $$str; +} + +##--------------------------------------------------------------------------- +## htmlize2() is used by entitize. +## +sub htmlize2 { + my($str) = shift; + $str =~ s/&/\&/g; + $str =~ s/</\</g; + $str =~ s/>/\>/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 +} |