2 # Print a version string. 
   3 scriptversion
=2012-02-11.09
; # UTC 
   5 # Bootstrap this package from checked-out sources. 
   7 # Copyright (C) 2003-2012 Free Software Foundation, Inc. 
   9 # This program is free software: you can redistribute it and/or modify 
  10 # it under the terms of the GNU General Public License as published by 
  11 # the Free Software Foundation, either version 3 of the License, or 
  12 # (at your option) any later version. 
  14 # This program is distributed in the hope that it will be useful, 
  15 # but WITHOUT ANY WARRANTY; without even the implied warranty of 
  16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
  17 # GNU General Public License for more details. 
  19 # You should have received a copy of the GNU General Public License 
  20 # along with this program.  If not, see <http://www.gnu.org/licenses/>. 
  22 # Originally written by Paul Eggert.  The canonical version of this 
  23 # script is maintained as build-aux/bootstrap in gnulib, however, to 
  24 # be useful to your project, you should place a copy of it under 
  25 # version control in the top-level directory of your project.  The 
  26 # intent is that all customization can be done with a bootstrap.conf 
  27 # file also maintained in your version control; gnulib comes with a 
  28 # template build-aux/bootstrap.conf to get you started. 
  30 # Please report bugs or propose patches to bug-gnulib@gnu.org. 
  35 # Ensure file names are sorted consistently across platforms. 
  45 Usage: $me [OPTION]... 
  46 Bootstrap this package from the checked-out sources. 
  49  --gnulib-srcdir=DIRNAME  specify the local directory where gnulib 
  50                           sources reside.  Use this if you already 
  51                           have gnulib sources on your machine, and 
  52                           do not want to waste your bandwidth downloading 
  53                           them again.  Defaults to \$GNULIB_SRCDIR 
  54  --bootstrap-sync         if this bootstrap script is not identical to 
  55                           the version in the local gnulib sources, 
  56                           update this script, and then restart it with 
  57                           /bin/sh or the shell \$CONFIG_SHELL 
  58  --no-bootstrap-sync      do not check whether bootstrap is out of sync 
  59  --copy                   copy files instead of creating symbolic links 
  60  --force                  attempt to bootstrap even if the sources seem 
  61                           not to have been checked out 
  62  --no-git                 do not use git to update gnulib.  Requires that 
  63                           --gnulib-srcdir point to a correct gnulib snapshot 
  64  --skip-po                do not download po files 
  66 If the file $me.conf exists in the same directory as this script, its 
  67 contents are read as shell variables to configure the bootstrap. 
  69 For build prerequisites, environment variables like \$AUTOCONF and \$AMTAR 
  72 Running without arguments will suffice in most cases. 
  78 # Name of the Makefile.am 
  81 # List of gnulib modules needed. 
  84 # Any gnulib files needed that are not in modules. 
  87 : ${AUTOPOINT=autopoint} 
  88 : ${AUTORECONF=autoreconf} 
  90 # A function to be called right after gnulib-tool is run. 
  91 # Override it via your own definition in bootstrap.conf. 
  92 bootstrap_post_import_hook
() { :; } 
  94 # A function to be called after everything else in this script. 
  95 # Override it via your own definition in bootstrap.conf. 
  96 bootstrap_epilogue
() { :; } 
  98 # The command to download all .po files for a specified domain into 
  99 # a specified directory.  Fill in the first %s is the domain name, and 
 100 # the second with the destination directory.  Use rsync's -L and -r 
 101 # options because the latest/%s directory and the .po files within are 
 103 po_download_command_format
=\
 
 104 "rsync --delete --exclude '*.s1' -Lrtvz \ 
 105  'translationproject.org::tp/latest/%s/' '%s'" 
 107 # Fallback for downloading .po files (if rsync fails). 
 108 po_download_command_format2
=\
 
 109 "wget --mirror -nd -q -np -A.po -P '%s' \ 
 110  http://translationproject.org/latest/%s/" 
 112 extract_package_name
=' 
 124      y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ 
 129 package
=`sed -n "$extract_package_name" configure.ac` || exit 
 130 gnulib_name
=lib
$package 
 137 gnulib_extra_files
='' 
 139 # Additional gnulib-tool options to use.  Use "\newline" to break lines. 
 140 gnulib_tool_option_extras
= 
 142 # Other locale categories that need message catalogs. 
 143 EXTRA_LOCALE_CATEGORIES
