Copyright (c) Hyperion Entertainment and contributors.

SDK Developer Tools

From AmigaOS Documentation Wiki
Jump to navigation Jump to search

Contents

Introduction

The Software Development Kit (SDK) contains a suite of software tools to aid developers in making software for AmigaOS.

Tags

Incomplete description.

#Archiving An archiving tool
#Building A building tool
#Code Generation A source code generator tool
#Conversion A conversion tool
#Debugging A debugging tool
#Documenting A documenting tool
#Localization A localization tool
#Optimizing An optimizing tool
#Testing A testing tool
#Versioning A versioning tool

Format

The following lists the characters that indicate the type of argument shown in format listings. Do not use these characters as part of the command.

< > Angle brackets indicate where additional information, such as a file name, must be included. This argument is required if it is not surrounded by square brackets. (For example, [<filename>]; see below.)
[ ] Square brackets enclose optional arguments and keywords. Although not required, these arguments and keywords are accepted by the command.
{ } Braces enclose items that can be given once or repeated any number of times. For example, {<args>} indicates that several items can be given for this argument.
| Vertical bars separate lists of options from which you can choose only one. For example, [OPT R|S|RS] indicates a choice of the R option, the S option, or both options.
<n> A numeric value is expected by the argument.
KEYWORD An upper case keyword indicate that the argument's keyword is required if you include that argument.
... An ellipsis (...) after a string argument indicates that the string must be the final argument on the command line. Including a comment is not allowed. The remainder of the command line is taken as the desired string. Quotation marks are not needed around the string, even if it contains spaces. If you enter quotation marks, they are part of the string. If you specify the keyword, you can put leading and trailing spaces in the string.
command line indentation On command lines that are long enough to wrap to the next line, this manual shows the wrapped lines as indented for documentation purposes only. In practice, the wrapped lines align with the first character of the Shell prompt.

AutoDoc

LibToolIcon.png

Tags: #Documenting

AutoDoc extracts and sorts autodocs from the given files and prints them in the standard output.

Tool Types

(none)

Shell Usage

Format
AUTODOC [-t <number>] [-i] [-o] [-a] [-s] [-C] [-l <length>] [-w] [-c] [-f] [-r] [-F <file>] [-I] {<infile>}
Template
-t <number> -i -o -a -s -C -l <length> -w -c -f -r -F file -I {infile}
Location
SDK:C

The options are:

Option Description
{<infile>} List of files to be processed.
-t<number> Turn tabulators to given number of spaces.
-i Process only INTERNAL autodocs.
-o Process only OBSOLETE autodocs.
-a Do not process autodocs starting with an asterisk.
-s Process autodocs starting with a semicolon.
-C Process autodocs starting with "/*". This is the default setting.
-l<number> Set the line length for the output. The default is 78.
-w Turn off word wrapping.
-c Do not convert "\*" to "/*" or "*\" to "*/".
-f Do not add form feeds between the autodoc entries.
-r Generate Troff source output.
-F<file> Use <file> as a temporary file. The default temporary file is "tmpfile".
-I Do not print "Table of Contents" before entries. If omitted, "Table of Contents" will be printed after the entries.
Example

Extract autodocs from files "main.c" and "functions.h" and redirect AutoDoc's output to file "MyDocs.doc".

1> autodoc -a -C main.c functions.h >MyDocs.doc

ARexx Interface

AutoDoc has no ARexx interface.

BuildLanguageCT

LibToolIcon.png

Tags: #Code Generation #Localization

This tool generates a catalog translation file (CT file) from the current system language driver.

A new language.catalog can be created with a CatComp tool using the generated CT file and a language catalog descriptor file (located in "SYS:Locale-Source/language.cd").

Tool Types

(none)

Shell Usage

Format
BUILDLANGUAGECT
Template
(none)
Location
SDK:C
See also


Example 1

List the current language driver strings.

 1> BuildLanguageCT
Example 2

Create a "language.ct" file with the built-in strings of the current system language driver.

 1> BuildLanguageCT >language.ct

ARexx Interface

BuildLanguageCT has no ARexx interface.

BuildMapTable

LibToolIcon.png

Tags: #Localization

