| ------------------------------------------------------------------------------ |
| -- -- |
| -- GNAT COMPILER COMPONENTS -- |
| -- -- |
| -- B I N D U S G -- |
| -- -- |
| -- B o d y -- |
| -- -- |
| -- Copyright (C) 1992-2014, Free Software Foundation, Inc. -- |
| -- -- |
| -- GNAT is free software; you can redistribute it and/or modify it under -- |
| -- terms of the GNU General Public License as published by the Free Soft- -- |
| -- ware Foundation; either version 3, or (at your option) any later ver- -- |
| -- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- |
| -- OUT 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 distributed with GNAT; see file COPYING3. If not, go to -- |
| -- http://www.gnu.org/licenses for a complete copy of the license. -- |
| -- -- |
| -- GNAT was originally developed by the GNAT team at New York University. -- |
| -- Extensive contributions were provided by Ada Core Technologies Inc. -- |
| -- -- |
| ------------------------------------------------------------------------------ |
| |
| with Osint; use Osint; |
| with Output; use Output; |
| with Switch; use Switch; |
| |
| with System.WCh_Con; use System.WCh_Con; |
| |
| package body Bindusg is |
| |
| Already_Displayed : Boolean := False; |
| -- Set True if Display called, used to avoid showing usage information |
| -- more than once. |
| |
| ------------- |
| -- Display -- |
| ------------- |
| |
| procedure Display is |
| begin |
| if Already_Displayed then |
| return; |
| else |
| Already_Displayed := True; |
| end if; |
| |
| -- Usage line |
| |
| Write_Str ("Usage: "); |
| Write_Program_Name; |
| Write_Char (' '); |
| Write_Str ("switches lfile"); |
| Write_Eol; |
| Write_Eol; |
| |
| Display_Usage_Version_And_Help; |
| |
| -- Line for @response_file |
| |
| Write_Line (" @<resp_file> Get arguments from response file"); |
| Write_Eol; |
| |
| -- Line for -aO switch |
| |
| Write_Line (" -aOdir Specify library files search path"); |
| |
| -- Line for -aI switch |
| |
| Write_Line (" -aIdir Specify source files search path"); |
| |
| -- Line for a switch |
| |
| Write_Line (" -a Automatically initialize elaboration " & |
| "procedure"); |
| |
| -- Lines for -A switch |
| |
| Write_Line (" -A Give list of ALI files in partition"); |
| Write_Line (" -A=file Write ALI file list to named file"); |
| |
| -- Line for -b switch |
| |
| Write_Line (" -b Generate brief messages to stderr " & |
| "even if verbose mode set"); |
| |
| -- Line for -c switch |
| |
| Write_Line (" -c Check only, no generation of " & |
| "binder output file"); |
| |
| -- Line for -d switch |
| |
| Write_Line (" -dnn[k|m] Default primary stack " & |
| "size = nn [kilo|mega] bytes"); |
| |
| -- Line for D switch |
| |
| Write_Line (" -Dnn[k|m] Default secondary stack " & |
| "size = nn [kilo|mega] bytes"); |
| |
| -- Line for -e switch |
| |
| Write_Line (" -e Output complete list of elaboration " & |
| "order dependencies"); |
| |
| -- Line for -E switch |
| |
| Write_Line (" -E Store tracebacks in exception occurrences"); |
| |
| -- The -f switch is voluntarily omitted, because it is obsolete |
| |
| -- Line for -F switch |
| |
| Write_Line (" -F Force checking of elaboration Flags"); |
| |
| -- Line for -h switch |
| |
| Write_Line (" -h Output this usage (help) information"); |
| |
| -- Lines for -I switch |
| |
| Write_Line (" -Idir Specify library and source files search path"); |
| Write_Line (" -I- Don't look for sources & library files " & |
| "in default directory"); |
| |
| -- Line for -K switch |
| |
| Write_Line (" -K Give list of linker options specified " & |
| "for link"); |
| |
| -- Line for -l switch |
| |
| Write_Line (" -l Output chosen elaboration order"); |
| |
| -- Line of -L switch |
| |
| Write_Line (" -Lxyz Library build: adainit/final " & |
| "renamed to xyzinit/final, implies -n"); |
| |
| -- Line for -m switch |
| |
| Write_Line (" -mnnn Limit number of detected errors/warnings " & |
| "to nnn (1-999999)"); |
| |
| -- Line for -M switch |
| |
| Write_Line (" -Mxyz Rename generated main program from " & |
| "main to xyz"); |
| |
| -- Line for -n switch |
| |
| Write_Line (" -n No Ada main program (foreign main routine)"); |
| |
| -- Line for -nostdinc |
| |
| Write_Line (" -nostdinc Don't look for source files " & |
| "in the system default directory"); |
| |
| -- Line for -nostdlib |
| |
| Write_Line (" -nostdlib Don't look for library files " & |
| "in the system default directory"); |
| |
| -- Line for -o switch |
| |
| Write_Line (" -o file Give the output file name " & |
| "(default is b~xxx.adb)"); |
| |
| -- Line for -O switch |
| |
| Write_Line (" -O Give list of objects required for link"); |
| |
| -- Line for -p switch |
| |
| Write_Line (" -p Pessimistic (worst-case) elaboration order"); |
| |
| -- Line for -P switch |
| |
| Write_Line (" -P Generate binder file suitable for CodePeer"); |
| |
| -- Line for -r switch |
| |
| Write_Line (" -r List restrictions that could be applied " & |
| "to this partition"); |
| |
| -- Line for -R switch |
| |
| Write_Line |
| (" -R List sources referenced in closure"); |
| |
| -- Line for -s switch |
| |
| Write_Line (" -s Require all source files to be present"); |
| |
| -- Line for -S?? switch |
| |
| Write_Line (" -S?? Sin/lo/hi/xx/ev Initialize_Scalars " & |
| "invalid/low/high/hex/env var"); |
| |
| -- Line for -static |
| |
| Write_Line (" -static Link against a static GNAT run time"); |
| |
| -- Line for -shared |
| |
| Write_Line (" -shared Link against a shared GNAT run time"); |
| |
| -- Line for -t switch |
| |
| Write_Line (" -t Tolerate time stamp and other " & |
| "consistency errors"); |
| |
| -- Line for -T switch |
| |
| Write_Line (" -Tn Set time slice value to n " & |
| "milliseconds (n >= 0)"); |
| |
| -- Line for -u switch |
| |
| Write_Line (" -un Enable dynamic stack analysis, with " & |
| "n results stored"); |
| |
| -- Line for -v switch |
| |
| Write_Line (" -v Verbose mode. Error messages, " & |
| "header, summary output to stdout"); |
| |
| -- Line for -w switch |
| |
| Write_Line (" -wx Warning mode. (x=s/e for " & |
| "suppress/treat as error)"); |
| |
| -- Line for -W switch |
| |
| Write_Str (" -W? Wide character encoding method ("); |
| |
| for J in WC_Encoding_Method loop |
| Write_Char (WC_Encoding_Letters (J)); |
| |
| if J = WC_Encoding_Method'Last then |
| Write_Char (')'); |
| else |
| Write_Char ('/'); |
| end if; |
| end loop; |
| |
| Write_Eol; |
| |
| -- Line for -x switch |
| |
| Write_Line (" -x Exclude source files (check object " & |
| "consistency only)"); |
| |
| -- Line for -X switch |
| |
| Write_Line (" -Xnnn Default exit status value = nnn"); |
| |
| -- Line for -y switch |
| |
| Write_Line (" -y Enable leap seconds"); |
| |
| -- Line for -z switch |
| |
| Write_Line (" -z No main subprogram (zero main)"); |
| |
| -- Line for --RTS |
| |
| -- Line for -Z switch |
| |
| Write_Line (" -Z " & |
| "Zero formatting in auxiliary outputs (-e, -K, -l, -R)"); |
| |
| -- Line for --RTS |
| |
| Write_Line (" --RTS=dir Specify the default source and " & |
| "object search path"); |
| |
| -- Line for sfile |
| |
| Write_Line (" lfile Library file names"); |
| end Display; |
| |
| end Bindusg; |