/* * Copyright (c) 1999 * Steven G. Kargl. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * This software is provided by Steven G. Kargl and contributors ``as is'' and * any express or implied warranties, including, but not limited to, the implied * warranties of merchantability and fitness for a particular purpose are * disclaimed. In no event shall Steven G. Kargl or contributors be liable for * any direct, indirect, incidental, special, exemplary, or consequential * damages (including, but not limited to, procurement of substitute goods or * services; loss of use, data, or profits; or business interruption) however * caused and on any theory of liability, whether in contract, strict liability, * or tort (including negligence or otherwise) arising in any way out of the * use of this software, even if advised of the possibility of such damage. */ #include #include #ifdef PRN #undef PRN #endif #define PRN(a) fputs((a), stderr) void usage(void) { PRN("f77 [options] file1 ... fileN [-Llibdir ...] [-llib ...]\n\n"); PRN("options:\n"); PRN(" -1 Execute DO LOOPs at least one time\n"); PRN(" -72 Text appearing after column 72 is an error\n"); PRN(" -C Bounds checking on arrays\n"); PRN(" -c Compile but do not link\n"); PRN(" -cd Ignore DOUBLE COMPLEX intrinsic functions starting with cd\n"); PRN(" -DSYM Define SYM to 1 during preprocessing of Fortran code\n"); PRN(" -DSYM=val Define SYM to val during preprocessing of Fortran code\n"); PRN(" -E Preprocess only\n"); PRN(" -ext Complain about Fortran 77 extensions\n"); PRN(" -f Accept free form source\n"); #ifdef SUN_FPP PRN(" -fixed Assumes fixed format input source in the preprocessor\n"); PRN(" -free Accept free form source in the preprocessor\n"); #endif PRN(" -h Fortran 66 HOLLERITH\n"); PRN(" -hd Fortran 66 HOLLERITH and align on double word boundary\n"); PRN(" -I2 INTEGER and LOGICAL are treated as short int\n"); PRN(" -IDIR Search DIRectory for included files\n"); PRN(" -i90 Do not recognize the F90 bit-manipulation intrinsics\n"); PRN(" -kr Use temporary variables to enforce Fortran evaluation\n"); PRN(" -krd Use DOUBLE PRECISION temporary variables\n"); PRN(" -LDIR Search DIRectory for libraries\n"); PRN(" -lLIB Link with LIBrary\n"); #ifdef SUN_FPP PRN(" -macro={} Sun's fpp -macro option [see fpp(1)]\n"); #endif PRN(" -o name Write output to name\n"); PRN(" -onetrip See -1 above\n"); PRN(" -R Do not promote REAL functions to DOUBLE PRECISION\n"); PRN(" -r Cast values of REAL functions to REAL\n"); PRN(" -r8 Promote REAL to DOUBLE PRECISION, COMPLEX to DOUBLE COMPLEX\n"); PRN(" -T dir Use dir as a directory for temporary storage\n"); #if defined(SUN_FPP) || defined(GNU_CPP) PRN(" -USYM Undefine SYM during preprocessing of Fortran code\n"); PRN(" -undef Undefine all previously defined symbols during preprocessing\n"); #endif PRN(" -V Echo command lines of forked processes\n"); PRN(" -v Verbose\n"); PRN(" -w Suppress warnings\n"); #ifdef SUN_FPP PRN(" -w0 Suppress warnings from preprocessing stage\n"); #endif PRN(" -w66 Suppress FORTRAN 66 warnings\n"); PRN(" -w8 Suppress warnings when COMMON forces odd-word alignment\n"); PRN(" -z No implicit double complex\n"); exit(0); }