1 #!/bin/sh
2 #
3 # CDDL HEADER START
4 #
5 # The contents of this file are subject to the terms of the
6 # Common Development and Distribution License, Version 1.0 only
7 # (the "License"). You may not use this file except in compliance
8 # with the License.
9 #
10 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11 # or http://www.opensolaris.org/os/licensing.
12 # See the License for the specific language governing permissions
13 # and limitations under the License.
14 #
15 # When distributing Covered Code, include this CDDL HEADER in each
16 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17 # If applicable, add the following below this CDDL HEADER, with the
18 # fields enclosed by brackets "[]" replaced with your own identifying
19 # information: Portions Copyright [yyyy] [name of copyright owner]
20 #
21 # CDDL HEADER END
22 #
23 #
24 # Copyright 2005 Sun Microsystems, Inc. All rights reserved.
25 # Use is subject to license terms.
26 #
27
28 #
29 # Copyright 2011 Nexenta Systems, Inc. All rights reserved.
30 #
31
32 XGETTEXT=xgettext
33 MSGDIR=$1
34
35 #
36 # Change Directory
37 #
38 cd ./port/gen
39 rm -f *.po
40
41 #
42 # get list of files
43 #
44 FILES=`grep gettext *.c | sed "s/:.*//" | sort | sed "s/\.c//" | uniq`
45
46
47 #
48 # Create po files
49 # No need for options for xgettext
50 #
51 for i in ${FILES}
52 do
53 cat ${i}.c | sed "s/_libc_gettext/gettext/" > ${i}.i
54 ${XGETTEXT} ${i}.i
55 cat messages.po | sed "/^domain/d" > ${i}.po
56 rm -f ${i}.i messages.po
57 done
58
59 #
60 # Create po files
61 # Use -a
62 #
63
64 # First, create errlst.c, if it doesn't exist.
65 # new_list.c is created as a side effect
66 if [ ! -f errlst.c ]; then
67 awk -f errlist.awk errlist
68 rmerr="errlst.c new_list.c"
69 else
70 rmerr=
71 fi
72
73 for i in siglist errlst
74 do
75 cat ${i}.c | sed "s/_libc_gettext/gettext/" > ${i}.i
76 ${XGETTEXT} -a ${i}.i
77 cat messages.po | sed "/^domain/d" > ${i}.po
78 rm -f ${i}.i messages.po
79 done
80
81 #
82 # Copy .po files
83 #
84 cp *.po ${MSGDIR}
85
86 #
87 # And remove them
88 #
89 rm -f *.po ${rmerr}
90
91 #
92 # Change Directory
93 #
94 cd ../locale
95 rm -f messages.po regerror.po
96
97 ${XGETTEXT} -a regerror.c
98 cat messages.po | sed "/^domain/d" > regerror.po
99 rm -f regerror.i messages.po
100
101 #
102 # Copy .po file
103 #
104 cp regerror.po ${MSGDIR}
105
106 # And remove it
107
108 rm -f regerror.po