= 
 145 # Additional xgettext options to use.  Use "\\\newline" to break lines. 
 146 XGETTEXT_OPTIONS
='\\\ 
 147  --flag=_:1:pass-c-format\\\ 
 148  --flag=N_:1:pass-c-format\\\ 
 149  --flag=error:3:c-format --flag=error_at_line:5:c-format\\\ 
 152 # Package bug report address and copyright holder for gettext files 
 153 COPYRIGHT_HOLDER
='Free Software Foundation, Inc.' 
 154 MSGID_BUGS_ADDRESS
=bug
-$package@gnu.org
 
 156 # Files we don't want to import. 
 159 # File that should exist in the top directory of a checked out hierarchy, 
 160 # but not in a distribution tarball. 
 161 checkout_only_file
=README
-hacking 
 163 # Whether to use copies instead of symlinks. 
 166 # Set this to '.cvsignore .gitignore' in bootstrap.conf if you want 
 167 # those files to be generated in directories like lib/, m4/, and po/. 
 168 # Or set it to 'auto' to make this script select which to use based 
 169 # on which version control system (if any) is used in the source directory. 
 172 # Set this to true in bootstrap.conf to enable --bootstrap-sync by 
 176 # Use git to update gnulib sources 
 179 # find_tool ENVVAR NAMES... 
 180 # ------------------------- 
 181 # Search for a required program.  Use the value of ENVVAR, if set, 
 182 # otherwise find the first of the NAMES that can be run (i.e., 
 183 # supports --version).  If found, set ENVVAR to the program name, 
 190   eval "find_tool_res=\$$find_tool_envvar" 
 191   if test x
"$find_tool_res" = x
; then 
 194       if ($i --version </dev
/null
) >/dev
/null 
2>&1; then 
 200     find_tool_error_prefix
="\$$find_tool_envvar: " 
 202   if test x
