2 # Print a version string. 
   3 scriptversion
=2010-11-20.03
; # 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 Bootstrap this package from the checked-out sources. 
  52  --gnulib-srcdir=DIRNAME  Specify the local directory where gnulib 
  53                           sources reside.  Use this if you already 
  54                           have gnulib sources on your machine, and 
  55                           do not want to waste your bandwidth downloading 
  56                           them again.  Defaults to \$GNULIB_SRCDIR. 
  57  --bootstrap-sync         If this bootstrap script is not identical to 
  58                           the version in the local gnulib sources, 
  59                           update this script, and then restart it with 
  60                           /bin/sh or the shell \$CONFIG_SHELL if 
  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  --skip-po                Do not download po files. 
  68 If the file $0.conf exists in the same directory as this script, its 
  69 contents are read as shell variables to configure the bootstrap. 
  71 For build prerequisites, environment variables like \$AUTOCONF and \$AMTAR 
  74 Running without arguments will suffice in most cases. 
  80 # Name of the Makefile.am 
  83 # List of gnulib modules needed. 
  86 # Any gnulib files needed that are not in modules. 
  89 # A function to be called to edit gnulib.mk right after it's created. 
  90 # Override it via your own definition in bootstrap.conf. 
  91 gnulib_mk_hook
() { :; } 
  93 # A function to be called after everything else in this script. 
  94 # Override it via your own definition in bootstrap.conf. 
  95 bootstrap_epilogue
() { :; } 
  97 # The command to download all .po files for a specified domain into 
  98 # a specified directory.  Fill in the first %s is the domain name, and 
  99 # the second with the destination directory.  Use rsync's -L and -r 
 100 # options because the latest/%s directory and the .po files within are 
 102 po_download_command_format
=\
 
 103 "rsync --delete --exclude '*.s1' -Lrtvz \ 
 104  'translationproject.org::tp/latest/%s/' '%s'" 
 106 extract_package_name
=' 
 118      y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ 
 123 package
=`sed -n "$extract_package_name" configure.ac` || exit 
 124 gnulib_name
=lib
$package 
 132 # Extra files from gnulib, which override files from other sources. 
 134         $build_aux/install-sh 
 137         $build_aux/texinfo.tex 
 139         $build_aux/config.guess 
 140         $build_aux/config.sub 
 144 # Additional gnulib-tool options to use.  Use "\newline" to break lines. 
 145 gnulib_tool_option_extras
= 
 147 # Other locale categories that need message catalogs. 
 148 EXTRA_LOCALE_CATEGORIES
= 
 150 # Additional xgettext options to use.  Use "\\\newline" to break lines. 
 151 XGETTEXT_OPTIONS
='\\\ 
 152  --flag=_:1:pass-c-format\\\ 
 153  --flag=N_:1:pass-c-format\\\ 
 154  --flag=error:3:c-format --flag=error_at_line:5:c-format\\\ 
 157 # Package bug report address and copyright holder for gettext files 
 158 COPYRIGHT_HOLDER
='Free Software Foundation, Inc.' 
 159 MSGID_BUGS_ADDRESS
=bug
-$package@gnu.org
 
 161 # Files we don't want to import. 
 164 # File that should exist in the top directory of a checked out hierarchy, 
 165 # but not in a distribution tarball. 
 166 checkout_only_file
=README
-hacking 
 168 # Whether to use copies instead of symlinks. 
 171 # Set this to '.cvsignore .gitignore' in bootstrap.conf if you want 
 172 # those files to be generated in directories like lib/, m4/, and po/. 
 173 # Or set it to 'auto' to make this script select which to use based 
 174 # on which version control system (if any) is used in the source directory. 
 177 # Set this to true in bootstrap.conf to enable --bootstrap-sync by 
 181 # find_tool ENVVAR NAMES... 
 182 # ------------------------- 
 183 # Search for a required program.  Use the value of ENVVAR, if set, 
 184 # otherwise find the first of the NAMES that can be run (i.e., 
 185 # supports --version).  If found, set ENVVAR to the program name, 
 192   eval "find_tool_res=\$$find_tool_envvar" 
 193   if test x
"$find_tool_res" = x
; then 
 196       if ($i --version </dev
/null
) >/dev
/null 
2>&1; then 
 202     find_tool_error_prefix
="\$$find_tool_envvar: " 
 204   if test x
