ada: Update copyright notice
[official-gcc.git] / gcc / ada / makeusg.adb
blob5174518e04d626c2978ceb2b435db38ca2cf6f7b
1 ------------------------------------------------------------------------------
2 -- --
3 -- GNAT COMPILER COMPONENTS --
4 -- --
5 -- M A K E U S G --
6 -- --
7 -- B o d y --
8 -- --
9 -- Copyright (C) 1992-2023, Free Software Foundation, Inc. --
10 -- --
11 -- GNAT is free software; you can redistribute it and/or modify it under --
12 -- terms of the GNU General Public License as published by the Free Soft- --
13 -- ware Foundation; either version 3, or (at your option) any later ver- --
14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
15 -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
16 -- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
17 -- for more details. You should have received a copy of the GNU General --
18 -- Public License distributed with GNAT; see file COPYING3. If not, go to --
19 -- http://www.gnu.org/licenses for a complete copy of the license. --
20 -- --
21 -- GNAT was originally developed by the GNAT team at New York University. --
22 -- Extensive contributions were provided by Ada Core Technologies Inc. --
23 -- --
24 ------------------------------------------------------------------------------
26 with Make_Util;
27 with Osint;
28 with Output; use Output;
29 with Switch; use Switch;
30 with Usage;
32 procedure Makeusg is
34 -- Start of processing for Makeusg
36 begin
37 -- Usage line
39 Write_Str ("Usage: ");
40 Osint.Write_Program_Name;
41 Write_Str (" opts name ");
42 Write_Str ("{[-cargs opts] [-bargs opts] [-largs opts] [-margs opts]}");
43 Write_Eol;
44 Write_Eol;
45 Write_Str (" name is one or more file name from which you");
46 Write_Str (" can omit the .adb or .ads suffix");
47 Write_Eol;
48 Write_Eol;
50 -- GNATMAKE switches
52 Write_Str ("gnatmake switches:");
53 Write_Eol;
55 Display_Usage_Version_And_Help;
57 -- Line for -P
59 Write_Str (" -Pproj Build GNAT Project File proj using GPRbuild");
60 Write_Eol;
61 Write_Str (" Treats all other switches as GPRbuild switches");
62 Write_Eol;
64 -- Line for -a
66 Write_Str (" -a Consider all files, even readonly ali files");
67 Write_Eol;
69 -- Line for -b
71 Write_Str (" -b Bind only");
72 Write_Eol;
74 -- Line for -B
76 Write_Str (" -B Build, bind and link full project");
77 Write_Eol;
79 -- Line for -c
81 Write_Str (" -c Compile only");
82 Write_Eol;
84 -- Line for -C
86 Write_Str (" -C Cache source mappings: " &
87 "invoke compiler with temp mapping file");
88 Write_Eol;
90 -- Line for -C=<mapping file>
92 Write_Str (" -C=mapp Cache source mappings: " &
93 "invoke compiler with mapping file mapp");
94 Write_Eol;
96 -- Line for -d
98 Write_Str (" -d Display compilation progress");
99 Write_Eol;
101 -- Line for -D
103 Write_Str (" -D dir Specify dir as the object directory");
104 Write_Eol;
106 -- Line for -eI
108 Write_Str (" -eI Index of unit in multi-unit source file");
109 Write_Eol;
111 -- Line for -eL
113 Write_Str (" -eL Follow symbolic links when processing " &
114 "project files");
115 Write_Eol;
117 -- Line for -eS
119 Write_Str (" -eS Echo commands to stdout instead of stderr");
120 Write_Eol;
122 -- Line for -f
124 Write_Str (" -f Force recompilations of non predefined units");
125 Write_Eol;
127 -- Line for -F
129 Write_Str (" -F Full project path name in brief error messages");
130 Write_Eol;
132 -- Line for -i
134 Write_Str (" -i In place. Replace existing ali file, ");
135 Write_Str ("or put it with source");
136 Write_Eol;
138 -- Line for -jnnn
140 Write_Str (" -jnum Use nnn processes to compile");
141 Write_Eol;
143 -- Line for -k
145 Write_Str (" -k Keep going after compilation errors");
146 Write_Eol;
148 -- Line for -l
150 Write_Str (" -l Link only");
151 Write_Eol;
153 -- Line for -m
155 Write_Str (" -m Minimal recompilation");
156 Write_Eol;
158 -- Line for -M
160 Write_Str (" -M List object file dependences for Makefile");
161 Write_Eol;
163 -- Line for -n
165 Write_Str (" -n Check objects up to date, output next file ");
166 Write_Str ("to compile if not");
167 Write_Eol;
169 -- Line for -o
171 Write_Str (" -o name Choose an alternate executable name");
172 Write_Eol;
174 -- Line for -p
176 Write_Str (" -p Create missing obj, lib and exec dirs");
177 Write_Eol;
179 -- Line for -q
181 Write_Str (" -q Be quiet/terse");
182 Write_Eol;
184 -- Line for -R
186 Write_Str (" -R Do not use a run_path_option when linking");
187 Write_Eol;
189 -- Line for -s
191 Write_Str (" -s Recompile if compiler switches have changed");
192 Write_Eol;
194 -- Line for -u
196 Write_Str (" -u Unique compilation, only compile the given files");
197 Write_Eol;
199 -- Line for -U
201 Write_Str (" -U Unique compilation for all sources of all projects");
202 Write_Eol;
204 -- Line for -v
206 Write_Str (" -v Display reasons for all (re)compilations");
207 Write_Eol;
209 -- Line for -vl
211 Write_Str (" -vl Verbose output (low verbosity)");
212 Write_Eol;
214 -- Line for -vm
216 Write_Str (" -vm Verbose output (medium verbosity)");
217 Write_Eol;
219 -- Line for -vh
221 Write_Str (" -vh Equivalent to -v (high verbosity)");
222 Write_Eol;
224 -- Line for -vPx
226 Write_Str (" -vPx Specify verbosity when parsing GNAT Project Files");
227 Write_Eol;
229 -- Line for -we
231 Write_Str (" -we Treat all warnings as errors");
232 Write_Eol;
234 -- Line for -wn
236 Write_Str (" -wn Normal warning mode (cancels -we/-ws)");
237 Write_Eol;
239 -- Line for -ws
241 Write_Str (" -ws Suppress all warnings");
242 Write_Eol;
244 -- Line for -x
246 Write_Str (" -x " &
247 "Allow compilation of needed units external to the projects");
248 Write_Eol;
250 -- Line for -X
252 Write_Str (" -Xnm=val Specify an external reference for GNAT " &
253 "Project Files");
254 Write_Eol;
256 -- Line for -z
258 Write_Str (" -z No main subprogram (zero main)");
259 Write_Eol;
260 Write_Eol;
262 Write_Str (" --create-map-file Create map file mainprog.map");
263 Write_Eol;
265 Write_Str (" --create-map-file=mapfile");
266 Write_Eol;
267 Write_Str (" Create map file mapfile");
268 Write_Eol;
270 Write_Str (" --keep-temp-files Keep temporary files");
271 Write_Eol;
273 Write_Str (" --GCC=command Use this gcc command");
274 Write_Eol;
276 Write_Str (" --GNATBIND=command Use this gnatbind command");
277 Write_Eol;
279 Write_Str (" --GNATLINK=command Use this gnatlink command");
280 Write_Eol;
281 Write_Eol;
283 -- Source and Library search path switches
285 Write_Str ("Project, Source and Library search path switches:");
286 Write_Eol;
288 -- Line for -aP
290 Write_Str (" -aPdir Add directory dir to project search path");
291 Write_Eol;
293 -- Line for -aL
295 Write_Str (" -aLdir Skip missing library sources if ali in dir");
296 Write_Eol;
298 -- Line for -A
300 Write_Str (" -Adir like -aLdir -aIdir");
301 Write_Eol;
303 -- Line for -aO switch
305 Write_Str (" -aOdir Specify library/object files search path");
306 Write_Eol;
308 -- Line for -aI switch
310 Write_Str (" -aIdir Specify source files search path");
311 Write_Eol;
313 -- Line for -I switch
315 Write_Str (" -Idir Like -aIdir -aOdir");
316 Write_Eol;
318 -- Line for -I- switch
320 Write_Str (" -I- Don't look for sources & library files");
321 Write_Str (" in the default directory");
322 Write_Eol;
324 -- Line for -L
326 Write_Str (" -Ldir Look for program libraries also in dir");
327 Write_Eol;
329 -- Line for -nostdinc
331 Write_Str (" -nostdinc Don't look for sources");
332 Write_Str (" in the system default directory");
333 Write_Eol;
335 -- Line for -nostdlib
337 Write_Str (" -nostdlib Don't look for library files");
338 Write_Str (" in the system default directory");
339 Write_Eol;
341 -- Line for --RTS
343 Write_Str (" --RTS=dir specify the default source and object search"
344 & " path");
345 Write_Eol;
347 -- Line for --subdirs=
349 Write_Str (" --subdirs=dir real obj/lib/exec dirs are subdirs");
350 Write_Eol;
352 -- Line for --source-info=
354 Write_Str (" ");
355 Write_Str (Make_Util.Source_Info_Option);
356 Write_Str ("file specify a source info file");
357 Write_Eol;
359 -- Line for --unchecked-shared-lib-imports
361 Write_Str (" ");
362 Write_Str (Make_Util.Unchecked_Shared_Lib_Imports);
363 Write_Eol;
364 Write_Str (" Allow shared libraries to import static libraries");
365 Write_Eol;
366 Write_Eol;
368 -- General Compiler, Binder, Linker switches
370 Write_Str ("To pass an arbitrary switch to the Compiler, ");
371 Write_Str ("Binder or Linker:");
372 Write_Eol;
374 -- Line for -cargs
376 Write_Str (" -cargs opts opts are passed to the compiler");
377 Write_Eol;
379 -- Line for -bargs
381 Write_Str (" -bargs opts opts are passed to the binder");
382 Write_Eol;
384 -- Line for -largs
386 Write_Str (" -largs opts opts are passed to the linker");
387 Write_Eol;
389 -- Line for -margs
391 Write_Str (" -margs opts opts are passed to gnatmake");
392 Write_Eol;
394 -- Add usage information for gcc
396 Usage;
398 end Makeusg;