"$find_tool_res" = x
; then 
 203     echo >&2 "$me: one of these is required: $find_tool_names" 
 206   ($find_tool_res --version </dev
/null
) >/dev
/null 
2>&1 || { 
 207     echo >&2 "$me: ${find_tool_error_prefix}cannot run $find_tool_res --version" 
 210   eval "$find_tool_envvar=\$find_tool_res" 
 211   eval "export $find_tool_envvar" 
 214 # Find sha1sum, named gsha1sum on MacPorts, and shasum on MacOS 10.6. 
 215 find_tool SHA1SUM 
sha1sum gsha1sum shasum
 
 217 # Override the default configuration, if necessary. 
 218 # Make sure that bootstrap.conf is sourced from the current directory 
 219 # if we were invoked as "sh bootstrap". 
 221   */*) test -r "$0.conf" && . 
"$0.conf" ;; 
 222   *) test -r "$0.conf" && . .
/"$0.conf" ;; 
 225 # Extra files from gnulib, which override files from other sources. 
 226 test -z "${gnulib_extra_files}" && \
 
 228         $build_aux/install-sh 
 231         $build_aux/texinfo.tex 
 233         $build_aux/config.guess 
 234         $build_aux/config.sub 
 238 if test "$vc_ignore" = auto
; then 
 240   test -d .git 
&& vc_ignore
=.gitignore
 
 241   test -d CVS 
&& vc_ignore
="$vc_ignore .cvsignore" 
 244 # Translate configuration into internal form. 
 255     GNULIB_SRCDIR
=`expr "X$option" : 'X--gnulib-srcdir=\(.*\)'`;; 
 259     checkout_only_file
=;; 
 263     bootstrap_sync
=true
;; 
 265     bootstrap_sync
=false
;; 
 269     echo >&2 "$0: $option: unknown option" 
 274 if $use_git || test -d "$GNULIB_SRCDIR"; then 
 277   echo "$0: Error: --no-git requires --gnulib-srcdir" >&2 
 281 if test -n "$checkout_only_file" && test ! -r "$checkout_only_file"; then 
 282   echo "$0: Bootstrapping from a non-checked-out distribution is risky." >&2 
 286 # Ensure that lines starting with ! sort last, per gitignore conventions 
 287 # for whitelisting exceptions after a more generic blacklist pattern. 
 289   sort -u "$@" | sed '/^!/ { 
 300 # If $STR is not already on a line by itself in $FILE, insert it, 
 301 # sorting the new contents of the file and replacing $FILE with the result. 
 302 insert_sorted_if_absent
() { 
 305   test -f $file || touch $file 
 306   echo "$str" | sort_patterns 
- $file | cmp - $file > /dev
/null \
 
 307     || { echo "$str" | sort_patterns 
- $file > $file.bak \
 
 308       && mv $file.bak 
$file; } \
 
 312 # Adjust $PATTERN for $VC_IGNORE_FILE and insert it with 
 313 # insert_sorted_if_absent. 
 317   case $vc_ignore_file in 
 319     # A .gitignore entry that does not start with '/' applies 
 320     # recursively to subdirectories, so prepend '/' to every 
 322     pattern
=`echo "$pattern" | sed s,^,/,`;; 
 324   insert_sorted_if_absent 
"$vc_ignore_file" "$pattern" 
 327 # Die if there is no AC_CONFIG_AUX_DIR($build_aux) line in configure.ac. 
 329 grep '^[         ]*AC_CONFIG_AUX_DIR(\['"$build_aux"'\])' configure.ac \
 
 330     >/dev
/null 
&& found_aux_dir
=yes 
 331 grep '^[         ]*AC_CONFIG_AUX_DIR('"$build_aux"')' configure.ac \
 
 332     >/dev
/null 
&& found_aux_dir
=yes 
 333 if test $found_aux_dir = no
; then 
 334   echo "$0: expected line not found in configure.ac. Add the following:" >&2 
 335   echo "  AC_CONFIG_AUX_DIR([$build_aux])" >&2 
 339 # If $build_aux doesn't exist, create it now, otherwise some bits 
 340 # below will malfunction.  If creating it, also mark it as ignored. 
 341 if test ! -d $build_aux; then 
 343   for dot_ig 
in x 
$vc_ignore; do 
 344     test $dot_ig = x 
&& continue 
 345     insert_vc_ignore 
$dot_ig $build_aux 
 349 # Note this deviates from the version comparison in automake 
 350 # in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a 
 351 # but this should suffice as we won't be specifying old 
 352 # version formats or redundant trailing .0 in bootstrap.conf. 
 353 # If we did want full compatibility then we should probably 
 354 # use m4_version_compare from autoconf. 
 355 sort_ver
() { # sort -V is not generally available 
 359   # split on '.' and compare each component 
 362     p1
=$(echo "$ver1" | cut -d. -f$i) 
 363     p2
=$(echo "$ver2" | cut -d. -f$i) 
 367     elif [ ! "$p2" ]; then 
 370     elif [ ! "$p1" = "$p2" ]; then 
 371       if [ "$p1" -gt "$p2" ] 2>/dev
/null
; then # numeric comparison 
 373       elif [ "$p2" -gt "$p1" ] 2>/dev
/null
; then # numeric comparison 
 375       else # numeric, then lexicographic comparison 
 376         lp=$(printf "$p1\n$p2\n" | LANG=C sort -n | tail -n1) 
 377         if [ "$lp" = "$p2" ]; then 
 392   $app --version >/dev
/null 
2>&1 || return 1 
 394   $app --version 2>&1 | 
 395   sed -n '# Move version to start of line. 
 396           s/.*[v ]\([0-9]\)/\1/ 
 398           # Skip lines that do not start with version. 
 401           # Remove characters after the version. 
 404           # The first component must be digits only. 
 405           s/^\([0-9]*\)[a-z-].*/\1/ 
 407           #the following essentially does s/5.005/5.5/ 
 408           s/\.0*\([1-9]\)/.\1/g 
 416   while read app req_ver
; do 
 417     # We only need libtoolize from the libtool package. 
 418     if test "$app" = libtool
; then 
 421     # Exempt git if --no-git is in effect. 
 422     if test "$app" = git
; then 
 425     # Honor $APP variables ($TAR, $AUTOCONF, etc.) 
 426     appvar
=`echo $app | LC_ALL=C tr '[a-z]-' '[A-Z]_'` 
 427     test "$appvar" = TAR 
&& appvar
=AMTAR
 
 429         GZIP
) ;; # Do not use $GZIP:  it contains gzip options. 
 430         *) eval "app=\${$appvar-$app}" ;; 
 432     if [ "$req_ver" = "-" ]; then 
 433       # Merely require app to exist; not all prereq apps are well-behaved 
 434       # so we have to rely on $? rather than get_version. 
 435       $app --version >/dev
