3 # Bootstrap 'tar' from CVS.
5 # Copyright (C) 2003, 2004 Free Software Foundation, Inc.
7 # This program is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 2, or (at your option)
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with this program; if not, write to the Free Software
19 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
22 # Written by Paul Eggert.
24 # URL of our text domain page in Translation Project
25 TP_URL
="http://www2.iro.umontreal.ca/~gnutra/po/maint/tar/"
29 usage: $0 [--gnulib-srcdir=DIR][--cvs-auth=AUTH-METHOD][--cvs-user=USERNAME][--no-po]
31 --gnulib-srcdir=DIRNAME Specify the local directory where gnulib
32 sources reside. Use this if you already
33 have gnulib sources on your machine, and
34 do not want to waste your bandwidth dowloading
36 --cvs-auth=METHOD Set the CVS access method used for downloading
37 gnulib files. METHOD is one of the keywords
38 accepted by cvs -d option (see info cvs
40 --cvs-user=USERNAME Set the CVS username to be used when accessing
41 the gnulib repository.
42 --no-po Do not download po files.
44 Running without arguments will suffice in most cases. It is equivalent
47 ./bootstrap --cvs-auth=ext --cvs-user=anoncvs
62 GNULIB_SRCDIR
=`expr "$option" : '--gnulib-srcdir=\(.*\)'`;;
64 CVS_AUTH
=`expr "$option" : '--cvs-auth=\(.*\)'`;;
66 CVS_USER
=`expr "$option" : '--cvs-user=\(.*\)'`;;
70 echo >&2 "$0: $option: unknown option"
75 echo "$0: Bootstrapping CVS tar..."
79 if [ "${2}" != - ]; then
80 CVS_PREFIX
=${CVS_PREFIX}${2}@
82 if [ "$1" = "ext" ]; then
83 if [ -z "${CVS_RSH}" ]; then
92 case ${GNULIB_SRCDIR--} in
94 if [ ! -d gnulib
]; then
95 echo "$0: getting gnulib files..."
98 trap 'rm -fr gnulib; exit 1' 0
100 case "${CVS_AUTH--}" in
101 -) build_cvs_prefix ext anoncvs
;;
102 pserver
) build_cvs_prefix
$CVS_AUTH ${CVS_USER:-anoncvs};;
104 build_cvs_prefix
$CVS_AUTH ${CVS_USER--};;
105 ext
) build_cvs_prefix
$CVS_AUTH ${CVS_USER--};;
106 *) echo "$0: Unknown CVS access method" >&2
109 if [ "${CVS_AUTH--}" = "pserver" ]; then
110 cvs
-d ${CVS_PREFIX}subversions.gnu.org
:/cvsroot
/gnulib login
|| exit
112 cvs
-q -d ${CVS_PREFIX}subversions.gnu.org
:/cvsroot
/gnulib co gnulib
|| exit
119 <$GNULIB_SRCDIR/gnulib
-tool || exit
161 previous_gnulib_modules
=
162 while [ "$gnulib_modules" != "$previous_gnulib_modules" ]; do
163 previous_gnulib_modules
=$gnulib_modules
165 (echo "$gnulib_modules"
166 for gnulib_module in $gnulib_modules; do
167 $GNULIB_SRCDIR/gnulib-tool --extract-dependencies $gnulib_module
173 (for gnulib_module in $gnulib_modules; do
174 $GNULIB_SRCDIR/gnulib-tool --extract-filelist $gnulib_module
178 gnulib_dirs
=`echo "$gnulib_files" | sed 's,/[^/]*$,,' | sort -u`
179 mkdir -p $gnulib_dirs || exit
181 for gnulib_file
in $gnulib_files; do
185 m
4/codeset.
m4) continue;;
186 m
4/intdiv0.
m4) continue;;
187 m
4/inttypes
-pri.
m4) continue;;
188 m
4/isc
-posix.
m4) continue;;
189 m
4/lcmessage.
m4) continue;;
190 m
4/onceonly_2_57.
m4) dest
=m
4/onceonly.
m4;;
191 # These will be overwritten by autopoint, which still uses
192 # old jm_.* macro names, so we have to keep both copies.
193 m
4/ulonglong.
m4) dest
=m
4/ulonglong_gl.
m4;;
194 m
4/inttypes_h.
m4) dest
=m
4/inttypes_h_gl.
m4;;
195 m
4/stdint_h.
m4) dest
=m
4/stdint_h_gl.
m4;;
196 m
4/uintmax_t.
m4) dest
=m
4/uintmax_t_gl.
m4;;
200 echo "$0: Copying file $GNULIB_SRCDIR/$gnulib_file" &&
201 cp -p $GNULIB_SRCDIR/$gnulib_file $dest || exit
204 echo "$0: Creating m4/gnulib.m4"
205 (echo "# This file is generated automatically. Please, do not edit."
207 echo "AC_DEFUN([tar_GNULIB],["
208 for gnulib_module
in $gnulib_modules; do
209 echo "# $gnulib_module"
210 $GNULIB_SRCDIR/gnulib
-tool --extract-autoconf-snippet $gnulib_module
211 done | sed '/AM_GNU_GETTEXT/d'
212 echo "])") > .
/m
4/gnulib.
m4
214 echo "$0: Creating lib/Makefile.am"
215 (cat lib
/Makefile.tmpl
217 for gnulib_module
in $gnulib_modules; do
218 echo "# $gnulib_module"
219 $GNULIB_SRCDIR/gnulib
-tool --extract-automake-snippet $gnulib_module
220 done | sed 's/lib_SOURCES/libtar_a_SOURCES/g' ) > lib
/Makefile.am
224 if test "$DOWNLOAD_PO" = "yes"; then
225 echo "$0: getting translations into po..."
227 rm -f dummy
`ls | sed -n '/\.gmo$/p; /\.po/p'` &&
228 wget
-nv -nd -r -l 1 -A .po
-C off
$TP_URL &&
229 ls *.po
| sed 's/\.po$//' >LINGUAS
233 # Reconfigure, getting other files.
235 echo "$0: autoreconf --verbose --install --force ..."
236 autoreconf
--verbose --install --force
239 echo "$0: done. Now you can run './configure'."