java2html-0.9.2/ 40700 1751 1751 0 7103606320 13225 5ustar schintkeschintkejava2html-0.9.2/java2html.l100600 1751 1751 35575 7103606320 15430 0ustar schintkeschintke%{ /* make it look better in emacs: -*- mode: Makefile; -*- */ /* We need the Makefile mode in emacs to type \t (tab) characters */ /* Copyright (C) 1999, 2000 Florian Schintke Copyright (C) 1999 Martin Kammerhofer for the CGI feature Copyright (C) 2000 Rob Ewan for the indexing feature This 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, or (at your option) any later version. This 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 with the java2html source package as the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* * We build a lexical analyzer that converts a Java or C++ source * file to a beautifully highlighted HTML file now. */ #include "colors.h" #include "mymain.h" unsigned int oldstate = 0; %} %s COMMENT %s ONELINECOMMENT %s STRING /* We define handling for #define etc to support C++ with this program too */ %s DEFINELINE %s PREPROLINE id [a-zA-Z_][a-zA-Z01-9_]* wsnl [\t \n]* ws [\t ]* accessmode ("public"|"private"|"protected") /* when to break parsing comments, strings, etc to handle special characters: */ commentnospecial [^&<>À-ÏÑ-ÖØ-öø-ÿ\\\n*/] onelinecommentnospecial [^&<>À-ÏÑ-ÖØ-öø-ÿ\n] stringnospecial [^&<>À-ÏÑ-ÖØ-öø-ÿ\\\n"] definelinenospecial [^&<>À-ÏÑ-ÖØ-öø-ÿ\\\n"*/] preprolinenospecial [^&<>À-ÏÑ-ÖØ-öø-ÿ\n"*/] %% /* This characters have to be recoded everywhere * because the WWW-browsers interpret them in their * own (here not wanted) way. */ "&" { MyStringOutput (yyout, "&"); } "<" { MyStringOutput (yyout, "<"); } ">" { MyStringOutput (yyout, ">"); } /* All character as latin1 greater than dec192 or hexBF */ "À" { MyStringOutput (yyout, "À"); } "Á" { MyStringOutput (yyout, "Á"); } "Â" { MyStringOutput (yyout, "Â"); } "Ã" { MyStringOutput (yyout, "Ã"); } "Ä" { MyStringOutput (yyout, "Ä"); } "Å" { MyStringOutput (yyout, "Å"); } "Æ" { MyStringOutput (yyout, "Æ"); } "Ç" { MyStringOutput (yyout, "Ç"); } "È" { MyStringOutput (yyout, "È"); } "É" { MyStringOutput (yyout, "É"); } "Ê" { MyStringOutput (yyout, "Ê"); } "Ë" { MyStringOutput (yyout, "Ë"); } "Ì" { MyStringOutput (yyout, "Ì"); } "Í" { MyStringOutput (yyout, "Í"); } "Î" { MyStringOutput (yyout, "Î"); } "Ï" { MyStringOutput (yyout, "Ï"); } /* "Ð" { MyStringOutput (yyout, "", yytext); } */ "Ñ" { MyStringOutput (yyout, "Ñ"); } "Ò" { MyStringOutput (yyout, "Ò"); } "Ó" { MyStringOutput (yyout, "Ó"); } "Ô" { MyStringOutput (yyout, "Ô"); } "Õ" { MyStringOutput (yyout, "Õ"); } "Ö" { MyStringOutput (yyout, "Ö"); } /* "×" { MyStringOutput (yyout, "", yytext); } */ "Ø" { MyStringOutput (yyout, "Ø"); } "Ù" { MyStringOutput (yyout, "Ù"); } "Ú" { MyStringOutput (yyout, "Ú"); } "Û" { MyStringOutput (yyout, "Û"); } "Ü" { MyStringOutput (yyout, "Ü"); } "Ý" { MyStringOutput (yyout, "Ý"); } "Þ" { MyStringOutput (yyout, "Þ"); } "ß" { MyStringOutput (yyout, "ß"); } "à" { MyStringOutput (yyout, "à"); } "á" { MyStringOutput (yyout, "á"); } "â" { MyStringOutput (yyout, "â"); } "ã" { MyStringOutput (yyout, "ã"); } "ä" { MyStringOutput (yyout, "ä"); } "å" { MyStringOutput (yyout, "å"); } "æ" { MyStringOutput (yyout, "æ"); } "ç" { MyStringOutput (yyout, "ç"); } "è" { MyStringOutput (yyout, "è"); } "é" { MyStringOutput (yyout, "é"); } "ê" { MyStringOutput (yyout, "ê"); } "ë" { MyStringOutput (yyout, "ë"); } "ì" { MyStringOutput (yyout, "ì"); } "í" { MyStringOutput (yyout, "í"); } "î" { MyStringOutput (yyout, "î"); } "ï" { MyStringOutput (yyout, "ï"); } "ð" { MyStringOutput (yyout, "ð"); } "ñ" { MyStringOutput (yyout, "ñ"); } "ò" { MyStringOutput (yyout, "ò"); } "ó" { MyStringOutput (yyout, "ó"); } "ô" { MyStringOutput (yyout, "ô"); } "õ" { MyStringOutput (yyout, "õ"); } "ö" { MyStringOutput (yyout, "ö"); } /* "÷" { MyStringOutput (yyout, "", yytext); } */ "ø" { MyStringOutput (yyout, "ø"); } "ù" { MyStringOutput (yyout, "ù"); } "ú" { MyStringOutput (yyout, "ú"); } "û" { MyStringOutput (yyout, "û"); } "ü" { MyStringOutput (yyout, "ü"); } "ý" { MyStringOutput (yyout, "ý"); } "þ" { MyStringOutput (yyout, "þ"); } "ÿ" { MyStringOutput (yyout, "ÿ"); } \\\" { MyStringOutput(yyout, yytext); } \\\\ { MyStringOutput(yyout, yytext); } \" { MyStringOutput(yyout, yytext); switch (oldstate) { case 0: /* Close the string font */ BEGIN 0; ChangeFontTo(yyout, NULL, NORMAL); break; case DEFINELINE: /* close a string in a defineline */ BEGIN DEFINELINE; oldstate = 0; ChangeFontTo(yyout, definelinecolor, NO_CHANGE); break; case PREPROLINE: /* close a string in a preprocessor line */ BEGIN PREPROLINE; oldstate = 0; ChangeFontTo(yyout, preprolinecolor, NO_CHANGE); break; default: fprintf (stderr, "internal error: bad oldstate\n"); } } \' { MyStringOutput(yyout, yytext); } \\\n { MyStringOutput(yyout, yytext); if (oldstate == PREPROLINE) oldstate = 0; } \n { switch (oldstate) { case 0: BEGIN STRING; MyStringOutput(yyout, yytext); break; case DEFINELINE: case PREPROLINE: /* This was a string in a define or a */ /* preprocessor line */ /* With this newline we close this line */ /* and continue scanning the string until */ /* it is closed */ BEGIN STRING; oldstate = 0; ChangeFontTo(yyout, NULL, NORMAL); MyStringOutput(yyout, yytext); /* Now it is only a string */ ChangeFontTo(yyout, stringcolor, NORMAL); break; default: fprintf (stderr, "internal error: bad oldstate\n"); } } {stringnospecial}+ { MyStringOutput(yyout, yytext); } \n { ChangeFontTo(yyout, NULL, NORMAL); MyStringOutput(yyout, yytext); BEGIN 0; } {onelinecommentnospecial}+ { MyStringOutput(yyout, yytext); } "/*" { MyStringOutput(yyout,yytext); } \\\n { MyStringOutput(yyout, yytext); if (oldstate == PREPROLINE) oldstate = 0; } \n { switch (oldstate) { case 0: BEGIN COMMENT; MyStringOutput(yyout, yytext); break; case DEFINELINE: case PREPROLINE: /* this was a comment in a define or preprocessor */ /* line. So we close this line and start a normal */ /* comment scanning */ BEGIN COMMENT; oldstate = 0; ChangeFontTo(yyout, NULL, NORMAL); MyStringOutput(yyout, yytext); ChangeFontTo(yyout, commentcolor, NORMAL); break; default: fprintf (stderr, "internal error: bad oldstate\n"); } } {commentnospecial}+ { MyStringOutput(yyout, yytext); } {commentnospecial}/[^/] { MyStringOutput(yyout, yytext); } "*/" { MyStringOutput(yyout, yytext); switch (oldstate) { case 0: BEGIN 0; ChangeFontTo(yyout, NULL, NORMAL); break; case DEFINELINE: BEGIN DEFINELINE; oldstate = 0; ChangeFontTo(yyout, definelinecolor, NO_CHANGE); break; case PREPROLINE: BEGIN PREPROLINE; oldstate = 0; ChangeFontTo(yyout, preprolinecolor, NO_CHANGE); break; default: fprintf (stderr, "internal error: bad oldstate\n"); } } {commentnospecial}\/ { MyStringOutput(yyout, yytext); } "//" { MyStringOutput(yyout,yytext); } \" { /* Start a string in a defineline */ BEGIN STRING; oldstate = DEFINELINE; ChangeFontTo(yyout, stringcolor, NO_CHANGE); MyStringOutput(yyout, yytext); } "/*" { /* Start a comment in a defineline */ BEGIN COMMENT; oldstate = DEFINELINE; ChangeFontTo(yyout, commentcolor, NO_CHANGE); MyStringOutput(yyout, yytext); } \\\n { MyStringOutput(yyout, yytext); } \n { /* close a defineline */ BEGIN 0; oldstate = 0; ChangeFontTo(yyout, NULL, NORMAL); MyStringOutput(yyout, yytext); } {definelinenospecial}+ { MyStringOutput(yyout, yytext); } ^{ws}("#"|"??=")("define") | ^{ws}("#"|"??=")("undef") { /* Start a define line */ BEGIN DEFINELINE; ChangeFontTo(yyout, definelinecolor, BOLD); MyStringOutput(yyout, yytext); } \" { /* Start a string in a preproline */ BEGIN STRING; oldstate = PREPROLINE; ChangeFontTo(yyout, stringcolor, NO_CHANGE); MyStringOutput(yyout, yytext); } "/*" { /* Start a comment in a preproline */ BEGIN COMMENT; oldstate = PREPROLINE; ChangeFontTo(yyout, commentcolor, NO_CHANGE); MyStringOutput(yyout, yytext); } \n { /* Close a preproline */ BEGIN 0; oldstate = 0; ChangeFontTo(yyout, NULL, NORMAL); MyStringOutput(yyout, yytext); } {preprolinenospecial}+ { MyStringOutput(yyout, yytext); } ^[\t ]*("#"|"??=")("") | ^[\t ]*("#"|"??=")("elif") | ^[\t ]*("#"|"??=")("else") | ^[\t ]*("#"|"??=")("endif") | ^[\t ]*("#"|"??=")("error") | ^[\t ]*("#"|"??=")("if ! defined") | ^[\t ]*("#"|"??=")("if defined") | ^[\t ]*("#"|"??=")("if") | ^[\t ]*("#"|"??=")("ifdef") | ^[\t ]*("#"|"??=")("ifndef") | ^[\t ]*("#"|"??=")("include") | ^[\t ]*("#"|"??=")("line") | ^[\t ]*("#"|"??=")("pragma") { /* Start a preproline */ BEGIN PREPROLINE; ChangeFontTo(yyout, preprolinecolor, NORMAL); MyStringOutput(yyout, yytext); /* highlight preprozessor statements */ } ^"import"{ws}.*; { ChangeFontTo(yyout, definelinecolor, NORMAL); MyStringOutput(yyout, yytext); ChangeFontTo(yyout, NULL, NORMAL); } \" { /* Start a string */ BEGIN STRING; oldstate = 0; ChangeFontTo(yyout, stringcolor, NORMAL); MyStringOutput(yyout, yytext); } \'([^\n']+|"\\\'")\' { MyStringOutput(yyout, yytext); } "/*" { /* Start a comment */ BEGIN COMMENT; oldstate = 0; ChangeFontTo(yyout, commentcolor, NORMAL); MyStringOutput(yyout, yytext); } "//" { BEGIN ONELINECOMMENT; ChangeFontTo(yyout, commentcolor, NORMAL); MyStringOutput(yyout, yytext); } [{}] { MyStringOutput(yyout, yytext); } ^{ws}{accessmode}{ws}({id}{wsnl}|"*")*"("({id}|{wsnl}|"\.\.\."|[][*(),])*")" { /* Write a function definition */ ChangeFontTo(yyout, keywordcolor, BOLD); /* The labeling isn't stable for C++ */ /* AddLabelForFunction(yyout, yytext); */ MyStringOutput(yyout, yytext); ChangeFontTo(yyout, NULL, NORMAL); } ^({accessmode}{ws}|{ws})"class"{ws}{id}({id}{ws})* { ChangeFontTo(yyout, keywordcolor, BOLD); AddLabelForClass(yyout, yytext); MyStringOutput(yyout, yytext); EndLabelTag(yyout, yytext); ChangeFontTo(yyout, NULL, NORMAL); } ^"typedef"({id}|{ws}|[*{}])*";" { ChangeFontTo(yyout, keywordcolor, NORMAL); MyStringOutput(yyout, yytext); ChangeFontTo(yyout, NULL, NORMAL); } "struct "{id} { ChangeFontTo(yyout, keywordcolor, NORMAL); MyStringOutput(yyout, yytext); ChangeFontTo(yyout, NULL, NORMAL); } ^{ws}{id}":" { ChangeFontTo(yyout, labelcolor, BOLD); MyStringOutput(yyout, yytext); ChangeFontTo(yyout, NULL, NORMAL); } (char|double|float|int|long|short|signed|void|unsigned)/[^a-zA-Z_0123456789] { MyStringOutput(yyout, yytext); /* highlight basic types */ } (char|double|float|int|long|short|signed|void|unsigned)\*/[^a-zA-Z_0123456789] { MyStringOutput(yyout, yytext); /* highlight basic pointer types */ } (char|double|float|int|long|short|signed|void|unsigned)" *" { MyStringOutput(yyout, yytext); /* highlight basic pointer types in the common style*/ } ("auto"|"const"|"extern"|"register"|"static"|"volatile")/[^a-zA-Z_0123456789] { MyStringOutput(yyout, yytext); /* highlight attributes for types */ } ("break"|"case"|"continue"|"default"|"do"|"else"|"enum"|"for"|"goto"|"if"|"return"|"sizeof"|"struct"|"switch"|"typedef"|"union"|"while"|"try"|"catch"|"throw"|"throws")/[^a-zA-Z_0123456789] { ChangeFontTo(yyout, keywordcolor, NORMAL); MyStringOutput(yyout, yytext); ChangeFontTo(yyout, NULL, NORMAL); /* highlight the rest of the reserved words */ } ("abort"|"abs"|"acos"|"asctime"|"asin"|"atan"|"atan2"|"atexit"|"atof"|"atoi"|"atol"|"bsearch"|"calloc"|"ceil"|"clearerr"|"clock"|"cos"|"cosh"|"ctime"|"difftime"|"div"|"exit"|"exp"|"fabs"|"fclose"|"feof"|"ferror"|"fflush"|"fgetc"|"fgetpos"|"fgets"|"floor"|"fmod"|"fopen"|"fprintf"|"fputc"|"fputs"|"fread"|"free"|"freopen"|"frexp"|"fscanf"|"fseek"|"fsetpos"|"ftell"|"fwrite"|"getc"|"getchar"|"getenv"|"gets"|"gmtime"|"isalnum"|"isalpha"|"iscntrl"|"isdigit"|"isgraph"|"islower"|"isprint"|"ispunct"|"isspace"|"isupper"|"isxdigit"|"labs"|"ldexp"|"ldiv"|"localtime"|"log"|"log10"|"longjmp"|"malloc"|"memchr"|"memcmp"|"memcpy"|"memmove"|"memset"|"mktime"|"modf"|"perror"|"pow"|"printf"|"putc"|"putchar"|"puts"|"qsort"|"raise"|"rand"|"realloc"|"remove"|"rename"|"rewind"|"scanf"|"setbuf"|"setvbuf"|"setjmp"|"signal"|"sin"|"sinh"|"sprintf"|"sqrt"|"srand"|"sscanf"|"strcat"|"strchr"|"strcmp"|"strcpy"|"strcspn"|"strerror"|"strftime"|"strlen"|"strncat"|"strncmp"|"strncpy"|"strpbrk"|"strrchr"|"strspn"|"strstr"|"strtod"|"strtok"|"strtol"|"strtul"|"system"|"tan"|"tanh"|"time"|"tmpfile"|"tmpnam"|"tolower"|"toupper"|"ungetc"|"vfprintf"|"vprintf"|"vsprintf")/[^a-zA-Z_0123456789] { MyStringOutput(yyout, yytext); /* highlight lybrary functions */ } ("close"|"create"|"fstat"|"lseek"|"open"|"read"|"abrk"|"stat"|"unlink"|"write")/[^a-zA-Z_0123456789] { MyStringOutput(yyout, yytext); /* highlight basic system calls */ } [\t ]+ { MyStringOutput(yyout, yytext); /* let whitespaces like they are */ } [a-zA-Z_][a-zA-Z_0123456789]* { MyStringOutput(yyout, yytext); } . { MyStringOutput(yyout, yytext); } \n { MyStringOutput(yyout, yytext); } %% void StartNewYylex(FILE * in, FILE * out) { BEGIN 0; oldstate = 0; yyin = in; yyout = out; config.lineNumber = 1; config.needLabel = 1; config.currentColor = NULL; config.currentWeight = NORMAL; config.suppressOutput = config.indexOnly; yylex(); } int main(int argc, char *argv[]) { return MyMain(argc, argv); /* unreachable, but suppresses compiler warning. */ yyunput(0, NULL); } java2html-0.9.2/mymain.c100600 1751 1751 37166 7103606320 15017 0ustar schintkeschintke/* Copyright (C) 1999, 2000 Florian Schintke Copyright (C) 1999 Martin Kammerhofer for the CGI feature Copyright (C) 2000 Rob Ewan for the indexing feature This 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, or (at your option) any later version. This 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 with the c2html, java2html, pas2html or perl2html source package as the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "config.h" #include #include #include #include #include #include /* getopt is contained in unistd If we have no unistd, we can try to include getopt */ #ifdef HAVE_UNISTD_H #include #elif HAVE_GETOPT_H #include #endif #include "mymain.h" #include "colors.h" #ifndef COMPRESSION #define COMPRESSION 0 #endif /* exit values */ #define CANNOT_READ_INPUT 1 #define CANNOT_WRITE_OUTPUT 2 #define PRINTED_USAGE 3 #define GZIP_NOT_FOUND 4 /* global variables */ FILE *actin; FILE *actout; config_type config; int MyMain(int argc, char *argv[]) { char *outfilename = (char *) NULL; char *temp_ch_ptr = (char *) NULL; int i = 0; int parsed_parameters = 0; int return_code = 0; (void) setlocale(LC_TIME, "C"); /* initialize configuration with defaults */ config.nocgi = 0; config.noheaders = 0; config.linelabeling = 0; config.width = 80; config.indexOnly = 0; config.title = (char *) NULL; temp_ch_ptr = strrchr(argv[0], '/'); config.prog = (temp_ch_ptr)? ++temp_ch_ptr : argv[0]; /* basename */ temp_ch_ptr = (char *) NULL; config.headfile = (char *) NULL; config.bottomfile = (char *) NULL; /* initialize configuration with given parameters */ parsed_parameters = ParseParameters(argc, argv); argc -= parsed_parameters; argv += parsed_parameters; /* do the job */ if (0 == argc) { actin = stdin; actout = stdout; if (IsCGI()) { PrintCGIHeader(); } ConvertFile(""); } else { for (i = 0; i < argc; i++) { actin = fopen (argv[i], "r"); if (!actin) { fprintf (stderr, "%s: cannot read file '%s'\n", config.prog, argv[i]); return_code = return_code < CANNOT_READ_INPUT ? CANNOT_READ_INPUT : return_code; continue; } outfilename = malloc (sizeof (char)*strlen (argv[i]) + 6); strcat (strcpy (outfilename, argv[i]), ".html"); actout = fopen (outfilename, "w"); if (!actout) { fprintf (stderr, "%s: cannot write file '%s'\n", config.prog, outfilename); return_code = return_code < CANNOT_WRITE_OUTPUT ? CANNOT_WRITE_OUTPUT : return_code; continue; } ConvertFile(argv[i]); free (outfilename); outfilename = (char *) NULL; fclose (actin); fclose (actout); } } return return_code; } int Insert (FILE * outfile, char *filename) { int c; FILE * infile; infile = fopen (filename, "r"); if (NULL != infile) { c = fgetc (infile); while (EOF != c) { fputc (c, outfile); c = fgetc (infile); } fclose (infile); return 1; } else { return 0; } } void PrintUsage() { fprintf (stderr, "usage: %s [options] [file_to_convert ...]\n", config.prog); fprintf (stderr, " -c switch off CGI detection and HTTP header generation\n"); fprintf (stderr, " -s suppress generation of HTML headers\n"); fprintf (stderr, " -n number lines and label them\n"); fprintf (stderr, " -i generate an HTML index of set labels\n"); fprintf (stderr, " (only in c2html and java2html)\n"); fprintf (stderr, " -V print version information\n"); fprintf (stderr, " -u print this usage information\n"); fprintf (stderr, " -t title set HTML title\n"); fprintf (stderr, " -w width use width for output (default 80)\n"); fprintf (stderr, " -h file insert file at the head of converted data\n"); fprintf (stderr, " -b file insert file at the bottom of converted data\n"); fprintf (stderr, " -- interpret all following parameters as filenames\n"); PrintConfig(stderr); exit(PRINTED_USAGE); } void PrintConfig(FILE * output) { fprintf (output, "Current config is:\n"); fprintf (output, " (end of strings are marked with \"\\0\" and newline)\n"); fprintf (output, " COMPRESSION : %d\n", COMPRESSION); fprintf (output, " nocgi : %s\n", config.nocgi ? "on" : "off"); fprintf (output, " noheaders : %s\n", config.noheaders ? "on" : "off"); fprintf (output, " linelabeling: %s\n", config.linelabeling ? "on" : "off"); fprintf (output, " width : %d\n", config.width); fprintf (output, " title : %s%s\n", config.title ? config.title : "(null)", config.title ? "\\0" : ""); fprintf (output, " prog : %s%s\n", config.prog ? config.prog : "(null)", config.prog ? "\\0" : ""); fprintf (output, " headfile : %s%s\n", config.headfile ? config.headfile : "(null)", config.headfile ? "\\0" : ""); fprintf (output, " bottomfile : %s%s\n", config.bottomfile ? config.bottomfile : "(null)", config.bottomfile ? "\\0" : ""); fprintf (output, " index : %s\n", config.indexOnly ? "on" : "off" ); } int ParseParameters(int argc,char *argv[]) { int ch = 0; while (-1 != (ch = getopt(argc, argv, "t:w:h:b:nicusV"))) { switch(ch) { case 't': config.title = optarg; break; case 'h': config.headfile = optarg; break; case 'b': config.bottomfile = optarg; break; case 'w': if (1 != sscanf(optarg, "%d", &config.width)) { PrintUsage(); } break; case 'n': /* Switch on line numbering and labeling */ config.linelabeling = 1; break; case 'i': /* Turn on index generation (and initially suppress output) */ config.indexOnly = 1; config.suppressOutput = 1; break; case 'c': /* suppress generation of CGI header */ config.nocgi = 1; break; case 's': /* suppress generation of html headers */ config.noheaders = 1; break; case 'u': PrintUsage(); break; case 'V': fprintf(stdout, "%s %s%s\n", PROJECT_NAME, VERSION, COMPRESSION ? "" : " (no compression)"); exit(0); default: PrintUsage(); } } return optind; } int IsCGI() { return (getenv("PATH_TRANSLATED") && getenv("GATEWAY_INTERFACE") && 0 == config.nocgi); } void PrintCGIHeader() { char *pt = (char *) NULL; struct stat sb; char gzipcmd[10]; /* CGI */ pt = getenv("PATH_TRANSLATED"); if (!config.title) { config.title = pt; } actin = fopen (pt, "r"); if (!actin) { fprintf (actout, "Content-Type: text/html\n\n"); fprintf (actout, "error in CGI '%s'", config.prog); fprintf (actout, "\n"); fprintf (actout, "

error in CGI program '%s': ", config.prog); fprintf (actout, "cannot read file '%s'

\n", pt); fprintf (actout, "\n"); exit(1); } fprintf (actout, "Content-Type: text/html\n"); if (fstat(fileno(actin), &sb) == 0) { /* report last modification date */ char rfc1123date[32]; if (strftime(rfc1123date, sizeof(rfc1123date), "%a, %e %b %Y %T GMT", gmtime(&sb.st_mtime))) fprintf(actout, "Last-Modified: %.*s\n", (int)sizeof(rfc1123date), rfc1123date); } if (COMPRESSION) { /* should we compress output with gzip? */ do { if ((pt = getenv("REMOTE_ADDR")) && (!strncmp(pt, "127", 3))) { break; } /* never compress to local client */ if (!(pt = getenv("HTTP_ACCEPT_ENCODING"))) { break; } /* no header Accept-Encoding: */ if (!strstr(pt, "gzip")) { break; } /* browser doesn't understand gzip format */ if (strstr(pt, "x-gzip")) { fprintf(actout, "Content-Encoding: x-gzip\n\n"); } else /* some WWW browsers need this (namely ie) */ { fprintf(actout, "Content-Encoding: gzip\n\n"); } fflush(actout); sprintf(gzipcmd, "gzip -%d", COMPRESSION); if (!(actout = (FILE *) popen(gzipcmd, "w"))) { exit(GZIP_NOT_FOUND); } /* cannot fork, gzip not found, ... */ } while (0); } } void ConvertFile(char * name) { struct stat sb; if (0 == config.noheaders) { char * title = (char *) NULL; if (NULL == name) { title = config.title ? config.title : "stdin"; } else { title = config.title ? config.title : name; } fprintf (actout, "\n\n\n"); fprintf (actout, "%s\n", title); fprintf (actout, "\n", PROJECT_NAME, VERSION, COMPRESSION ? "" : " (no compression)"); if (fstat(fileno(actin), &sb) == 0) { /* report last modification date */ char iso8601date[32]; if (strftime(iso8601date, sizeof(iso8601date), "%Y-%m-%dT%H:%M:%S+00:00", gmtime(&sb.st_mtime))) fprintf(actout, "\n", (int)sizeof(iso8601date), iso8601date); } fprintf (actout, "\n\n"); fprintf (actout, "\n", bgcolor); } Insert (actout, config.headfile); fprintf (actout, "
", config.width);  
  StartNewYylex(actin, actout);
  
  fprintf (actout, "
\n"); Insert (actout, config.bottomfile); if (0 == config.noheaders) { fprintf (actout, "\n\n\n"); } } void MyStringOutput(FILE * out, char * myString) { static char *previousColor = NULL; static weight_type previousWeight = NORMAL; char ch = 0; if (1 == config.suppressOutput) { return; } if (NULL == myString) { return; } while('\0' != myString[0]) { ch = *myString; myString++; if (0 == config.linelabeling) { fputc(ch, out); } else { /* Create labeled lines */ if ('\n' != ch) { if (1 == config.needLabel) { config.needLabel = 0; fprintf(out, "%3d: ", config.lineNumber, config.lineNumber); ChangeFontTo(out, previousColor, previousWeight); } if ('\t' == ch) { fprintf(out, " "); } else { fputc(ch, out); } } else { if (0 == config.needLabel) { /* Do this only once for succeeding */ /* newlines */ previousColor = config.currentColor; previousWeight = config.currentWeight; } ChangeFontTo(out, NULL, NORMAL); fputc(ch, out); config.needLabel = 1; config.lineNumber++; } } } } /* Change the font and the weight * If color is a NULL pointer the FONT will be closed if * one is opened. * Generate the tags so that FONT is contained in an * STRONG if weight is BOLD. * Generate the tags in a flat structure (no nested fonts) */ void ChangeFontTo(FILE *out, char *color, weight_type weight) { switch(weight) { case NO_CHANGE: break; case BOLD: if (BOLD != config.currentWeight) { if (NULL != config.currentColor) { MyStringOutput(out, ""); config.currentColor = NULL; } MyStringOutput(out, ""); config.currentWeight = BOLD; } break; case NORMAL: if (NORMAL != config.currentWeight) { if (NULL != config.currentColor) { MyStringOutput(out, ""); config.currentColor = NULL; } MyStringOutput(out, ""); config.currentWeight = NORMAL; } break; default: fprintf (stderr, "internal error: bad weight\n"); } if (color != config.currentColor) { if (NULL != config.currentColor) { MyStringOutput(out, ""); config.currentColor = NULL; } if (NULL != color) { MyStringOutput(out, ""); config.currentColor = color; } } /* Check for consistency */ if (color != config.currentColor) { fprintf(stderr, "internal error in ChangeFontTo\n"); } } void AddLabelTag(FILE *out, char *start_ptr, char *end_ptr) { if (start_ptr == end_ptr) { return; } /* If we're only generating an index, */ if (config.indexOnly) { /* Output it as a list item and as a reference */ fprintf(out, "
  • "); } else { /* Close the NAME */ fprintf(out, "\">"); } } void EndLabelTag(FILE *out, char *text) { /* If we're just generating an index, */ if (config.indexOnly) { /* End the HREF */ fprintf(out, "
  • \n"); /* And suppress further output */ config.suppressOutput = 1; } } /* Add a label a function */ /* Therefore search for the first opening parenthesis */ /* and use the word before as label name. */ void AddLabelForFunction(FILE *out, char *text) { char *start_ptr = NULL; char *end_ptr = NULL; end_ptr = strchr(text, '('); if (NULL == end_ptr) { return; } end_ptr--; while ((' ' == *end_ptr) || ('\t' == *end_ptr)) { end_ptr--; } start_ptr = end_ptr; while (((('A' <= *start_ptr) && ('Z' >= *start_ptr)) || (('a' <= *start_ptr) && ('z' >= *start_ptr)) || (('0' <= *start_ptr) && ('9' >= *start_ptr)) || ('_' == *start_ptr)) && (start_ptr != text)) { start_ptr--; } start_ptr++; end_ptr++; AddLabelTag(out, start_ptr, end_ptr); } /* Add a label for a class */ /* Therefore search for the word class and */ /* use the word after that as label name. */ void AddLabelForClass(FILE *out, char *text) { char *start_ptr = NULL; char *end_ptr = NULL; start_ptr = strstr(text, "class"); if (NULL == start_ptr) { return; } /* move the pointer behind the word 'class' */ start_ptr += 5; while ((' ' == *start_ptr) || ('\t' == *start_ptr)) { start_ptr++; } end_ptr = start_ptr; while (((('A' <= *end_ptr) && ('Z' >= *end_ptr)) || (('a' <= *end_ptr) && ('z' >= *end_ptr)) || (('0' <= *end_ptr) && ('9' >= *end_ptr)) || ('_' == *end_ptr))) { end_ptr++; } AddLabelTag(out, start_ptr, end_ptr); } /* Add a label for a struct */ /* Therefore search for the word 'struct' and */ /* use the word after that as label name. */ /* 99-12-15: Cloned from AddLabelForClass -- RE */ void AddLabelForStruct(FILE *out, char *text) { char *start_ptr = NULL; char *end_ptr = NULL; start_ptr = strstr(text, "struct"); if (NULL == start_ptr) { return; } /* move the pointer behind the word 'struct' */ start_ptr += 6; while ((' ' == *start_ptr) || ('\t' == *start_ptr)) { start_ptr++; } end_ptr = start_ptr; while (((('A' <= *end_ptr) && ('Z' >= *end_ptr)) || (('a' <= *end_ptr) && ('z' >= *end_ptr)) || (('0' <= *end_ptr) && ('9' >= *end_ptr)) || ('_' == *end_ptr))) { end_ptr++; } AddLabelTag(out, start_ptr, end_ptr); } java2html-0.9.2/colors.c100600 1751 1751 2106 7103606320 14770 0ustar schintkeschintke/* Copyright (C) 1999, 2000 Florian Schintke This 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, or (at your option) any later version. This 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 with the c2html, java2html, pas2html or perl2html source package as the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "colors.h" char *bgcolor = "\"#FFFFFF\""; char *commentcolor = "\"#B22222\""; char *stringcolor = "\"#666666\""; char *definelinecolor = "\"#228B22\""; char *preprolinecolor = "\"#A020F0\""; char *keywordcolor = "\"#4169E1\""; char *labelcolor = "\"#FF0000\""; java2html-0.9.2/colors.h100600 1751 1751 2004 7103606320 14772 0ustar schintkeschintke/* Copyright (C) 1999, 2000 Florian Schintke This 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, or (at your option) any later version. This 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 with the c2html, java2html, pas2html or perl2html source package as the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef COLOR_H #define COLOR_H extern char *bgcolor; extern char *commentcolor; extern char *stringcolor; extern char *definelinecolor; extern char *preprolinecolor; extern char *keywordcolor; extern char *labelcolor; #endif java2html-0.9.2/mymain.h100600 1751 1751 10245 7103606320 15011 0ustar schintkeschintke/* Copyright (C) 1999, 2000 Florian Schintke Copyright (C) 1999 Martin Kammerhofer for the CGI feature Copyright (C) 2000 Rob Ewan for the indexing feature This 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, or (at your option) any later version. This 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 with the c2html, java2html, pas2html or perl2html source package as the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* This .h file contains some functions implemented in .l file from the lex scanner or in the mymain.c */ /* Functions implemented in the .l file and called from mymain.c */ extern void StartNewYylex(FILE * in, FILE * out); /* Functions implemented in the mymain.c file and called from the .l file */ enum weight_enum {NO_CHANGE, NORMAL, BOLD}; typedef enum weight_enum weight_type; typedef struct { /* This variables are initialized in MyMain() in mymain.c */ int nocgi; /* != 0 must not generate HTTP headers; set with -c */ int noheaders; /* != 0 suppress html headers; set with -s */ int linelabeling;/* != 0 label lines with numbers; set with -n */ int width; /* width of output (default 80); set with -w */ int indexOnly; /* != 0, only output generated NAME's set with -i */ char *title; /* title of the generated html file; set with -t */ char *prog; /* name of the program running */ char *headfile; /* file inserted before converting; set with -h */ char *bottomfile; /* file inserted after converting; set with -b */ /* internally used while converting files */ /* the following part must be reinitialized if we start a new file */ /* this is done in the function StartNewYylex() */ int lineNumber; int needLabel; char *currentColor; weight_type currentWeight; int suppressOutput; /* Variable - used to control output for -i */ } config_type; extern config_type config; int MyMain(int argc, char *argv[]); void MyStringOutput(FILE *, char *); void EndLabelTag( FILE *, char *); /* For indexing */ /* Add a label a function */ /* Therefor search for the first opening parenthesis */ /* and use the word before as label name. */ void AddLabelForFunction(FILE *, char *); /* Add a label for a class */ void AddLabelForClass(FILE *, char *); /* Add a label for a struct */ void AddLabelForStruct(FILE *, char *); /* Change the font and the weight * If color is a NULL pointer the FONT will be closed if * one is opened. * Generate the tags alway so that FONT is contained in an * STRONG if weight is BOLD. * Generate the tags in a flat structure (no nested fonts) */ void ChangeFontTo(FILE *out, char *color, weight_type weight); /* Functions implemented in the mymain.c file and called from the mymain.c file */ /* * insert the file "filename" in the current directory (or if given the * complete path this file) into the output "outfile". */ int Insert (FILE * outfile, char *filename); /* * print usage information */ void PrintUsage(); /* * Parse parameters and set the configuration in global * variable config. Return the number of commandline * parameters parsed, so the caller can skip them. */ int ParseParameters(int argc,char *argv[]); /* * print the current configuration */ void PrintConfig(FILE * output); /* * decide whether CGI script or not */ int IsCGI(); /* * write CGI header */ void PrintCGIHeader(); /* * write html headers if necessary * insert head and bottom file if recommended * convert the file from actin and give it to actout * use name as title if title is not set explicit * use "stdin" as title if name is NULL */ void ConvertFile(char * name); java2html-0.9.2/AUTHORS100600 1751 1751 305 7103606320 14352 0ustar schintkeschintkeFlorian Schintke wrote the main program. Martin Kammerhofer wrote the CGI feature. Rob Ewan wrote the indexing feature for c2html and java2html. java2html-0.9.2/COPYING100400 1751 1751 43076 7103606320 14407 0ustar schintkeschintke GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS Appendix: How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 19yy 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., 675 Mass Ave, Cambridge, MA 02139, USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. java2html-0.9.2/NEWS100600 1751 1751 12524 7103606320 14047 0ustar schintkeschintkeCopyright (C) 1999, 2000 Florian Schintke 02MAY2000 java2html 0.9.2 released * Bug in documentation of -h and -b option in man-page (swapped)...fixed. Thanks to Kai Engelhardt for his hint. 15APR2000 java2html 0.9.1 released * Added personalized Copyright informations. Thanks to Josip Rodin for his hint: [...] licenses are worthless without actual copyright owners to give them :) Currently, from a legal standpoint, the software doesn't have a proper license for distribution. 23MAR2000 java2html 0.9 released * can run configure, make, and make install in an other directory than the source directory * updated documentation * switch -V outputs to stdout now and no longer to stderr * changed all HTML tags to lower case, because XHTML requires this. We don't support XHTML at the moment, but it is a tiny step in its direction. * added some checkings in configure (proposed by autoscan) * added new option -i to generate an index The basic idea is to get an index of labels that java2html would insert if the inputfile would be converted to HTML. So you can write a tiny shell script and use this as converter. To get a HTML page with preceding index you would write something like: ----- echo "Content-type: text/html" echo echo "" echo "$PATH_TRANSLATED" echo "" echo "" echo "" echo "

    Source of $PATH_TRANSLATED

    " echo "
      Structures and functions" cat $PATH_TRANSLATED | java2html -isc echo "
    " echo "
    " cat $PATH_TRANSLATED | java2html -sc echo "" exit ----- Thanks to Rob Ewan for his idea and patches that I only modified a little bit. 20JAN2000 java2html 0.8 ('on-my-birthday' edition) released * added support for 'File Hierarchy Standard 2.0' use with ./configure --enable-fhs to get help call: ./configure --help * now 'make install' copies documentation that is not in manpage format, too. 07DEC99 java2html 0.7.2 released * updated documentation (configuration of default parameters if called as cgi script to convert files on the fly) * bug: -n option switched -c option too...fixed. 06DEC99 java2html 0.7.1 released * uncorrect highlighting after empty lines in comments if linelabeling is enabled...fixed. Thanks to Mathieu Coquerelle for reporting this bug. 06DEC99 java2html 0.7 released * labels for class names will be inserted. * Meta tags and will be inserted. the date is the last modification time of the source file in iso8601 date format. Thanks to Martin Kammerhofer for his patch. * portability bug in printf usage: printf("%s", NULL)...workaround inserted Seen on Solaris 4.6 with gcc. 30NOV99 java2html 0.6.4 released * homepage for this program is now http://user.cs.tu-berlin.de/~schintke/x2html/index.html * bug while parsing // in a /* */ comment...fixed Thanks to Mathieu Coquerelle for reporting this bug. 28AUG99 java2html 0.6.3 released * bug while parsing \\ in strings...fixed 05AUG99 java2html 0.6.2 released * bug in creating HTML labels for function names behaviour before bugfix: the name of a function is finished if a character other than [A-Za-z0-9] occurs behaviour after bugfix: the name of a function is finished if a character other than [A-Za-z0-9_] occurs Thanks to Michael Leslie for his tiny patch. 24MAY99 java2html 0.6.1 released * error in handling character constants like '"' (interpreted as begin of string)...fixed. 22MAY99 java2html 0.6 released * major problem with configure script on non Linux systems...fixed. * compression on the fly feature now should also work with MS IE. Thanks to Stephen Martin for his tiny patch. 27APR99 java2html 0.5 released * bug with '\t' chars if -n is used...fixed. * bug in // comment parsing...fixed. * added new switch -n for numbering and labeling source lines so you can refer to them with line 301 from the same (see options -h and -b) or other files. Thanks to Luis Villa for this idea. * better usage output * added -s to suppress generation of html headers * added -h file -b file for head and bottom files * restructured sources * ü bugfix * new switch -c to disable CGI feature (otherwise Content-Type: text/html header would be generated) Now you can use this program in an other CGI script to generate only a part of the output. * HTTP Last-Modified header added 26MAR99 java2html 0.4 released * little changes on Makefile.in * archive of 0.3 on sunsite was corrupted, but upload again didn't help. I'm sorry for that. 10MAR99 java2html 0.3 released * skipping version number 0.2 to get equal version number like c2html has with similar functionality * correct handling of // comments * java2html now can also be used to transform C++ sources * transforming special characters to &xxxx; * no longer use snprintf for better portability * no longer define _POSIX_SOURCE because of problems with BSD * no longer include getopt.h. getopt resides in unistd.h *
     
    bug in comments fixed * added configure scripts 22FEB99 java2html 0.1 released * initial release java2html-0.9.2/README100600 1751 1751 11640 7103606320 14226 0ustar schintkeschintke----- Copyright (C) 1999, 2000 Florian Schintke Copyright (C) 1999 Martin Kammerhofer for the CGI feature Copyright (C) 2000 Rob Ewan for the indexing feature This 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, or (at your option) any later version. This 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 with the java2html source package as the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ----- java2html ========= Where to get java2html? ----------------------- The homepage of java2html is http://user.cs.tu-berlin.de/~schintke/x2html/index.html You can get java2html also from the metalab server: ftp://metalab.unc.edu/pub/Linux/apps/www/converters/ What is java2html? ------------------ The java2html program is a syntax highlighter for Java source code that produces a highlighted html file as output. The output can be read by any graphical WWW-Browser. If the browser understands the tags to change font colors (as Netscape does) the output will look like highlighted by emacs. Otherwise it will not look so nice, but readability is increased too. Who uses java2html? ------------------- Everyone who provides sources in the web. How do I use java2html? ----------------------- This is rather simple. If you start the program without any parameters it will read the source from stdin and prints the output to stdout. If you invoke java2html with filenames on the command line it will process every given file in sequence and will store the output in new files. The names of the new files are built by appending ".html" to the corresponding input filename. How do I convert my Java sources on demand only? ------------------------------------------------ You need a webserver to do this. The webserver must be configured to INVOKE java2html as a CGI program to handle all *.java files. If your webserver is apache you can achieve this by adding lines AddType text/x-java .java Action text/x-java /cgi-bin/java2html to configuration file "http.conf". The java2html program expects the pathname of its input file in environment variable PATH_TRANSLATED. CGI mode works by checking for environment variables GATEWAY_INTERFACE and PATH_TRANSLATED. If both are set a HTTP header line Content-Type: text/html and meta tags with the file's last modification date and the program that generated the html file are written to the html header. If you want to call the converter with default parameters like -n you have to write a wrapper script like the following (Notice that you have to 'chmod +x' the script file): file java2html_wrap in the cgi-bin directory of your webserver: -- #! /bin/sh ./java2html -n -- Then you let apache call the wrapper script with the following entry: Action text/x-java /cgi-bin/java2html_wrap Since your sources are converted on-the-fly to HTML you don't need any webspace for your html-ized files. Furthermore you don't have to bother about keeping your published html-ized sources up to date. :) If one wants to save the html-ized source for compiling it is best to use the "Text" format when saving from the browser. How can I save bandwidth using java2html as a CGI? -------------------------------------------------- If java2html has been compiled with -DCOMPRESSION=1 it will compress it's HTML output with gzip if your browser supports it. This will save bandwidth but add additional load to your webserver machine. If you are connected to a server on 'localhost', java2html will not compress it's output by gzip. Larger values for COMPRESSION than 1 are not recommended because it adds more CPU load to the server without saving much bandwidth. How can I get an index at the top of the source? ------------------------------------------------ The -i switch lets you add a clickable index at the top of the HTML page. The index is a list of the labels that java2html generates for your source file. Each label is converted into an HTML list item (
  • -tag). To add the index, the program must make two passes through the source file, so you will need a wrapper script like this one: --- #! /bin/sh echo "Content-type: text/html" echo "" echo "" echo "$PATH_TRANSLATED" echo "" echo "" echo "" echo "

    Source of $PATH_TRANSLATED

    " echo "
      Structures and functions" cat $PATH_TRANSLATED | java2html -isc echo "
    " echo "
    " cat $PATH_TRANSLATED | java2html -sc echo "" exit ---java2html-0.9.2/java2html.1100600 1751 1751 10124 7103606320 15314 0ustar schintkeschintke.TH JAVA2HTML 1 \" -*- nroff -*- .SH NAME java2html \- generates highlighted html-files from Java or C++ source .SH SYNOPSIS .B java2html [options] [filename...] .br .SH DESCRIPTION This manual page documents how to use .BR java2html . If no arguments are given on the command line of .BR java2html , it reads from stdin and writes to stdout. If invoked with filenames as arguments .B java2html will write it's output into new files. Names of output files are generated by appending ".html" to the corresponding input filename. .SS Installing as a CGI program .B java2html can be installed as a CGI program and convert source files on the fly. In order to set this up for apache the webmaster has to add the two lines .RS AddType text/x-java .java Action text/x-java /cgi-bin/java2html .RE to the webserver configuration file. .B java2html depends on the webserver properly setting environment variable PATH_TRANSLATED to the pathname of the source file. If .B java2html has been compiled with option -DCOMPRESSION=1 then it will invoke .B gzip to compress the generated HTML before sending it to the requesting browser. Of course .B java2html takes care to check if the browser accepts gzip encoding. .SS OPTIONS .TP .I "--" Interpret all following arguments on the command line as filenames. This is useful, if you want to convert files beginning with a '-'. .TP .I "-b filename" Insert the file 'filename' after converted data and before HTML footer. See also the .I "-s" option. .TP .I "-c" Turns off CGI-script detection and HTTP header generation. This is needed to use .B java2html as a subcommand in another CGI script. .TP .I "-h filename" Insert the file 'filename' after the HTML headers and before the converted data. See also the .I "-s" option. .TP .I "-i" Generate an index only. This will generate a list of references (HREF's) to the labels that .B java2html creates for your source file. The references are created as list items (
  • ) in an HTML list. Each line has the form .br
  • prototype()
  • .br so they can be used directly as an index list, or further parsed by another script. .br If you want the index at the top of the source file, you will need a wrapper script like this one: \" .br #! /bin/sh .br echo "Content-type: text/html" .br echo "" .br echo "" .br echo "$PATH_TRANSLATED" .br echo "" .br echo "" .br echo "" .br echo "

    Source of $PATH_TRANSLATED

    " .br echo "
      Structures and functions" .br cat $PATH_TRANSLATED | java2html -isc .br echo "
    " .br echo "
    " .br cat $PATH_TRANSLATED | java2html -sc .br echo "" .br exit .br .TP .I "-n" Number lines and label them with 'line' followed by the line number. Empty lines get no label, but the linecounter will count them nevertheless. With this feature you can refer to special lines of code from other parts of the generated file or from external files with a line like this: Go to line 301 .TP .I "-s" With this option you can suppress the generation of HTML headers. This is especially useful together with options .I "-b file" and .IR "-h file" . .TP .I "-t title" Set the title to 'title'. The default is the filename you converted or "stdin" if reading from stdin. This option is only used if .I "-s" is not set. .TP .I "-u" Print usage information. .TP .I "-w width" sets the WIDTH attribute for HTML tag
    . If this option is not
    used a default of 80 is assumed.  (Currently most browsers are
    ignoring this attribute).
    .TP
    .I -V
    reports the version number of
    .BR java2html .
    .SH EXIT STATUS
    .B java2html
    returns 0 on success, 1 if input files are not existing/readable, 2 if
    output files are not creatable/writable, 3 if invoked with illegal
    options and 4 if
    .B gzip
    cannot be invoked.
    .SH AUTHORS
    Florian Schintke 
    .br
    Martin Kammerhofer  wrote the CGI feature.
    .br
    Rob Ewan  wrote the indexing feature.
    .SH SEE ALSO
    .BR c2html (1),
    .BR pas2html (1),
    .BR perl2html (1).
    
    java2html-0.9.2/java2html.lsm100600   1751   1751        1315  7103606320  15731 0ustar  schintkeschintkeBegin3
    Title:          java2html
    Version:        0.9.2
    Entered-date:   02MAY00
    Description:    java2html highlights Java and C++ language sources like 
                    emacs does. Output is in html format. Also works as CGI
                    script to convert files on the fly.
    Keywords:       Java C++ syntax highlighting html
    Author:         schintke@gmx.de (Florian Schintke)
                    mkamm@gmx.net (Martin Kammerhofer)
                    rob@ewan.com (Rob Ewan)
    Maintained-by:  schintke@gmx.de (Florian Schintke)
    Primary-site:   metalab.unc.edu /pub/Linux/apps/www/converters/
                    43kB java2html-0.9.2.tar.gz
    Platform:       any UNIX using flex or lex and gcc
    Copying-policy: GNU Public License
    End
    java2html-0.9.2/Makefile.in100600   1751   1751       11645  7103606320  15420 0ustar  schintkeschintke# Copyright (C) 1999, 2000 Florian Schintke
    #
    # This 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, or (at your option) any later 
    # version. 
    #
    # This 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 with 
    # the c2html, java2html, pas2html or perl2html source package as the 
    # file COPYING. If not, write to the Free Software Foundation, Inc., 
    # 59 Temple Place - Suite 330, Boston, MA 
    # 02111-1307, USA. 
    
    SHELL = /bin/sh
    
    .SUFFIXES:
    # If COMPRESSION is not zero the executable will also work as
    # a CGI-script. The number you specify will be passed to gzip
    # as compression mode, if your browser can unzip it.
    #
    # It is recommended to use a not so high compression mode
    # for gzip because otherwise the load on the web server
    # grows without having big benefits.
    # COMPRESSION = -DCOMPRESSION=4
    COMPRESSION = -DCOMPRESSION=1
    
    # Dont change things beyond this line.
    TARGET          = @PROJECT_NAME@
    VERSION         = @VERSION@
    SRCS            = @srcdir@/mymain.c @srcdir@/colors.c
    HDRS            = @srcdir@/colors.h @srcdir@/mymain.h 
    LEXSRCS         = @srcdir@/$(TARGET).l
    CONFIGS         = ./config.status Makefile config.h
    MANPAGE	        = $(TARGET).1
    LSM             = $(TARGET).lsm
    DOCS            = AUTHORS COPYING NEWS README $(MANPAGE) $(LSM)
    CONFIGIN        = @srcdir@/Makefile.in @srcdir@/configure.in @srcdir@/configure @srcdir@/install-sh @srcdir@/config.h.in
    TMPCONFIGFILES  = config.cache config.status config.log config.h
    FILENAME        = $(TARGET)-$(VERSION)
    
    CC              = @CC@
    LEX             = @LEX@
    LEXLIB          = @LEXLIB@
    LEXOUTPUT       = @LEX_OUTPUT_ROOT@.c
    INSTALL         = @INSTALL@
    INSTALL_PROGRAM = @INSTALL_PROGRAM@
    INSTALL_DATA    = @INSTALL_DATA@
    prefix          = @prefix@
    exec_prefix     = ${prefix}
    bindir          = @bindir@
    mandir          = @mandir@
    man1dir         = @mandir@/man1
    srcdir          = @srcdir@
    docdir          = @DOCDIR@
    CPPFLAGS        = @CPPFLAGS@
    
    CFLAGS += -O2 -Wall
    ALL_CFLAGS = $(CFLAGS) -I$(srcdir) -I. $(COMPRESSION) 
    
    all: $(TARGET)
    
    $(TARGET): $(CONFIGIN) $(CONFIGS) $(LEXOUTPUT) $(SRCS) $(HDRS) 
    	$(CC) $(ALL_CFLAGS) -o $(TARGET) $(LEXOUTPUT) $(SRCS) $(LEXLIB)
    
    $(LEXOUTPUT): $(CONFIGS) $(LEXSRCS) $(HDRS)
    	$(LEX) $(LEXSRCS)
    
    install: $(TARGET) install-doc
    	@echo "Installing" $(TARGET) "to" $(bindir)
    	-mkdir -p $(bindir)
    	$(INSTALL_PROGRAM) $(TARGET) $(bindir)/$(TARGET)
    
    install-strip: $(TARGET) install-doc
    	@echo "Installing" $(TARGET) "to" $(bindir)
    	-mkdir -p $(bindir)
    	$(INSTALL_PROGRAM) -s $(TARGET) $(bindir)/$(TARGET)
    
    install-doc: 
    	-mkdir -p $(man1dir) $(docdir)
    	$(INSTALL_DATA) $(srcdir)/$(MANPAGE) $(man1dir)/$(MANPAGE)
    	$(INSTALL_DATA) $(srcdir)/AUTHORS $(docdir)/AUTHORS
    	$(INSTALL_DATA) $(srcdir)/COPYING $(docdir)/COPYING
    	$(INSTALL_DATA) $(srcdir)/NEWS $(docdir)/NEWS
    	$(INSTALL_DATA) $(srcdir)/README $(docdir)/README
    	$(INSTALL_DATA) $(srcdir)/$(LSM) $(docdir)/$(LSM)
    
    uninstall:
    	rm -f $(bindir)/$(TARGET)
    	rm -f $(man1dir)/$(MANPAGE)
    	rm -rf $(docdir)
    
    clean:
    	rm -rf *.o *~ $(LEXOUTPUT) TAGS
    
    distclean:
    	rm -rf *.o *~ Makefile $(LEXOUTPUT) $(TARGET) $(TMPCONFIGFILES) TAGS
    
    # stuff to update Makefile when changing configuration
    
    $(srcdir)/configure: $(srcdir)/configure.in
    	cd $(srcdir) && autoconf
    
    Makefile: $(srcdir)/Makefile.in $(srcdir)/config.h.in
    	@echo "regeneration with (in ./config.status) saved configure results..."
    	./config.status
    	@echo
    	@echo Please rerun make so it will use the updated Makefile.
    	exit 1
    
    ./config.status: $(srcdir)/configure
    	$(srcdir)/configure
    	@echo
    	@echo Please rerun make so it will use the updated Makefile.
    	exit 1
    
    # stuff to create a distribution
    # also updates the .lsm file with version and size of archive
    dist: $(CONFIGIN) $(CONFIGS) $(LEXSRCS) $(SRCS) $(HDRS) $(DOCS)
    #	@echo This only works if you have not changed
    #	@echo the version number directly before.
    #	@echo If so, start a make without parameters first.
    	@echo
    	@echo Will create
    	@echo $(FILENAME).tar.gz
    	@echo
    	@echo 'Type CTRL-C to abort (you have 5 seconds)!'
    	@sleep 5  
    	@echo "updating" $(TARGET).lsm
    	@rm -rf $(FILENAME)
    	@mkdir $(FILENAME)
    	@cp $(LEXSRCS) $(SRCS) $(HDRS) $(DOCS) $(CONFIGIN) $(FILENAME)
    	@tar -czf $(FILENAME).tar.gz $(FILENAME)
    	@sed -e "s/^Version:.*/Version:        $(VERSION)/" \
    	    -e "s/^Entered-date:.*/Entered-date:   `date \
    			'+%d%b%y' | tr '[a-z]' '[A-Z]'`/" \
    	    -e "s/$(TARGET)-.*.tar.gz/$(FILENAME).tar.gz/" \
    	    -e "s/[0-9]*kB $(FILENAME).tar.gz/`du \
    		 -k $(FILENAME).tar.gz\
    		  | cut -f1`kB $(FILENAME).tar.gz/" \
    	    < $(TARGET).lsm > $(FILENAME)/$(TARGET).lsm
    	@cp $(FILENAME)/$(TARGET).lsm .
    	@echo "creating" $(FILENAME).tar.gz
    	@tar -czf $(FILENAME).tar.gz $(FILENAME)
    java2html-0.9.2/configure.in100600   1751   1751        5732  7103606320  15644 0ustar  schintkeschintkednl Copyright (C) 1999, 2000 Florian Schintke
    dnl
    dnl This is free software; you can redistribute it and/or modify it under
    dnl the terms of the GNU General Public License as published by the Free
    dnl Software Foundation; either version 2, or (at your option) any later
    dnl version. 
    dnl
    dnl This is distributed in the hope that it will be useful, but WITHOUT
    dnl ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    dnl FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    dnl for more details.
    dnl
    dnl You should have received a copy of the GNU General Public License with
    dnl the java2html source package as the
    dnl file COPYING. If not, write to the Free Software Foundation, Inc.,
    dnl 59 Temple Place - Suite 330, Boston, MA
    dnl l02111-1307, USA.
    
    dnl Process this file with autoconf to produce a configure script.
    AC_INIT(java2html.l)
    AC_CONFIG_HEADER(config.h)
    VERSION=0.9.2
    AC_SUBST(VERSION)
    PROJECT_NAME=java2html
    AC_SUBST(PROJECT_NAME)
    
    DOCDIR=\${prefix}/doc/$PROJECT_NAME
    AC_ARG_ENABLE(share-usage, 
    [  --enable-share-usage    Use 'share' in directory names for documentation.
                              Sets the following variables:
                                mandir  = \$(prefix)/share/man
                                infodir = \$(prefix)/share/info
                                docdir  = \$(prefix)/share/doc/java2html],
                               mandir=\${prefix}/share/man;
                               infodir=\${prefix}/share/info;
                               DOCDIR=\${prefix}/share/doc/$PROJECT_NAME)
    
    AC_ARG_ENABLE(fhs, 
    [  --enable-fhs            Use 'File Hierarchy Standard 2.0'
                              Sets the following variables:
                                prefix  = /usr
                                mandir  = /usr/share/man
                                infodir = /usr/share/info
                                docdir  = /usr/share/doc/java2html],
                               prefix=/usr;
                               mandir=\${prefix}/share/man;
                               infodir=\${prefix}/share/info;
                               DOCDIR=\${prefix}/share/doc/$PROJECT_NAME)
    AC_SUBST(DOCDIR)
    dnl Checks for programs.
    dnl AC_PROG_MAKE_SET
    AC_PROG_CC
    AC_PROG_INSTALL
    AC_PROG_LEX
    AC_PROG_MAKE_SET
    
    dnl Checks for libraries.
    AC_CHECK_LIB(fl, yylex)
    
    dnl Checks for header files.
    AC_HEADER_STDC
    AC_CHECK_HEADERS(unistd.h)
    AC_CHECK_HEADERS(getopt.h)
    AC_CHECK_HEADERS(malloc.h)
    
    dnl Checks for typedefs, structures, and compiler characteristics.
    dnl this sets LEX_OUTPUT_ROOT (flex -> lex.yy)
    AC_DECL_YYTEXT
    AC_C_CONST
    AC_TYPE_UID_T
    AC_TYPE_MODE_T
    AC_TYPE_OFF_T
    AC_TYPE_PID_T
    AC_TYPE_SIZE_T
    
    dnl Checks for library functions.
    AC_FUNC_MMAP
    AC_FUNC_STRFTIME
    AC_CHECK_FUNCS(strstr)
    dnl No longer use this function
    dnl AC_CHECK_FUNCS(snprintf)
    AC_CHECK_FUNCS(getopt)
    AC_CHECK_FUNCS(popen)
    AC_CHECK_FUNCS(fileno)
    
    dnl This goes into the config.h file
    AC_DEFINE_UNQUOTED(VERSION,"$VERSION")
    AC_DEFINE_UNQUOTED(PROJECT_NAME,"$PROJECT_NAME")
    
    dnl This is the main outputfile
    AC_OUTPUT(Makefile)
    java2html-0.9.2/configure100700   1751   1751      227426  7103606320  15306 0ustar  schintkeschintke#! /bin/sh
    
    # Guess values for system-dependent variables and create Makefiles.
    # Generated automatically using autoconf version 2.14.1 
    # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
    #
    # This configure script is free software; the Free Software Foundation
    # gives unlimited permission to copy, distribute and modify it.
    
    # Defaults:
    ac_help=
    ac_default_prefix=/usr/local
    # Any additions from configure.in:
    ac_help="$ac_help
      --enable-share-usage    Use 'share' in directory names for documentation.
                              Sets the following variables:
                                mandir  = \$(prefix)/share/man
                                infodir = \$(prefix)/share/info
                                docdir  = \$(prefix)/share/doc/java2html"
    ac_help="$ac_help
      --enable-fhs            Use 'File Hierarchy Standard 2.0'
                              Sets the following variables:
                                prefix  = /usr
                                mandir  = /usr/share/man
                                infodir = /usr/share/info
                                docdir  = /usr/share/doc/java2html"
    
    # Initialize some variables set by options.
    # The variables have the same names as the options, with
    # dashes changed to underlines.
    build=NONE
    cache_file=./config.cache
    exec_prefix=NONE
    host=NONE
    no_create=
    nonopt=NONE
    no_recursion=
    prefix=NONE
    program_prefix=NONE
    program_suffix=NONE
    program_transform_name=s,x,x,
    silent=
    site=
    srcdir=
    target=NONE
    verbose=
    x_includes=NONE
    x_libraries=NONE
    bindir='${exec_prefix}/bin'
    sbindir='${exec_prefix}/sbin'
    libexecdir='${exec_prefix}/libexec'
    datadir='${prefix}/share'
    sysconfdir='${prefix}/etc'
    sharedstatedir='${prefix}/com'
    localstatedir='${prefix}/var'
    libdir='${exec_prefix}/lib'
    includedir='${prefix}/include'
    oldincludedir='/usr/include'
    infodir='${prefix}/info'
    mandir='${prefix}/man'
    
    # Initialize some other variables.
    subdirs=
    MFLAGS= MAKEFLAGS=
    SHELL=${CONFIG_SHELL-/bin/sh}
    # Maximum number of lines to put in a shell here document.
    ac_max_here_lines=12
    
    ac_prev=
    for ac_option
    do
    
      # If the previous option needs an argument, assign it.
      if test -n "$ac_prev"; then
        eval "$ac_prev=\$ac_option"
        ac_prev=
        continue
      fi
    
      case "$ac_option" in
      -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
      *) ac_optarg= ;;
      esac
    
      # Accept the important Cygnus configure options, so we can diagnose typos.
    
      case "$ac_option" in
    
      -bindir | --bindir | --bindi | --bind | --bin | --bi)
        ac_prev=bindir ;;
      -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
        bindir="$ac_optarg" ;;
    
      -build | --build | --buil | --bui | --bu)
        ac_prev=build ;;
      -build=* | --build=* | --buil=* | --bui=* | --bu=*)
        build="$ac_optarg" ;;
    
      -cache-file | --cache-file | --cache-fil | --cache-fi \
      | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
        ac_prev=cache_file ;;
      -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
      | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
        cache_file="$ac_optarg" ;;
    
      -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
        ac_prev=datadir ;;
      -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
      | --da=*)
        datadir="$ac_optarg" ;;
    
      -disable-* | --disable-*)
        ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
        # Reject names that are not valid shell variable names.
        if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
          { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
        fi
        ac_feature=`echo $ac_feature| sed 's/-/_/g'`
        eval "enable_${ac_feature}=no" ;;
    
      -enable-* | --enable-*)
        ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
        # Reject names that are not valid shell variable names.
        if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
          { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
        fi
        ac_feature=`echo $ac_feature| sed 's/-/_/g'`
        case "$ac_option" in
          *=*) ;;
          *) ac_optarg=yes ;;
        esac
        eval "enable_${ac_feature}='$ac_optarg'" ;;
    
      -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
      | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
      | --exec | --exe | --ex)
        ac_prev=exec_prefix ;;
      -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
      | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
      | --exec=* | --exe=* | --ex=*)
        exec_prefix="$ac_optarg" ;;
    
      -gas | --gas | --ga | --g)
        # Obsolete; use --with-gas.
        with_gas=yes ;;
    
      -help | --help | --hel | --he)
        # Omit some internal or obsolete options to make the list less imposing.
        # This message is too long to be a string in the A/UX 3.1 sh.
        cat << EOF
    Usage: configure [options] [host]
    Options: [defaults in brackets after descriptions]
    Configuration:
      --cache-file=FILE       cache test results in FILE
      --help                  print this message
      --no-create             do not create output files
      --quiet, --silent       do not print \`checking...' messages
      --version               print the version of autoconf that created configure
    Directory and file names:
      --prefix=PREFIX         install architecture-independent files in PREFIX
                              [$ac_default_prefix]
      --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                              [same as prefix]
      --bindir=DIR            user executables in DIR [EPREFIX/bin]
      --sbindir=DIR           system admin executables in DIR [EPREFIX/sbin]
      --libexecdir=DIR        program executables in DIR [EPREFIX/libexec]
      --datadir=DIR           read-only architecture-independent data in DIR
                              [PREFIX/share]
      --sysconfdir=DIR        read-only single-machine data in DIR [PREFIX/etc]
      --sharedstatedir=DIR    modifiable architecture-independent data in DIR
                              [PREFIX/com]
      --localstatedir=DIR     modifiable single-machine data in DIR [PREFIX/var]
      --libdir=DIR            object code libraries in DIR [EPREFIX/lib]
      --includedir=DIR        C header files in DIR [PREFIX/include]
      --oldincludedir=DIR     C header files for non-gcc in DIR [/usr/include]
      --infodir=DIR           info documentation in DIR [PREFIX/info]
      --mandir=DIR            man documentation in DIR [PREFIX/man]
      --srcdir=DIR            find the sources in DIR [configure dir or ..]
      --program-prefix=PREFIX prepend PREFIX to installed program names
      --program-suffix=SUFFIX append SUFFIX to installed program names
      --program-transform-name=PROGRAM
                              run sed PROGRAM on installed program names
    EOF
        cat << EOF
    Host type:
      --build=BUILD           configure for building on BUILD [BUILD=HOST]
      --host=HOST             configure for HOST [guessed]
      --target=TARGET         configure for TARGET [TARGET=HOST]
    Features and packages:
      --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
      --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
      --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
      --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
      --x-includes=DIR        X include files are in DIR
      --x-libraries=DIR       X library files are in DIR
    EOF
        if test -n "$ac_help"; then
          echo "--enable and --with options recognized:$ac_help"
        fi
        exit 0 ;;
    
      -host | --host | --hos | --ho)
        ac_prev=host ;;
      -host=* | --host=* | --hos=* | --ho=*)
        host="$ac_optarg" ;;
    
      -includedir | --includedir | --includedi | --included | --include \
      | --includ | --inclu | --incl | --inc)
        ac_prev=includedir ;;
      -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
      | --includ=* | --inclu=* | --incl=* | --inc=*)
        includedir="$ac_optarg" ;;
    
      -infodir | --infodir | --infodi | --infod | --info | --inf)
        ac_prev=infodir ;;
      -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
        infodir="$ac_optarg" ;;
    
      -libdir | --libdir | --libdi | --libd)
        ac_prev=libdir ;;
      -libdir=* | --libdir=* | --libdi=* | --libd=*)
        libdir="$ac_optarg" ;;
    
      -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
      | --libexe | --libex | --libe)
        ac_prev=libexecdir ;;
      -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
      | --libexe=* | --libex=* | --libe=*)
        libexecdir="$ac_optarg" ;;
    
      -localstatedir | --localstatedir | --localstatedi | --localstated \
      | --localstate | --localstat | --localsta | --localst \
      | --locals | --local | --loca | --loc | --lo)
        ac_prev=localstatedir ;;
      -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
      | --localstate=* | --localstat=* | --localsta=* | --localst=* \
      | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
        localstatedir="$ac_optarg" ;;
    
      -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
        ac_prev=mandir ;;
      -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
        mandir="$ac_optarg" ;;
    
      -nfp | --nfp | --nf)
        # Obsolete; use --without-fp.
        with_fp=no ;;
    
      -no-create | --no-create | --no-creat | --no-crea | --no-cre \
      | --no-cr | --no-c)
        no_create=yes ;;
    
      -no-recursion | --no-recursion | --no-recursio | --no-recursi \
      | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
        no_recursion=yes ;;
    
      -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
      | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
      | --oldin | --oldi | --old | --ol | --o)
        ac_prev=oldincludedir ;;
      -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
      | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
      | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
        oldincludedir="$ac_optarg" ;;
    
      -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
        ac_prev=prefix ;;
      -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
        prefix="$ac_optarg" ;;
    
      -program-prefix | --program-prefix | --program-prefi | --program-pref \
      | --program-pre | --program-pr | --program-p)
        ac_prev=program_prefix ;;
      -program-prefix=* | --program-prefix=* | --program-prefi=* \
      | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
        program_prefix="$ac_optarg" ;;
    
      -program-suffix | --program-suffix | --program-suffi | --program-suff \
      | --program-suf | --program-su | --program-s)
        ac_prev=program_suffix ;;
      -program-suffix=* | --program-suffix=* | --program-suffi=* \
      | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
        program_suffix="$ac_optarg" ;;
    
      -program-transform-name | --program-transform-name \
      | --program-transform-nam | --program-transform-na \
      | --program-transform-n | --program-transform- \
      | --program-transform | --program-transfor \
      | --program-transfo | --program-transf \
      | --program-trans | --program-tran \
      | --progr-tra | --program-tr | --program-t)
        ac_prev=program_transform_name ;;
      -program-transform-name=* | --program-transform-name=* \
      | --program-transform-nam=* | --program-transform-na=* \
      | --program-transform-n=* | --program-transform-=* \
      | --program-transform=* | --program-transfor=* \
      | --program-transfo=* | --program-transf=* \
      | --program-trans=* | --program-tran=* \
      | --progr-tra=* | --program-tr=* | --program-t=*)
        program_transform_name="$ac_optarg" ;;
    
      -q | -quiet | --quiet | --quie | --qui | --qu | --q \
      | -silent | --silent | --silen | --sile | --sil)
        silent=yes ;;
    
      -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
        ac_prev=sbindir ;;
      -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
      | --sbi=* | --sb=*)
        sbindir="$ac_optarg" ;;
    
      -sharedstatedir | --sharedstatedir | --sharedstatedi \
      | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
      | --sharedst | --shareds | --shared | --share | --shar \
      | --sha | --sh)
        ac_prev=sharedstatedir ;;
      -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
      | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
      | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
      | --sha=* | --sh=*)
        sharedstatedir="$ac_optarg" ;;
    
      -site | --site | --sit)
        ac_prev=site ;;
      -site=* | --site=* | --sit=*)
        site="$ac_optarg" ;;
    
      -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
        ac_prev=srcdir ;;
      -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
        srcdir="$ac_optarg" ;;
    
      -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
      | --syscon | --sysco | --sysc | --sys | --sy)
        ac_prev=sysconfdir ;;
      -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
      | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
        sysconfdir="$ac_optarg" ;;
    
      -target | --target | --targe | --targ | --tar | --ta | --t)
        ac_prev=target ;;
      -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
        target="$ac_optarg" ;;
    
      -v | -verbose | --verbose | --verbos | --verbo | --verb)
        verbose=yes ;;
    
      -version | --version | --versio | --versi | --vers)
        echo "configure generated by autoconf version 2.14.1"
        exit 0 ;;
    
      -with-* | --with-*)
        ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
        # Reject names that are not valid shell variable names.
        if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
          { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
        fi
        ac_package=`echo $ac_package| sed 's/-/_/g'`
        case "$ac_option" in
          *=*) ;;
          *) ac_optarg=yes ;;
        esac
        eval "with_${ac_package}='$ac_optarg'" ;;
    
      -without-* | --without-*)
        ac_package=`echo $ac_option|sed -e 's/-*without-//'`
        # Reject names that are not valid shell variable names.
        if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
          { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
        fi
        ac_package=`echo $ac_package| sed 's/-/_/g'`
        eval "with_${ac_package}=no" ;;
    
      --x)
        # Obsolete; use --with-x.
        with_x=yes ;;
    
      -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
      | --x-incl | --x-inc | --x-in | --x-i)
        ac_prev=x_includes ;;
      -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
      | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
        x_includes="$ac_optarg" ;;
    
      -x-libraries | --x-libraries | --x-librarie | --x-librari \
      | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
        ac_prev=x_libraries ;;
      -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
      | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
        x_libraries="$ac_optarg" ;;
    
      -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
        ;;
    
      *)
        if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
          echo "configure: warning: $ac_option: invalid host type" 1>&2
        fi
        if test "x$nonopt" != xNONE; then
          { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
        fi
        nonopt="$ac_option"
        ;;
    
      esac
    done
    
    if test -n "$ac_prev"; then
      { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
    fi
    
    trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
    
    # File descriptor usage:
    # 0 standard input
    # 1 file creation
    # 2 errors and warnings
    # 3 some systems may open it to /dev/tty
    # 4 used on the Kubota Titan
    # 6 checking for... messages and results
    # 5 compiler messages saved in config.log
    if test "$silent" = yes; then
      exec 6>/dev/null
    else
      exec 6>&1
    fi
    exec 5>./config.log
    
    echo "\
    This file contains any messages produced by compilers while
    running configure, to aid debugging if configure makes a mistake.
    " 1>&5
    
    # Strip out --no-create and --no-recursion so they do not pile up.
    # Also quote any args containing shell metacharacters.
    ac_configure_args=
    for ac_arg
    do
      case "$ac_arg" in
      -no-create | --no-create | --no-creat | --no-crea | --no-cre \
      | --no-cr | --no-c) ;;
      -no-recursion | --no-recursion | --no-recursio | --no-recursi \
      | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
      *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
      ac_configure_args="$ac_configure_args '$ac_arg'" ;;
      *) ac_configure_args="$ac_configure_args $ac_arg" ;;
      esac
    done
    
    # NLS nuisances.
    # Only set these to C if already set.  These must not be set unconditionally
    # because not all systems understand e.g. LANG=C (notably SCO).
    # Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
    # Non-C LC_CTYPE values break the ctype check.
    if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
    if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
    if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
    if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi
    
    # confdefs.h avoids OS command line length limits that DEFS can exceed.
    rm -rf conftest* confdefs.h
    # AIX cpp loses on an empty file, so make sure it contains at least a newline.
    echo > confdefs.h
    
    # A filename unique to this package, relative to the directory that
    # configure is in, which we can look for to find out if srcdir is correct.
    ac_unique_file=java2html.l
    
    # Find the source files, if location was not specified.
    if test -z "$srcdir"; then
      ac_srcdir_defaulted=yes
      # Try the directory containing this script, then its parent.
      ac_prog=$0
      ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
      test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
      srcdir=$ac_confdir
      if test ! -r $srcdir/$ac_unique_file; then
        srcdir=..
      fi
    else
      ac_srcdir_defaulted=no
    fi
    if test ! -r $srcdir/$ac_unique_file; then
      if test "$ac_srcdir_defaulted" = yes; then
        { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
      else
        { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
      fi
    fi
    srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
    
    # Prefer explicitly selected file to automatically selected ones.
    if test -z "$CONFIG_SITE"; then
      if test "x$prefix" != xNONE; then
        CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
      else
        CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
      fi
    fi
    for ac_site_file in $CONFIG_SITE; do
      if test -r "$ac_site_file"; then
        echo "loading site script $ac_site_file"
        . "$ac_site_file"
      fi
    done
    
    if test -r "$cache_file"; then
      echo "loading cache $cache_file"
          test -f "$cache_file" && . $cache_file
    else
      echo "creating cache $cache_file"
      > $cache_file
    fi
    
    ac_ext=c
    # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
    ac_cpp='$CPP $CPPFLAGS'
    ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
    ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
    cross_compiling=$ac_cv_prog_cc_cross
    
    ac_exeext=
    ac_objext=o
    if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
      # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
      if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
        ac_n= ac_c='
    ' ac_t='	'
      else
        ac_n=-n ac_c= ac_t=
      fi
    else
      ac_n= ac_c='\c' ac_t=
    fi
    
    
    
    VERSION=0.9.2
    
    PROJECT_NAME=java2html
    
    
    DOCDIR=\${prefix}/doc/$PROJECT_NAME
    # Check whether --enable-share-usage or --disable-share-usage was given.
    if test "${enable_share_usage+set}" = set; then
      enableval="$enable_share_usage"
      mandir=\${prefix}/share/man;
                               infodir=\${prefix}/share/info;
                               DOCDIR=\${prefix}/share/doc/$PROJECT_NAME
    fi
    
    
    # Check whether --enable-fhs or --disable-fhs was given.
    if test "${enable_fhs+set}" = set; then
      enableval="$enable_fhs"
      prefix=/usr;
                               mandir=\${prefix}/share/man;
                               infodir=\${prefix}/share/info;
                               DOCDIR=\${prefix}/share/doc/$PROJECT_NAME
    fi
    
    
    # Extract the first word of "gcc", so it can be a program name with args.
    set dummy gcc; ac_word=$2
    echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    echo "configure:567: checking for $ac_word" >&5
    if eval "test \"\${ac_cv_prog_CC+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      if test -n "$CC"; then
      ac_cv_prog_CC="$CC" # Let the user override the test.
    else
      IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
      ac_dummy="$PATH"
      for ac_dir in $ac_dummy; do
        test -z "$ac_dir" && ac_dir=.
        if test -f $ac_dir/$ac_word; then
          ac_cv_prog_CC="gcc"
          break
        fi
      done
      IFS="$ac_save_ifs"
    fi
    fi
    CC="$ac_cv_prog_CC"
    if test -n "$CC"; then
      echo "$ac_t""$CC" 1>&6
    else
      echo "$ac_t""no" 1>&6
    fi
    
    if test -z "$CC"; then
      # Extract the first word of "cc", so it can be a program name with args.
    set dummy cc; ac_word=$2
    echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    echo "configure:597: checking for $ac_word" >&5
    if eval "test \"\${ac_cv_prog_CC+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      if test -n "$CC"; then
      ac_cv_prog_CC="$CC" # Let the user override the test.
    else
      IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
      ac_prog_rejected=no
      ac_dummy="$PATH"
      for ac_dir in $ac_dummy; do
        test -z "$ac_dir" && ac_dir=.
        if test -f $ac_dir/$ac_word; then
          if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
            ac_prog_rejected=yes
    	continue
          fi
          ac_cv_prog_CC="cc"
          break
        fi
      done
      IFS="$ac_save_ifs"
    if test $ac_prog_rejected = yes; then
      # We found a bogon in the path, so make sure we never use it.
      set dummy $ac_cv_prog_CC
      shift
      if test $# -gt 0; then
        # We chose a different compiler from the bogus one.
        # However, it has the same basename, so the bogon will be chosen
        # first if we set CC to just the basename; use the full file name.
        shift
        set dummy "$ac_dir/$ac_word" "$@"
        shift
        ac_cv_prog_CC="$@"
      fi
    fi
    fi
    fi
    CC="$ac_cv_prog_CC"
    if test -n "$CC"; then
      echo "$ac_t""$CC" 1>&6
    else
      echo "$ac_t""no" 1>&6
    fi
    
      if test -z "$CC"; then
        case "`uname -s`" in
        *win32* | *WIN32* | *CYGWIN*)
          # Extract the first word of "cl", so it can be a program name with args.
    set dummy cl; ac_word=$2
    echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    echo "configure:648: checking for $ac_word" >&5
    if eval "test \"\${ac_cv_prog_CC+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      if test -n "$CC"; then
      ac_cv_prog_CC="$CC" # Let the user override the test.
    else
      IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
      ac_dummy="$PATH"
      for ac_dir in $ac_dummy; do
        test -z "$ac_dir" && ac_dir=.
        if test -f $ac_dir/$ac_word; then
          ac_cv_prog_CC="cl"
          break
        fi
      done
      IFS="$ac_save_ifs"
    fi
    fi
    CC="$ac_cv_prog_CC"
    if test -n "$CC"; then
      echo "$ac_t""$CC" 1>&6
    else
      echo "$ac_t""no" 1>&6
    fi
     ;;
        esac
      fi
      test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
    fi
    
    echo $ac_n "checking whether the C compiler ($CC $CFLAGS $CPPFLAGS $LDFLAGS) works""... $ac_c" 1>&6
    echo "configure:680: checking whether the C compiler ($CC $CFLAGS $CPPFLAGS $LDFLAGS) works" >&5
    
    ac_ext=c
    # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
    ac_cpp='$CPP $CPPFLAGS'
    ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
    ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
    cross_compiling=$ac_cv_prog_cc_cross
    
    cat > conftest.$ac_ext << EOF
    
    #line 691 "configure"
    #include "confdefs.h"
    
    main(){return(0);}
    EOF
    if { (eval echo configure:696: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      ac_cv_prog_cc_works=yes
      # If we can't run a trivial program, we are probably using a cross compiler.
      if (./conftest; exit) 2>/dev/null; then
        ac_cv_prog_cc_cross=no
      else
        ac_cv_prog_cc_cross=yes
      fi
    else
      echo "configure: failed program was:" >&5
      cat conftest.$ac_ext >&5
      ac_cv_prog_cc_works=no
    fi
    rm -fr conftest*
    ac_ext=c
    # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
    ac_cpp='$CPP $CPPFLAGS'
    ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
    ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
    cross_compiling=$ac_cv_prog_cc_cross
    
    echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
    if test $ac_cv_prog_cc_works = no; then
      { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
    fi
    echo $ac_n "checking whether the C compiler ($CC $CFLAGS $CPPFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
    echo "configure:722: checking whether the C compiler ($CC $CFLAGS $CPPFLAGS $LDFLAGS) is a cross-compiler" >&5
    echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
    cross_compiling=$ac_cv_prog_cc_cross
    
    echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
    echo "configure:727: checking whether we are using GNU C" >&5
    if eval "test \"\${ac_cv_prog_gcc+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
      ac_cv_prog_gcc=yes
    else
      ac_cv_prog_gcc=no
    fi
    fi
    
    echo "$ac_t""$ac_cv_prog_gcc" 1>&6
    
    if test $ac_cv_prog_gcc = yes; then
      GCC=yes
    else
      GCC=
    fi
    
    ac_test_CFLAGS="${CFLAGS+set}"
    ac_save_CFLAGS="$CFLAGS"
    CFLAGS=
    echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
    echo "configure:755: checking whether ${CC-cc} accepts -g" >&5
    if eval "test \"\${ac_cv_prog_cc_g+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      echo 'void f(){}' > conftest.c
    if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
      ac_cv_prog_cc_g=yes
    else
      ac_cv_prog_cc_g=no
    fi
    rm -f conftest*
    
    fi
    
    echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
    if test "$ac_test_CFLAGS" = set; then
      CFLAGS="$ac_save_CFLAGS"
    elif test $ac_cv_prog_cc_g = yes; then
      if test "$GCC" = yes; then
        CFLAGS="-g -O2"
      else
        CFLAGS="-g"
      fi
    else
      if test "$GCC" = yes; then
        CFLAGS="-O2"
      else
        CFLAGS=
      fi
    fi
    
    ac_aux_dir=
    for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
      if test -f $ac_dir/install-sh; then
        ac_aux_dir=$ac_dir
        ac_install_sh="$ac_aux_dir/install-sh -c"
        break
      elif test -f $ac_dir/install.sh; then
        ac_aux_dir=$ac_dir
        ac_install_sh="$ac_aux_dir/install.sh -c"
        break
      fi
    done
    if test -z "$ac_aux_dir"; then
      { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
    fi
    ac_config_guess="$SHELL $ac_aux_dir/config.guess"
    ac_config_sub="$SHELL $ac_aux_dir/config.sub"
    ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
    
    # Find a good install program.  We prefer a C program (faster),
    # so one script is as good as another.  But avoid the broken or
    # incompatible versions:
    # SysV /etc/install, /usr/sbin/install
    # SunOS /usr/etc/install
    # IRIX /sbin/install
    # AIX /bin/install
    # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
    # AFS /usr/afsws/bin/install, which mishandles nonexistent args
    # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
    # ./install, which can be erroneously created by make from ./install.sh.
    echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
    echo "configure:817: checking for a BSD compatible install" >&5
    if test -z "$INSTALL"; then
    if eval "test \"\${ac_cv_path_install+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
        IFS="${IFS= 	}"; ac_save_IFS="$IFS"; IFS=":"
      for ac_dir in $PATH; do
        # Account for people who put trailing slashes in PATH elements.
        case "$ac_dir/" in
        /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
        *)
          # OSF1 and SCO ODT 3.0 have their own names for install.
          # Don't use installbsd from OSF since it installs stuff as root
          # by default.
          for ac_prog in ginstall scoinst install; do
            if test -f $ac_dir/$ac_prog; then
    	  if test $ac_prog = install &&
                grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
    	    # AIX install.  It has an incompatible calling convention.
    	    :
    	  elif test $ac_prog = install &&
    	    grep pwplus $ac_dir/$ac_prog >/dev/null 2>&1; then
    	    # program-specific install script used by HP pwplus--don't use.
    	    :
    	  else
    	    ac_cv_path_install="$ac_dir/$ac_prog -c"
    	    break 2
    	  fi
    	fi
          done
          ;;
        esac
      done
      IFS="$ac_save_IFS"
    
    fi
      if test "${ac_cv_path_install+set}" = set; then
        INSTALL="$ac_cv_path_install"
      else
        # As a last resort, use the slow shell script.  We don't cache a
        # path for INSTALL within a source directory, because that will
        # break other packages using the cache if that directory is
        # removed, or if the path is relative.
        INSTALL="$ac_install_sh"
      fi
    fi
    echo "$ac_t""$INSTALL" 1>&6
    
    # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
    # It thinks the first close brace ends the variable substitution.
    test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
    
    test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
    
    test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
    
    # Extract the first word of "flex", so it can be a program name with args.
    set dummy flex; ac_word=$2
    echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    echo "configure:876: checking for $ac_word" >&5
    if eval "test \"\${ac_cv_prog_LEX+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      if test -n "$LEX"; then
      ac_cv_prog_LEX="$LEX" # Let the user override the test.
    else
      IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
      ac_dummy="$PATH"
      for ac_dir in $ac_dummy; do
        test -z "$ac_dir" && ac_dir=.
        if test -f $ac_dir/$ac_word; then
          ac_cv_prog_LEX="flex"
          break
        fi
      done
      IFS="$ac_save_ifs"
      test -z "$ac_cv_prog_LEX" && ac_cv_prog_LEX="lex"
    fi
    fi
    LEX="$ac_cv_prog_LEX"
    if test -n "$LEX"; then
      echo "$ac_t""$LEX" 1>&6
    else
      echo "$ac_t""no" 1>&6
    fi
    
    if test -z "$LEXLIB"
    then
      case "$LEX" in
      flex*) ac_lib=fl ;;
      *) ac_lib=l ;;
      esac
      echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6
    echo "configure:910: checking for yywrap in -l$ac_lib" >&5
    ac_lib_var=`echo $ac_lib'_'yywrap | sed 'y%./+-%__p_%'`
    if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      ac_save_LIBS="$LIBS"
    LIBS="-l$ac_lib  $LIBS"
    cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      rm -rf conftest*
      eval "ac_cv_lib_$ac_lib_var=yes"
    else
      echo "configure: failed program was:" >&5
      cat conftest.$ac_ext >&5
      rm -rf conftest*
      eval "ac_cv_lib_$ac_lib_var=no"
    fi
    rm -f conftest*
    LIBS="$ac_save_LIBS"
    
    fi
    if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
      echo "$ac_t""yes" 1>&6
      LEXLIB="-l$ac_lib"
    else
      echo "$ac_t""no" 1>&6
    fi
    
    fi
    
    echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
    echo "configure:952: checking whether ${MAKE-make} sets \${MAKE}" >&5
    set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
    if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      cat > conftestmake <<\EOF
    all:
    	@echo 'ac_maketemp="${MAKE}"'
    EOF
    # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
    eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
    if test -n "$ac_maketemp"; then
      eval ac_cv_prog_make_${ac_make}_set=yes
    else
      eval ac_cv_prog_make_${ac_make}_set=no
    fi
    rm -f conftestmake
    fi
    if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
      echo "$ac_t""yes" 1>&6
      SET_MAKE=
    else
      echo "$ac_t""no" 1>&6
      SET_MAKE="MAKE=${MAKE-make}"
    fi
    
    
    echo $ac_n "checking for yylex in -lfl""... $ac_c" 1>&6
    echo "configure:980: checking for yylex in -lfl" >&5
    ac_lib_var=`echo fl'_'yylex | sed 'y%./+-%__p_%'`
    if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      ac_save_LIBS="$LIBS"
    LIBS="-lfl  $LIBS"
    cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      rm -rf conftest*
      eval "ac_cv_lib_$ac_lib_var=yes"
    else
      echo "configure: failed program was:" >&5
      cat conftest.$ac_ext >&5
      rm -rf conftest*
      eval "ac_cv_lib_$ac_lib_var=no"
    fi
    rm -f conftest*
    LIBS="$ac_save_LIBS"
    
    fi
    if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
      echo "$ac_t""yes" 1>&6
        ac_tr_lib=HAVE_LIB`echo fl | sed -e 's/[^a-zA-Z0-9_]/_/g' \
        -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
      cat >> confdefs.h <&6
    fi
    
    
    echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
    echo "configure:1028: checking how to run the C preprocessor" >&5
    # On Suns, sometimes $CPP names a directory.
    if test -n "$CPP" && test -d "$CPP"; then
      CPP=
    fi
    if test -z "$CPP"; then
    if eval "test \"\${ac_cv_prog_CPP+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
        # This must be in double quotes, not single quotes, because CPP may get
      # substituted into the Makefile and "${CC-cc}" will confuse make.
      CPP="${CC-cc} -E"
      # On the NeXT, cc -E runs the code through the compiler's parser,
      # not just through cpp.
      cat > conftest.$ac_ext <
    Syntax Error
    EOF
    ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
    { (eval echo configure:1049: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
    ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
    if test -z "$ac_err"; then
      :
    else
      echo "$ac_err" >&5
      echo "configure: failed program was:" >&5
      cat conftest.$ac_ext >&5
      rm -rf conftest*
      CPP="${CC-cc} -E -traditional-cpp"
      cat > conftest.$ac_ext <
    Syntax Error
    EOF
    ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
    { (eval echo configure:1066: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
    ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
    if test -z "$ac_err"; then
      :
    else
      echo "$ac_err" >&5
      echo "configure: failed program was:" >&5
      cat conftest.$ac_ext >&5
      rm -rf conftest*
      CPP="${CC-cc} -nologo -E"
      cat > conftest.$ac_ext <
    Syntax Error
    EOF
    ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
    { (eval echo configure:1083: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
    ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
    if test -z "$ac_err"; then
      :
    else
      echo "$ac_err" >&5
      echo "configure: failed program was:" >&5
      cat conftest.$ac_ext >&5
      rm -rf conftest*
      CPP=/lib/cpp
    fi
    rm -f conftest*
    fi
    rm -f conftest*
    fi
    rm -f conftest*
      ac_cv_prog_CPP="$CPP"
    fi
      CPP="$ac_cv_prog_CPP"
    else
      ac_cv_prog_CPP="$CPP"
    fi
    echo "$ac_t""$CPP" 1>&6
    
    echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
    echo "configure:1108: checking for ANSI C header files" >&5
    if eval "test \"\${ac_cv_header_stdc+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      cat > conftest.$ac_ext <
    #include 
    #include 
    #include 
    EOF
    ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
    { (eval echo configure:1121: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
    ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
    if test -z "$ac_err"; then
      rm -rf conftest*
      ac_cv_header_stdc=yes
    else
      echo "$ac_err" >&5
      echo "configure: failed program was:" >&5
      cat conftest.$ac_ext >&5
      rm -rf conftest*
      ac_cv_header_stdc=no
    fi
    rm -f conftest*
    
    if test $ac_cv_header_stdc = yes; then
      # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
    cat > conftest.$ac_ext <
    EOF
    if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
      egrep "memchr" >/dev/null 2>&1; then
      :
    else
      rm -rf conftest*
      ac_cv_header_stdc=no
    fi
    rm -f conftest*
    
    fi
    
    if test $ac_cv_header_stdc = yes; then
      # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
    cat > conftest.$ac_ext <
    EOF
    if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
      egrep "free" >/dev/null 2>&1; then
      :
    else
      rm -rf conftest*
      ac_cv_header_stdc=no
    fi
    rm -f conftest*
    
    fi
    
    if test $ac_cv_header_stdc = yes; then
      # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
    if test "$cross_compiling" = yes; then
      :
    else
      cat > conftest.$ac_ext <
    #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
    #define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
    #define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
    int main () { int i; for (i = 0; i < 256; i++)
    if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
    exit (0); }
    
    EOF
    if { (eval echo configure:1188: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
    then
      :
    else
      echo "configure: failed program was:" >&5
      cat conftest.$ac_ext >&5
      rm -fr conftest*
      ac_cv_header_stdc=no
    fi
    rm -fr conftest*
    fi
    
    fi
    fi
    
    echo "$ac_t""$ac_cv_header_stdc" 1>&6
    if test $ac_cv_header_stdc = yes; then
      cat >> confdefs.h <<\EOF
    #define STDC_HEADERS 1
    EOF
    
    fi
    
    for ac_hdr in unistd.h
    do
    ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
    echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
    echo "configure:1215: checking for $ac_hdr" >&5
    if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      cat > conftest.$ac_ext <
    EOF
    ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
    { (eval echo configure:1225: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
    ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
    if test -z "$ac_err"; then
      rm -rf conftest*
      eval "ac_cv_header_$ac_safe=yes"
    else
      echo "$ac_err" >&5
      echo "configure: failed program was:" >&5
      cat conftest.$ac_ext >&5
      rm -rf conftest*
      eval "ac_cv_header_$ac_safe=no"
    fi
    rm -f conftest*
    fi
    if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
      echo "$ac_t""yes" 1>&6
        ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
      cat >> confdefs.h <&6
    fi
    done
    
    for ac_hdr in getopt.h
    do
    ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
    echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
    echo "configure:1255: checking for $ac_hdr" >&5
    if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      cat > conftest.$ac_ext <
    EOF
    ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
    { (eval echo configure:1265: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
    ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
    if test -z "$ac_err"; then
      rm -rf conftest*
      eval "ac_cv_header_$ac_safe=yes"
    else
      echo "$ac_err" >&5
      echo "configure: failed program was:" >&5
      cat conftest.$ac_ext >&5
      rm -rf conftest*
      eval "ac_cv_header_$ac_safe=no"
    fi
    rm -f conftest*
    fi
    if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
      echo "$ac_t""yes" 1>&6
        ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
      cat >> confdefs.h <&6
    fi
    done
    
    for ac_hdr in malloc.h
    do
    ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
    echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
    echo "configure:1295: checking for $ac_hdr" >&5
    if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      cat > conftest.$ac_ext <
    EOF
    ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
    { (eval echo configure:1305: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
    ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
    if test -z "$ac_err"; then
      rm -rf conftest*
      eval "ac_cv_header_$ac_safe=yes"
    else
      echo "$ac_err" >&5
      echo "configure: failed program was:" >&5
      cat conftest.$ac_ext >&5
      rm -rf conftest*
      eval "ac_cv_header_$ac_safe=no"
    fi
    rm -f conftest*
    fi
    if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
      echo "$ac_t""yes" 1>&6
        ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
      cat >> confdefs.h <&6
    fi
    done
    
    
    echo $ac_n "checking lex output file root""... $ac_c" 1>&6
    echo "configure:1333: checking lex output file root" >&5
    if eval "test \"\${ac_cv_prog_lex_root+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      # The minimal lex program is just a single line: %%.  But some broken lexes
    # (Solaris, I think it was) want two %% lines, so accommodate them.
    echo '%%
    %%' | $LEX
    if test -f lex.yy.c; then
      ac_cv_prog_lex_root=lex.yy
    elif test -f lexyy.c; then
      ac_cv_prog_lex_root=lexyy
    else
      { echo "configure: error: cannot find output from $LEX; giving up" 1>&2; exit 1; }
    fi
    fi
    
    echo "$ac_t""$ac_cv_prog_lex_root" 1>&6
    LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root
    
    echo $ac_n "checking whether yytext is a pointer""... $ac_c" 1>&6
    echo "configure:1354: checking whether yytext is a pointer" >&5
    if eval "test \"\${ac_cv_prog_lex_yytext_pointer+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      # POSIX says lex can declare yytext either as a pointer or an array; the
    # default is implementation-dependent. Figure out which it is, since
    # not all implementations provide the %pointer and %array declarations.
    ac_cv_prog_lex_yytext_pointer=no
    echo 'extern char *yytext;' >>$LEX_OUTPUT_ROOT.c
    ac_save_LIBS="$LIBS"
    LIBS="$LIBS $LEXLIB"
    cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      rm -rf conftest*
      ac_cv_prog_lex_yytext_pointer=yes
    else
      echo "configure: failed program was:" >&5
      cat conftest.$ac_ext >&5
    fi
    rm -f conftest*
    LIBS="$ac_save_LIBS"
    rm -f "${LEX_OUTPUT_ROOT}.c"
    
    fi
    
    echo "$ac_t""$ac_cv_prog_lex_yytext_pointer" 1>&6
    if test $ac_cv_prog_lex_yytext_pointer = yes; then
      cat >> confdefs.h <<\EOF
    #define YYTEXT_POINTER 1
    EOF
    
    fi
    
    echo $ac_n "checking for working const""... $ac_c" 1>&6
    echo "configure:1395: checking for working const" >&5
    if eval "test \"\${ac_cv_c_const+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      cat > conftest.$ac_ext <j = 5;
    }
    { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
      const int foo = 10;
    }
    
    ; return 0; }
    EOF
    if { (eval echo configure:1449: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
      rm -rf conftest*
      ac_cv_c_const=yes
    else
      echo "configure: failed program was:" >&5
      cat conftest.$ac_ext >&5
      rm -rf conftest*
      ac_cv_c_const=no
    fi
    rm -f conftest*
    fi
    
    echo "$ac_t""$ac_cv_c_const" 1>&6
    if test $ac_cv_c_const = no; then
      cat >> confdefs.h <<\EOF
    #define const 
    EOF
    
    fi
    
    echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6
    echo "configure:1470: checking for uid_t in sys/types.h" >&5
    if eval "test \"\${ac_cv_type_uid_t+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      cat > conftest.$ac_ext <
    EOF
    if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
      egrep "uid_t" >/dev/null 2>&1; then
      rm -rf conftest*
      ac_cv_type_uid_t=yes
    else
      rm -rf conftest*
      ac_cv_type_uid_t=no
    fi
    rm -f conftest*
    
    fi
    
    echo "$ac_t""$ac_cv_type_uid_t" 1>&6
    if test $ac_cv_type_uid_t = no; then
      cat >> confdefs.h <<\EOF
    #define uid_t int
    EOF
    
      cat >> confdefs.h <<\EOF
    #define gid_t int
    EOF
    
    fi
    
    echo $ac_n "checking for mode_t""... $ac_c" 1>&6
    echo "configure:1504: checking for mode_t" >&5
    if eval "test \"\${ac_cv_type_mode_t+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      cat > conftest.$ac_ext <
    #if STDC_HEADERS
    #include 
    #include 
    #endif
    EOF
    if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
      egrep "(^|[^a-zA-Z_0-9])mode_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
      rm -rf conftest*
      eval "ac_cv_type_mode_t=yes"
    else
      rm -rf conftest*
      eval "ac_cv_type_mode_t=no"
    fi
    rm -f conftest*
    
    fi
    if eval "test \"`echo '$ac_cv_type_'mode_t`\" = yes"; then
      echo "$ac_t""yes" 1>&6
    else
      echo "$ac_t""no" 1>&6
      cat >> confdefs.h <&6
    echo "configure:1539: checking for off_t" >&5
    if eval "test \"\${ac_cv_type_off_t+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      cat > conftest.$ac_ext <
    #if STDC_HEADERS
    #include 
    #include 
    #endif
    EOF
    if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
      egrep "(^|[^a-zA-Z_0-9])off_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
      rm -rf conftest*
      eval "ac_cv_type_off_t=yes"
    else
      rm -rf conftest*
      eval "ac_cv_type_off_t=no"
    fi
    rm -f conftest*
    
    fi
    if eval "test \"`echo '$ac_cv_type_'off_t`\" = yes"; then
      echo "$ac_t""yes" 1>&6
    else
      echo "$ac_t""no" 1>&6
      cat >> confdefs.h <&6
    echo "configure:1574: checking for pid_t" >&5
    if eval "test \"\${ac_cv_type_pid_t+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      cat > conftest.$ac_ext <
    #if STDC_HEADERS
    #include 
    #include 
    #endif
    EOF
    if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
      egrep "(^|[^a-zA-Z_0-9])pid_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
      rm -rf conftest*
      eval "ac_cv_type_pid_t=yes"
    else
      rm -rf conftest*
      eval "ac_cv_type_pid_t=no"
    fi
    rm -f conftest*
    
    fi
    if eval "test \"`echo '$ac_cv_type_'pid_t`\" = yes"; then
      echo "$ac_t""yes" 1>&6
    else
      echo "$ac_t""no" 1>&6
      cat >> confdefs.h <&6
    echo "configure:1609: checking for size_t" >&5
    if eval "test \"\${ac_cv_type_size_t+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      cat > conftest.$ac_ext <
    #if STDC_HEADERS
    #include 
    #include 
    #endif
    EOF
    if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
      egrep "(^|[^a-zA-Z_0-9])size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
      rm -rf conftest*
      eval "ac_cv_type_size_t=yes"
    else
      rm -rf conftest*
      eval "ac_cv_type_size_t=no"
    fi
    rm -f conftest*
    
    fi
    if eval "test \"`echo '$ac_cv_type_'size_t`\" = yes"; then
      echo "$ac_t""yes" 1>&6
    else
      echo "$ac_t""no" 1>&6
      cat >> confdefs.h <&6
    echo "configure:1648: checking for $ac_hdr" >&5
    if eval "test \"\${ac_cv_header_$ac_safe+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      cat > conftest.$ac_ext <
    EOF
    ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
    { (eval echo configure:1658: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
    ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
    if test -z "$ac_err"; then
      rm -rf conftest*
      eval "ac_cv_header_$ac_safe=yes"
    else
      echo "$ac_err" >&5
      echo "configure: failed program was:" >&5
      cat conftest.$ac_ext >&5
      rm -rf conftest*
      eval "ac_cv_header_$ac_safe=no"
    fi
    rm -f conftest*
    fi
    if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
      echo "$ac_t""yes" 1>&6
        ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
      cat >> confdefs.h <&6
    fi
    done
    
    for ac_func in getpagesize
    do
    echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
    echo "configure:1687: checking for $ac_func" >&5
    if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      cat > conftest.$ac_ext <
    /* Override any gcc2 internal prototype to avoid an error.  */
    /* We use char because int might match the return type of a gcc2
        builtin and then its argument prototype would still apply.  */
    char $ac_func();
    char (*f)();
    
    int main() {
    
    /* The GNU C library defines this for functions which it implements
        to always fail with ENOSYS.  Some functions are actually named
        something starting with __ and the normal name is an alias.  */
    #if defined (__stub_$ac_func) || defined (__stub___$ac_func)
    choke me
    #else
    f = $ac_func;
    #endif
    
    ; return 0; }
    EOF
    if { (eval echo configure:1716: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      rm -rf conftest*
      eval "ac_cv_func_$ac_func=yes"
    else
      echo "configure: failed program was:" >&5
      cat conftest.$ac_ext >&5
      rm -rf conftest*
      eval "ac_cv_func_$ac_func=no"
    fi
    rm -f conftest*
    fi
    
    if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
      echo "$ac_t""yes" 1>&6
        ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
      cat >> confdefs.h <&6
    fi
    done
    
    echo $ac_n "checking for working mmap""... $ac_c" 1>&6
    echo "configure:1741: checking for working mmap" >&5
    if eval "test \"\${ac_cv_func_mmap_fixed_mapped+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      if test "$cross_compiling" = yes; then
      ac_cv_func_mmap_fixed_mapped=no
    else
      cat > conftest.$ac_ext <
    #include 
    #include 
    
    /* This mess was copied from the GNU getpagesize.h.  */
    #ifndef HAVE_GETPAGESIZE
    # ifdef HAVE_UNISTD_H
    #  include 
    # endif
    
    /* Assume that all systems that can run configure have sys/param.h.  */
    # ifndef HAVE_SYS_PARAM_H
    #  define HAVE_SYS_PARAM_H 1
    # endif
    
    # ifdef _SC_PAGESIZE
    #  define getpagesize() sysconf(_SC_PAGESIZE)
    # else /* no _SC_PAGESIZE */
    #  ifdef HAVE_SYS_PARAM_H
    #   include 
    #   ifdef EXEC_PAGESIZE
    #    define getpagesize() EXEC_PAGESIZE
    #   else /* no EXEC_PAGESIZE */
    #    ifdef NBPG
    #     define getpagesize() NBPG * CLSIZE
    #     ifndef CLSIZE
    #      define CLSIZE 1
    #     endif /* no CLSIZE */
    #    else /* no NBPG */
    #     ifdef NBPC
    #      define getpagesize() NBPC
    #     else /* no NBPC */
    #      ifdef PAGESIZE
    #       define getpagesize() PAGESIZE
    #      endif /* PAGESIZE */
    #     endif /* no NBPC */
    #    endif /* no NBPG */
    #   endif /* no EXEC_PAGESIZE */
    #  else /* no HAVE_SYS_PARAM_H */
    #   define getpagesize() 8192	/* punt totally */
    #  endif /* no HAVE_SYS_PARAM_H */
    # endif /* no _SC_PAGESIZE */
    
    #endif /* no HAVE_GETPAGESIZE */
    
    #ifdef __cplusplus
    extern "C" { void *malloc(unsigned); }
    #else
    char *malloc();
    #endif
    
    int
    main()
    {
    	char *data, *data2, *data3;
    	int i, pagesize;
    	int fd;
    
    	pagesize = getpagesize();
    
    	/*
    	 * First, make a file with some known garbage in it.
    	 */
    	data = malloc(pagesize);
    	if (!data)
    		exit(1);
    	for (i = 0; i < pagesize; ++i)
    		*(data + i) = rand();
    	umask(0);
    	fd = creat("conftestmmap", 0600);
    	if (fd < 0)
    		exit(1);
    	if (write(fd, data, pagesize) != pagesize)
    		exit(1);
    	close(fd);
    
    	/*
    	 * Next, try to mmap the file at a fixed address which
    	 * already has something else allocated at it.  If we can,
    	 * also make sure that we see the same garbage.
    	 */
    	fd = open("conftestmmap", O_RDWR);
    	if (fd < 0)
    		exit(1);
    	data2 = malloc(2 * pagesize);
    	if (!data2)
    		exit(1);
    	data2 += (pagesize - ((int) data2 & (pagesize - 1))) & (pagesize - 1);
    	if (data2 != mmap(data2, pagesize, PROT_READ | PROT_WRITE,
    	    MAP_PRIVATE | MAP_FIXED, fd, 0L))
    		exit(1);
    	for (i = 0; i < pagesize; ++i)
    		if (*(data + i) != *(data2 + i))
    			exit(1);
    
    	/*
    	 * Finally, make sure that changes to the mapped area
    	 * do not percolate back to the file as seen by read().
    	 * (This is a bug on some variants of i386 svr4.0.)
    	 */
    	for (i = 0; i < pagesize; ++i)
    		*(data2 + i) = *(data2 + i) + 1;
    	data3 = malloc(pagesize);
    	if (!data3)
    		exit(1);
    	if (read(fd, data3, pagesize) != pagesize)
    		exit(1);
    	for (i = 0; i < pagesize; ++i)
    		if (*(data + i) != *(data3 + i))
    			exit(1);
    	close(fd);
    	unlink("conftestmmap");
    	exit(0);
    }
    
    EOF
    if { (eval echo configure:1889: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
    then
      ac_cv_func_mmap_fixed_mapped=yes
    else
      echo "configure: failed program was:" >&5
      cat conftest.$ac_ext >&5
      rm -fr conftest*
      ac_cv_func_mmap_fixed_mapped=no
    fi
    rm -fr conftest*
    fi
    
    fi
    
    echo "$ac_t""$ac_cv_func_mmap_fixed_mapped" 1>&6
    if test $ac_cv_func_mmap_fixed_mapped = yes; then
      cat >> confdefs.h <<\EOF
    #define HAVE_MMAP 1
    EOF
    
    fi
    
    echo $ac_n "checking for strftime""... $ac_c" 1>&6
    echo "configure:1912: checking for strftime" >&5
    if eval "test \"\${ac_cv_func_strftime+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      cat > conftest.$ac_ext <
    /* Override any gcc2 internal prototype to avoid an error.  */
    /* We use char because int might match the return type of a gcc2
        builtin and then its argument prototype would still apply.  */
    char strftime();
    char (*f)();
    
    int main() {
    
    /* The GNU C library defines this for functions which it implements
        to always fail with ENOSYS.  Some functions are actually named
        something starting with __ and the normal name is an alias.  */
    #if defined (__stub_strftime) || defined (__stub___strftime)
    choke me
    #else
    f = strftime;
    #endif
    
    ; return 0; }
    EOF
    if { (eval echo configure:1941: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      rm -rf conftest*
      eval "ac_cv_func_strftime=yes"
    else
      echo "configure: failed program was:" >&5
      cat conftest.$ac_ext >&5
      rm -rf conftest*
      eval "ac_cv_func_strftime=no"
    fi
    rm -f conftest*
    fi
    
    if eval "test \"`echo '$ac_cv_func_'strftime`\" = yes"; then
      echo "$ac_t""yes" 1>&6
      cat >> confdefs.h <<\EOF
    #define HAVE_STRFTIME 1
    EOF
    
    else
      echo "$ac_t""no" 1>&6
    # strftime is in -lintl on SCO UNIX.
    echo $ac_n "checking for strftime in -lintl""... $ac_c" 1>&6
    echo "configure:1963: checking for strftime in -lintl" >&5
    ac_lib_var=`echo intl'_'strftime | sed 'y%./+-%__p_%'`
    if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      ac_save_LIBS="$LIBS"
    LIBS="-lintl  $LIBS"
    cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      rm -rf conftest*
      eval "ac_cv_lib_$ac_lib_var=yes"
    else
      echo "configure: failed program was:" >&5
      cat conftest.$ac_ext >&5
      rm -rf conftest*
      eval "ac_cv_lib_$ac_lib_var=no"
    fi
    rm -f conftest*
    LIBS="$ac_save_LIBS"
    
    fi
    if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
      echo "$ac_t""yes" 1>&6
      cat >> confdefs.h <<\EOF
    #define HAVE_STRFTIME 1
    EOF
    
    LIBS="-lintl $LIBS"
    else
      echo "$ac_t""no" 1>&6
    fi
    
    fi
    
    for ac_func in strstr
    do
    echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
    echo "configure:2011: checking for $ac_func" >&5
    if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      cat > conftest.$ac_ext <
    /* Override any gcc2 internal prototype to avoid an error.  */
    /* We use char because int might match the return type of a gcc2
        builtin and then its argument prototype would still apply.  */
    char $ac_func();
    char (*f)();
    
    int main() {
    
    /* The GNU C library defines this for functions which it implements
        to always fail with ENOSYS.  Some functions are actually named
        something starting with __ and the normal name is an alias.  */
    #if defined (__stub_$ac_func) || defined (__stub___$ac_func)
    choke me
    #else
    f = $ac_func;
    #endif
    
    ; return 0; }
    EOF
    if { (eval echo configure:2040: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      rm -rf conftest*
      eval "ac_cv_func_$ac_func=yes"
    else
      echo "configure: failed program was:" >&5
      cat conftest.$ac_ext >&5
      rm -rf conftest*
      eval "ac_cv_func_$ac_func=no"
    fi
    rm -f conftest*
    fi
    
    if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
      echo "$ac_t""yes" 1>&6
        ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
      cat >> confdefs.h <&6
    fi
    done
    
    for ac_func in getopt
    do
    echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
    echo "configure:2067: checking for $ac_func" >&5
    if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      cat > conftest.$ac_ext <
    /* Override any gcc2 internal prototype to avoid an error.  */
    /* We use char because int might match the return type of a gcc2
        builtin and then its argument prototype would still apply.  */
    char $ac_func();
    char (*f)();
    
    int main() {
    
    /* The GNU C library defines this for functions which it implements
        to always fail with ENOSYS.  Some functions are actually named
        something starting with __ and the normal name is an alias.  */
    #if defined (__stub_$ac_func) || defined (__stub___$ac_func)
    choke me
    #else
    f = $ac_func;
    #endif
    
    ; return 0; }
    EOF
    if { (eval echo configure:2096: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      rm -rf conftest*
      eval "ac_cv_func_$ac_func=yes"
    else
      echo "configure: failed program was:" >&5
      cat conftest.$ac_ext >&5
      rm -rf conftest*
      eval "ac_cv_func_$ac_func=no"
    fi
    rm -f conftest*
    fi
    
    if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
      echo "$ac_t""yes" 1>&6
        ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
      cat >> confdefs.h <&6
    fi
    done
    
    for ac_func in popen
    do
    echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
    echo "configure:2123: checking for $ac_func" >&5
    if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      cat > conftest.$ac_ext <
    /* Override any gcc2 internal prototype to avoid an error.  */
    /* We use char because int might match the return type of a gcc2
        builtin and then its argument prototype would still apply.  */
    char $ac_func();
    char (*f)();
    
    int main() {
    
    /* The GNU C library defines this for functions which it implements
        to always fail with ENOSYS.  Some functions are actually named
        something starting with __ and the normal name is an alias.  */
    #if defined (__stub_$ac_func) || defined (__stub___$ac_func)
    choke me
    #else
    f = $ac_func;
    #endif
    
    ; return 0; }
    EOF
    if { (eval echo configure:2152: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      rm -rf conftest*
      eval "ac_cv_func_$ac_func=yes"
    else
      echo "configure: failed program was:" >&5
      cat conftest.$ac_ext >&5
      rm -rf conftest*
      eval "ac_cv_func_$ac_func=no"
    fi
    rm -f conftest*
    fi
    
    if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
      echo "$ac_t""yes" 1>&6
        ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
      cat >> confdefs.h <&6
    fi
    done
    
    for ac_func in fileno
    do
    echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
    echo "configure:2179: checking for $ac_func" >&5
    if eval "test \"\${ac_cv_func_$ac_func+set}\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      cat > conftest.$ac_ext <
    /* Override any gcc2 internal prototype to avoid an error.  */
    /* We use char because int might match the return type of a gcc2
        builtin and then its argument prototype would still apply.  */
    char $ac_func();
    char (*f)();
    
    int main() {
    
    /* The GNU C library defines this for functions which it implements
        to always fail with ENOSYS.  Some functions are actually named
        something starting with __ and the normal name is an alias.  */
    #if defined (__stub_$ac_func) || defined (__stub___$ac_func)
    choke me
    #else
    f = $ac_func;
    #endif
    
    ; return 0; }
    EOF
    if { (eval echo configure:2208: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
      rm -rf conftest*
      eval "ac_cv_func_$ac_func=yes"
    else
      echo "configure: failed program was:" >&5
      cat conftest.$ac_ext >&5
      rm -rf conftest*
      eval "ac_cv_func_$ac_func=no"
    fi
    rm -f conftest*
    fi
    
    if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
      echo "$ac_t""yes" 1>&6
        ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
      cat >> confdefs.h <&6
    fi
    done
    
    
    cat >> confdefs.h <> confdefs.h < confcache <<\EOF
    # This file is a shell script that caches the results of configure
    # tests run on this system so they can be shared between configure
    # scripts and configure runs.  It is not useful on other systems.
    # If it contains results you don't want to keep, you may remove or edit it.
    #
    # By default, configure uses ./config.cache as the cache file,
    # creating it if it does not exist already.  You can give configure
    # the --cache-file=FILE option to use a different cache file; that is
    # what configure does when it calls configure scripts in
    # subdirectories, so they share the cache.
    # Giving --cache-file=/dev/null disables caching, for debugging configure.
    # config.status only pays attention to the cache file if you give it the
    # --recheck option to rerun configure.
    #
    EOF
    # The following way of writing the cache mishandles newlines in values,
    # but we know of no workaround that is simple, portable, and efficient.
    # So, don't put newlines in cache variables' values.
    # Ultrix sh set writes to stderr and can't be redirected directly,
    # and sets the high bit in the cache file unless we assign to the vars.
    (set) 2>&1 |
      case `(ac_space=' '; set | grep ac_space) 2>&1` in
      *ac_space=\ *)
        # `set' does not quote correctly, so add quotes (double-quote substitution
        # turns \\\\ into \\, and sed turns \\ into \).
        sed -n \
          -e "s/'/'\\\\''/g" \
          -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
        ;;
      *)
        # `set' quotes correctly as required by POSIX, so do not add quotes.
        sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
        ;;
      esac >> confcache
    if cmp -s $cache_file confcache; then
      :
    else
      if test -w $cache_file; then
        echo "updating cache $cache_file"
        cat confcache > $cache_file
      else
        echo "not updating unwritable cache $cache_file"
      fi
    fi
    rm -f confcache
    
    trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
    
    test "x$prefix" = xNONE && prefix=$ac_default_prefix
    # Let make expand exec_prefix.
    test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
    
    # Any assignment to VPATH causes Sun make to only execute
    # the first set of double-colon rules, so remove it if not needed.
    # If there is a colon in the path, we need to keep it.
    if test "x$srcdir" = x.; then
      ac_vpsub='/^[ 	]*VPATH[ 	]*=[^:]*$/d'
    fi
    
    trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
    
    DEFS=-DHAVE_CONFIG_H
    
    # Without the "./", some shells look in PATH for config.status.
    : ${CONFIG_STATUS=./config.status}
    
    echo creating $CONFIG_STATUS
    rm -f $CONFIG_STATUS
    cat > $CONFIG_STATUS </dev/null | sed 1q`:
    #
    # $0 $ac_configure_args
    #
    # Compiler output produced by configure, useful for debugging
    # configure, is in ./config.log if it exists.
    
    ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
    for ac_option
    do
      case "\$ac_option" in
      -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
        echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
        exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
      -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
        echo "$CONFIG_STATUS generated by autoconf version 2.14.1"
        exit 0 ;;
      -help | --help | --hel | --he | --h)
        echo "\$ac_cs_usage"; exit 0 ;;
      *) echo "\$ac_cs_usage"; exit 1 ;;
      esac
    done
    
    ac_given_srcdir=$srcdir
    ac_given_INSTALL="$INSTALL"
    
    trap 'rm -fr `echo "Makefile config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
    EOF
    cat >> $CONFIG_STATUS < conftest.subs <<\\CEOF
    $ac_vpsub
    $extrasub
    s%@SHELL@%$SHELL%g
    s%@CFLAGS@%$CFLAGS%g
    s%@CPPFLAGS@%$CPPFLAGS%g
    s%@CXXFLAGS@%$CXXFLAGS%g
    s%@FFLAGS@%$FFLAGS%g
    s%@DEFS@%$DEFS%g
    s%@LDFLAGS@%$LDFLAGS%g
    s%@LIBS@%$LIBS%g
    s%@exec_prefix@%$exec_prefix%g
    s%@prefix@%$prefix%g
    s%@program_transform_name@%$program_transform_name%g
    s%@bindir@%$bindir%g
    s%@sbindir@%$sbindir%g
    s%@libexecdir@%$libexecdir%g
    s%@datadir@%$datadir%g
    s%@sysconfdir@%$sysconfdir%g
    s%@sharedstatedir@%$sharedstatedir%g
    s%@localstatedir@%$localstatedir%g
    s%@libdir@%$libdir%g
    s%@includedir@%$includedir%g
    s%@oldincludedir@%$oldincludedir%g
    s%@infodir@%$infodir%g
    s%@mandir@%$mandir%g
    s%@VERSION@%$VERSION%g
    s%@PROJECT_NAME@%$PROJECT_NAME%g
    s%@DOCDIR@%$DOCDIR%g
    s%@CC@%$CC%g
    s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
    s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
    s%@INSTALL_DATA@%$INSTALL_DATA%g
    s%@LEX@%$LEX%g
    s%@LEXLIB@%$LEXLIB%g
    s%@SET_MAKE@%$SET_MAKE%g
    s%@CPP@%$CPP%g
    s%@LEX_OUTPUT_ROOT@%$LEX_OUTPUT_ROOT%g
    
    CEOF
    EOF
    
    cat >> $CONFIG_STATUS <<\EOF
    
    # Split the substitutions into bite-sized pieces for seds with
    # small command number limits, like on Digital OSF/1 and HP-UX.
    ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
    ac_file=1 # Number of current file.
    ac_beg=1 # First line for current file.
    ac_end=$ac_max_sed_cmds # Line after last line for current file.
    ac_more_lines=:
    ac_sed_cmds=""
    while $ac_more_lines; do
      if test $ac_beg -gt 1; then
        sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
      else
        sed "${ac_end}q" conftest.subs > conftest.s$ac_file
      fi
      if test ! -s conftest.s$ac_file; then
        ac_more_lines=false
        rm -f conftest.s$ac_file
      else
        if test -z "$ac_sed_cmds"; then
          ac_sed_cmds="sed -f conftest.s$ac_file"
        else
          ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
        fi
        ac_file=`expr $ac_file + 1`
        ac_beg=$ac_end
        ac_end=`expr $ac_end + $ac_max_sed_cmds`
      fi
    done
    if test -z "$ac_sed_cmds"; then
      ac_sed_cmds=cat
    fi
    EOF
    
    cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF
    for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
      # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
      case "$ac_file" in
      *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
           ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
      *) ac_file_in="${ac_file}.in" ;;
      esac
    
      # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
    
      # Remove last slash and all that follows it.  Not all systems have dirname.
      ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
      if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
        # The file is in a subdirectory.
        test ! -d "$ac_dir" && mkdir "$ac_dir"
        ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
        # A "../" for each directory in $ac_dir_suffix.
        ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
      else
        ac_dir_suffix= ac_dots=
      fi
    
      case "$ac_given_srcdir" in
      .)  srcdir=.
          if test -z "$ac_dots"; then top_srcdir=.
          else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
      /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
      *) # Relative path.
        srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
        top_srcdir="$ac_dots$ac_given_srcdir" ;;
      esac
    
      case "$ac_given_INSTALL" in
      [/$]*) INSTALL="$ac_given_INSTALL" ;;
      *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
      esac
    
      echo creating "$ac_file"
      rm -f "$ac_file"
      configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
      case "$ac_file" in
      *Makefile*) ac_comsub="1i\\
    # $configure_input" ;;
      *) ac_comsub= ;;
      esac
    
      ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
      sed -e "$ac_comsub
    s%@configure_input@%$configure_input%g
    s%@srcdir@%$srcdir%g
    s%@top_srcdir@%$top_srcdir%g
    s%@INSTALL@%$INSTALL%g
    " $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
    fi; done
    rm -f conftest.s*
    
    # These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
    # NAME is the cpp macro being defined and VALUE is the value it is being given.
    #
    # ac_d sets the value in "#define NAME VALUE" lines.
    ac_dA='s%^\([ 	]*\)#\([ 	]*define[ 	][ 	]*\)'
    ac_dB='\([ 	][ 	]*\)[^ 	]*%\1#\2'
    ac_dC='\3'
    ac_dD='%g'
    # ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
    ac_uA='s%^\([ 	]*\)#\([ 	]*\)undef\([ 	][ 	]*\)'
    ac_uB='\([ 	]\)%\1#\2define\3'
    ac_uC=' '
    ac_uD='\4%g'
    # ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
    ac_eA='s%^\([ 	]*\)#\([ 	]*\)undef\([ 	][ 	]*\)'
    ac_eB='$%\1#\2define\3'
    ac_eC=' '
    ac_eD='%g'
    
    if test "${CONFIG_HEADERS+set}" != set; then
    EOF
    cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF
    fi
    for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
      # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
      case "$ac_file" in
      *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
           ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
      *) ac_file_in="${ac_file}.in" ;;
      esac
    
      echo creating $ac_file
    
      rm -f conftest.frag conftest.in conftest.out
      ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
      cat $ac_file_inputs > conftest.in
    
    EOF
    
    # Transform confdefs.h into a sed script conftest.vals that substitutes
    # the proper values into config.h.in to produce config.h.  And first:
    # Protect against being on the right side of a sed subst in config.status.
    # Protect against being in an unquoted here document in config.status.
    rm -f conftest.vals
    cat > conftest.hdr <<\EOF
    s/[\\&%]/\\&/g
    s%[\\$`]%\\&%g
    s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
    s%ac_d%ac_u%gp
    s%ac_u%ac_e%gp
    EOF
    sed -n -f conftest.hdr confdefs.h > conftest.vals
    rm -f conftest.hdr
    
    # This sed command replaces #undef with comments.  This is necessary, for
    # example, in the case of _POSIX_SOURCE, which is predefined and required
    # on some systems where configure will not decide to define it.
    cat >> conftest.vals <<\EOF
    s%^[ 	]*#[ 	]*undef[ 	][ 	]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
    EOF
    
    # Break up conftest.vals because some shells have a limit on
    # the size of here documents, and old seds have small limits too.
    
    rm -f conftest.tail
    while :
    do
      ac_lines=`grep -c . conftest.vals`
      # grep -c gives empty output for an empty file on some AIX systems.
      if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
      # Write a limited-size here document to conftest.frag.
      echo '  cat > conftest.frag <> $CONFIG_STATUS
      sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
      echo 'CEOF
      sed -f conftest.frag conftest.in > conftest.out
      rm -f conftest.in
      mv conftest.out conftest.in
    ' >> $CONFIG_STATUS
      sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
      rm -f conftest.vals
      mv conftest.tail conftest.vals
    done
    rm -f conftest.vals
    
    cat >> $CONFIG_STATUS <<\EOF
      rm -f conftest.frag conftest.h
      echo "/* $ac_file.  Generated automatically by configure.  */" > conftest.h
      cat conftest.in >> conftest.h
      rm -f conftest.in
      if cmp -s $ac_file conftest.h 2>/dev/null; then
        echo "$ac_file is unchanged"
        rm -f conftest.h
      else
        # Remove last slash and all that follows it.  Not all systems have dirname.
          ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
          if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
          # The file is in a subdirectory.
          test ! -d "$ac_dir" && mkdir "$ac_dir"
        fi
        rm -f $ac_file
        mv conftest.h $ac_file
      fi
    fi; done
    
    EOF
    cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF
    
    exit 0
    EOF
    chmod +x $CONFIG_STATUS
    rm -fr confdefs* $ac_clean_files
    test "$no_create" = yes || $SHELL $CONFIG_STATUS || exit 1
    
    java2html-0.9.2/install-sh100700   1751   1751       12721  7103606320  15351 0ustar  schintkeschintke#! /bin/sh
    #
    # install - install a program, script, or datafile
    # This comes from X11R5 (mit/util/scripts/install.sh).
    #
    # Copyright 1991 by the Massachusetts Institute of Technology
    #
    # Permission to use, copy, modify, distribute, and sell this software and its
    # documentation for any purpose is hereby granted without fee, provided that
    # the above copyright notice appear in all copies and that both that
    # copyright notice and this permission notice appear in supporting
    # documentation, and that the name of M.I.T. not be used in advertising or
    # publicity pertaining to distribution of the software without specific,
    # written prior permission.  M.I.T. makes no representations about the
    # suitability of this software for any purpose.  It is provided "as is"
    # without express or implied warranty.
    #
    # Calling this script install-sh is preferred over install.sh, to prevent
    # `make' implicit rules from creating a file called install from it
    # when there is no Makefile.
    #
    # This script is compatible with the BSD install script, but was written
    # from scratch.  It can only install one file at a time, a restriction
    # shared with many OS's install programs.
    
    
    # set DOITPROG to echo to test this script
    
    # Don't use :- since 4.3BSD and earlier shells don't like it.
    doit="${DOITPROG-}"
    
    
    # put in absolute paths if you don't have them in your path; or use env. vars.
    
    mvprog="${MVPROG-mv}"
    cpprog="${CPPROG-cp}"
    chmodprog="${CHMODPROG-chmod}"
    chownprog="${CHOWNPROG-chown}"
    chgrpprog="${CHGRPPROG-chgrp}"
    stripprog="${STRIPPROG-strip}"
    rmprog="${RMPROG-rm}"
    mkdirprog="${MKDIRPROG-mkdir}"
    
    transformbasename=""
    transform_arg=""
    instcmd="$mvprog"
    chmodcmd="$chmodprog 0755"
    chowncmd=""
    chgrpcmd=""
    stripcmd=""
    rmcmd="$rmprog -f"
    mvcmd="$mvprog"
    src=""
    dst=""
    dir_arg=""
    
    while [ x"$1" != x ]; do
        case $1 in
    	-c) instcmd="$cpprog"
    	    shift
    	    continue;;
    
    	-d) dir_arg=true
    	    shift
    	    continue;;
    
    	-m) chmodcmd="$chmodprog $2"
    	    shift
    	    shift
    	    continue;;
    
    	-o) chowncmd="$chownprog $2"
    	    shift
    	    shift
    	    continue;;
    
    	-g) chgrpcmd="$chgrpprog $2"
    	    shift
    	    shift
    	    continue;;
    
    	-s) stripcmd="$stripprog"
    	    shift
    	    continue;;
    
    	-t=*) transformarg=`echo $1 | sed 's/-t=//'`
    	    shift
    	    continue;;
    
    	-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
    	    shift
    	    continue;;
    
    	*)  if [ x"$src" = x ]
    	    then
    		src=$1
    	    else
    		# this colon is to work around a 386BSD /bin/sh bug
    		:
    		dst=$1
    	    fi
    	    shift
    	    continue;;
        esac
    done
    
    if [ x"$src" = x ]
    then
    	echo "install:	no input file specified"
    	exit 1
    else
    	true
    fi
    
    if [ x"$dir_arg" != x ]; then
    	dst=$src
    	src=""
    	
    	if [ -d $dst ]; then
    		instcmd=:
    	else
    		instcmd=mkdir
    	fi
    else
    
    # Waiting for this to be detected by the "$instcmd $src $dsttmp" command
    # might cause directories to be created, which would be especially bad 
    # if $src (and thus $dsttmp) contains '*'.
    
    	if [ -f $src -o -d $src ]
    	then
    		true
    	else
    		echo "install:  $src does not exist"
    		exit 1
    	fi
    	
    	if [ x"$dst" = x ]
    	then
    		echo "install:	no destination specified"
    		exit 1
    	else
    		true
    	fi
    
    # If destination is a directory, append the input filename; if your system
    # does not like double slashes in filenames, you may need to add some logic
    
    	if [ -d $dst ]
    	then
    		dst="$dst"/`basename $src`
    	else
    		true
    	fi
    fi
    
    ## this sed command emulates the dirname command
    dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
    
    # Make sure that the destination directory exists.
    #  this part is taken from Noah Friedman's mkinstalldirs script
    
    # Skip lots of stat calls in the usual case.
    if [ ! -d "$dstdir" ]; then
    defaultIFS='	
    '
    IFS="${IFS-${defaultIFS}}"
    
    oIFS="${IFS}"
    # Some sh's can't handle IFS=/ for some reason.
    IFS='%'
    set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
    IFS="${oIFS}"
    
    pathcomp=''
    
    while [ $# -ne 0 ] ; do
    	pathcomp="${pathcomp}${1}"
    	shift
    
    	if [ ! -d "${pathcomp}" ] ;
            then
    		$mkdirprog "${pathcomp}"
    	else
    		true
    	fi
    
    	pathcomp="${pathcomp}/"
    done
    fi
    
    if [ x"$dir_arg" != x ]
    then
    	$doit $instcmd $dst &&
    
    	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
    	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
    	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
    	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
    else
    
    # If we're going to rename the final executable, determine the name now.
    
    	if [ x"$transformarg" = x ] 
    	then
    		dstfile=`basename $dst`
    	else
    		dstfile=`basename $dst $transformbasename | 
    			sed $transformarg`$transformbasename
    	fi
    
    # don't allow the sed command to completely eliminate the filename
    
    	if [ x"$dstfile" = x ] 
    	then
    		dstfile=`basename $dst`
    	else
    		true
    	fi
    
    # Make a temp file name in the proper directory.
    
    	dsttmp=$dstdir/#inst.$$#
    
    # Move or copy the file name to the temp name
    
    	$doit $instcmd $src $dsttmp &&
    
    	trap "rm -f ${dsttmp}" 0 &&
    
    # and set any options; do chmod last to preserve setuid bits
    
    # If any of these fail, we abort the whole thing.  If we want to
    # ignore errors from any of these, just make sure not to ignore
    # errors from the above "$doit $instcmd $src $dsttmp" command.
    
    	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
    	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
    	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
    	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
    
    # Now rename the file to the real destination.
    
    	$doit $rmcmd -f $dstdir/$dstfile &&
    	$doit $mvcmd $dsttmp $dstdir/$dstfile 
    
    fi &&
    
    
    exit 0
    java2html-0.9.2/config.h.in100600   1751   1751        1707  7103606320  15354 0ustar  schintkeschintke/*
      Copyright (C) 1999, 2000 Florian Schintke
     
      This 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, or (at your option) any later 
      version. 
     
      This 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 with 
      the c2html, java2html, pas2html or perl2html source package as the 
      file COPYING. If not, write to the Free Software Foundation, Inc., 
      59 Temple Place - Suite 330, Boston, MA 
      02111-1307, USA. 
    */
    
    /* The version string. */
    #define VERSION @VERSION@
    #define PROJECT_NAME @PROJECT_NAME@
    
    /* Define if you have getopt.h */
    #undef HAVE_GETOPT_H
    
    #undef HAVE_UNISTD_H