Convert uses of XKeycodeToKeysym (deprecated) to XkbKeycodeToKeysym
[oweals/cde.git] / util / makestrs.man
1 .\" $TOG: makestrs.man /main/4 1998/02/06 11:24:22 kaleb $
2 .\" Copyright (c) 1993, 1994, 1998 The Open Group
3 .\" 
4 .\" All Rights Reserved.
5 .\" 
6 .\" The above copyright notice and this permission notice shall be included in
7 .\" all copies or substantial portions of the Software.
8 .\" 
9 .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
10 .\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
11 .\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL 
12 .\" THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 
13 .\" WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF 
14 .\" OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
15 .\" SOFTWARE.
16 .\" 
17 .\" Except as contained in this notice, the name of The Open Group shall not 
18 .\" be used in advertising or otherwise to promote the sale, use or other 
19 .\" dealing in this Software without prior written authorization from The
20 .\" Open Group.
21 .TH MAKESTRS 1 "Release 6.4" "X Version 11"
22 .SH NAME
23 makestrs \- makes string table C source and header(s)
24 .SH SYNOPSIS
25 .B makestrs [-f source] [-abioptions ...]
26 .SH DESCRIPTION
27 The
28 .I makestrs
29 command creates string table C source files and headers.
30 If
31 .I -f
32 .I source
33 is not specified
34 .I makestrs
35 will read from
36 .I stdin.
37 The C source file is always written to
38 .I stdout.
39 .I makestrs
40 creates one or more C header files as specified in the source file.
41 The following options may be specified:
42 .I -sparcabi,
43 .I -intelabi,
44 .I -functionabi,
45 .I -arrayperabi,
46 and
47 .I -defaultabi.
48 .LP
49 .I -sparcabi 
50 is used on SPARC platforms conforming to the SPARC 
51 Compliance Definition, i.e. SVR4/Solaris.
52 .LP
53 .I -intelabi 
54 is used on Intel platforms conforming to the System 
55 V Application Binary Interface, i.e. SVR4.
56 .LP
57 .I -earlyR6abi 
58 may be used in addition to 
59 .I -intelabi 
60 for situations 
61 where the vendor wishes to maintain binary compatiblity between 
62 X11R6 public-patch 11 (and earlier) and X11R6 public-patch 12 (and later).
63 .LP
64 .I -functionabi 
65 generates a functional abi to the string table. This 
66 mechanism imposes a severe performance penalty and it's recommended 
67 that you not use it.
68 .LP
69 .I -arrayperabi 
70 results in a separate array for each string. This is 
71 the default behavior if makestrs was compiled with -DARRAYPERSTR 
72 (it almost never is).
73 .LP
74 .I -defaultabi 
75 forces the generation of the "normal" string table even 
76 if makestrs was compiled with -DARRAYPERSTR. Since makestrs is almost 
77 never compiled with -DARRAYPERSTR this is the default behavior if 
78 no abioptions are specified.
79 .SH SYNTAX
80 The syntax for string-list file is (items in square brackets are optional):
81 .RS 4
82 #prefix <text>
83 .RE
84 .RS 4
85 #feature <text>
86 .RE
87 .RS 4
88 #externref <text>
89 .RE
90 .RS 4
91 #externdef [<text>]
92 .RE
93 .RS 4
94 [#ctempl <text>]
95 .RE
96 .LP
97 .RS 4
98 #file <filename>
99 .RE
100 .RS 4
101 #table <tablename>
102 .RE
103 .RS 4
104 [#htempl]
105 .RE
106 .RS 4
107 <text>
108 .RE
109 .RS 4
110 ...
111 .RE
112 .RS 4
113 <text>
114 .RE
115 .RS 4
116 [#table <tablename>
117 .RE
118 .RS 4
119 <text>
120 .RE
121 .RS 4
122 ...
123 .RE
124 .RS 4
125 <text>
126 .RE
127 .RS 4
128 ...
129 .RE
130 .RS 4
131 #table <tablename>
132 .RE
133 .RS 4
134 ...]
135 .RE
136 .RS 4
137 [#file <filename>
138 .RE
139 .RS 4
140 ...]
141 .RE
142 .LP
143 In words you may have one or more #file directives. Each #file may have
144 one or more #table directives.
145 .LP
146 The #prefix directive determines the string that makestr will prefix
147 to each definition.
148 .LP
149 The #feature directive determines the string that makestr will use
150 for the feature-test macro, e.g. X[TM]STRINGDEFINES.
151 .LP
152 The #externref directive determines the string that makestr will use
153 for the extern clause, typically this will be "extern" but Motif wants
154 it to be "externalref"
155 .LP
156 The #externdef directive determines the string that makestr will use
157 for the declaration, typically this will be the null string (note that
158 makestrs requires a trailing space in this case, i.e. "#externdef "),
159 and Motif will use "externaldef(_xmstrings).
160 .LP
161 The #ctmpl directive determines the name of the file used as a template
162 for the C source file that is generated
163 .LP
164 Each #file <filename> directive will result in a corresponding header 
165 file by that name containing the appropriate definitions as specified
166 by command line options. A single C source file containing the
167 declarations for the definitions in all the headers will be printed
168 to stdout.
169 .LP
170 The #htmpl directive determines the name of the file used as a template
171 for the C header file that is generated.
172 .LP
173 Each #table <tablename> directive will be processed in accordance with
174 the ABI. On most platforms all tables will be catenated into a single
175 table with the name of the first table for that file. To conform to
176 the Intel ABI separate tables will be generated with the names indicated.
177 .LP
178 The template files specified by the #ctmpl and #htmpl directives
179 are processed by copying line for line from the template file to
180 the appropriate output file. The line containing the string
181 .I <<<STRING_TABLE_GOES_HERE>>>
182 is not copied to the output file. The appropriate data is then
183 copied to the output file and then the remainder of the template
184 file is copied to the output file.
185 .SH BUGS
186 makestrs is not very forgiving of syntax errors. Sometimes you need
187 a trailing space after # directives, other times they will mess you
188 up. No warning messages are emitted.
189 .SH SEE ALSO
190 SPARC Compliance Definition 2.2., SPARC International Inc.,
191 535 Middlefield Road, Suite 210, Menlo Park, CA  94025
192 .LP
193 System V Application Binary Interface, Third Edition, 
194 ISBN 0-13-100439-5
195 UNIX Press, PTR Prentice Hall, 113 Sylvan Avenue, Englewood Cliffs, 
196 NJ  07632
197 .LP
198 System V Application Binary Interface, Third Edition, Intel386
199 Architecture Processor Supplement
200 ISBN 0-13-104670-5
201 UNIX Press, PTR Prentice Hall, 113 Sylvan Avenue, Englewood Cliffs, 
202 NJ  07632
203 .LP
204 System V Application Binary Interface, Third Edition, SPARC
205 Architecture Processor Supplement
206 ISBN 0-13-104696-9
207 UNIX Press, PTR Prentice Hall, 113 Sylvan Avenue, Englewood Cliffs, 
208 NJ  07632