BuildMapTable converts Charset-To-Unicode mapping tables in text form (e.g. available at http://www.unicode.org/Public/MAPPINGS/) to mapping tables in binary form usable by diskfont.library.

BuildMapTable can either display a text form of the parsed table or create a binary mapping table in the "L:Charsets/" directory. Currently only 8-bit character set mapping tables are supported.

If "L:Charsets/character-sets" or "L:Charsets/custom-character-sets" contains a MIME name for an 8-bit character set where no mapping table in "L:Charsets/" does not exist, and you have a mapping table in text form, use BuildMapTable to create the binary mapping table and reboot (diskfont.library searches tables only once) to be able to use the new character set (e.g. in fonts or catalog files).

The expected format of text mapping tables is as follows:

  • Anything from a '#' character to the end of a line is considered a comment.
  • A valid line does contain the index on the left and the Unicode point at the right side, in either hexadecimal (starting with 0x or 0X) or octal (starting with 0) or decimal form, separated by empty space.
Example

0xA4 0x20AC # EURO SIGN

Tool Types

(none)

Shell Usage

Format
BUILDMAPTABLE <ASCII mapping table> [CHARSET]
Template
UNICODEMAPTABLE/A,CHARSET/K
Location
SDK:C

The parameters are:

UNICODEMAPTABLE A character set mapping table file.
CHARSET A MIME character set name or alias.

The UNICODEMAPTABLE parameter specifies a character set mapping table file to be read and the CHARSET parameter the binary mapping table file to be written.

The MIME character set name obtained from diskfont.library will be used as file name of the binary character set mapping table which will be stored in "L:Charsets/". If the CHARSET parameter is omitted, no file will be written, instead the resulting mapping table is displayed in text form.

Example 1

Parse a text file "CP1258.TXT" and display a list of entries with the index on the left and the Unicode codepoint at the right side.

 1> BuildMapTable CP1258.TXT

Note: unmapped entries (with Unicode codepoint 0) are not displayed.

Example 2

Parse a text file "8859-1.TXT" and create a file "L:Charsets/ISO-8859-1" (latin1 is an alias for ISO-8859-1).

 1> BuildMapTable 8859-1.TXT CHARSET LATIN1

ARexx Interface

BuildMapTable has no ARexx interface.

BumpRev

LibToolIcon.png

Tags: #Code Generation #Versioning

BumpRev updates version and revision information and makes this available for program code to use it. It generates header file for C and Assembly language programs to use. The typical application is to "bump" (i.e. increment) the revision number of a program, library, device, etc. after it has been changed and before it is released.

There are two common practices to use BumpRev:

  1. Update the revision number whenever the software is rebuilt
  2. Update the revision number only when a new release is created

The advantage of a. is that you can integrate it into your built process, and you won't ever forget to bump a revision number when something has changed. The disadvantage is that revision numbers can increase very quickly (do not worry: you have 65535 revisions to spare).

The advantage of b. is that it saves revision numbers (which can become scarce), but the disadvantage is that you might forget to bump a revision number before you rebuilt a new release.

Practice a. has a lot going for it, and it was the preferred default at Commodore when AmigaOS 2.x/3.x were created.

Tool Types

(none)

Shell Usage

Format
BUMPREV [-q] [-v <version>] [-r <revision>] [-n <name>] [-b <base name>] [-d <depend list file>]
[-e <exclude suffix>] [-i <include suffix>] [-D] [-L] [<version> <base name> [<depend list file>]]
Template
-q -v <version> -r <revision> -n <name> -b <base name> -d <depend list file>
-e <exclude suffix> -i <include suffix> -D -L <version> <base name> <depend list file>
Location
SDK:C

The options are:

Option Description
-q Activate "quiet" operation, i.e. will not print any warning or progress messages, but will print error message.
-v <version> Set the version number to use. This must be a number greater than 0. Note that version numbers greater than 255 are unsafe to use for some applications since a "struct Resident" only reserves an unsigned 8-bit integer for storing a version number in it.
-r <revision> Set the revision number to use rather than let BumpRev read and increment it instead. This must be a number greater than 0.
-n <name> Set the name of the program, library, device, etc. If it is not the same as the base name (see below). This can be useful for software built on systems which do not use a case-insensitive file system
-b <base name> Set the base file name all the work and header file names are generated from. This also becomes the name that is written to the files unless you override this with the -n option (see above).
-d <depend list file> A file which contains a list of file names whose modification times should be compared against the modification time of the file which contains the revision number. If any of these files has been modified after the revision number file has a new revision will be created; otherwise BumpRev will exit immediately. There must be one file name per line. Note that if you give "-" as the file name, BumpRev will try to read the file name list from standard input.
-e <exclude suffix> By default BumpRev generates three header files: one for use with C and two for use with Assembly. language The C header file name ends with ".h" and the two Assembly language file names end with ".i" and ".s", respectively. You can tell BumpRev not to create all of these files with the -e option.
-i <include suffix> This controls which header files should be created, with the default being the ".h", ".i", and ".s" files. The difference between the -i option and -e option is that with -i you say exactly what header files you want, and not what you do not want.
-D Add a DEVNAME definition to the output files.
-L Add a LIBNAME definition to the output files.

You can specify the base name, the version number and the dependencies file name both using options and as regular parameters. But you do not need to specify both. For example, the following commands are equivalent:

  BumpRev -b foo 1
  BumpRev 1 foo
  BumpRev -v 1 foo
  BumpRev -v 1 -b foo

The following commands are equivalent, too:

  BumpRev 1 bar dependencies_file
  BumpRev -b bar 1 dependencies_file
  BumpRev -v 1 -d dependencies_file bar
  BumpRev -v 1 -b bar dependencies_file
Example 1

Create or update a revision file "foo_rev.rev" unless it already exists, and create three more header files: "foo_rev.h", "foo_rev.1", and "foo_rev.s".

  1> BumpRev 1 foo
  BumpRev: Creating new file "foo_rev.rev"
  BumpRev: Bumped "foo" to version 1.1.

If you invoke BumpRev with the same parameters again, the revision file will be updated, incrementing the revision number. The three header files will be updated, too.

  1> BumpRev 1 foo
  BumpRev: Bumped "foo" to version 1.2.
Example 2

The name you give BumpRev goes into the names of the header files, and it also becomes the name printed in each string. This can be overridden with the -n option.

  1> BumpRev -n Bar 1 bar
  BumpRev: Creating new file "bar_rev.rev".
  BumpRev: Bumped "Bar" to version 1.1.

The resulting files still use the same base name, but the names printed in the files are different.

bar_rev.h

#define VERSION  1
#define REVISION 1
#define DATE     "15.6.2020"
#define VERS     "Bar 1.1"
#define VSTRING  "Bar 1.1 (15.6.2020)\r\n"
#define VERSTAG  "\0$VER: Bar 1.1 (15.6.2020)"
Example 3

BumpRev defaults to create three header files, but at times there may be only one you need. To create just the C language header file, you would use the -e option like this:

  1> BumpRev -e si 1 baz

This would create only "baz_rev.h" and omit "baz_rev.i" and "baz_rev.s".

ARexx Interface

BumpRev has no ARexx interface.

CatComp

LibToolIcon.png

Tags: #Localization

CatComp is a program to handle the creation and maintenance of the message catalogs used by locale.library. Message catalogs are IFF files read by locale.library that contain all the text strings used by an application. By providing several of these catalog files, an application can use locale.library and transparently adapt itself to the user's preferred language.

CatComp reads and processes two kinds of input files, and produces five types of output files.

CatComp Input Files

The first kind of file read by CatComp is a catalog description file. That file describes all the strings used by an application. There is one such file per localized application. In this file, you assign numbers to all the application strings as well as specify their minimum and maximum lengths.

The second kind of file read by CatComp is a catalog translation file. That file contains all strings from the application translated to one language. There is one catalog translation file per language supported by a localized application.

CatComp Output Files

CatComp can produce several different kinds of output files. The first is an IFF catalog. These are regular IFF files. There is one catalog produced for every catalog text file successfully processed. Catalogs are read directly by locale.library whenever the OpenCatalog() call is made.

The second type of file output by CatComp is an empty translation file. This is useful when starting a translation. It lets CatComp convert a catalog description file into a ready to fill-in translation file.

The third type of file output by CatComp is a new translation file based on an old one. This is useful when re-starting a translation after a catalog description file was modified, because the new and the modified strings will be stored in the the new catalog translation file.

The fourth and fifth type of files output by CatComp are C and Assembly language programming source files. These are used by application writers to convert catalog description files into source files that can be directly used in their applications.

The sixth and seventh type of files output by CatComp are Modula-2 language definition and implementation source files, which are used by programmers in much the same way C and Assembly files are used.

Finally, the last type of file output by CatComp is an AmigaDOS load file. These load files are used by application writers to include a set of strings directly inside an application. This is normally used to encode the default strings that an application uses when there are no external catalogs available.

File Formats

To learn more about CatComp's input and output files, consult CatComp documentation located in the Software Development Kit: SDK:Documentation/Tools/Locale/CatComp.doc.

Tool Types

(none)

Shell Usage

Format
CATCOMP <descriptor> [<cd file>] [CATALOG=<catalog file>] [CTFILE=<ct file>] [CFILE=<c source file>]
[SYMBOLS={<symbol>}] [VERBOSITY=<verbosity level>] [NOOPTIM] [NONUMBERS] [NOSTRINGS] [NOARRAY]
[NOBLOCK] [NOCODE] [SORT] [COMMENTS]
Template
DESCRIPTOR/A,TRANSLATION,CATALOG/K,CTFILE/K,CFILE/K,SYMBOLS/M/K,VB=VERBOSITY/N/K,NOOPTIM/S,
NONUMBERS/S,NOSTRINGS/S,NOARRAY/S,NOBLOCK/S,NOCODE/S,SORT/S,COMMENTS/S
Location
SDK:C

The options are:

DESCRIPTOR Specifies the name of a catalog descriptor file. Typically, the file extension for catalog descriptor files is ".cd".
TRANSLATION Specifies the name of a catalog translation file. Typically, the file extension for catalog translation files is ".ct".
CATALOG Specifies the name of the IFF catalog file to produce. When this option is specified, a translation file must have been given in the previous argument.
CTFILE Specifies the name of the catalog translation file to produce. This option only requires a catalog descriptor file be provided, then the catalog translation file will be blank. When you also specified a source translation file, the version string, language, codeset, and strings of the source translation file will be copied to the new translation file.
CFILE Specifies the name of the C language source file header to produce. This option only requires a catalog descriptor file be provided, there is no need for a translation file.
SYMBOLS Specifies any number of symbols that are used for determining which section of the available strings get included within generated C, Assembly, and object files. The valid symbols are:
Symbol Description
CATCOMP_NUMBERS This symbol causes the name of each string to be defined with the value of its ID, as listed in the catalog descriptor file.
CATCOMP_STRINGS This symbol causes each string to be defined.
CATCOMP_ARRAY This symbol causes a table of CatCompArray structure to become available.
CATCOMP_BLOCK This symbol causes a compact table of all strings and their ID values to be generated.
CATCOMP_CODE This symbol causes the generation of source code for a function called GetString().
VB or
VERBOSITY
Specifies the amount of information CatComp should output while doing some processing. The lower this number, the less CatComp will output messages.
Verbosity Level Description
0 No warnings
1 At verbosity level 1 or higher, warnings about C language formatting commands and warnings about missing strings in catalog translation files can appear.
2 At verbosity level 2 or higher, warnings about missing trailing ellipsis (...) in catalog descriptor files can appear.
3 At verbosity level 3 or higher, warnings about trailing blank characters and non-ASCII characters in catalog descriptor files can appear. This is the default verbosity level.
4 At verbosity level 4 or higher, CatComp will output every message it could. This includes warnings about identical strings in catalog descriptor and catalog translation files (which are not shown when the NOOPTIM switch was spesified).
NOOPTIM When generating a catalog file, CatComp normally skips strings that are identical in the catalog descriptor file and in the catalog translation file and does not include them in the generated catalog file. This option disables this optimization.
NONUMBERS This option is only useful when generate C or Assembly language header files. It prevents the generation of the CATCOMP_NUMBERS section within the header file.
NOSTRINGS This option is only useful when generate C or Assembly language header files. It prevents the generation of the CATCOMP_STRINGS section within the header file.
NOARRAY This option is only useful when generate C or Assembly language header files. It prevents the generation of the CATCOMP_ARRAY section within the header file.
NOBLOCK This option is only useful when generate C or Assembly language header files. It prevents the generation of the CATCOMP_BLOCK section within the header file.
NOCODE This option is only useful when generate C or Assembly language header files. It prevents the generation of the CATCOMP_CODE section within the header file.
SORT When specified, all strings will be sorted by ID before they are written to header/assembler/object/catalog files. Catalog translation files will, however, get written in the same order in which the strings showed up in the catalog descriptor file.
COMMENTS When both this switch and CTFILE were spesified, the comment lines from the catalog description file will be copied into the new catalog translation file.
Example 1

Test if "app.cd" is a valid catalog descriptor file.

  1> CatComp app.cd
Example 2

Generate a blank translation file called "app.ct".

  1> CatComp app.cd CTFILE app.ct
Example 3

Create a catalog file "app.catalog".

  1> CatComp app.cd app.ct CATALOG app.catalog

ARexx Interface

CatComp has no ARexx interface.

ChangeRegs

LibToolIcon.png

Tags: #Code Generation #Conversion

Missing description.

Tool Types

(none)

Shell Usage

Format
CHANGEREGS <source file> <destination> [HEADER] [NEWSUFFIX=<file extension>]
Template
SRC=SOURCE/A,DEST=DESTPATH,HEADER/S,NS=NEWSUFFIX/K
Location
SDK:C

The parameters are:

SRC or
SOURCE
C source code file to be processed.
DEST or
DESTPATH
Path to directory where the processed source code will be saved.
HEADER Add register definitions for SAS/C and GNU/C at the beginning of the source code.
NS or
NEWSUFFIX
Save the processed source code with a new file extension.

ARexx Interface

ChangeRegs has no ARexx interface.

DistCC

LibToolIcon.png

Tags: #Building

DistCC is a program to distribute builds of C or C++ code across several machines on a network. It does not require all machines to share a filesystem, have synchronized clocks, or to have the same libraries or header files installed. They can even have different processors or operating systems if cross-compilers are installed.

DistCC is not itself a compiler, but rather a front-end to the GNU C/C++ compiler (GCC), or another compiler of your choice. All the regular GCC options and features work as normal.

For each job, DistCC sends the complete preprocessed source code and compiler arguments across the network from the client to a compilation server. Compilation is driven by a client machine, which is typically the developer's workstation. The DistCC client runs on this machine, as does Make, the preprocessor, the linker, and other stages of the build process. Any number of volunteer machines act as compilation servers and help the client to build the program by running the DistCCD daemon, C compiler and assembler as required.

DistCC runs across TCP sockets (on port 3632 by default). For TCP connections the volunteers must run the DistCCD daemon directly.

DistCC is intended to be used with GNU Make's -j option, which runs several compiler processes concurrently. DistCC spreads the jobs across both local and remote CPUs. Because DistCC is able to distribute most of the work across the network, a higher concurrency level can be used than for local builds. As a rule of thumb, the -j value should be set to about twice the total number of available server CPUs but subject to client limitations. This setting allows for maximal interleaving of tasks being blocked waiting for disk or network IO.

It is strongly recommended that you install the same compiler version on all machines participating in a build. Incompatible compilers may cause mysterious compile or link failures.

Environment Variables

DistCC uses the following environment variables:

Variable Description
DISTCC_DIR Path to the host list and locks files.
DISTCC_HOSTS Name of the host list file. The default name is "hosts".
DISTCC_LOG Name of the log file. When set, DistCC writes its output to the log.
DISTCC_VERBOSE Setting this to 1 enables debug messages.
Server Specification

A list of servers will be taken from a file pointed by an environment variable $DISTCC_HOSTS or $DISTCC_DIR/hosts. In the file each host can be given in any of these forms:

Host Address / Command Description
localhost Run in place.
<host> TCP connection to a specified host's port 3632.
<host>:<port> TCP connection to a specified host's port number <port>.
--randomize Randomize the server list before execution.

Tool Types

(none)

Shell Usage

Format
DISTCC [--help] [--version] [--show-hosts] [-j] [<compiler>] [<compiler options>]
Template
--help --version --show-hosts -j <compiler> <compiler options>
Location
SDK:C
Tutorials
See also


The options are:

Option Description
--help Explain DistCC usage and exit.
--version Show DistCC version and exit.
--show-hosts Show host list and exit.
-j Calculate the concurrency level from the host list.
<compiler> Compiler to use. Defaults to cc.
<compiler options> Compiler options. As a minimum, you should supply a list of source files to be compiled.

ARexx Interface

DistCC has no ARexx interface.

DistCCD

LibToolIcon.png

Tags: #Building

DistCCD is the server for the DistCC distributed compiler. It accepts and runs compilation jobs for network clients. DistCCD will listen for network connections and fork several child processes to serve them.

Environment Variables

DistCCD uses the following environment variables:

Variable Description
DISTCC_CMDLIST If the environment variable DISTCC_CMDLIST is set, load a list of supported commands from the file named by DISTCC_CMDLIST, and refuse to serve any command whose last DISTCC_CMDLIST_MATCHWORDS last words do not match those of a command in that list.
DISTCC_CMDLIST_NUMWORDS The number of words, from the end of the command, to match. The default is 1.
DISTCCD_PATH When starting distccd, if this value is set it will be used unaltered for the command-execution path. The code that normally tries to remove masquerade directories from the path is skipped.
DISTCC_SAVE_TEMPS If set to 1, temporary files are not deleted after use.
DISTCC_TCP_DEFER_ACCEPT Turn on the TCP_DEFER_ACCEPT socket option. Defaults to on.
TMPDIR Directory for temporary files such as preprocessor output.

Tool Types

(none)

Shell Usage

Format
DISTCCD [--help] [--version] [-P=--pid-file <file>] [-N=--nice <level>] [--user <user>] [-j=--jobs <limit>] [--job-lifetime <seconds>]
[-p=--port <port>] [--listen <address>] -a=--allow <ip/bits> [--stats] [--stats-port <port>]
[--log-level <level>] [--verbose] [--no-detach] [--log-file <file>] [--log-stderr] [--wizard]
[--inetd] [--daemon]
Template
--help --version -P=--pid-file <file> -N=--nice <level> --user <user> -j=--jobs <limit> --job-lifetime <seconds>
-p=--port <port> --listen <address> -a=--allow <ip/bits> --stats --stats-port <port>
--log-level <level> --verbose --no-detach --log-file <file> --log-stderr --wizard
--inetd --daemon
Location
SDK:C
Tutorials
See also


The options are:

Option Type Description
--help General Display usage information and exit.
--version General Show version and exit.
-P <file> or
--pid-file <file>
General Save DistCCD process id to file <file>.
-N <niceness> or
--nice <level>
General Makes the DistCCD more nice about giving up the CPU to other tasks on the machine. <niceness> is an increment to the current priority of the process. The range of priorities depends on the operating system but is typically 0 to 20. By default the niceness is increased by 5.
--user <user> General Change user to <user>.
-j <limit> or
--jobs <limit>
General Sets a limit on the number of jobs that can be accepted at any time. By default this is set to two greater than the number of CPUs on the machine, to allow for some processes being blocked on network IO.
--job-lifetime <seconds> General Kills a DistCCD job if it runs for more than <seconds> seconds. This prevents denial of service from clients that don't properly disconnect and compilers that fail to terminate. By default this is turned off.
-p <port> or
--port <port>
Networking Set the TCP port to listen on, rather than the default of 3632.
--listen <address> Networking Instructs DistCCD to listen on the IP address <address>. This can be useful for access control on dual-homed hosts.
-a <ipaddr>[/<mask>] or
--allow <ip/bits>
Networking Instructs DistCCD to accept connections from the IP address <ipaddr>. A CIDR mask length can be supplied optionally after a trailing slash, e.g. 192.168.0.0/24, in which case addresses that match in the most significant <mask> bits will be allowed. This is a mandatory parameter.
--stats Networking Turn on the statistics HTTP server. By default it is off.
--stats-port <port> Networking Set the TCP port to listen on for HTTP requests, rather than the default of 3633.
--log-level <level> Debugging Set the minimum severity of error that will be included in the log file. Useful if you only want to see error messages rather than an entry for each connection. <level> can be critical, error, warning, notice, info, or debug.
--verbose Debugging Include debug messages in log. Equivalent to --log-level=debug.
--no-detach Debugging Do not detach from the shell that started DistCCD.
--log-file <file> Debugging Send messages to file <file>.
--log-stderr Debugging Send log messages to stderr. This is mainly intended for use in debugging.
--wizard Debugging Turn on all options appropriate for starting DistCCD under GNU debugger GDB.
--inetd Operation Mode Serve a client connected to stdin/stdout. Note: this option has been disabled.
--daemon Operation Mode Run DistCCD in the background.
Example

Start the server, allow connections from an IP address 192.168.1.100, and suppress all other messages except error messages.

  1> DistCCD --allow 192.168.1.100 --log-level=error

Pressing Ctrl + C stops the server.

ARexx Interface

DistCCD has no ARexx interface.

DistCCMon-Amiga

Icon-DistCCMon-Amiga.png

Tags: #Building

Displays the statuses of the current distributed compilation jobs graphically.

Tool Types

(none)

Shell Usage

Format
DISTCCMON-AMIGA
Template
(none)
Location
SDK:C
Tutorials
See Also

ARexx Interface

DistCCMon-Amiga has no ARexx interface.

DistCCMon-Text

LibToolIcon.png

Tags: #Building

Displays the statuses of the current distributed compilation jobs.

Tool Types

(none)

Shell Usage

Format
DISTCCMON-TEXT [<delay>]
Template
<delay>
Location
SDK:C
Tutorials
See Also


When run without parameters, DistCCMon-Text lists the current jobs and exits. If you want to continuously monitor the compilation jobs, supply a job polling delay. For example, to list the jobs in every 3 seconds type

  1> DistCCMon-Text 3

When you press Enter, DistCCMon-Text keeps listing the jobs until you interrupt it by pressing Ctrl + C.

ARexx Interface

DistCCMon-Text has no ARexx interface.

Expunge

LibToolIcon.png

Tags: #Debugging

Expunge is meant as a software developer tool to force shared libraries and devices to expunge themselves. The ramlib process is responsible for expunging libraries when the corresponding disk file has changed so there should be little need for this command in practice. The caching of system libraries and devices is normal and users should not be using this command.

Tool Types

(none)

Shell Usage

Format
EXPUNGE [{<library or device>}] [PATTERN <pattern>] [ALL]
Template
NAME/M,PAT=PATTERN/K,ALL/S
Location
SDK:C

Expunge with no arguments displays the list of devices and libraries along with their open count and flags. This is useful to find out the names of the objects to expunge.

Expunge will attempt to expunge the named shared libraries and/or devices. Since it is not possible to determine whether an expunge succeeds or fails Expunge will always state an object was expunged if it was found.

If PATTERN is specified only libraries and devices matching this pattern will be attempted to be expunged. This pattern may be an arbitrary DOS style pattern.

If the ALL switch is present Expunge will attempt to expunge all the shared libraries and devices with a usage count of zero. Any names specified will be ignored in this case.

If Expunge succeeded, the return code will be set to 0. If Expunge cannot find one or more specified names, it will continue and the return code will be 5. If Expunge fails completely, the return code will be 20. The secondary return code will be set appropriately.

Example 1

Display the current device and library lists.

  1> Expunge
Example 2

Expunge keyboard.device and graphics.library. Since the use count of these objects is greater than 0 nothing will happen but the command will still succeed. This is because there is no return code on the Expunge vector.

  1> Expunge keyboard.device graphics.library
Example 3

Expunge all the devices and libraries it can find.

  1> Expunge ALL
Example 4

Expunge all the unused catalogs and replace the obsolete Avail FLUSH technique.

  1> Expunge locale.library
Example 5

Expunge all libraries whose name is starting with "amiga" (i.e. amigaguide.library or amigaguide.datatype).

  1> Expunge PATTERN amiga#?

ARexx Interface

Expunge has no ARexx interface

FDTrans

LibToolIcon.png

Tags: #Code Generation #Conversion

FDTrans is a small utility for legacy SFD files. It offers two functions:

  1. Convert an SFD file into an XML file for processing with the IDLTool
  2. Generate 68k-to-PPC or PPC-to-68k cross call stubs. These are required to use a 68k Library from PPC code (automatically; implicit emulator calling works too but needs special attention) and to make a PPC library callable for (legacy) 68k programs.

FDTrans requires an SFD file as input. If you only have an FD file, you need to revert it to an SFD file using a tool like FD2Pragma.

Note
SFD file is a file which contains lines describing a library's entry points.

Note that for some SFD files it might be required to do some manual correction. Most notably, there is great commotion about the way that vararg functions are specified. The following format is used throughout because it is the most commonly used format:

VOID someFunc(ULONG someparam, ULONG Tag1, ...) (D0,A0)

Although this prototype doesn't really make sense (vararg functions are not supposed to list the first vararg argument), this is the way that FDTrans expects the functions in the SFD file. If you have a function like

VOID printf(char *format, ...) (A0,A1)

you need to manually add a dummy argument like

VOID printf(char *format, ULONG dummy, ...) (A0,A1)

For more information on FDTrans, see the developer documentation on migrating old programs and libraries.

Tool Types

(none)

Shell Usage

Format
FDTRANS <sfd file> [-o=--output <outfile>] [-i=--struct <structname>] [-l=--library <libname>]
[-x=--xml] [-s=--stubs] [-c=--c68k] [-cold] [-a=--all] [-6=--68k] [-4=--inline4] [-v=--verbose]
Template
<sfd file> -o=--output <outfile> -i=--struct <structname> -l=--library <libname> -x=--xml
-s=--stubs -c=--c68k -cold -a=--all -6=--68k -4=--inline4 -v=--verbose
Location
SDK:C
Tutorials
See Also

The options are:

Option Description
<sfd file> An SFD file to process.
-o <outfile> or
--output <outfile>
Use <outfile> as base for output files.
-i <structname> or
--struct <structname>
Use <structname> as interface name. Guess name by default.
-l <libname> or
--library <libname>
Use <libname> for OpenLibrary. Guess name by default.
-s=--stubs Generate the PPC-to-M68k cross-call stubs in C.
-c=--c68k Generate the M68k-to-PPC cross-call stubs in C.
-cold Generate the M68k-to-PPC cross-call stubs in C but without TRAPTYPENR.
-a=--all Generate the PPC-to-M68k and M68k-to-PPC cross-call stubs in C.
-6=--68k Generate M68k-to-PPC cross-call stubs in Assembler.
-4=--inline4 Generate special inline4 for using M68k libraries without a PPC interface (interface pointer can be NULL).
-v=--verbose Be verbose.

ARexx Interface

FDTrans has no ARexx interface.

FSTest

LibToolIcon.png

Tags: #Debugging

FSTest is a tool that checks for problems with a mounted file system on your computer. When executed without parameters, FSTest displays a complete list of the available tests:

Test Number Description
1 Add a notification.
2 Change the current mode of a lock.
3 Change the file mode.
4 Change the current file position.
5 Change the size of a file.
6 Close an open file.
7 Create a directory.
8 Create a hard link.
9 Create a soft link.
10 Delete a file, directory, or symbolic link.
11 Get information on a device.
12 Duplicate an existing lock.
13 Get a lock on an open file.
14 Reserved for a ExamineDir() test.
15 Examine a file.
16 Examine a locked file system object.
17 Reserved for FileSystemAttr() test.
18 Reserved for Flush() test.
19 Reserved for Format() test.
20 Reserved for GetFilePosition() test.
21 Obtain the size of a file.
22 Inhibit access to a filesystem.
23 Lock a directory or a file.
24 Lock a record (a portion of a file).
25 Open a file.
26 Open a file you have a lock on.
27 Obtain the parent directory for a directory or file lock.
28 Get a shared lock on the parent directory of a file.
29 Read data from a file.
30 Read the target object string for a filesystem soft link.
31 Change the volume name.
32 Remove notify.
33 Rename a file, directory, or symbolic link.
34 Reserved for SameFile() test.
35 Reserved for SameLock() test.
36 Reserved for Serialize() test.
37 Change a comment string on a filesystem object.
38 Set the modification date for a file or directory.
39 Set group for a file or directory.
40 Set owner for a file or directory.
41 Set protection for a file or directory.
42 Unlock a file or directory.
43 Unlock a locked record.
44 Reserved for VolumeInfoData() test.
45 Write data to a file.
46 Set a write protection status of a volume.

Tool Types

(none)

Shell Usage

Format
FSTEST <device> [NOINFOMESSAGES] [NOWARNMESSAGES] [NOROOTMESSAGES] [ABORTONERR]
[FIRSTTESTNUMBER <test number>] [LASTTESTNUMBER <test number>] [TESTNUMBER <test number>]
Template
DEVICE/A,NOINFOMESSAGES=NI/S,NOWARNMESSAGES=NW/S,NOROOTMESSAGES=NR/S,
ABORTONERR=AOE/S,FIRSTTESTNUMBER=FTN/K/N,LASTTESTNUMBER=LTN/K/N,TESTNUMBER=TN/K/N
Location
SDK:C

The options are:

DEVICE Device to test.
NOINFOMESSAGES or
NI
Do not show additional information on tests.
NOWARNMESSAGES or
NW
Do not show warnings.
NOROOTMESSAGES or
NR
Missing description.
ABORTONERR or
AOE
Stop the execution of the test batch on first error.
FIRSTTESTNUMBER or
FTN
First test to perform. The valid test number is between 1 and 45.
LASTTESTNUMBER or
LTN
Last test to perform. The valid test number is between 1 and 45.
TESTNUMBER or
TN
Perform a single test. The valid test number is between 1 and 45.

ARexx Interface

FSTest has no ARexx interface.

FSVPTool

LibToolIcon.png

Tags: #Code Generation

FSVPTool generates all the basic stub files required for filesystems to communicate with the version 53 (or newer) DOS library FileSystem Vector-Port interface.

Tool Types

(none)

Shell Usage

Format
FSVPTOOL
Template
(none)
Location
SDK:C
Example

Generate a skeleton vector-port filesystem C source files.

  1.RAM Disk:> FSVPTool
  Finished, vector port interface files can be found in;  RAM:FSVP_Files

ARexx Interface

FSVPTool has no ARexx interface.

GCC

LibDrawerIcon.png

Tags: #Archiving #Building #Debugging #Optimizing #Testing

The SDK:gcc/bin directory contains essential tools from the GNU Compiler Collection and the GNU Binutils Binary Tools Collection. The command line tools included from the collections are:

  • addr2line – Converts addresses to filenames and line numbers.
  • ar – A utility for creating and modifying archives, and extracting from archives.
  • as – The GNU assembler.
  • c++ – The GNU C++ compiler.
  • c++filt – Decodes mangled (low-level) function names into human readable form.
  • cpp – The GNU C/C++ preprocessor.
  • g++ – The GNU C++ compiler, c++ alias.
  • gcc – The GNU C compiler.
  • gccbug – A utility for filing a bug report.
  • gcov – The GNU test coverage program.
  • gprof – The GNU profiler.
  • ld – The GNU linker.
  • nm – Lists symbols from object files.
  • objcopy – Copies and translates object files.
  • objdump – Displays information about object files.
  • ranlib – Generates an index to the contents of an archive and stores it in the archive.
  • readelf – Displays information about any ELF format object file.
  • size – Lists the section sizes of an object or archive file.
  • strings – Lists printable strings from files.
  • strip – Discards symbols.

The full documentation of the listed tools can be found from the GCC and GNU web sites.

GDB

LibToolIcon.png

Tags: #Debugging

GDB is a debugging tool which purpose is to help developers to locate programming errors from their C/C++ programs. With GDB the developer can run and halt their program at will, to monitor and modify the values of the program's internal variables, and even call functions independently of the program's normal behavior.

In order to be able to debug a program, it has to contain a debugging symbol table. The symbol table maps the machine language instructions to the variables, functions, and lines appearing in the program's source code. The debugging table should be embedded in the program at compilation. For example, when using a GCC compiler, option -g generates and embeds the debug information needed.

GDB Commands

Break and Watch

Command Description
awatch Set a watchpoint for an expression.
break Set breakpoint at specified line or function.
catch Set catchpoints to catch events.
clear Clear breakpoint at specified line or function.
commands Set commands to be executed when a breakpoint is hit.
condition Specify breakpoint to break only if a condition is true.
delete Delete some breakpoints or auto-display expressions.
disable Disable some breakpoints.
enable Enable some breakpoints.
hbreak Set a hardware assisted breakpoint.
ignore Set ignore-count of a breakpoint.
rbreak Set a breakpoint for all functions matching a regular expression.
rwatch Set a read watchpoint for an expression.
tbreak Set a temporary breakpoint.
tcatch Set temporary catchpoints to catch events.
thbreak Set a temporary hardware assisted breakpoint.
watch Set a watchpoint for an expression.

Examine Data

Command Description
append Append code or data to a file.
call Call a function in the program.
delete display Cancel some expressions to be displayed when the program stops.
delete mem Delete a memory region.
disable display Disable some expressions to be displayed when the program stops.
disable mem Disable a memory region.
disassemble Disassemble a specified memory section.
display Print value of an expression each time the program stops.
dump Dump code or data to a file.
enable display Enable some expressions to be displayed when the program stops.
enable mem Enable a memory region.
inspect Alias to print.
mem Define attributes for a memory region.
output Like print but do not put value in the value history and do not print newline.
print Print expression's value.
print-object Ask an Objective-C to print itself.
printf Print a formatted string.
ptype Print definition of a type.
restore Restore the contents of a file to a memory.
set Evaluate an expression and assign the result to a variable.
set variable Evaluate an expression and assign the result to a variable.
undisplay Cancel some expressions to be displayed when program stops.
whatis Print data type of an expression.
x Examine memory.

Examine Files

Command Description
add-shared-symbol-files Load the symbols from shared object's in the dynamic linker's link map.
add-symbol-file Add a symbol file.
cd Change the working directory.
core-file Select a core dump file for examining the memory and registers.
directory Add new directory to the beginning of the search path for source files.
edit Edit file or function.
exec-file Select program file for getting the contents of a pure memory.
file Select program file to be debugged.
forward-search Search for regular expression from the last line listed.
list List a function or a line.
load Dynamically load a file into the running program.
path Add new directory to the beginning of the search path for object files.
pwd Print the working directory.
reverse-search Search backward for regular expression from the last line listed.
search Search regular expression from the last line listed.
section Change the base address of a section of a file.
set extension-language Set mapping between file name extension and source language.
set gnutarget Set the current BFD target.
show gnutarget Show the current BFD target.
symbol-file Load a symbol table from an executable file.

Maintenance

Command Description
flushregs Force GDB to flush its register cache (maintainer command).
maintenance Commands for use by GDB maintainers.
maintenance agent Translate an expression into remote agent bytecode.
maintenance check-symtabs Check consistency of psymtabs and symtabs.
maintenance cplus C++ maintenance commands.
maintenance cplus first_component Print the first class/namespace component of NAME.
maintenance cplus namespace Print the list of possible C++ namespaces.
maintenance demangle Demangle a C++/ObjC mangled name.
maintenance deprecate Deprecate a command.
maintenance dump-me Get fatal error; make debugger dump its core.
maintenance info Commands for showing internal info about the program being debugged.
maintenance info breakpoints Status of all breakpoints.
maintenance info psymtabs List the partial symbol tables for all object files.
maintenance info sections List the BFD sections of the exec and core files.
maintenance info symtabs List the full symbol tables for all object files.
maintenance internal-error Give GDB an internal error.
maintenance internal-warning Give GDB an internal warning.
maintenance packet Send an arbitrary packet to a remote target.
maintenance print Maintenance command for printing GDB internal state.
maintenance print architecture Print the internal architecture configuration.
maintenance print cooked-registers Print the internal register configuration including cooked values.
maintenance print dummy-frames Print the contents of the internal dummy-frame stack.
maintenance print msymbols Print dump of current minimal symbol definitions.
maintenance print objfiles Print dump of current object file definitions.
maintenance print psymbols Print dump of current partial symbol definitions.
maintenance print raw-registers Print the internal register configuration including raw values.
maintenance print reggroups Print the internal register group names.
maintenance print register-groups Print the internal register configuration including each register's group.
maintenance print registers Print the internal register configuration.
maintenance print statistics Print statistics about internal gdb state.
maintenance print symbols Print dump of current symbol definitions.
maintenance print type Print a type chain for a given symbol.
maintenance set Set GDB internal variables used by the GDB maintainer.
maintenance set dwarf2 Set DWARF 2 specific variables.
maintenance set profile Set internal profiling.
maintenance show Show GDB internal variables used by the GDB maintainer.
maintenance show dwarf2 Show DWARF 2 specific variables.
maintenance show profile Show internal profiling.
maintenance space Set the display of space usage.
maintenance time Set the display of time usage.
maintenance translate-address Translate a section name and address to a symbol.
maintenance undeprecate Undeprecate a command.
set archdebug Set architecture debugging.
set backtrace Set backtrace specific variables.
set breakpoint Breakpoint specific settings.
set debug arch Set architecture debugging.
set debug event Set event debugging.
set debug expression Set expression debugging.
set debug frame Set frame debugging.
set debug observer Set observer debugging.
set debug serial Set serial debugging.
set debug target Set target debugging.
set debugvarobj Set varobj debugging.
set eventdebug Set event debugging.
set remote Remote protocol specific variables.
set serial Set default serial/parallel port configuration.
set watchdog Set watchdog timer.
show archdebug Show architecture debugging.
show backtrace Show backtrace specific variables.
show breakpoint Breakpoint specific settings.
show debug arch Show architecture debugging.
show debug event Show event debugging.
show debug expression Show expression debugging.
show debug frame Show frame debugging.
show debug observer Show observer debugging.
show debug serial Show serial debugging.
show debug target Show target debugging.
show debugvarobj Show varobj debugging.
show eventdebug Show event debugging.
show remote Show the remote protocol specific variables.
show serial Show the default serial/parallel port configuration.
show watchdog Show a watchdog timer.

Obscure Features

Command Description
compare-sections Compare section data on target to the exec file.
complete List the completions for the rest of the line as a command.
maintenance set dwarf2 max-cache-age Set the upper bound on the age of cached dwarf2 compilation units.
maintenance show dwarf2 max-cache-age Show the upper bound on the age of cached dwarf2 compilation units.
monitor Send a command to the remote monitor (remote targets only).
remote <command> Send a command to the remote monitor.
set annotate Set annotation_level.
set backtrace limit Set an upper bound on the number of backtrace levels.
set backtrace past-main Set whether backtraces should continue past "main".
set coerce-float-to-double Set coercion of floats to doubles when calling functions.
set cp-abi Set the ABI used for inspecting C++ objects.
set download-write-size Set the write size used when downloading a program.
set remote P-packet Set use of remote protocol P (set-register) packet.
set remote X-packet Set use of remote protocol X (binary-download) packet.
set remote Z-packet Set use of remote protocol Z packets.
set remote access-watchpoint-packet Set use of remote protocol Z4 (access-watchpoint) packet.
set remote binary-download-packet Set use of remote protocol X (binary-download) packet.
set remote fetch-register-packet Set use of remote protocol p (fetch-register) packet.
set remote hardware-breakpoint-packet Set use of remote protocol Z1 (hardware-breakpoint) packet.
set remote p-packet Set use of remote protocol p (fetch-register) packet.
set remote read-aux-vector-packet Set use of remote protocol qPart_auxv (read-aux-vector) packet.
set remote read-watchpoint-packet Set use of remote protocol Z3 (read-watchpoint) packet.
set remote set-register-packet Set use of remote protocol P (set-register) packet.
set remote software-breakpoint-packet Set use of remote protocol Z0 (software-breakpoint) packet.
set remote symbol-lookup-packet Set use of remote protocol qSymbol (symbol-lookup) packet.
set remote verbose-resume-packet Set use of remote protocol vCont (verbose-resume) packet.
set remote write-watchpoint-packet Set use of remote protocol Z2 (write-watchpoint) packet.
set remoteaddresssize Set the maximum size of the address (in bits) in a memory packet.
show annotate Show annotation_level.
show backtrace limit Show the upper bound on the number of backtrace levels.
show backtrace past-main Show whether backtraces should continue past "main".
show coerce-float-to-double Show coercion of floats to doubles when calling functions.
show cp-abi Show the ABI used for inspecting C++ objects.
show download-write-size Show the write size used when downloading a program.
show remote P-packet Show current use of remote protocol P (set-register) packet.
show remote X-packet Show current use of remote protocol X (binary-download) packet.
show remote Z-packet Show use of remote protocol Z packets.
show remote access-watchpoint-packet Show current use of remote protocol Z4 (access-watchpoint) packet.
show remote binary-download-packet Show current use of remote protocol X (binary-download) packet.
show remote fetch-register-packet Show current use of remote protocol p (fetch-register) packet.
show remote hardware-breakpoint-packet Show current use of remote protocol Z1 (hardware-breakpoint) packet.
show remote p-packet Show current use of remote protocol `p' (fetch-register) packet.
show remote read-aux-vector-packet Show current use of remote protocol qPart_auxv (read-aux-vector) packet.
show remote read-watchpoint-packet Show current use of remote protocol Z3 (read-watchpoint) packet.
show remote set-register-packet Show current use of remote protocol P (set-register) packet.
show remote software-breakpoint-packet Show current use of remote protocol Z0 (software-breakpoint) packet.
show remote symbol-lookup-packet Show current use of remote protocol qSymbol (symbol-lookup) packet.
show remote verbose-resume-packet Show current use of remote protocol vCont (verbose-resume) packet.
show remote write-watchpoint-packet Show current use of remote protocol Z2 (write-watchpoint) packet.
show remoteaddresssize Show the maximum size of the address (in bits) in a memory packet.
stop There is no stop command.

Running the Program

Command Description
advance Continue the program up to the given location (same form as args for break command).
attach Attach to a process or file outside of GDB.
continue Continue program being debugged.
detach Detach a process or file previously attached.
disconnect Disconnect from a target.
finish Execute until selected stack frame returns.
handle Specify how to handle a signal.
info handle What debugger does when program gets various signals.
interrupt Interrupt the execution of the debugged program.
jump Continue program being debugged at specified line or address.
kill Kill execution of program being debugged.
next Step program.
nexti Step one instruction.
run Start debugged program.
set args Set argument list to give program being debugged when it is started.
set environment Set environment variable value to give the program.
set follow-fork-mode Set debugger response to a program call of fork or vfork.
set scheduler-locking Set mode for locking scheduler during execution.
set step-mode Set mode of the step operation.
show args Show argument list to give program being debugged when it is started.
show follow-fork-mode Show debugger response to a program call of fork or vfork.
show scheduler-locking Show mode for locking scheduler during execution.
show step-mode Show mode of the step operation.
signal Continue program giving it signal specified by the argument.
start Run the debugged program until the beginning of the main procedure.
step Step program until it reaches a different source line.
stepi Step one instruction exactly.
target Connect to a target machine or process.
thread Use this command to switch between threads.
thread apply Apply a command to a list of threads.
apply all Apply a command to all threads.
tty Set terminal for future runs of program being debugged.
unset environment Cancel environment variable VAR for the program.
until Execute until the program reaches a source line greater than the current.

Examine Stack

Command Description
backtrace Print backtrace of all stack frames.
bt Alias to backtrace.
down Select and print stack frame called by this one.
frame Select and print a stack frame.
return Make selected stack frame return to its caller.
select-frame Slect a stack frame without printing anything.
up Select and print a stack frame that called this one.

Status Inquiries

Command Description
info Generic command for showing things about the program being debugged.
info powerpc Verious PowerPC info specific commands.
macro Prefix for commands dealing with C preprocessor macros.
show Generic command for showing things about the debugger.

Support Facilities

Command Description
apropos Search for commands matching a REGEXP.
define Define a new command name.
document Document a user-defined command.
dont-repeat Don't repeat this command.
down-silently Same as the down command.
echo Print a constant string.
help Print list of commands.
if Execute nested commands once IF the conditional expression is non zero.
interpreter-exec Execute a command in an interpreter.
make Run the Make program using the rest of the line as arguments
overlay Commands for debugging overlays.
overlay auto Enable automatic overlay debugging.
overlay list-overlays List mappings of overlay sections.
overlay load-target Read the overlay mapping state from the target.
overlay manual Enable overlay debugging.
overlay map-overlay Assert that an overlay section is mapped.
overlay off Disable overlay debugging.
overlay unmap-overlay Assert that an overlay section is unmapped.
quit Exit GDB.
set architecture Set architecture of target.
set can-use-hw-watchpoints Set debugger's willingness to use watchpoint hardware.
set case-sensitive Set case sensitivity in name search.
set charset Set the host and target character sets.
set check range Set range checking.
set check type Set type checking.
set complaints Set max number of complaints about incorrect symbols.
set confirm Set whether to confirm potentially dangerous operations.
set debug-file-directory Set the directory where separate debug symbols are searched for.
set demangle-style Set the current C++ demangling style.
set editing Set editing of command lines as they are typed.
set endian Set endianness of target.
set exec-done-display Set notification of completion for asynchronous execution commands.
set height Set number of lines gdb thinks are in a page.
set history Generic command for setting command history parameters.
set host-charset Set the host character set.
set input-radix Set default input radix for entering numbers.
set language Set the current source language.
set listsize Set number of source lines gdb will list by default.
set logging Set logging options.
set logging file Set the current logfile.
set logging off Disable logging.
set logging on Enable logging.
set logging overwrite Set whether logging overwrites or appends to the log file.
set logging redirect Set the logging output mode.
set opaque-type-resolution Set resolution of opaque struct/class/union types (if set before loading symbols).
set osabi Set OS ABI of target.
set output-radix Set default output radix for printing of values.
set overload-resolution Set overload resolution in evaluating C++ functions.
set pagination Set state of pagination.
set print address Set printing of addresses.
set print array Set prettyprinting of arrays.
set print asm-demangle Set demangling of C++/ObjC names in disassembly listings.
set print demangle Set demangling of encoded C++/ObjC names when displaying symbols.
set print object Set printing of object's derived type based on vtable info.
set print pascal_static-members Set printing of pascal static members.
set print pretty Set prettyprinting of structures.
set print sevenbit-strings Set printing of 8-bit characters in strings as \nnn.
set print static-members Set printing of C++ static members.
set print union Set printing of unions interior to structures.
set print vtbl Set printing of C++ virtual function tables.
set prompt Set GDB's prompt.
set radix Set default input and output number radices.
set remotecache Set cache use for remote targets.
set stop-on-solib-events Set stopping for shared library events.
set symbol-reloading Set dynamic symbol table reloading multiple times in one run.
set target-charset Set the target character set.
set trust-readonly-sections Set mode for reading from readonly sections.
set verbose Set verbosity.
set width Set number of characters gdb thinks are in a line.
set write Set writing into executable and core files.
shell Execute the rest of the line as a shell command.
show architecture Show the current target architecture.
show can-use-hw-watchpoints Show debugger's willingness to use watchpoint hardware.
show case-sensitive Show case sensitivity in name search.
show charset Show the host and target character sets.
show check range Show range checking.
show check type Show type checking.
show complaints Show max number of complaints about incorrect symbols.
show confirm Show whether to confirm potentially dangerous operations.
show debug-file-directory Show the directory where separate debug symbols are searched for.
show demangle-style Show the current C++ demangling style.
show editing Show editing of command lines as they are typed.
show endian Show the current byte-order.
show exec-done-display Show notification of completion for asynchronous execution commands.
show height Show number of lines gdb thinks are in a page.
show history Generic command for showing command history parameters.
show host-charset Show the host character set.
show input-radix Show default input radix for entering numbers.
show language Show the current source language.
show listsize Show number of source lines gdb will list by default.
show logging Show logging options.
show logging file Show the current logfile.
show logging overwrite Show whether logging overwrites or appends to the log file.
show logging redirect Show the logging output mode.
show opaque-type-resolution Show resolution of opaque struct/class/union types (if set before loading symbols).
show osabi Show OS/ABI of target.
show output-radix Show default output radix for printing of values.
show overload-resolution Show overload resolution in evaluating C++ functions.
show pagination Show state of pagination.
show print address Show printing of addresses.
show print array Show prettyprinting of arrays.
show print asm-demangle Show demangling of C++/ObjC names in disassembly listings.
show print demangle Show demangling of encoded C++/ObjC names when displaying symbols.
show print object Show printing of object's derived type based on vtable info.
show print pascal_static-members Show printing of pascal static members.
show print pretty Show prettyprinting of structures.
show print sevenbit-strings Show printing of 8-bit characters in strings as \nnn.
show print static-members Show printing of C++ static members.
show print union Show printing of unions interior to structures.
show print vtbl Show printing of C++ virtual function tables.
show prompt Show gdb's prompt.
show radix Show the default input and output number radices.
show remotecache Show cache use for remote targets.
show stop-on-solib-events Show stopping for shared library events.
show symbol-reloading Show dynamic symbol table reloading multiple times in one run.
show target-charset Show the target character set.
show trust-readonly-sections Show mode for reading from readonly sections.
show verbose Show verbosity.
show width Show number of characters gdb thinks are in a line.
show write Show writing into executable and core files.
source Read commands from a file named FILE.
up-silently Same as the up command.
while Execute nested commands WHILE the conditional expression is non zero.

Tracing

Command Description
actions Specify the actions to be taken at a tracepoint.
collect Specify one or more data items to be collected at a tracepoint.
delete tracepoints Delete specified tracepoints.
disable tracepoints Disable specified tracepoints.
enable tracepoints Enable specified tracepoints.
end Ends a list of commands or actions.
passcount Set the passcount for a tracepoint.
save-tracepoints Save current tracepoint definitions as a script.
tdump Print everything collected at the current tracepoint.
tfind Select a trace frame.
tfind end Synonym for none.
tfind line Select a trace frame by source line.
tfind none De-select any trace frame and resume 'live' debugging.
tfind outside Select a trace frame whose PC is outside the given range.
tfind pc Select a trace frame by PC.
tfind range Select a trace frame whose PC is in the given range.
tfind start Select the first trace frame in the trace buffer.
tfind tracepoint Select a trace frame by tracepoint number.
trace Set a tracepoint at a specified line or function or address.
tstart Start trace data collection.
tstatus Display the status of the current trace data collection.
tstop Stop trace data collection.
while-stepping Specify single-stepping behavior at a tracepoint.

Tool Types

(none)

Shell Usage

Format
Missing description.
Template
Missing description.
Location
SDK:C
Tutorials

The options are:

Option Description
--args .
--async .
--noasync .
-b <baudrate> Set serial port baud rate for remote debugging.
--batch .
--cd <directory> Change current directory to <directory>.
--command <file> Execute GDB commands from file <file>.
--core <corefile> .
--pid <pid> .
--dbx DBX compatibility mode.
--directory <directory> Add directory <directory> to the path to search for source files.
--epoch Output information for epoch emacs-GDB interface.
--exec <exefile> Debug file <exefile>.
--fullname Output information for emacs-GDB interface.
--help Display this message and exit.
--interpreter <interpreter> Use the specified interpreter/user interface.
--mapped Use mapped symbol files.
--nw Do not use a window interface. See option -w.
--nx Do not read ".gdbinit" file.
--quiet Do not print version number on startup.
--readnow Read the whole symbol table file on first access.
--se <file> Use file <file> as a symbol table file and as an executable file.
--symbols <symfile> Read a symbol table from file <symfile>.
--tty <tty> .
--version Print GDB version and exit.
-w Use a window interface. See option --nw.
--write .
--xdb .

ARexx Interface

GDB has no ARexx interface.

GUnZip

LibToolIcon.png

Tags: #Archiving

GUnZip decompresses files created by gzip, zip, compress, compress -H or pack. The detection of the input format is automatic.

Tool Types

(none)

Shell Usage

Format
GUNZIP [-c=--stdout] [-d=--decompress] [-f=--force] [-h=--help] [-l=--list]
[-L=--license] [-n=--no-name] [-N=--name] [-r=--recursive] [-S=--suffix <suffix>]
[-t=--test] [-v=--verbose] [-V=--version] [-1=--fast] [-9=--best] {<file>}
Template
-c=--stdout -d=--decompress -f=--force -h=--help -l=--list -L=--license
-n=--no-name -N=--name -r=--recursive -S=--suffix <suffix> -t=--test
-v=--verbose -V=--version -1=--fast -9=--best <file>
Location
SDK:C

The options are:

Option Description
-c or --stdout Write output on standard output; keep original files unchanged. If there are several input files, the output consists of a sequence of independently compressed members. To obtain better compression, concatenate all input files before compressing them.
-d or --decompress Decompress
-f or --force Force overwrite of output file and compress links.
-h or --help Display a help screen and quit.
-l or --list List compressed file contents.
-L or --license Display the gzip license and exit.
-n or --no-name When compressing, do not save the original file name and timestamp by default.
-N or --name When compressing, always save the original file name and time stamp; this is the default.
-r or --recursive Travel the directory structure recursively.
-S or --suffix When compressing, use the given suffix instead of .gz. Any non-empty suffix can be given, but suffixes other than .z and .gz should be avoided to avoid confusion when files are transferred to other systems.
-t or --test Check the compressed file integrity.
-v or --verbose Display the name and percentage reduction for each file compressed or decompressed.
-V or --version Display the version number.
-1 or --fast Compress faster.
-9=--best Compress better.
See also
Example 1

Decompress file myfile.gz to the current directory:

  1> gunzip myfile.gz
Example 2

Decompress files myfile.gz, yourfile.gz, and theirfile.gz to the current directory:

  1> gunzip myfile.gz yourfile.gz theirfile.gz
Example 3

List the contents of a myfile.gz archive:

  1> gunzip -l myfile.gz

ARexx Interface

GUnZip has no ARexx interface.

GZip

LibToolIcon.png

Tags: #Archiving

Compress or decompress files.

GZIP reduces the size of the named files using Lempel-Ziv coding (LZ77). Whenever possible, each file is replaced by one with the extension .gz, while keeping the same file flags and modification times. If no files are specified, the standard input is compressed to the standard output.

Compressed files can be restored to their original form using GZIP's option -d.

Tool Types

(none)

Shell Usage

Format
GZIP [-c=--stdout] [-d=--decompress] [-f=--force] [-h=--help] [-l=--list]
[-L=--license] [-n=--no-name] [-N=--name] [-q=--quiet] [-r=--recursive]
[-S <suffix>=--suffix <suffix>] [-t=--test] [-v=--verbose] [-V=--version]
[-1=--fast] [-9=--best] [<file>]
Template
-c=--stdout -d=--decompress -f=--force -h=--help -l=--list
-L=--license -n=--no-name -N=--name -q=--quiet -r=--recursive
-S <suffix>=--suffix <suffix> -t=--test -v=--verbose -V=--version
-1=--fast -9=--best {<file>}
Location
SDK:C

The options are:

Option Description
-c or
--stdout
Write output on standard output; keep original files unchanged. If there are several input files, the output consists of a sequence of independently compressed members.
-d or
--decompress
Decompress
-f or
--force
Force compression or decompression.
-h or
--help
Display a help and quit.
-l or
--list
For each compressed file, list the following fields:

Compressed size: size of the compressed file
Uncompressed size: size of the uncompressed file
Ratio: compression ratio (0.0% if unknown)
Uncompressed_name: name of the uncompressed file

-L or
--license
Display the GZIP license and quit..
-n or
--no-name
When compressing, do not save the original file name and timestamp by default. (The original name is always saved if the name had to be truncated.) When decompressing, do not restore the original file name if present (remove only the GZIP suffix from the compressed file name) and do not restore the original timestamp if present (copy it from the compressed file). This option is the default when decompressing.
-N or
--name
When compressing, always save the original file name and timestamp; this is the default. When decompressing, restore the original file name and timestamp if present.
-q or
--quiet
Suppress all warnings.
-r or
--recursive
Travel the directory structure recursively. If any of the file names specified on the command line are directories, GZIP will descend into the directory and compress or decompress (option -d) all the files it finds there.
-S <suffix> or
--suffix <suffix>
When compressing, use suffix <suffix> instead of .gz.
-t or
--test
Test. Check the compressed file integrity.
-v or
--verbose
Verbose. Display the name and percentage reduction for each file compressed or decompressed.
-V or
--version
Version. Display the version number and compilation options then quit.
-1 or
--fast
Compress faster.
-9 or
--best
Compress better.
{<file>} List of files to be processed. If not given, use standard input.
See also
Example 1

Compress file myfile and create file myfile.gz. The original file myfile will be deleted.

  1> gzip myfile
Example 2

Compress file myfile to file myfile.gz and keep the original file myfile:

  1> gzip >myfile.gz -c myfile
Example 3

List compressed file myfile.gz contents:

  1> gzip -l myfile.gz
  compressed  uncompr. ratio uncompressed_name
         40        13 -15.3% myfile
Example 4

Decompress compressed file myfile.gz. The original file myfile will be restored and the compressed file myfile.gz will be deleted.

  1> gzip -d myfile.gz
Example 5

Decompress file myfile.gz to file myfile and keep the myfile.gz file:

  1> gzip >myfile -c myfile.gz


ARexx Interface

GZIP has no ARexx interface.

IDLTool

LibToolIcon.png

Tags: #Code Generation #Conversion

IDLTool is a tool that generates a C source code for a bare-bones skeleton library. It reads an XML file, that contains a library description, and outputs the source code files. It can also convert an XML library description file to SFD files.

Incomplete description.

Tool Types

(none)

Shell Usage

Format
Missing description.
Template
Missing description.
Location
SDK:C
See Also
Tutorials

ARexx Interface

ListDynDep

LibToolIcon.png

List shared object dependencies.

Incomplete description.

Tool Types

Shell Usage

Format
Template
Location
SDK:C

ARexx Interface

Localize

LibToolIcon.png

Tags: #Localization

Localize is a tool for localizing an application.

Incomplete description.

Tool Types

Shell Usage

Format
Template
Location
SDK:C

ARexx Interface

Make and GMake

LibToolIcon.png

Tags: #Building

Make is a tool that controls the generation of executables and other non source files of a program from the program's source files.

Make uses a file called makefile for instructions on how to build your program. Makefile lists each of the non source files and how to compute them from the project's source files, i.e. which shell commands to call. When you write a program, you should write a makefile for it, so that it is possible to use Make to build and install the program.

Make uses Amiga Shell to execute the shell commands. If you are working on cross-platform projects or porting applications from other platforms, that can be a problem because of the different shell command set and different file path format. For better compatibility, AmigaOS SDK contains a POSIX compliance Make: GMake. GMake is essentially the same tool as Make, except that GMake uses a GNU Bash compatible ABC Shell to execute commands whereas Make uses Amiga Shell. GMake is ideal for cross-platform projects and porting applications from other platforms since it is Linux/Unix compatible. If you have an Amiga-specific project, use Make instead.

For a complete Make manual, visit the GNU website.

Tool Types

(none)

Shell Usage

Format
MAKE [-b=-m] [-B=--always-make] [-C=--directory <directory>] [-d] [--debug <flags>]
[-e=--environment-overrides] [-f=--file=--makefile <file>]
[-h=--help] [-i=--ignore-errors] [-I=--include-dir <directory>]
[-j=--jobs <jobs>] [-k=--keep-going] [-l=--load-average=--max-load <load>]
[-L=--check-symlink-times] [-n=--just-print=--dry-run=--recon]
[-o=--old-file=--assume-old <file>] [-p=--print-data-base] [-q=--question]
[-r=--no-builtin-rules] [-R=--no-builtin-variables] [-s=--silent=--quiet]
[-S=--no-keep-going=--stop] [-t=--touch] [-v=--version] [-w=--print-directory]
[--no-print-directory] [-W=--what-if=--new-file=--assume-new <file>]
[--warn-undefined-variables]
GMAKE [-b=-m] [-B=--always-make] [-C=--directory <directory>] [-d] [--debug <flags>]
[-e=--environment-overrides] [-f=--file=--makefile <file>]
[-h=--help] [-i=--ignore-errors] [-I=--include-dir <directory>]
[-j=--jobs [<jobs>]] [-k=--keep-going] [-l=--load-average=--max-load <load>]
[-L=--check-symlink-times] [-n=--just-print=--dry-run=--recon]
[-o=--old-file=--assume-old <file>] [-p=--print-data-base] [-q=--question]
[-r=--no-builtin-rules] [-R=--no-builtin-variables] [-s=--silent=--quiet]
[-S=--no-keep-going=--stop] [-t=--touch] [-v=--version] [-w=--print-directory]
[--no-print-directory] [-W=--what-if=--new-file=--assume-new <file>]
[--warn-undefined-variables]
Template
-b=-m -B=--always-make -C=--directory <directory> -d --debug <flags>
-e=--environment-overrides -f=--file=--makefile <file>
-h=--help -i=--ignore-errors -I=--include-dir <directory>
-j=--jobs [<jobs>] -k=--keep-going -l=--load-average=--max-load <load>
-L=--check-symlink-times -n=--just-print=--dry-run=--recon
-o=--old-file=--assume-old <file> -p=--print-data-base -q=--question
-r=--no-builtin-rules -R=--no-builtin-variables -s=--silent=--quiet
-S=--no-keep-going=--stop -t=--touch -v=--version -w=--print-directory
--no-print-directory -W=--what-if=--new-file=--assume-new <file>
--warn-undefined-variables
Location
SDK:C
See Also

The options are:

Option Description
-b or
-m
Not used.
-B or
--always-make
Consider all targets out-of-date.
-C <directory> or
--directory <directory>
Change current working directory to <directory> before reading the makefiles.
-d Print debugging information in addition to normal processing. The debugging information says which files are being considered for remaking, which file-times are being compared and with what results, which files actually need to be remade, which implicit rules are considered and which are applied—everything interesting about how Make decides what to do. The -d option is equivalent to --debug=a (see below).
--debug <flags> Print debugging information in addition to normal processing. Various levels and types of output can be chosen. With no arguments, print the “basic” level of debugging. Possible arguments are below; only the first character is considered, and values must be comma- or space-separated.
Option Description
a (all) All types of debugging output are enabled. This is equivalent to using -d.
b (basic) Basic debugging prints each target that was found to be out-of-date, and whether the build was successful or not.
v (verbose) A level above basic; includes messages about which makefiles were parsed, prerequisites that did not need to be rebuilt, etc. This option also enables basic messages.
i (implicit) Prints messages describing the implicit rule searches for each target. This option also enables basic messages.
j (jobs) Prints messages giving details on the invocation of specific sub-commands.
m (makefile) By default, the above messages are not enabled while trying to remake the makefiles. This option enables messages while rebuilding makefiles, too. Note that the all option does enable this option. This option also enables basic messages.
n (none) Disable all debugging currently enabled. If additional debugging flags are encountered after this they will still take effect.
-e or
--environment-overrides
Give variables taken from the environment precedence over variables from makefiles.
-f <file> or
--file <file> or
--makefile <file>
Read file <file> as a makefile.
-h or
--help
Print this message and exit.
-i or
--ignore-errors
Ignore command errors.
-I <directory> or
--include-dir <directory>
Search directory <directory> for included makefiles.
-j [<jobs>] or
--jobs [<jobs>]
Specifies the number of jobs to run simultaneously. With no argument, make runs as many recipes simultaneously as possible.
-k or
--keep-going
Continue as much as possible after an error.
-l [<load>] or
--load-average [<load>] or
--max-load <load>
Do not start multiple jobs unless load is below <load>. With no argument, removes a previous load limit.
-L or
--check-symlink-times
This option causes Make to consider the timestamps on any symbolic links in addition to the timestamp on the file referenced by those links. When this option is provided, the most recent timestamp among the file and the symbolic links is taken as the modification time for this target file.
-n or
--just-print or
--dry-run or
--recon
Do not actually run any commands - just print them.
-o <file> or
--old-file <file> or
--assume-old <file>
Consider file <file> to be very old and do not remake it.
-p or
--print-data-base
Print Make's internal database.
-q or
--question
"Question mode". Do not run any jobs, or print anything; just return an exit status that is zero if the specified targets are already up to date, one if any remaking is required, or two if an error is encountered.
-r or
--no-builtin-rules
Disable the built-in implicit rules.
-R or
--no-builtin-variables
Disable the built-in variable settings.
-s or
--silent or
--quiet
Silent operation.
-S or
--no-keep-going or
--stop
Cancel the effect of the -k option.
-t or
--touch
Touch files (mark them up to date without really changing them) instead of running their recipes.
-v or
--version
Print Make's version number end exit.
-w or
--print-directory
Print a message containing the working directory both before and after executing the makefile.
--no-print-directory Do not print current directory, even it was enabled (option -w).
-W <file> or
--what-if <file> or
--new-file <file> or
--assume-new <file>
Pretend that the target file <file> has just been modified.
--warn-undefined-variables Issue a warning message whenever Make sees a reference to an undefined variable.

ARexx Interface

Make has no ARexx interface.

MakeAudioMode

LibToolIcon.png

MakeAudioMode creates audio mode files for AHI.

Incomplete description.

Tool Types

Shell Usage

Format
Template
Location
SDK:C

ARexx Interface

ModList

LibToolIcon.png

Tags: #Debugging

ModList lists the currently installed resident modules.

Tool Types

(none)

Shell Usage

Format
MODLIST [SORT] [DEV]
Template
SORT/S,DEV/S
Location
SDK:C

The options are:

SORT List modules sorted alphabetically by their IDs.
DEV List modules in the following order:
  1. RTF_SINGLETASK modules
  2. RTF_COLDSTART modules
  3. RTF_AFTERDOS modules
  4. The rest of the modules

ModList displays the following information on each module:

  • Priority
  • Memory location
  • Version
  • ID
  • ROM residency
  • Module type
  • Nativity
  • Initialization

ARexx Interface

ModList has no ARexx interface.

SH

LibToolIcon.png

Amiga Bourne Compatible Shell (ABC Shell).

Built-in Commands
Command Description
. (dot) Reads a specified file and then executes the commands.
: (colon) Expands only arguments.
break Exits from the enclosing for, while, until, or select loop, if one exists.
builtin Run a shell builtin, passing it args, and return its exit status.
continue Resumes the next iteration of the enclosing for, while, until, or select loop.
eval Reads the arguments as input to the shell and executes the resulting command or commands.
exec Executes the command specified by the Argument parameter, instead of this shell, without creating a new process.
exit Exits the shell whose exit status is specified by the n parameter.
return Causes a shell to return to the invoking script.
set Unless options or arguments are specified, writes the names and values of all shell variables in the collation sequence of the current locale.
shift Renames positional parameters.
times Prints the accumulated user and system times for both the shell and the processes run from the shell.
trap Runs a specified command when the shell receives a specified signal or signals.
wait
read Reads a line from the standard input and parses it.
test Evaluate a conditional expression expr and return a status of 0 (true) or 1 (false).
umask Set the shell process’s file creation mask to mode.
unset Unsets the values and attributes of the specified parameters.

Incomplete description.

Tool Types

(none)

Shell Usage

Format
Template
Location
SDK:C

ARexx Interface

SH has no ARexx interface.

TAR

LibToolIcon.png

Tags: #Archiving

TAR saves many files together into a single tape or disk archive, and can restore individual files from the archive.

Incomplete description.

Tool Types

Shell Usage

Format
Template
Location
SDK:C

ARexx Interface

USBSnoop

LibToolIcon.png

Tags: #Debugging

USBSnoop is a tool for spying and debugging USB drivers.

Incomplete description.

USBSnoop Window

Tool Types

(none)

Shell Usage

Format
USBSNOOP [ACTIVATE]
Template
ACTIVATE/S
Location
SDK:C

ARexx Interface

USBSnoop has no ARexx interface.