/null 
2>&1 
 436       if [ 126 -le $? 
]; then 
 437         echo "$me: Error: '$app' not found" >&2 
 441       # Require app to produce a new enough version string. 
 442       inst_ver
=$(get_version $app) 
 443       if [ ! "$inst_ver" ]; then 
 444         echo "$me: Error: '$app' not found" >&2 
 447         latest_ver
=$(sort_ver $req_ver $inst_ver | cut -d' ' -f2) 
 448         if [ ! "$latest_ver" = "$inst_ver" ]; then 
 449           echo "$me: Error: '$app' version == $inst_ver is too old" >&2 
 450           echo "       '$app' version >= $req_ver is required" >&2 
 461   echo "Program    Min_version" 
 462   echo "----------------------" 
 463   printf %s 
"$buildreq" 
 464   echo "----------------------" 
 465   # can't depend on column -t 
 469 # We'd like to use grep -E, to see if any of LT_INIT, 
 470 # AC_PROG_LIBTOOL, AM_PROG_LIBTOOL is used in configure.ac, 
 471 # but that's not portable enough (e.g., for Solaris). 
 472 grep '^[         ]*A[CM]_PROG_LIBTOOL' configure.ac 
>/dev
/null \
 
 474 grep '^[         ]*LT_INIT' configure.ac 
>/dev
/null \
 
 476 if test $use_libtool = 1; then 
 477   find_tool LIBTOOLIZE glibtoolize libtoolize
 
 480 # gnulib-tool requires at least automake and autoconf. 
 481 # If either is not listed, add it (with minimum version) as a prerequisite. 
 484   *) buildreq
="automake 1.9 
 489   *) buildreq
="autoconf 2.59 
 493 # When we can deduce that gnulib-tool will require patch, 
 494 # and when patch is not already listed as a prerequisite, add it, too. 
 495 if test ! -d "$local_gl_dir" \
 
 496     || find "$local_gl_dir" -name '*.diff' -exec false 
{} +; then 
 506 if ! printf "$buildreq" | check_versions
; then 
 508   if test -f README
-prereq; then 
 509     echo "$0: See README-prereq for how to get the prerequisite programs" >&2 
 511     echo "$0: Please install the prerequisite programs" >&2 
 516 echo "$0: Bootstrapping from checked-out $package sources..." 
 518 # See if we can use gnulib's git-merge-changelog merge driver. 
 519 if test -d .git 
&& (git 
--version) >/dev
/null 
2>/dev
/null 
; then 
 520   if git config merge.merge
-changelog.driver 
>/dev
/null 
; then 
 522   elif (git
-merge-changelog --version) >/dev
/null 
2>/dev
/null 
; then 
 523     echo "$0: initializing git-merge-changelog driver" 
 524     git config merge.merge
-changelog.name 
'GNU-style ChangeLog merge driver' 
 525     git config merge.merge
-changelog.driver 
'git-merge-changelog %O %A %B' 
 527     echo "$0: consider installing git-merge-changelog from gnulib" 
 534   rm -fr "$gnulib_path" 
 538 git_modules_config 
