This manual page is for Mac OS X version 10.6.3

If you are running a different version of Mac OS X, view the documentation locally:

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • For more information about the manual page format, see the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Reference Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.



MAKESTRS(1)                                                                                      MAKESTRS(1)



NAME
       makestrs - makes string table C source and header(s)

SYNOPSIS
       makestrs [-f source] [-i includedir] [-abioptions ...]

DESCRIPTION
       The  makestrs command creates string table C source files and headers.  If -f source is not specified
       makestrs will read from stdin.  The C source file is always written to stdout.  makestrs creates  one
       or  more  C  header  files  as specified in the source file.  The following options may be specified:
       -sparcabi, -intelabi, -functionabi, -arrayperabi, and -defaultabi.

       -sparcabi  is  used  on  SPARC  platforms  conforming  to  the  SPARC  Compliance  Definition,   i.e.
       SVR4/Solaris.

       -intelabi  is  used  on Intel platforms conforming to the System V Application Binary Interface, i.e.
       SVR4.

       -earlyR6abi may be used in addition to -intelabi for situations where the vendor wishes  to  maintain
       binary  compatibility  between  X11R6  public-patch  11  (and earlier) and X11R6 public-patch 12 (and
       later).

       -functionabi generates a functional abi to the string table. This mechanism imposes a severe  perfor-mance performance
       mance penalty and it's recommended that you not use it.

       -arrayperabi  results  in  a separate array for each string. This is the default behavior if makestrs
       was compiled with -DARRAYPERSTR (it almost never is).

       -defaultabi forces the generation of the "normal" string table even if  makestrs  was  compiled  with
       -DARRAYPERSTR.  Since makestrs is almost never compiled with -DARRAYPERSTR this is the default behav-ior behavior
       ior if no abioptions are specified.

       -i includedir forces the reading of templates from the includedir instead  of  the  local  directory.
       This is useful to have separate source and build directories.

SYNTAX
       The syntax for string-list file is (items in square brackets are optional):
           #prefix <text>
           #feature <text>
           #externref <text>
           #externdef [<text>]
           [#ctempl <text>]

           #file <filename>
           #table <tablename>
           [#htempl]
           <text>
           ...
           <text>
           [#table <tablename>
           <text>
           ...
           <text>
            ...
           #table <tablename>
            ...]
           [#file <filename>
            ...]

       In  words  you  may  have one or more #file directives. Each #file may have one or more #table direc-tives. directives.
       tives.

       The #prefix directive determines the string that makestr will prefix to each definition.

       The #feature directive determines the string that makestr will use for the feature-test  macro,  e.g.
       X[TM]STRINGDEFINES.

       The #externref directive determines the string that makestr will use for the extern clause, typically
       this will be "extern" but Motif wants it to be "externalref"

       The #externdef directive determines the string that makestr will use for the  declaration,  typically
       this  will  be  the  null  string  (note  that  makestrs requires a trailing space in this case, i.e.
       "#externdef "), and Motif will use "externaldef(_xmstrings).

       The #ctmpl directive determines the name of the file used as a template for the C source file that is
       generated

       Each  #file  <filename>  directive will result in a corresponding header file by that name containing
       the appropriate definitions as specified by command line options. A single C source  file  containing
       the declarations for the definitions in all the headers will be printed to stdout.

       The #htmpl directive determines the name of the file used as a template for the C header file that is
       generated.

       Each #table <tablename> directive will be processed in accordance with the ABI. On most platforms all
       tables  will be catenated into a single table with the name of the first table for that file. To con-form conform
       form to the Intel ABI separate tables will be generated with the names indicated.

       The template files specified by the #ctmpl and #htmpl directives are processed by  copying  line  for
       line  from  the  template  file  to  the  appropriate  output  file.  The  line containing the string
       <<<STRING_TABLE_GOES_HERE>>> is not copied to the output file. The appropriate data is then copied to
       the output file and then the remainder of the template file is copied to the output file.

BUGS
       makestrs  is  not very forgiving of syntax errors. Sometimes you need a trailing space after # direc-tives, directives,
       tives, other times they will mess you up. No warning messages are emitted.

SEE ALSO
       SPARC Compliance Definition 2.2., SPARC International Inc., 535 Middlefield Road,  Suite  210,  Menlo
       Park, CA  94025

       System  V  Application  Binary  Interface, Third Edition, ISBN 0-13-100439-5 UNIX Press, PTR Prentice
       Hall, 113 Sylvan Avenue, Englewood Cliffs, NJ  07632

       System V Application Binary Interface, Third Edition, Intel386 Architecture Processor Supplement ISBN
       0-13-104670-5 UNIX Press, PTR Prentice Hall, 113 Sylvan Avenue, Englewood Cliffs, NJ  07632

       System  V  Application  Binary Interface, Third Edition, SPARC Architecture Processor Supplement ISBN
       0-13-104696-9 UNIX Press, PTR Prentice Hall, 113 Sylvan Avenue, Englewood Cliffs, NJ  07632



X Version 11                                     libXt 1.0.5                                     MAKESTRS(1)

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation with the feedback links below.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.

Did this document help you? Yes It's good, but... Not helpful...