Bash Cures Cancer
Learn the UNIX/Linux command line

Home     Man Pages     SpamDefeator


MAKESTRS(1)							  MAKESTRS(1)



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

SYNOPSIS
       makestrs [-f source] [-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  Compli-
       ance Definition, i.e. SVR4/Solaris.

       -intelabi is used on Intel platforms conforming to the System V Appli-
       cation 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 pub-
       lic-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 performance 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 behavior  if  no
       abioptions are specified.

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

	   #file 
	   #table 
	   [#htempl]
	   
	   
	   [#table 
	   
	   
	    ...
	   #table 
	    ...]
	   [#file 
	    ...]

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

       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	 tem-
       plate for the C source file that is generated

       Each  #file  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 decla-
       rations for the definitions in all the headers will be printed to std-
       out.

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

       Each #table  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  conform  to
       the  Intel  ABI separate tables will be generated with the names indi-
       cated.

       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	<<>>	 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 # directives, other times they will mess you  up.
       No warning messages are emitted.

SEE ALSO
       SPARC  Compliance  Definition 2.2., SPARC International Inc., 535 Mid-
       dlefield 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, Engle-
       wood Cliffs, NJ	07632

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

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



								  MAKESTRS(1)


UNIX/Linux commands referenced on this page:
  1. file
  2. as
  3. more