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