Copyright (c) Hyperion Entertainment and contributors.
Difference between revisions of "SDK Developer Tools"
m (→Shell Usage) |
|||
Line 65: | Line 65: | ||
This tool generates a catalog translation file (CT file) from the current system language driver. |
This tool generates a catalog translation file (CT file) from the current system language driver. |
||
− | A new language.catalog can be created with a [[SDK_Developer_Tools#CatComp|CatComp]] tool using the generated CT file and a language catalog |
+ | A new language.catalog can be created with a [[SDK_Developer_Tools#CatComp|CatComp]] tool using the generated CT file and a language catalog descriptor file (located in "SYS:Locale-Source/language.cd"). |
== Tool Types == |
== Tool Types == |
Revision as of 07:27, 15 June 2020
Contents
- 1 Introduction
- 2 AutoDoc
- 3 BuildLanguageCT
- 4 BuildMapTable
- 5 BumpRev
- 6 CatComp
- 7 ChangeRegs
- 8 DistCC
- 9 DistCCD
- 10 DistCCMon-Amiga
- 11 DistCCMon-Text
- 12 Expunge
- 13 FDTrans
- 14 FSTest
- 15 FSVPTool
- 16 GDB
- 17 GMake
- 18 GUnZip
- 19 GZip
- 20 IDLTool
- 21 ListDynDep
- 22 Localize
- 23 Make
- 24 MakeAudioMode
- 25 ModList
- 26 SH
- 27 TAR
- 28 USBSnoop
Introduction
The Software Development Kit (SDK) contains a suite of software tools to aid developers in making software for AmigaOS.
AutoDoc
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:
{<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
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
- 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
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
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:
- Update the revision number whenever the software is rebuilt
- 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:
-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
Missing description.
Tool Types
Shell Usage
- Format
- Template
- Location
- SDK:C
ARexx Interface
ChangeRegs
Missing description.
Tool Types
Shell Usage
- Format
- Template
- Location
- SDK:C
ARexx Interface
DistCC
Missing description.
Tool Types
Shell Usage
- Format
- Template
- Location
- SDK:C
ARexx Interface
DistCCD
Missing description.
Tool Types
Shell Usage
ARexx Interface
DistCCMon-Amiga
Missing description.
Tool Types
Shell Usage
- Format
- Template
- Location
- SDK:C
ARexx Interface
DistCCMon-Text
Missing description.
Tool Types
Shell Usage
- Format
- Template
- Location
- SDK:C
ARexx Interface
Expunge
Missing description.
Tool Types
Shell Usage
- Format
- Template
- Location
- SDK:C
ARexx Interface
FDTrans
Missing description.
Tool Types
Shell Usage
- Format
- Template
- Location
- SDK:C
ARexx Interface
FSTest
Missing description.
Tool Types
Shell Usage
- Format
- Template
- Location
- SDK:C
ARexx Interface
FSVPTool
Missing description.
Tool Types
Shell Usage
- Format
- Template
- Location
- SDK:C
ARexx Interface
GDB
Missing description.
Tool Types
Shell Usage
- Format
- Template
- Location
- SDK:C
ARexx Interface
GMake
Missing description.
Tool Types
Shell Usage
- Format
- Template
- Location
- SDK:C
ARexx Interface
GUnZip
Missing description.
Tool Types
Shell Usage
- Format
- Template
- Location
- SDK:C
ARexx Interface
GZip
Missing description.
Tool Types
Shell Usage
- Format
- Template
- Location
- SDK:C
ARexx Interface
IDLTool
Missing description.
Tool Types
Shell Usage
- Format
- Template
- Location
- SDK:C
ARexx Interface
ListDynDep
Missing description.
Tool Types
Shell Usage
- Format
- Template
- Location
- SDK:C
ARexx Interface
Localize
Missing description.
Tool Types
Shell Usage
- Format
- Template
- Location
- SDK:C
ARexx Interface
Make
Missing description.
Tool Types
Shell Usage
- Format
- Template
- Location
- SDK:C
ARexx Interface
MakeAudioMode
Missing description.
Tool Types
Shell Usage
- Format
- Template
- Location
- SDK:C
ARexx Interface
ModList
Missing description.
Tool Types
Shell Usage
- Format
- Template
- Location
- SDK:C
ARexx Interface
SH
Missing description.
Tool Types
Shell Usage
- Format
- Template
- Location
- SDK:C
ARexx Interface
TAR
Missing description.
Tool Types
Shell Usage
- Format
- Template
- Location
- SDK:C
ARexx Interface
USBSnoop
Missing description.
Tool Types
Shell Usage
- Format
- Template
- Location
- SDK:C