2 # Print a version string. 
   3 scriptversion
=2011-04-05.18
; # UTC 
   5 # Bootstrap this package from checked-out sources. 
   7 # Copyright (C) 2003-2011 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. 
  41 # Temporary directory names. 
  43 bt_regex
=`echo "$bt"| sed 's/\./[.]/g'` 
  49 Usage: $me [OPTION]... 
  50 Bootstrap this package from the checked-out sources. 
  53  --gnulib-srcdir=DIRNAME  specify the local directory where gnulib 
  54                           sources reside.  Use this if you already 
  55                           have gnulib sources on your machine, and 
  56                           do not want to waste your bandwidth downloading 
  57                           them again.  Defaults to \$GNULIB_SRCDIR 
  58  --bootstrap-sync         if this bootstrap script is not identical to 
  59                           the version in the local gnulib sources, 
  60                           update this script, and then restart it with 
  61                           /bin/sh or the shell \$CONFIG_SHELL 
  62  --no-bootstrap-sync      do not check whether bootstrap is out of sync 
  63  --copy                   copy files instead of creating symbolic links 
  64  --force                  attempt to bootstrap even if the sources seem 
  65                           not to have been checked out 
  66  --no-git                 do not use git to update gnulib.  Requires that 
  67                           --gnulib-srcdir point to a correct gnulib snapshot 
  68  --skip-po                do not download po files 
  70 If the file $me.conf exists in the same directory as this script, its 
  71 contents are read as shell variables to configure the bootstrap. 
  73 For build prerequisites, environment variables like \$AUTOCONF and \$AMTAR 
  76 Running without arguments will suffice in most cases. 
  82 # Name of the Makefile.am 
  85 # List of gnulib modules needed. 
  88 # Any gnulib files needed that are not in modules. 
  91 # A function to be called to edit gnulib.mk right after it's created. 
  92 # Override it via your own definition in bootstrap.conf. 
  93 gnulib_mk_hook
() { :; } 
  95 # A function to be called after everything else in this script. 
  96 # Override it via your own definition in bootstrap.conf. 
  97 bootstrap_epilogue
() { :; } 
  99 # The command to download all .po files for a specified domain into 
 100 # a specified directory.  Fill in the first %s is the domain name, and 
 101 # the second with the destination directory.  Use rsync's -L and -r 
 102 # options because the latest/%s directory and the .po files within are 
 104 po_download_command_format
=\
 
 105 "rsync --delete --exclude '*.s1' -Lrtvz \ 
 106  'translationproject.org::tp/latest/%s/' '%s'" 
 108 extract_package_name
=' 
 120      y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ 
 125 package
=`sed -n "$extract_package_name" configure.ac` || exit 
 126 gnulib_name
=lib
$package 
 133 gnulib_extra_files
='' 
 135 # Additional gnulib-tool options to use.  Use "\newline" to break lines. 
 136 gnulib_tool_option_extras
= 
 138 # Other locale categories that need message catalogs. 
 139 EXTRA_LOCALE_CATEGORIES
= 
 141 # Additional xgettext options to use.  Use "\\\newline" to break lines. 
 142 XGETTEXT_OPTIONS
='\\\ 
 143  --flag=_:1:pass-c-format\\\ 
 144  --flag=N_:1:pass-c-format\\\ 
 145  --flag=error:3:c-format --flag=error_at_line:5:c-format\\\ 
 148 # Package bug report address and copyright holder for gettext files 
 149 COPYRIGHT_HOLDER
='Free Software Foundation, Inc.' 
 150 MSGID_BUGS_ADDRESS
=bug
-$package@gnu.org
 
 152 # Files we don't want to import. 
 155 # File that should exist in the top directory of a checked out hierarchy, 
 156 # but not in a distribution tarball. 
 157 checkout_only_file
