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:-xgettext} 33 GETTEXT=${GETTEXT:-gettext} 34 MSGDIR=$1 35 36 # 37 # Change Directory 38 # 39 cd ./port/gen 40 rm -f *.po 41 42 # 43 # get list of files 44 # 45 FILES=`grep ${GETTEXT} *.c | sed "s/:.*//" | sort | sed "s/\.c//" | uniq` 46 47 48 # 49 # Create po files 50 # No need for options for xgettext 51 # 52 for i in ${FILES} 53 do 54 cat ${i}.c | sed "s/_libc_gettext/gettext/" > ${i}.i 55 ${XGETTEXT} ${i}.i 56 cat messages.po | sed "/^domain/d" > ${i}.po 57 rm -f ${i}.i messages.po 58 done 59 60 # 61 # Create po files 62 # Use -a 63 # 64 65 # First, create errlst.c, if it doesn't exist. 66 # new_list.c is created as a side effect 67 if [ ! -f errlst.c ]; then 68 awk -f errlist.awk errlist 69 rmerr="errlst.c new_list.c" 70 else 71 rmerr= 72 fi 73 74 for i in siglist errlst 75 do 76 cat ${i}.c | sed "s/_libc_gettext/gettext/" > ${i}.i 77 ${XGETTEXT} -a ${i}.i 78 cat messages.po | sed "/^domain/d" > ${i}.po 79 rm -f ${i}.i messages.po 80 done 81 82 # 83 # Copy .po files 84 # 85 cp *.po ${MSGDIR} 86 87 # 88 # And remove them 89 # 90 rm -f *.po ${rmerr} 91 92 # 93 # Change Directory 94 # 95 cd ../locale 96 rm -f messages.po regerror.po 97 98 ${XGETTEXT} -a regerror.c 99 cat messages.po | sed "/^domain/d" > regerror.po 100 rm -f regerror.i messages.po 101 102 # 103 # Copy .po file 104 # 105 cp regerror.po ${MSGDIR} 106 107 # And remove it 108 109 rm -f regerror.po