"$find_tool_res" = x
; then 
 205     echo >&2 "$0: one of these is required: $find_tool_names" 
 208   ($find_tool_res --version </dev
/null
) >/dev
/null 
2>&1 || { 
 209     echo >&2 "$0: ${find_tool_error_prefix}cannot run $find_tool_res --version" 
 212   eval "$find_tool_envvar=\$find_tool_res" 
 213   eval "export $find_tool_envvar" 
 216 # Find sha1sum, named gsha1sum on MacPorts, and shasum on MacOS 10.6. 
 217 find_tool SHA1SUM 
sha1sum gsha1sum shasum
 
 219 # Override the default configuration, if necessary. 
 220 # Make sure that bootstrap.conf is sourced from the current directory 
 221 # if we were invoked as "sh bootstrap". 
 223   */*) test -r "$0.conf" && . 
"$0.conf" ;; 
 224   *) test -r "$0.conf" && . .
/"$0.conf" ;; 
 228 if test "$vc_ignore" = auto
; then 
 230   test -d .git 
&& vc_ignore
=.gitignore
 
 231   test -d CVS 
&& vc_ignore
="$vc_ignore .cvsignore" 
 234 # Translate configuration into internal form. 
 245     GNULIB_SRCDIR
=`expr "X$option" : 'X--gnulib-srcdir=\(.*\)'`;; 
 249     checkout_only_file
=;; 
 253     bootstrap_sync
=true
;; 
 255     bootstrap_sync
=false
;; 
 257     echo >&2 "$0: $option: unknown option" 
 262 if test -n "$checkout_only_file" && test ! -r "$checkout_only_file"; then 
 263   echo "$0: Bootstrapping from a non-checked-out distribution is risky." >&2 
 267 # If $STR is not already on a line by itself in $FILE, insert it, 
 268 # sorting the new contents of the file and replacing $FILE with the result. 
 269 insert_sorted_if_absent
() { 
 272   test -f $file || touch $file 
 273   echo "$str" | sort -u - $file | cmp - $file > /dev
/null \
 
 274     || echo "$str" | sort -u - $file -o $file \
 
 278 # Adjust $PATTERN for $VC_IGNORE_FILE and insert it with 
 279 # insert_sorted_if_absent. 
 283   case $vc_ignore_file in 
 285     # A .gitignore entry that does not start with `/' applies 
 286     # recursively to subdirectories, so prepend `/' to every 
 288     pattern
=`echo "$pattern" | sed s,^,/,`;; 
 290   insert_sorted_if_absent 
"$vc_ignore_file" "$pattern" 
 293 # Die if there is no AC_CONFIG_AUX_DIR($build_aux) line in configure.ac. 
 295 grep '^[         ]*AC_CONFIG_AUX_DIR(\['"$build_aux"'\])' configure.ac \
 
 296     >/dev
/null 
&& found_aux_dir
=yes 
 297 grep '^[         ]*AC_CONFIG_AUX_DIR('"$build_aux"')' configure.ac \
 
 298     >/dev
/null 
&& found_aux_dir
=yes 
 299 if test $found_aux_dir = no
; then 
 300   echo "$0: expected line not found in configure.ac. Add the following:" >&2 
 301   echo "  AC_CONFIG_AUX_DIR([$build_aux])" >&2 
 305 # If $build_aux doesn't exist, create it now, otherwise some bits 
 306 # below will malfunction.  If creating it, also mark it as ignored. 
 307 if test ! -d $build_aux; then 
 309   for dot_ig 
in x 
$vc_ignore; do 
 310     test $dot_ig = x 
&& continue 
 311     insert_vc_ignore 
$dot_ig $build_aux 
 315 # Note this deviates from the version comparison in automake 
 316 # in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a 
 317 # but this should suffice as we won't be specifying old 
 318 # version formats or redundant trailing .0 in bootstrap.conf. 
 319 # If we did want full compatibility then we should probably 
 320 # use m4_version_compare from autoconf. 
 321 sort_ver
() { # sort -V is not generally available 
 325   # split on '.' and compare each component 
 328     p1
=$(echo "$ver1" | cut -d. -f$i) 
 329     p2
=$(echo "$ver2" | cut -d. -f$i) 
 333     elif [ ! "$p2" ]; then 
 336     elif [ ! "$p1" = "$p2" ]; then 
 337       if [ "$p1" -gt "$p2" ] 2>/dev
/null
; then # numeric comparison 
 339       elif [ "$p2" -gt "$p1" ] 2>/dev
/null
; then # numeric comparison 
 341       else # numeric, then lexicographic comparison 
 342         lp=$(printf "$p1\n$p2\n" | LANG=C sort -n | tail -n1) 
 343         if [ "$lp" = "$p2" ]; then 
 358   $app --version >/dev
/null 
2>&1 || return 1 
 360   $app --version 2>&1 | 
 361   sed -n '# Move version to start of line. 
 362           s/.*[v ]\([0-9]\)/\1/ 
 364           # Skip lines that do not start with version. 
 367           # Remove characters after the version. 
 370           # The first component must be digits only. 
 371           s/^\([0-9]*\)[a-z-].*/\1/ 
 373           #the following essentially does s/5.005/5.5/ 
 374           s/\.0*\([1-9]\)/.\1/g 
 382   while read app req_ver
; do 
 383     # We only need libtoolize from the libtool package. 
 384     if test "$app" = libtool
; then 
 387     # Honor $APP variables ($TAR, $AUTOCONF, etc.) 
 388     appvar
=`echo $app | tr '[a-z]-' '[A-Z]_'` 
 389     test "$appvar" = TAR 
&& appvar
=AMTAR
 
 390     eval "app=\${$appvar-$app}" 
 391     inst_ver
=$(get_version $app) 
 392     if [ ! "$inst_ver" ]; then 
 393       echo "Error: '$app' not found" >&2 
 395     elif [ ! "$req_ver" = "-" ]; then 
 396       latest_ver
=$(sort_ver $req_ver $inst_ver | cut -d' ' -f2) 
 397       if [ ! "$latest_ver" = "$inst_ver" ]; then 
 398         echo "Error: '$app' version == $inst_ver is too old" >&2 
 399         echo "       '$app' version >= $req_ver is required" >&2 
 409   echo "Program    Min_version" 
 410   echo "----------------------" 
 411   printf %s 
"$buildreq" 
 412   echo "----------------------" 
 413   # can't depend on column -t 
 417 # We'd like to use grep -E, to see if any of LT_INIT, 
 418 # AC_PROG_LIBTOOL, AM_PROG_LIBTOOL is used in configure.ac, 
 419 # but that's not portable enough (e.g., for Solaris). 
 420 grep '^[         ]*A[CM]_PROG_LIBTOOL' configure.ac 
>/dev
/null \
 
 422 grep '^[         ]*LT_INIT' configure.ac 
>/dev
/null \
 
 424 if test $use_libtool = 1; then 
 425   find_tool LIBTOOLIZE glibtoolize libtoolize
 
 428 if ! printf "$buildreq" | check_versions
; then 
 430   if test -f README
-prereq; then 
 431     echo "See README-prereq for how to get the prerequisite programs" >&2 
 433     echo "Please install the prerequisite programs" >&2 
 438 echo "$0: Bootstrapping from checked-out $package sources..." 
 440 # See if we can use gnulib's git-merge-changelog merge driver. 
 441 if test -d .git 
&& (git 
--version) >/dev
/null 
2>/dev
/null 
; then 
 442   if git config merge.merge
-changelog.driver 
>/dev
/null 
; then 
 444   elif (git
-merge-changelog --version) >/dev
/null 
2>/dev
/null 
; then 
 445     echo "initializing git-merge-changelog driver" 
 446     git config merge.merge
-changelog.name 
'GNU-style ChangeLog merge driver' 
 447     git config merge.merge
-changelog.driver 
'git-merge-changelog %O %A %B' 
 449     echo "consider installing git-merge-changelog from gnulib" 
 456   rm -fr "$gnulib_path" 
 460 git_modules_config 
() { 
 461   test -f .gitmodules 
&& git config 
--file .gitmodules 
"$@" 
 464 gnulib_path
=`git_modules_config submodule.gnulib.path` 
 465 : ${gnulib_path=gnulib} 
 469 case ${GNULIB_SRCDIR--} in 
 471   if git_modules_config submodule.gnulib.url 
>/dev
/null
; then 
 472     echo "$0: getting gnulib files..." 
 473     git submodule init 
|| exit $?
 
 474     git submodule update 
|| exit $?
 
 476   elif [ ! -d "$gnulib_path" ]; then 
 477     echo "$0: getting gnulib files..." 
 479     trap cleanup_gnulib 
1 2 13 15 
 482     git clone 
-h 2>&1 | grep -- --depth > /dev
/null 
&& shallow
='--depth 2' 
 483     git clone 
$shallow git
://git.sv.gnu.org
/gnulib 
"$gnulib_path" || 
 488   GNULIB_SRCDIR
=$gnulib_path 
 491   # Use GNULIB_SRCDIR as a reference. 
 492   if test -d "$GNULIB_SRCDIR"/.git 
&& \
 
 493         git_modules_config submodule.gnulib.url 
>/dev
/null
; then 
 494     echo "$0: getting gnulib files..." 
 495     if git submodule 
-h|grep -- --reference > /dev
/null
; then 
 496       # Prefer the one-liner available in git 1.6.4 or newer. 
 497       git submodule update 
--init --reference "$GNULIB_SRCDIR" \
 
 498         "$gnulib_path" || exit $?
 
 500       # This fallback allows at least git 1.5.5. 
 501       if test -f "$gnulib_path"/gnulib
-tool; then 
 502         # Since file already exists, assume submodule init already complete. 
 503         git submodule update 
|| exit $?
 
 505         # Older git can't clone into an empty directory. 
 506         rmdir "$gnulib_path" 2>/dev
/null
 
 507         git clone 
--reference "$GNULIB_SRCDIR" \
 
 508           "$(git_modules_config submodule.gnulib.url)" "$gnulib_path" \
 
 509           && git submodule init 
&& git submodule update \
 
 513     GNULIB_SRCDIR
=$gnulib_path 
 518 if $bootstrap_sync; then 
 519   cmp -s "$0" "$GNULIB_SRCDIR/build-aux/bootstrap" || { 
 520     echo "$0: updating bootstrap and restarting..." 
 522       'cp "$1" "$2" && shift && exec "${CONFIG_SHELL-/bin/sh}" "$@"' \
 
 523       -- "$GNULIB_SRCDIR/build-aux/bootstrap" \
 
 524       "$0" "$@" --no-bootstrap-sync 
 528 gnulib_tool
=$GNULIB_SRCDIR/gnulib
-tool 
 529 <$gnulib_tool || exit 
 533 download_po_files
() { 
 536   echo "$0: getting translations into $subdir for $domain..." 
 537   cmd
=`printf "$po_download_command_format" "$domain" "$subdir"` 
 541 # Mirror .po files to $po_dir/.reference and copy only the new 
 542 # or modified ones into $po_dir.  Also update $po_dir/LINGUAS. 
 543 # Note po files that exist locally only are left in $po_dir but will 
 544 # not be included in LINGUAS and hence will not be distributed. 
 546   # Directory containing primary .po files. 
 547   # Overwrite them only when we're sure a .po file is new. 
 551   # Mirror *.po files into this dir. 
 552   # Usually contains *.s1 checksum files. 
 553   ref_po_dir
="$po_dir/.reference" 
 555   test -d $ref_po_dir || mkdir $ref_po_dir || return 
 556   download_po_files 
$ref_po_dir $domain \
 
 557     && ls "$ref_po_dir"/*.po 
2>/dev
/null 
| 
 558       sed 's|.*/||; s|\.po$||' > "$po_dir/LINGUAS" || return 
 560   langs
=`cd $ref_po_dir && echo *.po|sed 's/\.po//g'` 
 561   test "$langs" = '*' && langs
=x
 
 563     case $po in x
) continue;; esac 
 564     new_po
="$ref_po_dir/$po.po" 
 565     cksum_file
="$ref_po_dir/$po.s1" 
 566     if ! test -f "$cksum_file" || 
 567         ! test -f "$po_dir/$po.po" || 
 568         ! $SHA1SUM -c --status "$cksum_file" \
 
 569             < "$new_po" > /dev
/null
; then 
 570       echo "updated $po_dir/$po.po..." 
 571       cp "$new_po" "$po_dir/$po.po" \
 
 572           && $SHA1SUM < "$new_po" > "$cksum_file" 
 580     update_po_files po 
$package || exit 
 583   if test -d runtime
-po; then 
 584     update_po_files runtime
-po $package-runtime || exit 
 595     # If the destination directory doesn't exist, create it. 
 596     # This is required at least for "lib/uniwidth/cjk.h". 
 597     dst_dir
=`dirname "$dst"` 
 598     if ! test -d "$dst_dir"; then 
 601       # If we've just created a directory like lib/uniwidth, 
 602       # tell version control system(s) it's ignorable. 
 603       # FIXME: for now, this does only one level 
 604       parent
=`dirname "$dst_dir"` 
 605       for dot_ig 
in x 
$vc_ignore; do 
 606         test $dot_ig = x 
&& continue 
 608         insert_vc_ignore 
$ig `echo "$dst_dir"|sed 's,.*/,,'` 
 614         test ! -h "$dst" || { 
 615           echo "$0: rm -f $dst" && 
 620       cmp -s "$src" "$dst" || { 
 621         echo "$0: cp -fp $src $dst" && 
 626       src_ls
=`ls -diL "$src" 2>/dev/null` && set $src_ls && src_i
=$1 && 
 627       dst_ls
=`ls -diL "$dst" 2>/dev/null` && set $dst_ls && dst_i
=$1 && 
 628       test "$src_i" = "$dst_i" || { 
 634           *//* | */..
/* | */.
/* | /*/*/*/*/*/) 
 635              echo >&2 "$0: invalid symlink calculation: $src -> $dst" 
 637           /*/*/*/*/)    dot_dots
=..
/..
/..
/;; 
 638           /*/*/*/)      dot_dots
=..
/..
/;; 
 639           /*/*/)        dot_dots
=..
/;; 
 643         echo "$0: ln -fs $dot_dots$src $dst" && 
 644         ln -fs "$dot_dots$src" "$dst" 
 650 cp_mark_as_generated
() 
 655   if cmp -s "$cp_src" "$GNULIB_SRCDIR/$cp_dst"; then 
 656     symlink_to_dir 
"$GNULIB_SRCDIR" "$cp_dst" 
 657   elif cmp -s "$cp_src" "$local_gl_dir/$cp_dst"; then 
 658     symlink_to_dir 
$local_gl_dir "$cp_dst" 
 661       *.
[ch
])             c1
='/* '; c2
=' */';; 
 662       *.texi
)             c1
='@c '; c2
=     ;; 
 663       *.
m4|*/Make
*|Make
*) c1
='# ' ; c2
=     ;; 
 667     # If the destination directory doesn't exist, create it. 
 668     # This is required at least for "lib/uniwidth/cjk.h". 
 669     dst_dir
=`dirname "$cp_dst"` 
 670     test -d "$dst_dir" || mkdir -p "$dst_dir" 
 672     if test -z "$c1"; then 
 673       cmp -s "$cp_src" "$cp_dst" || { 
 674         # Copy the file first to get proper permissions if it 
 675         # doesn't already exist.  Then overwrite the copy. 
 676         echo "$0: cp -f $cp_src $cp_dst" && 
 678         cp "$cp_src" "$cp_dst-t" && 
 679         sed "s!$bt_regex/!!g" "$cp_src" > "$cp_dst-t" && 
 680         mv -f "$cp_dst-t" "$cp_dst" 
 683       # Copy the file first to get proper permissions if it 
 684       # doesn't already exist.  Then overwrite the copy. 
 685       cp "$cp_src" "$cp_dst-t" && 
 687         echo "$c1-*- buffer-read-only: t -*- vi: set ro:$c2" && 
 688         echo "${c1}DO NOT EDIT! GENERATED AUTOMATICALLY!$c2" && 
 689         sed "s!$bt_regex/!!g" "$cp_src" 
 691       if cmp -s "$cp_dst-t" "$cp_dst"; then 
 694         echo "$0: cp $cp_src $cp_dst # with edits" && 
 695         mv -f "$cp_dst-t" "$cp_dst" 
 701 version_controlled_file
() { 
 706     grep -F "/$file/" $dir/CVS
/Entries 
2>/dev
/null 
| 
 707              grep '^/[^/]*/[0-9]' > /dev
/null 
&& found
=yes 
 708   elif test -d .git
; then 
 709     git 
rm -n "$dir/$file" > /dev
/null 
2>&1 && found
=yes 
 710   elif test -d .svn
; then 
 711     svn log 
-r HEAD 
"$dir/$file" > /dev
/null 
2>&1 && found
=yes 
 713     echo "$0: no version control for $dir/$file?" >&2 
 719   for dir 
in . 
`(cd $1 && find * -type d -print)`; do 
 722     for file in `ls -a $1/$dir`; do 
 725       # FIXME: should all file names starting with "." be ignored? 
 728       test -d $1/$dir/$file && continue 
 729       for excluded_file 
in $excluded_files; do 
 730         test "$dir/$file" = "$excluded_file" && continue 2 
 732       if test $file = Makefile.am 
&& test "X$gnulib_mk" != XMakefile.am
; then 
 733         copied
=$copied${sep}$gnulib_mk; sep
=$nl 
 734         remove_intl
='/^[^#].*\/intl/s/^/#/;'"s!$bt_regex/!!g" 
 735         sed "$remove_intl" $1/$dir/$file | 
 736         cmp - $dir/$gnulib_mk > /dev
/null 
|| { 
 737           echo "$0: Copying $1/$dir/$file to $dir/$gnulib_mk ..." && 
 738           rm -f $dir/$gnulib_mk && 
 739           sed "$remove_intl" $1/$dir/$file >$dir/$gnulib_mk && 
 740           gnulib_mk_hook 
$dir/$gnulib_mk 
 742       elif { test "${2+set}" = set && test -r $2/$dir/$file; } || 
 743            version_controlled_file 
$dir $file; then 
 744         echo "$0: $dir/$file overrides $1/$dir/$file" 
 746         copied
=$copied$sep$file; sep
=$nl 
 747         if test $file = gettext.
m4; then 
 748           echo "$0: patching m4/gettext.m4 to remove need for intl/* ..." 
 751             /^AC_DEFUN(\[AM_INTL_SUBDIR],/,/^]/c\ 
 752               AC_DEFUN([AM_INTL_SUBDIR], []) 
 753             /^AC_DEFUN(\[gt_INTL_SUBDIR_CORE],/,/^]/c\ 
 754               AC_DEFUN([gt_INTL_SUBDIR_CORE], []) 
 756               AC_DEFUN([gl_LOCK_EARLY], []) 
 757           ' $1/$dir/$file >$dir/$file 
 759           cp_mark_as_generated 
$1/$dir/$file $dir/$file 
 764     for dot_ig 
in x 
$vc_ignore; do 
 765       test $dot_ig = x 
&& continue 
 767       if test -n "$copied"; then 
 768         insert_vc_ignore 
$ig "$copied" 
 769         # If an ignored file name ends with .in.h, then also add 
 770         # the name with just ".h".  Many gnulib headers are generated, 
 771         # e.g., stdint.in.h -> stdint.h, dirent.in.h ->..., etc. 
 772         # Likewise for .gperf -> .h, .y -> .c, and .sin -> .sed 
 781         insert_vc_ignore 
$ig "$f" 
 783         # For files like sys_stat.in.h and sys_time.in.h, record as 
 784         # ignorable the directory we might eventually create: sys/. 
 785         f
=`echo "$copied"|sed 's/sys_.*\.in\.h$/sys/'` 
 786         insert_vc_ignore 
$ig "$f" 
 793 # Create boot temporary directories to import from gnulib and gettext. 
 795 mkdir $bt $bt2 || exit 
 797 # Import from gnulib. 
 799 gnulib_tool_options
="\ 
 802  --aux-dir $bt/$build_aux\ 
 803  --doc-base $bt/$doc_base\ 
 805  --m4-base $bt/$m4_base/\ 
 806  --source-base $bt/$source_base/\ 
 807  --tests-base $bt/$tests_base\ 
 808  --local-dir $local_gl_dir\ 
 809  $gnulib_tool_option_extras\ 
 811 if test $use_libtool = 1; then 
 812   case "$gnulib_tool_options " in 
 814     *) gnulib_tool_options
="$gnulib_tool_options --libtool" ;; 
 817 echo "$0: $gnulib_tool $gnulib_tool_options --import ..." 
 818 $gnulib_tool $gnulib_tool_options --import $gnulib_modules && 
 821 for file in $gnulib_files; do 
 822   symlink_to_dir 
"$GNULIB_SRCDIR" $file || exit 
 826 # Import from gettext. 
 828 grep '^[         ]*AM_GNU_GETTEXT_VERSION(' configure.ac 
>/dev
/null 
|| \
 
 831 if test $with_gettext = yes; then 
 832   echo "$0: (cd $bt2; ${AUTOPOINT-autopoint}) ..." 
 833   cp configure.ac 
$bt2 && 
 834   (cd $bt2 && ${AUTOPOINT-autopoint} && rm configure.ac
) && 
 835   slurp 
$bt2 $bt || exit 
 837 rm -fr $bt $bt2 || exit 
 839 # Remove any dangling symlink matching "*.m4" or "*.[ch]" in some 
 840 # gnulib-populated directories.  Such .m4 files would cause aclocal to fail. 
 841 # The following requires GNU find 4.2.3 or newer.  Considering the usual 
 842 # portability constraints of this script, that may seem a very demanding 
 843 # requirement, but it should be ok.  Ignore any failure, which is fine, 
 844 # since this is only a convenience to help developers avoid the relatively 
 845 # unusual case in which a symlinked-to .m4 file is git-removed from gnulib 
 846 # between successive runs of this script. 
 847 find "$m4_base" "$source_base" \
 
 848   -depth \
( -name '*.m4' -o -name '*.[ch]' \
) \
 
 849   -type l 
-xtype l 
-delete > /dev
/null 
2>&1 
 851 # Reconfigure, getting other files. 
 853 # Skip autoheader if it's not needed. 
 854 grep -E '^[      ]*AC_CONFIG_HEADERS?\>' configure.ac 
>/dev
/null 
|| 
 859   "${ACLOCAL-aclocal} --force -I m4 $ACLOCAL_FLAGS" \
 
 860   "${AUTOCONF-autoconf} --force" \
 
 861   "${AUTOHEADER-autoheader} --force" \
 
 862   "${AUTOMAKE-automake} --add-missing --copy --force-missing" 
 864   if test "$command" = libtool
; then 
 865     test $use_libtool = 0 \
 
 867     command="${LIBTOOLIZE-libtoolize} -c -f" 
 869   echo "$0: $command ..." 
 874 # Get some extra files from gnulib, overriding existing files. 
 875 for file in $gnulib_extra_files; do 
 877   */INSTALL
) dst
=INSTALL
;; 
 878   build
-aux/*) dst
=$build_aux/`expr "$file" : 'build-aux/\(.*\)'`;; 
 881   symlink_to_dir 
"$GNULIB_SRCDIR" $file $dst || exit 
 884 if test $with_gettext = yes; then 
 885   # Create gettext configuration. 
 886   echo "$0: Creating po/Makevars from po/Makevars.template ..." 
 889     /^EXTRA_LOCALE_CATEGORIES *=/s/=.*/= '"$EXTRA_LOCALE_CATEGORIES"'/ 
 890     /^COPYRIGHT_HOLDER *=/s/=.*/= '"$COPYRIGHT_HOLDER"'/ 
 891     /^MSGID_BUGS_ADDRESS *=/s|=.*|= '"$MSGID_BUGS_ADDRESS"'| 
 892     /^XGETTEXT_OPTIONS *=/{ 
 895           '"$XGETTEXT_OPTIONS"' $${end_of_xgettext_options+} 
 897   ' po
/Makevars.template 
>po
/Makevars 
|| exit 1 
 899   if test -d runtime
-po; then 
 900     # Similarly for runtime-po/Makevars, but not quite the same. 
 901     rm -f runtime
-po/Makevars
 
 903       /^DOMAIN *=.*/s/=.*/= '"$package"'-runtime/ 
 904       /^subdir *=.*/s/=.*/= runtime-po/ 
 905       /^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-'"$package"'@gnu.org/ 
 906       /^XGETTEXT_OPTIONS *=/{ 
 909             '"$XGETTEXT_OPTIONS_RUNTIME"' $${end_of_xgettext_options+} 
 911     ' po
/Makevars.template 
>runtime
-po/Makevars 
|| exit 1 
 913     # Copy identical files from po to runtime-po. 
 914     (cd po 
&& cp -p Makefile.
in.
in *-quot *.header 
*.
sed *.sin ..
/runtime
-po) 
 920 echo "$0: done.  Now you can run './configure'." 
 923 # eval: (add-hook 'write-file-hooks 'time-stamp) 
 924 # time-stamp-start: "scriptversion=" 
 925 # time-stamp-format: "%:y-%02m-%02d.%02H" 
 926 # time-stamp-time-zone: "UTC" 
 927 # time-stamp-end: "; # UTC"