=README
-hacking 
 159 # Whether to use copies instead of symlinks. 
 162 # Set this to '.cvsignore .gitignore' in bootstrap.conf if you want 
 163 # those files to be generated in directories like lib/, m4/, and po/. 
 164 # Or set it to 'auto' to make this script select which to use based 
 165 # on which version control system (if any) is used in the source directory. 
 168 # Set this to true in bootstrap.conf to enable --bootstrap-sync by 
 172 # Use git to update gnulib sources 
 175 # find_tool ENVVAR NAMES... 
 176 # ------------------------- 
 177 # Search for a required program.  Use the value of ENVVAR, if set, 
 178 # otherwise find the first of the NAMES that can be run (i.e., 
 179 # supports --version).  If found, set ENVVAR to the program name, 
 186   eval "find_tool_res=\$$find_tool_envvar" 
 187   if test x
"$find_tool_res" = x
; then 
 190       if ($i --version </dev
/null
) >/dev
/null 
2>&1; then 
 196     find_tool_error_prefix
="\$$find_tool_envvar: " 
 198   if test x
"$find_tool_res" = x
; then 
 199     echo >&2 "$me: one of these is required: $find_tool_names" 
 202   ($find_tool_res --version </dev
/null
) >/dev
/null 
2>&1 || { 
 203     echo >&2 "$me: ${find_tool_error_prefix}cannot run $find_tool_res --version" 
 206   eval "$find_tool_envvar=\$find_tool_res" 
 207   eval "export $find_tool_envvar" 
 210 # Find sha1sum, named gsha1sum on MacPorts, and shasum on MacOS 10.6. 
 211 find_tool SHA1SUM 
sha1sum gsha1sum shasum
 
 213 # Override the default configuration, if necessary. 
 214 # Make sure that bootstrap.conf is sourced from the current directory 
 215 # if we were invoked as "sh bootstrap". 
 217   */*) test -r "$0.conf" && . 
"$0.conf" ;; 
 218   *) test -r "$0.conf" && . .
/"$0.conf" ;; 
 221 # Extra files from gnulib, which override files from other sources. 
 222 test -z "${gnulib_extra_files}" && \
 
 224         $build_aux/install-sh 
 227         $build_aux/texinfo.tex 
 229         $build_aux/config.guess 
 230         $build_aux/config.sub 
 234 if test "$vc_ignore" = auto
; then 
 236   test -d .git 
&& vc_ignore
=.gitignore
 
 237   test -d CVS 
&& vc_ignore
="$vc_ignore .cvsignore" 
 240 # Translate configuration into internal form. 
 251     GNULIB_SRCDIR
=`expr "X$option" : 'X--gnulib-srcdir=\(.*\)'`;; 
 255     checkout_only_file
=;; 
 259     bootstrap_sync
=true
;; 
 261     bootstrap_sync
=false
;; 
 265     echo >&2 "$0: $option: unknown option" 
 270 if $use_git || test -d "$GNULIB_SRCDIR"; then 
 273   echo "$0: Error: --no-git requires --gnulib-srcdir" >&2 
 277 if test -n "$checkout_only_file" && test ! -r "$checkout_only_file"; then 
 278   echo "$0: Bootstrapping from a non-checked-out distribution is risky." >&2 
 282 # Ensure that lines starting with ! sort last, per gitignore conventions 
 283 # for whitelisting exceptions after a more generic blacklist pattern. 
 285   sort -u "$@" | sed '/^!/ { 
 296 # If $STR is not already on a line by itself in $FILE, insert it, 
 297 # sorting the new contents of the file and replacing $FILE with the result. 
 298 insert_sorted_if_absent
() { 
 301   test -f $file || touch $file 
 302   echo "$str" | sort_patterns 
- $file | cmp - $file > /dev
/null \
 
 303     || { echo "$str" | sort_patterns 
- $file > $file.bak \
 
 304       && mv $file.bak 
$file; } \
 
 308 # Adjust $PATTERN for $VC_IGNORE_FILE and insert it with 
 309 # insert_sorted_if_absent. 
 313   case $vc_ignore_file in 
 315     # A .gitignore entry that does not start with `/' applies 
 316     # recursively to subdirectories, so prepend `/' to every 
 318     pattern
=`echo "$pattern" | sed s,^,/,`;; 
 320   insert_sorted_if_absent 
"$vc_ignore_file" "$pattern" 
 323 # Die if there is no AC_CONFIG_AUX_DIR($build_aux) line in configure.ac. 
 325 grep '^[         ]*AC_CONFIG_AUX_DIR(\['"$build_aux"'\])' configure.ac \
 
 326     >/dev
/null 
&& found_aux_dir
=yes 
 327 grep '^[         ]*AC_CONFIG_AUX_DIR('"$build_aux"')' configure.ac \
 
 328     >/dev
/null 
&& found_aux_dir
=yes 
 329 if test $found_aux_dir = no
; then 
 330   echo "$0: expected line not found in configure.ac. Add the following:" >&2 
 331   echo "  AC_CONFIG_AUX_DIR([$build_aux])" >&2 
 335 # If $build_aux doesn't exist, create it now, otherwise some bits 
 336 # below will malfunction.  If creating it, also mark it as ignored. 
 337 if test ! -d $build_aux; then 
 339   for dot_ig 
in x 
$vc_ignore; do 
 340     test $dot_ig = x 
&& continue 
 341     insert_vc_ignore 
$dot_ig $build_aux 
 345 # Note this deviates from the version comparison in automake 
 346 # in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a 
 347 # but this should suffice as we won't be specifying old 
 348 # version formats or redundant trailing .0 in bootstrap.conf. 
 349 # If we did want full compatibility then we should probably 
 350 # use m4_version_compare from autoconf. 
 351 sort_ver
() { # sort -V is not generally available 
 355   # split on '.' and compare each component 
 358     p1
=$(echo "$ver1" | cut -d. -f$i) 
 359     p2
=$(echo "$ver2" | cut -d. -f$i) 
 363     elif [ ! "$p2" ]; then 
 366     elif [ ! "$p1" = "$p2" ]; then 
 367       if [ "$p1" -gt "$p2" ] 2>/dev
/null
; then # numeric comparison 
 369       elif [ "$p2" -gt "$p1" ] 2>/dev
/null
; then # numeric comparison 
 371       else # numeric, then lexicographic comparison 
 372         lp=$(printf "$p1\n$p2\n" | LANG=C sort -n | tail -n1) 
 373         if [ "$lp" = "$p2" ]; then 
 388   $app --version >/dev
/null 
2>&1 || return 1 
 390   $app --version 2>&1 | 
 391   sed -n '# Move version to start of line. 
 392           s/.*[v ]\([0-9]\)/\1/ 
 394           # Skip lines that do not start with version. 
 397           # Remove characters after the version. 
 400           # The first component must be digits only. 
 401           s/^\([0-9]*\)[a-z-].*/\1/ 
 403           #the following essentially does s/5.005/5.5/ 
 404           s/\.0*\([1-9]\)/.\1/g 
 412   while read app req_ver
; do 
 413     # We only need libtoolize from the libtool package. 
 414     if test "$app" = libtool
; then 
 417     # Exempt git if --no-git is in effect. 
 418     if test "$app" = git
; then 
 421     # Honor $APP variables ($TAR, $AUTOCONF, etc.) 
 422     appvar
=`echo $app | tr '[a-z]-' '[A-Z]_'` 
 423     test "$appvar" = TAR 
&& appvar
=AMTAR
 
 424     eval "app=\${$appvar-$app}" 
 425     inst_ver
=$(get_version $app) 
 426     if [ ! "$inst_ver" ]; then 
 427       echo "$me: Error: '$app' not found" >&2 
 429     elif [ ! "$req_ver" = "-" ]; then 
 430       latest_ver
=$(sort_ver $req_ver $inst_ver | cut -d' ' -f2) 
 431       if [ ! "$latest_ver" = "$inst_ver" ]; then 
 432         echo "$me: Error: '$app' version == $inst_ver is too old" >&2 
 433         echo "       '$app' version >= $req_ver is required" >&2 
 443   echo "Program    Min_version" 
 444   echo "----------------------" 
 445   printf %s 
"$buildreq" 
 446   echo "----------------------" 
 447   # can't depend on column -t 
 451 # We'd like to use grep -E, to see if any of LT_INIT, 
 452 # AC_PROG_LIBTOOL, AM_PROG_LIBTOOL is used in configure.ac, 
 453 # but that's not portable enough (e.g., for Solaris). 
 454 grep '^[         ]*A[CM]_PROG_LIBTOOL' configure.ac 
>/dev
/null \
 
 456 grep '^[         ]*LT_INIT' configure.ac 
>/dev
/null \
 
 458 if test $use_libtool = 1; then 
 459   find_tool LIBTOOLIZE glibtoolize libtoolize
 
 462 if ! printf "$buildreq" | check_versions
; then 
 464   if test -f README
-prereq; then 
 465     echo "$0: See README-prereq for how to get the prerequisite programs" >&2 
 467     echo "$0: Please install the prerequisite programs" >&2 
 472 echo "$0: Bootstrapping from checked-out $package sources..." 
 474 # See if we can use gnulib's git-merge-changelog merge driver. 
 475 if test -d .git 
&& (git 
--version) >/dev
/null 
2>/dev
/null 
; then 
 476   if git config merge.merge
-changelog.driver 
>/dev
/null 
; then 
 478   elif (git
-merge-changelog --version) >/dev
/null 
2>/dev
/null 
; then 
 479     echo "$0: initializing git-merge-changelog driver" 
 480     git config merge.merge
-changelog.name 
'GNU-style ChangeLog merge driver' 
 481     git config merge.merge
-changelog.driver 
'git-merge-changelog %O %A %B' 
 483     echo "$0: consider installing git-merge-changelog from gnulib" 
 490   rm -fr "$gnulib_path" 
 494 git_modules_config 
() { 
 495   test -f .gitmodules 
&& git config 
--file .gitmodules 
"$@" 
 498 gnulib_path
=`git_modules_config submodule.gnulib.path` 
 499 test -z "$gnulib_path" && gnulib_path
=gnulib
 
 503 case ${GNULIB_SRCDIR--} in 
 505   if git_modules_config submodule.gnulib.url 
>/dev
/null
; then 
 506     echo "$0: getting gnulib files..." 
 507     git submodule init 
|| exit $?
 
 508     git submodule update 
|| exit $?
 
 510   elif [ ! -d "$gnulib_path" ]; then 
 511     echo "$0: getting gnulib files..." 
 513     trap cleanup_gnulib 
1 2 13 15 
 516     git clone 
-h 2>&1 | grep -- --depth > /dev
/null 
&& shallow
='--depth 2' 
 517     git clone 
$shallow git
://git.sv.gnu.org
/gnulib 
"$gnulib_path" || 
 522   GNULIB_SRCDIR
=$gnulib_path 
 525   # Use GNULIB_SRCDIR as a reference. 
 526   if test -d "$GNULIB_SRCDIR"/.git 
&& \
 
 527         git_modules_config submodule.gnulib.url 
>/dev
/null
; then 
 528     echo "$0: getting gnulib files..." 
 529     if git submodule 
-h|grep -- --reference > /dev
/null
; then 
 530       # Prefer the one-liner available in git 1.6.4 or newer. 
 531       git submodule update 
--init --reference "$GNULIB_SRCDIR" \
 
 532         "$gnulib_path" || exit $?
 
 534       # This fallback allows at least git 1.5.5. 
 535       if test -f "$gnulib_path"/gnulib
-tool; then 
 536         # Since file already exists, assume submodule init already complete. 
 537         git submodule update 
|| exit $?
 
 539         # Older git can't clone into an empty directory. 
 540         rmdir "$gnulib_path" 2>/dev
/null
 
 541         git clone 
--reference "$GNULIB_SRCDIR" \
 
 542           "$(git_modules_config submodule.gnulib.url)" "$gnulib_path" \
 
 543           && git submodule init 
&& git submodule update \
 
 547     GNULIB_SRCDIR
=$gnulib_path 
 552 if $bootstrap_sync; then 
 553   cmp -s "$0" "$GNULIB_SRCDIR/build-aux/bootstrap" || { 
 554     echo "$0: updating bootstrap and restarting..." 
 556       'cp "$1" "$2" && shift && exec "${CONFIG_SHELL-/bin/sh}" "$@"' \
 
 557       -- "$GNULIB_SRCDIR/build-aux/bootstrap" \
 
 558       "$0" "$@" --no-bootstrap-sync 
 562 gnulib_tool
=$GNULIB_SRCDIR/gnulib
-tool 
 563 <$gnulib_tool || exit 
 567 download_po_files
() { 
 570   echo "$me: getting translations into $subdir for $domain..." 
 571   cmd
=`printf "$po_download_command_format" "$domain" "$subdir"` 
 575 # Mirror .po files to $po_dir/.reference and copy only the new 
 576 # or modified ones into $po_dir.  Also update $po_dir/LINGUAS. 
 577 # Note po files that exist locally only are left in $po_dir but will 
 578 # not be included in LINGUAS and hence will not be distributed. 
 580   # Directory containing primary .po files. 
 581   # Overwrite them only when we're sure a .po file is new. 
 585   # Mirror *.po files into this dir. 
 586   # Usually contains *.s1 checksum files. 
 587   ref_po_dir
="$po_dir/.reference" 
 589   test -d $ref_po_dir || mkdir $ref_po_dir || return 
 590   download_po_files 
$ref_po_dir $domain \
 
 591     && ls "$ref_po_dir"/*.po 
2>/dev
/null 
| 
 592       sed 's|.*/||; s|\.po$||' > "$po_dir/LINGUAS" || return 
 594   langs
=`cd $ref_po_dir && echo *.po|sed 's/\.po//g'` 
 595   test "$langs" = '*' && langs
=x
 
 597     case $po in x
) continue;; esac 
 598     new_po
="$ref_po_dir/$po.po" 
 599     cksum_file
="$ref_po_dir/$po.s1" 
 600     if ! test -f "$cksum_file" || 
 601         ! test -f "$po_dir/$po.po" || 
 602         ! $SHA1SUM -c --status "$cksum_file" \
 
 603             < "$new_po" > /dev
/null
; then 
 604       echo "$me: updated $po_dir/$po.po..." 
 605       cp "$new_po" "$po_dir/$po.po" \
 
 606           && $SHA1SUM < "$new_po" > "$cksum_file" 
 614     update_po_files po 
$package || exit 
 617   if test -d runtime
-po; then 
 618     update_po_files runtime
-po $package-runtime || exit 
 629     # If the destination directory doesn't exist, create it. 
 630     # This is required at least for "lib/uniwidth/cjk.h". 
 631     dst_dir
=`dirname "$dst"` 
 632     if ! test -d "$dst_dir"; then 
 635       # If we've just created a directory like lib/uniwidth, 
 636       # tell version control system(s) it's ignorable. 
 637       # FIXME: for now, this does only one level 
 638       parent
=`dirname "$dst_dir"` 
 639       for dot_ig 
in x 
$vc_ignore; do 
 640         test $dot_ig = x 
&& continue 
 642         insert_vc_ignore 
$ig `echo "$dst_dir"|sed 's,.*/,,'` 
 648         test ! -h "$dst" || { 
 649           echo "$me: rm -f $dst" && 
 654       cmp -s "$src" "$dst" || { 
 655         echo "$me: cp -fp $src $dst" && 
 660       src_ls
=`ls -diL "$src" 2>/dev/null` && set $src_ls && src_i
=$1 && 
 661       dst_ls
=`ls -diL "$dst" 2>/dev/null` && set $dst_ls && dst_i
=$1 && 
 662       test "$src_i" = "$dst_i" || { 
 668           *//* | */..
/* | */.
/* | /*/*/*/*/*/) 
 669              echo >&2 "$me: invalid symlink calculation: $src -> $dst" 
 671           /*/*/*/*/)    dot_dots
=..
/..
/..
/;; 
 672           /*/*/*/)      dot_dots
=..
/..
/;; 
 673           /*/*/)        dot_dots
=..
/;; 
 677         echo "$me: ln -fs $dot_dots$src $dst" && 
 678         ln -fs "$dot_dots$src" "$dst" 
 684 cp_mark_as_generated
() 
 689   if cmp -s "$cp_src" "$GNULIB_SRCDIR/$cp_dst"; then 
 690     symlink_to_dir 
"$GNULIB_SRCDIR" "$cp_dst" 
 691   elif cmp -s "$cp_src" "$local_gl_dir/$cp_dst"; then 
 692     symlink_to_dir 
$local_gl_dir "$cp_dst" 
 695       *.
[ch
])             c1
='/* '; c2
=' */';; 
 696       *.texi
)             c1
='@c '; c2
=     ;; 
 697       *.
m4|*/Make
*|Make
*) c1
='# ' ; c2
=     ;; 
 701     # If the destination directory doesn't exist, create it. 
 702     # This is required at least for "lib/uniwidth/cjk.h". 
 703     dst_dir
=`dirname "$cp_dst"` 
 704     test -d "$dst_dir" || mkdir -p "$dst_dir" 
 706     if test -z "$c1"; then 
 707       cmp -s "$cp_src" "$cp_dst" || { 
 708         # Copy the file first to get proper permissions if it 
 709         # doesn't already exist.  Then overwrite the copy. 
 710         echo "$me: cp -f $cp_src $cp_dst" && 
 712         cp "$cp_src" "$cp_dst-t" && 
 713         sed "s!$bt_regex/!!g" "$cp_src" > "$cp_dst-t" && 
 714         mv -f "$cp_dst-t" "$cp_dst" 
 717       # Copy the file first to get proper permissions if it 
 718       # doesn't already exist.  Then overwrite the copy. 
 719       cp "$cp_src" "$cp_dst-t" && 
 721         echo "$c1-*- buffer-read-only: t -*- vi: set ro:$c2" && 
 722         echo "${c1}DO NOT EDIT! GENERATED AUTOMATICALLY!$c2" && 
 723         sed "s!$bt_regex/!!g" "$cp_src" 
 725       if cmp -s "$cp_dst-t" "$cp_dst"; then 
 728         echo "$me: cp $cp_src $cp_dst # with edits" && 
 729         mv -f "$cp_dst-t" "$cp_dst" 
 735 version_controlled_file
() { 
 740     grep -F "/$file/" $dir/CVS
/Entries 
2>/dev
/null 
| 
 741              grep '^/[^/]*/[0-9]' > /dev
/null 
&& found
=yes 
 742   elif test -d .git
; then 
 743     git 
rm -n "$dir/$file" > /dev
/null 
2>&1 && found
=yes 
 744   elif test -d .svn
; then 
 745     svn log 
-r HEAD 
"$dir/$file" > /dev
/null 
2>&1 && found
=yes 
 747     echo "$me: no version control for $dir/$file?" >&2 
 753   for dir 
in . 
`(cd $1 && find * -type d -print)`; do 
 756     for file in `ls -a $1/$dir`; do 
 759       # FIXME: should all file names starting with "." be ignored? 
 762       test -d $1/$dir/$file && continue 
 763       for excluded_file 
in $excluded_files; do 
 764         test "$dir/$file" = "$excluded_file" && continue 2 
 766       if test $file = Makefile.am 
&& test "X$gnulib_mk" != XMakefile.am
; then 
 767         copied
=$copied${sep}$gnulib_mk; sep
=$nl 
 768         remove_intl
='/^[^#].*\/intl/s/^/#/;'"s!$bt_regex/!!g" 
 769         sed "$remove_intl" $1/$dir/$file | 
 770         cmp - $dir/$gnulib_mk > /dev
/null 
|| { 
 771           echo "$me: Copying $1/$dir/$file to $dir/$gnulib_mk ..." && 
 772           rm -f $dir/$gnulib_mk && 
 773           sed "$remove_intl" $1/$dir/$file >$dir/$gnulib_mk && 
 774           gnulib_mk_hook 
$dir/$gnulib_mk 
 776       elif { test "${2+set}" = set && test -r $2/$dir/$file; } || 
 777            version_controlled_file 
$dir $file; then 
 778         echo "$me: $dir/$file overrides $1/$dir/$file" 
 780         copied
=$copied$sep$file; sep
=$nl 
 781         if test $file = gettext.
m4; then 
 782           echo "$me: patching m4/gettext.m4 to remove need for intl/* ..." 
 785             /^AC_DEFUN(\[AM_INTL_SUBDIR],/,/^]/c\ 
 786               AC_DEFUN([AM_INTL_SUBDIR], []) 
 787             /^AC_DEFUN(\[gt_INTL_SUBDIR_CORE],/,/^]/c\ 
 788               AC_DEFUN([gt_INTL_SUBDIR_CORE], []) 
 790               AC_DEFUN([gl_LOCK_EARLY], []) 
 791           ' $1/$dir/$file >$dir/$file 
 793           cp_mark_as_generated 
$1/$dir/$file $dir/$file 
 798     for dot_ig 
in x 
$vc_ignore; do 
 799       test $dot_ig = x 
&& continue 
 801       if test -n "$copied"; then 
 802         insert_vc_ignore 
$ig "$copied" 
 803         # If an ignored file name ends with .in.h, then also add 
 804         # the name with just ".h".  Many gnulib headers are generated, 
 805         # e.g., stdint.in.h -> stdint.h, dirent.in.h ->..., etc. 
 806         # Likewise for .gperf -> .h, .y -> .c, and .sin -> .sed 
 815         insert_vc_ignore 
$ig "$f" 
 817         # For files like sys_stat.in.h and sys_time.in.h, record as 
 818         # ignorable the directory we might eventually create: sys/. 
 819         f
=`echo "$copied"|sed 's/sys_.*\.in\.h$/sys/'` 
 820         insert_vc_ignore 
$ig "$f" 
 827 # Create boot temporary directories to import from gnulib and gettext. 
 829 mkdir $bt $bt2 || exit 
 831 # Import from gnulib. 
 833 gnulib_tool_options
="\ 
 836  --aux-dir $bt/$build_aux\ 
 837  --doc-base $bt/$doc_base\ 
 839  --m4-base $bt/$m4_base/\ 
 840  --source-base $bt/$source_base/\ 
 841  --tests-base $bt/$tests_base\ 
 842  --local-dir $local_gl_dir\ 
 843  $gnulib_tool_option_extras\ 
 845 if test $use_libtool = 1; then 
 846   case "$gnulib_tool_options " in 
 848     *) gnulib_tool_options
="$gnulib_tool_options --libtool" ;; 
 851 echo "$0: $gnulib_tool $gnulib_tool_options --import ..." 
 852 $gnulib_tool $gnulib_tool_options --import $gnulib_modules && 
 855 for file in $gnulib_files; do 
 856   symlink_to_dir 
"$GNULIB_SRCDIR" $file || exit 
 860 # Import from gettext. 
 862 grep '^[         ]*AM_GNU_GETTEXT_VERSION(' configure.ac 
>/dev
/null 
|| \
 
 865 if test $with_gettext = yes; then 
 866   echo "$0: (cd $bt2; ${AUTOPOINT-autopoint}) ..." 
 867   cp configure.ac 
$bt2 && 
 868   (cd $bt2 && ${AUTOPOINT-autopoint} && rm configure.ac
) && 
 869   slurp 
$bt2 $bt || exit 
 871 rm -fr $bt $bt2 || exit 
 873 # Remove any dangling symlink matching "*.m4" or "*.[ch]" in some 
 874 # gnulib-populated directories.  Such .m4 files would cause aclocal to fail. 
 875 # The following requires GNU find 4.2.3 or newer.  Considering the usual 
 876 # portability constraints of this script, that may seem a very demanding 
 877 # requirement, but it should be ok.  Ignore any failure, which is fine, 
 878 # since this is only a convenience to help developers avoid the relatively 
 879 # unusual case in which a symlinked-to .m4 file is git-removed from gnulib 
 880 # between successive runs of this script. 
 881 find "$m4_base" "$source_base" \
 
 882   -depth \
( -name '*.m4' -o -name '*.[ch]' \
) \
 
 883   -type l 
-xtype l 
-delete > /dev
/null 
2>&1 
 885 # Reconfigure, getting other files. 
 887 # Skip autoheader if it's not needed. 
 888 grep -E '^[      ]*AC_CONFIG_HEADERS?\>' configure.ac 
>/dev
/null 
|| 
 893   "${ACLOCAL-aclocal} --force -I '$m4_base' $ACLOCAL_FLAGS" \
 
 894   "${AUTOCONF-autoconf} --force" \
 
 895   "${AUTOHEADER-autoheader} --force" \
 
 896   "${AUTOMAKE-automake} --add-missing --copy --force-missing" 
 898   if test "$command" = libtool
; then 
 899     test $use_libtool = 0 \
 
 901     command="${LIBTOOLIZE-libtoolize} -c -f" 
 903   echo "$0: $command ..." 
 904   eval "$command" || exit 
 908 # Get some extra files from gnulib, overriding existing files. 
 909 for file in $gnulib_extra_files; do 
 911   */INSTALL
) dst
=INSTALL
;; 
 912   build
-aux/*) dst
=$build_aux/`expr "$file" : 'build-aux/\(.*\)'`;; 
 915   symlink_to_dir 
"$GNULIB_SRCDIR" $file $dst || exit 
 918 if test $with_gettext = yes; then 
 919   # Create gettext configuration. 
 920   echo "$0: Creating po/Makevars from po/Makevars.template ..." 
 923     /^EXTRA_LOCALE_CATEGORIES *=/s/=.*/= '"$EXTRA_LOCALE_CATEGORIES"'/ 
 924     /^COPYRIGHT_HOLDER *=/s/=.*/= '"$COPYRIGHT_HOLDER"'/ 
 925     /^MSGID_BUGS_ADDRESS *=/s|=.*|= '"$MSGID_BUGS_ADDRESS"'| 
 926     /^XGETTEXT_OPTIONS *=/{ 
 929           '"$XGETTEXT_OPTIONS"' $${end_of_xgettext_options+} 
 931   ' po
/Makevars.template 
>po
/Makevars 
|| exit 1 
 933   if test -d runtime
-po; then 
 934     # Similarly for runtime-po/Makevars, but not quite the same. 
 935     rm -f runtime
-po/Makevars
 
 937       /^DOMAIN *=.*/s/=.*/= '"$package"'-runtime/ 
 938       /^subdir *=.*/s/=.*/= runtime-po/ 
 939       /^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-'"$package"'@gnu.org/ 
 940       /^XGETTEXT_OPTIONS *=/{ 
 943             '"$XGETTEXT_OPTIONS_RUNTIME"' $${end_of_xgettext_options+} 
 945     ' po
/Makevars.template 
>runtime
-po/Makevars 
|| exit 1 
 947     # Copy identical files from po to runtime-po. 
 948     (cd po 
&& cp -p Makefile.
in.
in *-quot *.header 
*.
sed *.sin ..
/runtime
-po) 
 954 echo "$0: done.  Now you can run './configure'." 
 957 # eval: (add-hook 'write-file-hooks 'time-stamp) 
 958 # time-stamp-start: "scriptversion=" 
 959 # time-stamp-format: "%:y-%02m-%02d.%02H" 
 960 # time-stamp-time-zone: "UTC" 
 961 # time-stamp-end: "; # UTC"