• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#! /bin/sh
2#
3# Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc.
4#
5# This program is free software; you can redistribute it and/or modify
6# it under the terms of the GNU General Public License as published by
7# the Free Software Foundation; either version 2, or (at your option)
8# any later version.
9#
10# This program is distributed in the hope that it will be useful,
11# but WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13# GNU General Public License for more details.
14#
15# You should have received a copy of the GNU General Public License
16# along with this program; if not, write to the Free Software
17# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18#
19
20# - Modified in October 2001 by jacob berkman <jacob@ximian.com> to
21# work with glib's Makefile.in.in and po2tbl.sed.in, to not copy in
22# intl/, and to not add ChangeLog entries to po/ChangeLog
23
24# This file is meant for authors or maintainers which want to
25# internationalize their package with the help of GNU gettext.  For
26# further information how to use it consult the GNU gettext manual.
27
28echo=echo
29progname=$0
30force=0
31configstatus=0
32origdir=`pwd`
33usage="\
34Usage: glib-gettextize [OPTION]... [package-dir]
35      --help           print this help and exit
36      --version        print version information and exit
37  -c, --copy           copy files instead of making symlinks
38  -f, --force          force writing of new files even if old exist
39Report bugs to http://bugzilla.gnome.org/."
40package=@PACKAGE@
41version=@VERSION@
42try_ln_s=:
43
44# Directory where the sources are stored.
45prefix=@prefix@
46case `uname` in
47MINGW32*)
48    prefix="`dirname $0`/.."
49    ;;
50esac
51
52datadir=@datadir@
53datarootdir=@datarootdir@
54
55gettext_dir=$prefix/share/glib-2.0/gettext
56
57while test $# -gt 0; do
58  case "$1" in
59    -c | --copy | --c* )
60      shift
61      try_ln_s=false ;;
62    -f | --force | --f* )
63      shift
64      force=1 ;;
65    -r | --run | --r* )
66      shift
67      configstatus=1 ;;
68    --help | --h* )
69      $echo "$usage"; exit 0 ;;
70    --version | --v* )
71      echo "$progname (GNU $package) $version"
72      $echo "Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc.
73This is free software; see the source for copying conditions.  There is NO
74warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
75      $echo "Written by" "Ulrich Drepper"
76      exit 0 ;;
77    -- )	# Stop option prcessing
78      shift; break ;;
79    -* )
80      $echo "glib-gettextize: unknown option $1"
81      $echo "Try \`glib-gettextize --help' for more information."; exit 1 ;;
82    * )
83      break ;;
84  esac
85done
86
87if test $# -gt 1; then
88  $echo "$usage"
89  exit 1
90fi
91
92# Fill in the command line options value.
93if test $# -eq 1; then
94  srcdir=$1
95  if cd "$srcdir"; then
96    srcdir=`pwd`
97  else
98    $echo "Cannot change directory to \`$srcdir'"
99    exit 1
100  fi
101else
102  srcdir=$origdir
103fi
104
105test -f configure.in || test -f configure.ac || {
106  $echo "Missing configure.in or configure.ac, please cd to your package first."
107  exit 1
108}
109
110configure_in=NONE
111if test -f configure.in; then
112  configure_in=configure.in
113else
114  if test -f configure.ac; then
115    configure_in=configure.ac
116  fi
117fi
118# Check in which directory config.rpath, mkinstalldirs etc. belong.
119auxdir=`cat "$configure_in" | grep '^AC_CONFIG_AUX_DIR' | sed -n -e 's/AC_CONFIG_AUX_DIR(\([^()]*\))/\1/p' | sed -e 's/^\[\(.*\)\]$/\1/' | sed -e 1q`
120if test -n "$auxdir"; then
121  auxdir="$auxdir/"
122fi
123
124if test -f po/Makefile.in.in && test $force -eq 0; then
125  $echo "\
126po/Makefile.in.in exists: use option -f if you really want to delete it."
127  exit 1
128fi
129
130test -d po || {
131  $echo "Creating po/ subdirectory"
132  mkdir po || {
133    $echo "failed to create po/ subdirectory"
134    exit 1
135  }
136}
137
138# For simplicity we changed to the gettext source directory.
139cd $gettext_dir || {
140   $echo "gettext source directory '${gettext_dir}' doesn't exist"
141   exit 1
142}
143
144# Now copy all files.  Take care for the destination directories.
145for file in *; do
146  case $file in
147    intl | po)
148      ;;
149    mkinstalldirs)
150      rm -f "$srcdir/$auxdir$file"
151      ($try_ln_s && ln -s $gettext_dir/$file "$srcdir/$auxdir$file" && $echo "Symlinking file $file") 2>/dev/null ||
152      { $echo "Copying file $file"; cp $file "$srcdir/$auxdir$file"; }
153      ;;
154    *)
155      rm -f "$srcdir/$file"
156      ($try_ln_s && ln -s $gettext_dir/$file "$srcdir/$file" && $echo "Symlinking file $file") 2>/dev/null ||
157      { $echo "Copying file $file"; cp $file "$srcdir/$file"; }
158      ;;
159  esac
160done
161
162# Copy files to po/ subdirectory.
163cd po
164for file in *; do
165  rm -f "$srcdir/po/$file"
166  ($try_ln_s && ln -s $gettext_dir/po/$file "$srcdir/po/$file" && $echo "Symlinking file po/$file") 2>/dev/null ||
167  { $echo "Copying file po/$file"; cp $file "$srcdir/po/$file"; }
168done
169if test -f "$srcdir/po/cat-id-tbl.c"; then
170  $echo "Removing po/cat-id-tbl.c"
171  rm -f "$srcdir/po/cat-id-tbl.c"
172fi
173if test -f "$srcdir/po/stamp-cat-id"; then
174  $echo "Removing po/stamp-cat-id"
175  rm -f "$srcdir/po/stamp-cat-id"
176fi
177
178echo
179echo "Please add the files"
180echo "  codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 lcmessage.m4"
181echo "  progtest.m4"
182echo "from the $datadir/aclocal directory to your autoconf macro directory"
183echo "or directly to your aclocal.m4 file."
184echo "You will also need config.guess and config.sub, which you can get from"
185echo "ftp://ftp.gnu.org/pub/gnu/config/."
186echo
187
188exit 0
189