summaryrefslogtreecommitdiff
path: root/bootstrap
diff options
context:
space:
mode:
authorJoel E. Denny <jdenny@ces.clemson.edu>2008-07-16 02:05:14 -0400
committerJoel E. Denny <jdenny@ces.clemson.edu>2008-07-16 02:05:14 -0400
commit9aacab9ae9a16465284768f4014dc08b26819180 (patch)
treeb7f22953c52d8a4b36744bfaa9ac643c5eb6c79b /bootstrap
parenta9fc7990fac9294374dd5e723c1e2609079cddcb (diff)
downloadbison-9aacab9ae9a16465284768f4014dc08b26819180.tar.gz
Fix some .gitignore and .cvsignore problems.
* bootstrap (insert_sorted_if_absent): Replace all uses with... (insert_vc_ignore): ... this new function, which prepends `/' to all .gitignore entries before passing them to insert_sorted_if_absent. * bootstrap.conf (vc_ignore): Set to '.cvsignore .gitignore' so that .cvsignore files are maintained even though Bison developers run bootstrap while using Git. * .cvsignore (*.patch *.log log patches applied): Remove, apparently unneeded by Bison. (gnulib): Add. * .gitignore (/*.patch *.log log patches applied): Remove, broken and unneeded. Reported by Eric Blake. * lib/.gitignore (/*~): Add. * po/.cvsignore, runtime-po/.cvsignore: Sync with .gitignore. * examples/calc++/.gitignore (/calc++.exe): Add. Reported by Eric Blake. * src/.gitignore (/bison.exe): Add. Reported by Eric Blake.
Diffstat (limited to 'bootstrap')
-rwxr-xr-xbootstrap27
1 files changed, 21 insertions, 6 deletions
diff --git a/bootstrap b/bootstrap
index 9923ff04..85d06a23 100755
--- a/bootstrap
+++ b/bootstrap
@@ -211,7 +211,7 @@ if test -n "$checkout_only_file" && test ! -r "$checkout_only_file"; then
exit 1
fi
-# If $STR is not already on a line by itself in $FILE, insert it,
+# If each line in $STR is not already on a line by itself in $FILE, insert it,
# sorting the new contents of the file and replacing $FILE with the result.
insert_sorted_if_absent() {
file=$1
@@ -222,6 +222,21 @@ insert_sorted_if_absent() {
|| exit 1
}
+# Adjust $PATTERN for $VC_IGNORE_FILE and insert it with
+# insert_sorted_if_absent.
+insert_vc_ignore() {
+ vc_ignore_file="$1"
+ case $vc_ignore_file in
+ *.gitignore)
+ # A .gitignore entry that does not start with `/' applies recursively to
+ # subdirectories, so prepend `/' to every .gitignore entry.
+ pattern=`echo "$2" | sed s,^,/,`;;
+ *)
+ pattern="$2";;
+ esac
+ insert_sorted_if_absent "$vc_ignore_file" "$pattern"
+}
+
# Die if there is no AC_CONFIG_AUX_DIR($build_aux) line in configure.ac.
found_aux_dir=no
grep '^[ ]*AC_CONFIG_AUX_DIR(\['"$build_aux"'\])' configure.ac \
@@ -240,7 +255,7 @@ if test ! -d $build_aux; then
mkdir $build_aux
for dot_ig in x $vc_ignore; do
test $dot_ig = x && continue
- insert_sorted_if_absent $dot_ig $build_aux
+ insert_vc_ignore $dot_ig $build_aux
done
fi
@@ -350,7 +365,7 @@ check_dst_dir()
for dot_ig in x $vc_ignore; do
test $dot_ig = x && continue
ig=$parent/$dot_ig
- insert_sorted_if_absent $ig `echo "$dst_dir"|sed 's,.*/,,'`
+ insert_vc_ignore $ig `echo "$dst_dir"|sed 's,.*/,,'`
done
fi
}
@@ -507,18 +522,18 @@ slurp() {
test $dot_ig = x && continue
ig=$dir/$dot_ig
if test -n "$copied"; then
- insert_sorted_if_absent $ig "$copied"
+ insert_vc_ignore $ig "$copied"
# If an ignored file name ends with _.h, then also add
# the name with just ".h". Many gnulib headers are generated,
# e.g., stdint_.h -> stdint.h, dirent_.h ->..., etc.
# Likewise for .gperf -> .h, .y -> .c, and .sin -> .sed
f=`echo "$copied"|sed 's/_\.h$/.h/;s/\.sin$/.sed/;s/\.y$/.c/;s/\.gperf$/.h/'`
- insert_sorted_if_absent $ig "$f"
+ insert_vc_ignore $ig "$f"
# For files like sys_stat_.h and sys_time_.h, record as
# ignorable the directory we might eventually create: sys/.
f=`echo "$copied"|sed 's/sys_.*_\.h$/sys/'`
- insert_sorted_if_absent $ig "$f"
+ insert_vc_ignore $ig "$f"
fi
done
done