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