1 .\" ident       "%Z%%M% %I%     %E% SMI"
   2 .\" Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
   3 .\" Use is subject to license terms.
   4 .\"
   5 .\" CDDL HEADER START
   6 .\"
   7 .\" The contents of this file are subject to the terms of the
   8 .\" Common Development and Distribution License, Version 1.0 only
   9 .\" (the "License").  You may not use this file except in compliance
  10 .\" with the License.
  11 .\"
  12 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  13 .\" or http://www.opensolaris.org/os/licensing.
  14 .\" See the License for the specific language governing permissions
  15 .\" and limitations under the License.
  16 .\"
  17 .\" When distributing Covered Code, include this CDDL HEADER in each
  18 .\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  19 .\" If applicable, add the following below this CDDL HEADER, with the
  20 .\" fields enclosed by brackets "[]" replaced with your own identifying
  21 .\" information: Portions Copyright [yyyy] [name of copyright owner]
  22 .\"
  23 .\" CDDL HEADER END
  24 .\"
  25 .if n .tr \--
  26 .TH chkmsg 1l "5 Apr 1997"
  27 .SH NAME
  28 chkmsg \- cross check messages 
  29 .SH SYNOPSIS
  30 .B chkmsg
  31 .BI [ -64 ]
  32 .BI file
  33 .BI source_files ...
  34 .SH AVAILABILITY
  35 Internal to the linker group
  36 .SH DESCRIPTION
  37 chkmsg  checks the message identifiers defined in the input file
  38 and the message identifyer used in the input source_files. The input
  39 file is the input file which is used by the sgsmsg command.
  40 .P
  41 The chkmsg command reads the input file and 
  42 generates two sets of message identifiers.
  43 The first set is
  44 the identifiers defined in between the _START_ and _END_ key words.
  45 These identifiers are intended to be referenced by MSG_INTL().
  46 This set is named as MSG_INTL_FROM_INPUT.
  47 .P
  48 The other set is
  49 the identifiers defined after the _END_ key words.
  50 These identifiers are intended to be referenced by MSG_ORIG().
  51 This set is named as MSG_ORIG_FROM_INPUT.
  52 .P
  53 The chkmsg command reads the specified input source_files and
  54 generates two sets of message identifiers. The first set is
  55 the message identifiers referenced by MSG_INTL() macro.
  56 This set is named as MSG_INTL_FROM_SRC.
  57 .P
  58 The other set is the message identifiers referenced by the
  59 MSG_ORIG() macro.
  60 This set is named as MSG_ORIG_FROM_SRC.
  61 .P
  62 The chkmsg command compares MSG_INTL_FROM_SRC and MSG_INTL_FROM_INPUT.
  63 If these two sets are different, the command gives the warning
  64 message and print the identifiers which are different.
  65 .P
  66 The chkmsg command compares MSG_ORIG_FROM_SRC and MSG_ORIG_FROM_INPUT.
  67 If these two sets are different, the command gives the warning
  68 message and print the identifiers which are different.
  69 .P
  70 The identifiers in MSG_INTL_FROM_SRC and MSG_ORIG_FROM_SRC are
  71 extracted from the source files only if they are
  72 directly passed to MSG_INTL() or MSG_ORIG(). Therefore, for example:
  73 .RS
  74 .nf
  75 .ft 3
  76         char *msg;
  77                 |
  78         msg = MSG_ERROR_01;
  79                 |
  80         printf(MSG_INTL(msg));
  81                 |
  82 .fi
  83 .RE
  84 the identifyer MSG_ERROR_01 will not be included in MSG_INTL_FROM_SRC set.
  85 .P
  86 There are two key words which can be used in the input file 
  87 to control whether the identifier will be extracted into 
  88 MSG_{INTL,ORIG}_FROM_ORIG or not. If the identifyer are
  89 surrounded by _CHKMSG_SKIP_BEGIN_ {sparc,i386}
  90 and _CHKMSG_SKIP_END_ {sparc,i386}, then
  91 the identifiers will not be included in the output set.
  92 The architecture being checked should be specified after
  93 the key works.
  94 These key words should be specified in the comment lines.
  95 For example, the input file could contain:
  96 .RS
  97 .nf
  98 .ft 3
  99         # _CHKMSG_SKIP_BEGIN_ sparc
 100         @ MSG_ERROR_01  "This identifier is not defined."
 101         # _CHKMSG_SKIP_END_ sparc
 102 .fi
 103 .RE
 104 .P
 105 It is assumed that the message identifier names are composed
 106 of only upper letters.
 107 .SH OPTIONS
 108 .TP 12
 109 .B \-64
 110 Use a 64-bit version of the machine type (i.e. sparc => sparcv9).
 111 Note that this option must be specified first on the command line.
 112 .SH "SEE ALSO"
 113 .BR gencat (1),
 114 .BR ld (1),
 115 .BR msgfmt (1),
 116 .BR catgets (3C),
 117 .BR gettext (3I).
 118 .BR sgsmsg (1l).
 119 .br
 120 .TZ LLM
 121 .if n .tr \-\-