1 chkmsg(1l)                                                          chkmsg(1l)
   2 
   3 
   4 
   5 NAME
   6        chkmsg - cross check messages
   7 
   8 SYNOPSIS
   9        chkmsg [-64] file source_files...
  10 
  11 AVAILABILITY
  12        Internal to the linker group
  13 
  14 DESCRIPTION
  15        chkmsg  checks the message identifiers defined in the input file and
  16        the message identifyer used in the input source_files. The input file
  17        is the input file which is used by the sgsmsg command.
  18 
  19        The chkmsg command reads the input file and generates two sets of
  20        message identifiers.  The first set is the identifiers defined in
  21        between the _START_ and _END_ key words.  These identifiers are
  22        intended to be referenced by MSG_INTL().  This set is named as
  23        MSG_INTL_FROM_INPUT.
  24 
  25        The other set is the identifiers defined after the _END_ key words.
  26        These identifiers are intended to be referenced by MSG_ORIG().  This
  27        set is named as MSG_ORIG_FROM_INPUT.
  28 
  29        The chkmsg command reads the specified input source_files and generates
  30        two sets of message identifiers. The first set is the message
  31        identifiers referenced by MSG_INTL() macro.  This set is named as
  32        MSG_INTL_FROM_SRC.
  33 
  34        The other set is the message identifiers referenced by the MSG_ORIG()
  35        macro.  This set is named as MSG_ORIG_FROM_SRC.
  36 
  37        The chkmsg command compares MSG_INTL_FROM_SRC and MSG_INTL_FROM_INPUT.
  38        If these two sets are different, the command gives the warning message
  39        and print the identifiers which are different.
  40 
  41        The chkmsg command compares MSG_ORIG_FROM_SRC and MSG_ORIG_FROM_INPUT.
  42        If these two sets are different, the command gives the warning message
  43        and print the identifiers which are different.
  44 
  45        The identifiers in MSG_INTL_FROM_SRC and MSG_ORIG_FROM_SRC are
  46        extracted from the source files only if they are directly passed to
  47        MSG_INTL() or MSG_ORIG(). Therefore, for example:
  48                    char *msg;
  49                         |
  50                    msg = MSG_ERROR_01;
  51                         |
  52                    printf(MSG_INTL(msg));
  53                         |
  54        the identifyer MSG_ERROR_01 will not be included in MSG_INTL_FROM_SRC
  55        set.
  56 
  57        There are two key words which can be used in the input file to control
  58        whether the identifier will be extracted into MSG_{INTL,ORIG}_FROM_ORIG
  59        or not. If the identifyer are surrounded by _CHKMSG_SKIP_BEGIN_
  60        {sparc,i386} and _CHKMSG_SKIP_END_ {sparc,i386}, then the identifiers
  61        will not be included in the output set.  The architecture being checked
  62        should be specified after the key works.  These key words should be
  63        specified in the comment lines.  For example, the input file could
  64        contain:
  65                    # _CHKMSG_SKIP_BEGIN_ sparc
  66                    @ MSG_ERROR_01 "This identifier is not defined."
  67                    # _CHKMSG_SKIP_END_ sparc
  68 
  69        It is assumed that the message identifier names are composed of only
  70        upper letters.
  71 
  72 OPTIONS
  73        -64         Use a 64-bit version of the machine type (i.e. sparc =>
  74                    sparcv9).  Note that this option must be specified first on
  75                    the command line.
  76 
  77 SEE ALSO
  78        gencat(1), ld(1), msgfmt(1), catgets(3C), gettext(3C).  sgsmsg(1ONBLD).
  79 
  80 
  81 
  82                                  April 5, 1997                      chkmsg(1l)