() { 
 539   test -f .gitmodules 
&& git config 
--file .gitmodules 
"$@" 
 542 gnulib_path
=`git_modules_config submodule.gnulib.path` 
 543 test -z "$gnulib_path" && gnulib_path
=gnulib
 
 547 case ${GNULIB_SRCDIR--} in 
 549   if git_modules_config submodule.gnulib.url 
>/dev
/null
; then 
 550     echo "$0: getting gnulib files..." 
 551     git submodule init 
|| exit $?
 
 552     git submodule update 
|| exit $?
 
 554   elif [ ! -d "$gnulib_path" ]; then 
 555     echo "$0: getting gnulib files..." 
 557     trap cleanup_gnulib 
1 2 13 15 
 560     git clone 
-h 2>&1 | grep -- --depth > /dev
/null 
&& shallow
='--depth 2' 
 561     git clone 
$shallow git
://git.sv.gnu.org
/gnulib 
"$gnulib_path" || 
 566   GNULIB_SRCDIR
=$gnulib_path 
 569   # Use GNULIB_SRCDIR as a reference. 
 570   if test -d "$GNULIB_SRCDIR"/.git 
&& \
 
 571         git_modules_config submodule.gnulib.url 
>/dev
/null
; then 
 572     echo "$0: getting gnulib files..." 
 573     if git submodule 
-h|grep -- --reference > /dev
/null
; then 
 574       # Prefer the one-liner available in git 1.6.4 or newer. 
 575       git submodule update 
--init --reference "$GNULIB_SRCDIR" \
 
 576         "$gnulib_path" || exit $?
 
 578       # This fallback allows at least git 1.5.5. 
 579       if test -f "$gnulib_path"/gnulib
-tool; then 
 580         # Since file already exists, assume submodule init already complete. 
 581         git submodule update 
|| exit $?
 
 583         # Older git can't clone into an empty directory. 
 584         rmdir "$gnulib_path" 2>/dev
/null
 
 585         git clone 
--reference "$GNULIB_SRCDIR" \
 
 586           "$(git_modules_config submodule.gnulib.url)" "$gnulib_path" \
 
 587           && git submodule init 
&& git submodule update \
 
 591     GNULIB_SRCDIR
=$gnulib_path 
 596 if $bootstrap_sync; then 
 597   cmp -s "$0" "$GNULIB_SRCDIR/build-aux/bootstrap" || { 
 598     echo "$0: updating bootstrap and restarting..." 
 600       'cp "$1" "$2" && shift && exec "${CONFIG_SHELL-/bin/sh}" "$@"' \
 
 601       -- "$GNULIB_SRCDIR/build-aux/bootstrap" \
 
 602       "$0" "$@" --no-bootstrap-sync 
 606 gnulib_tool
=$GNULIB_SRCDIR/gnulib
-tool 
 607 <$gnulib_tool || exit $?
 
 611 download_po_files
() { 
 614   echo "$me: getting translations into $subdir for $domain..." 
 615   cmd
=`printf "$po_download_command_format" "$domain" "$subdir"` 
 616   eval "$cmd" && return 
 618   cmd
=`printf "$po_download_command_format2" "$subdir" "$domain"` 
 622 # Mirror .po files to $po_dir/.reference and copy only the new 
 623 # or modified ones into $po_dir.  Also update $po_dir/LINGUAS. 
 624 # Note po files that exist locally only are left in $po_dir but will 
 625 # not be included in LINGUAS and hence will not be distributed. 
 627   # Directory containing primary .po files. 
 628   # Overwrite them only when we're sure a .po file is new. 
 632   # Mirror *.po files into this dir. 
 633   # Usually contains *.s1 checksum files. 
 634   ref_po_dir
="$po_dir/.reference" 
 636   test -d $ref_po_dir || mkdir $ref_po_dir || return 
 637   download_po_files 
$ref_po_dir $domain \
 
 638     && ls "$ref_po_dir"/*.po 
2>/dev
/null 
| 
 639       sed 's|.*/||; s|\.po$||' > "$po_dir/LINGUAS" || return 
 641   langs
=`cd $ref_po_dir && echo *.po|sed 's/\.po//g'` 
 642   test "$langs" = '*' && langs
=x
 
 644     case $po in x
) continue;; esac 
 645     new_po
="$ref_po_dir/$po.po" 
 646     cksum_file
="$ref_po_dir/$po.s1" 
 647     if ! test -f "$cksum_file" || 
 648         ! test -f "$po_dir/$po.po" || 
 649         ! $SHA1SUM -c --status "$cksum_file" \
 
 650             < "$new_po" > /dev
/null
; then 
 651       echo "$me: updated $po_dir/$po.po..." 
 652       cp "$new_po" "$po_dir/$po.po" \
 
 653           && $SHA1SUM < "$new_po" > "$cksum_file" 
 661     update_po_files po 
$package || exit 
 664   if test -d runtime
-po; then 
 665     update_po_files runtime
-po $package-runtime || exit 
 676     # If the destination directory doesn't exist, create it. 
 677     # This is required at least for "lib/uniwidth/cjk.h". 
 678     dst_dir
=`dirname "$dst"` 
 679     if ! test -d "$dst_dir"; then 
 682       # If we've just created a directory like lib/uniwidth, 
 683       # tell version control system(s) it's ignorable. 
 684       # FIXME: for now, this does only one level 
 685       parent
=`dirname "$dst_dir"` 
 686       for dot_ig 
in x 
$vc_ignore; do 
 687         test $dot_ig = x 
&& continue 
 689         insert_vc_ignore 
$ig `echo "$dst_dir"|sed 's,.*/,,'` 
 695         test ! -h "$dst" || { 
 696           echo "$me: rm -f $dst" && 
 701       cmp -s "$src" "$dst" || { 
 702         echo "$me: cp -fp $src $dst" && 
 706       # Leave any existing symlink alone, if it already points to the source, 
 707       # so that broken build tools that care about symlink times 
 708       # aren't confused into doing unnecessary builds.  Conversely, if the 
 709       # existing symlink's time stamp is older than the source, make it afresh, 
 710       # so that broken tools aren't confused into skipping needed builds.  See 
 711       # <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00326.html>. 
 713       src_ls
=`ls -diL "$src" 2>/dev/null` && set $src_ls && src_i
=$1 && 
 714       dst_ls
=`ls -diL "$dst" 2>/dev/null` && set $dst_ls && dst_i
=$1 && 
 715       test "$src_i" = "$dst_i" && 
 716       both_ls
=`ls -dt "$src" "$dst"` && 
 717       test "X$both_ls" = "X$dst$nl$src" || { 
 723           *//* | */..
/* | */.
/* | /*/*/*/*/*/) 
 724              echo >&2 "$me: invalid symlink calculation: $src -> $dst" 
 726           /*/*/*/*/)    dot_dots
=..
/..
/..
/;; 
 727           /*/*/*/)      dot_dots
=..
/..
/;; 
 728           /*/*/)        dot_dots
=..
/;; 
 732         echo "$me: ln -fs $dot_dots$src $dst" && 
 733         ln -fs "$dot_dots$src" "$dst" 
 739 # NOTE: we have to be careful to run both autopoint and libtoolize 
 740 # before gnulib-tool, since gnulib-tool is likely to provide newer 
 741 # versions of files "installed" by these two programs. 
 742 # Then, *after* gnulib-tool (see below), we have to be careful to 
 743 # run autoreconf in such a way that it does not run either of these 
 744 # two just-pre-run programs. 
 746 # Import from gettext. 
 748 grep '^[         ]*AM_GNU_GETTEXT_VERSION(' configure.ac 
>/dev
/null 
|| \
 
 751 if test $with_gettext = yes; then 
 752   # Released autopoint has the tendency to install macros that have been 
 753   # obsoleted in current gnulib, so run this before gnulib-tool. 
 754   echo "$0: $AUTOPOINT --force" 
 755   $AUTOPOINT --force || exit 
 758 # Autoreconf runs aclocal before libtoolize, which causes spurious 
 759 # warnings if the initial aclocal is confused by the libtoolized 
 760 # (or worse out-of-date) macro directory. 
 761 if test $use_libtool = 1; then 
 762   echo "running: $LIBTOOLIZE --copy --install" 
 763   $LIBTOOLIZE --copy --install 
 766 version_controlled_file
() { 
 771     grep -F "/$file/" $dir/CVS
/Entries 
2>/dev
/null 
| 
 772              grep '^/[^/]*/[0-9]' > /dev
/null 
&& found
=yes 
 773   elif test -d .git
; then 
 774     git 
rm -n "$dir/$file" > /dev
/null 
2>&1 && found
=yes 
 775   elif test -d .svn
; then 
 776     svn log 
-r HEAD 
"$dir/$file" > /dev
/null 
2>&1 && found
=yes 
 778     echo "$me: no version control for $dir/$file?" >&2 
 783 # Import from gnulib. 
 785 gnulib_tool_options
="\ 
 788  --aux-dir $build_aux\ 
 789  --doc-base $doc_base\ 
 792  --source-base $source_base/\ 
 793  --tests-base $tests_base\ 
 794  --local-dir $local_gl_dir\ 
 795  $gnulib_tool_option_extras\ 
 797 if test $use_libtool = 1; then 
 798   case "$gnulib_tool_options " in 
 800     *) gnulib_tool_options
="$gnulib_tool_options --libtool" ;; 
 803 echo "$0: $gnulib_tool $gnulib_tool_options --import ..." 
 804 $gnulib_tool $gnulib_tool_options --import $gnulib_modules && 
 806 for file in $gnulib_files; do 
 807   symlink_to_dir 
"$GNULIB_SRCDIR" $file || exit 
 810 bootstrap_post_import_hook \
 
 811   || { echo >&2 "$me: bootstrap_post_import_hook failed"; exit 1; } 
 813 # Remove any dangling symlink matching "*.m4" or "*.[ch]" in some 
 814 # gnulib-populated directories.  Such .m4 files would cause aclocal to fail. 
 815 # The following requires GNU find 4.2.3 or newer.  Considering the usual 
 816 # portability constraints of this script, that may seem a very demanding 
 817 # requirement, but it should be ok.  Ignore any failure, which is fine, 
 818 # since this is only a convenience to help developers avoid the relatively 
 819 # unusual case in which a symlinked-to .m4 file is git-removed from gnulib 
 820 # between successive runs of this script. 
 821 find "$m4_base" "$source_base" \
 
 822   -depth \
( -name '*.m4' -o -name '*.[ch]' \
) \
 
 823   -type l 
-xtype l 
-delete > /dev
/null 
2>&1 
 825 # Some systems (RHEL 5) are using ancient autotools, for which the 
 826 # --no-recursive option had not been invented.  Detect that lack and 
 827 # omit the option when it's not supported.  FIXME in 2017: remove this 
 828 # hack when RHEL 5 autotools are updated, or when they become irrelevant. 
 830 case $($AUTORECONF --help) in 
 831   *--no-recursive*) no_recursive
=--no-recursive;; 
 834 # Tell autoreconf not to invoke autopoint or libtoolize; they were run above. 
 835 echo "running: AUTOPOINT=true LIBTOOLIZE=true " \
 
 836     "$AUTORECONF --verbose --install $no_recursive -I $m4_base $ACLOCAL_FLAGS" 
 837 AUTOPOINT
=true LIBTOOLIZE
=true \
 
 838     $AUTORECONF --verbose --install $no_recursive -I $m4_base $ACLOCAL_FLAGS \
 
 841 # Get some extra files from gnulib, overriding existing files. 
 842 for file in $gnulib_extra_files; do 
 844   */INSTALL
) dst
=INSTALL
;; 
 845   build
-aux/*) dst
=$build_aux/`expr "$file" : 'build-aux/\(.*\)'`;; 
 848   symlink_to_dir 
"$GNULIB_SRCDIR" $file $dst || exit 
 851 if test $with_gettext = yes; then 
 852   # Create gettext configuration. 
 853   echo "$0: Creating po/Makevars from po/Makevars.template ..." 
 856     /^EXTRA_LOCALE_CATEGORIES *=/s/=.*/= '"$EXTRA_LOCALE_CATEGORIES"'/ 
 857     /^COPYRIGHT_HOLDER *=/s/=.*/= '"$COPYRIGHT_HOLDER"'/ 
 858     /^MSGID_BUGS_ADDRESS *=/s|=.*|= '"$MSGID_BUGS_ADDRESS"'| 
 859     /^XGETTEXT_OPTIONS *=/{ 
 862           '"$XGETTEXT_OPTIONS"' $${end_of_xgettext_options+} 
 864   ' po
/Makevars.template 
>po
/Makevars 
|| exit 1 
 866   if test -d runtime
-po; then 
 867     # Similarly for runtime-po/Makevars, but not quite the same. 
 868     rm -f runtime
-po/Makevars
 
 870       /^DOMAIN *=.*/s/=.*/= '"$package"'-runtime/ 
 871       /^subdir *=.*/s/=.*/= runtime-po/ 
 872       /^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-'"$package"'@gnu.org/ 
 873       /^XGETTEXT_OPTIONS *=/{ 
 876             '"$XGETTEXT_OPTIONS_RUNTIME"' $${end_of_xgettext_options+} 
 878     ' po
/Makevars.template 
>runtime
-po/Makevars 
|| exit 1 
 880     # Copy identical files from po to runtime-po. 
 881     (cd po 
&& cp -p Makefile.
in.
in *-quot *.header 
*.
sed *.sin ..
/runtime
-po) 
 887 echo "$0: done.  Now you can run './configure'." 
 890 # eval: (add-hook 'write-file-hooks 'time-stamp) 
 891 # time-stamp-start: "scriptversion=" 
 892 # time-stamp-format: "%:y-%02m-%02d.%02H" 
 893 # time-stamp-time-zone: "UTC" 
 894 # time-stamp-end: "; # UTC"