[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: auxdir and multiple configure.ac's
From: |
Bruno Haible |
Subject: |
Re: auxdir and multiple configure.ac's |
Date: |
Sun, 10 May 2009 16:55:50 +0200 |
User-agent: |
KMail/1.9.9 |
Ralf Wildenhues wrote:
> > > sed_rewrite_old_files="\
> > > + s,^lib/,$cached_sourcebase/,
> > > s,^build-aux/,$auxdir/,
> > > s,^doc/,$cached_docbase/,
> > > - s,^lib/,$cached_sourcebase/,
> > > s,^m4/,$cached_m4base/,
> > > s,^tests/,$cached_testsbase/,
> > > s,^tests=lib/,$cached_testsbase/,
> > > s,^top/,,"
> >
> > This patch looks like a nop. ...
>
> I think Simon meant that if, say, $auxdir matches "^lib/", then the
> order of the substitutions is relevant.
Ah! Thanks for explaining again. Simon, sorry for not understanding
immediately.
> One way to avoid potential ordering issues is to use a construct like this:
> t clear
> :clear
> s,^build-aux/,quuxl$auxdir/,
> s,^lib/,quuxl$cached_sourcebase/,
> ...
> t fixup
> b
> :fixup
> s,^quuxl,,
The same thing will also work without the conditional branches. I'm
applying this:
2009-05-10 Bruno Haible <address@hidden>
* gnulib-tool (func_import, func_create_testdir, copy-file): Change
sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
it rewrites every file name only once.
Reported by Simon Josefsson. Helped by Ralf Wildenhues.
*** gnulib-tool.orig 2009-05-10 15:20:20.000000000 +0200
--- gnulib-tool 2009-05-10 15:18:41.000000000 +0200
***************
*** 2917,2938 ****
func_append old_files " m4/gnulib-tool.m4"
fi
sed_rewrite_old_files="\
! s,^build-aux/,$auxdir/,
! s,^doc/,$cached_docbase/,
! s,^lib/,$cached_sourcebase/,
! s,^m4/,$cached_m4base/,
! s,^tests/,$cached_testsbase/,
! s,^tests=lib/,$cached_testsbase/,
! s,^top/,,"
sed_rewrite_new_files="\
! s,^build-aux/,$auxdir/,
! s,^doc/,$docbase/,
! s,^lib/,$sourcebase/,
! s,^m4/,$m4base/,
! s,^tests/,$testsbase/,
! s,^tests=lib/,$testsbase/,
! s,^top/,,"
# Create directories.
{ echo "$sourcebase"
--- 2917,2941 ----
func_append old_files " m4/gnulib-tool.m4"
fi
+ rewritten='%REWRITTEN%'
sed_rewrite_old_files="\
! s,^build-aux/,$rewritten$auxdir/,
! s,^doc/,$rewritten$cached_docbase/,
! s,^lib/,$rewritten$cached_sourcebase/,
! s,^m4/,$rewritten$cached_m4base/,
! s,^tests/,$rewritten$cached_testsbase/,
! s,^tests=lib/,$rewritten$cached_testsbase/,
! s,^top/,$rewritten,
! s,^$rewritten,,"
sed_rewrite_new_files="\
! s,^build-aux/,$rewritten$auxdir/,
! s,^doc/,$rewritten$docbase/,
! s,^lib/,$rewritten$sourcebase/,
! s,^m4/,$rewritten$m4base/,
! s,^tests/,$rewritten$testsbase/,
! s,^tests=lib/,$rewritten$testsbase/,
! s,^top/,$rewritten,
! s,^$rewritten,,"
# Create directories.
{ echo "$sourcebase"
***************
*** 3883,3895 ****
echo "$files" | sed -e 's/^/ /'
fi
sed_rewrite_files="\
! s,^build-aux/,$auxdir/,
! s,^doc/,$docbase/,
! s,^lib/,$sourcebase/,
! s,^m4/,$m4base/,
! s,^tests/,$testsbase/,
! s,^top/,,"
# Create directories.
for f in $files; do echo $f; done \
--- 3886,3900 ----
echo "$files" | sed -e 's/^/ /'
fi
+ rewritten='%REWRITTEN%'
sed_rewrite_files="\
! s,^build-aux/,$rewritten$auxdir/,
! s,^doc/,$rewritten$docbase/,
! s,^lib/,$rewritten$sourcebase/,
! s,^m4/,$rewritten$m4base/,
! s,^tests/,$rewritten$testsbase/,
! s,^top/,$rewritten,
! s,^$rewritten,,"
# Create directories.
for f in $files; do echo $f; done \
***************
*** 4715,4727 ****
test -n "$docbase" || docbase="doc"
test -n "$testsbase" || testsbase="tests"
test -n "$auxdir" || auxdir="build-aux"
sed_rewrite_files="\
! s,^build-aux/,$auxdir/,
! s,^doc/,$docbase/,
! s,^lib/,$sourcebase/,
! s,^m4/,$m4base/,
! s,^tests/,$testsbase/,
! s,^top/,,"
if test -d "$dest"; then
destdir="$dest"
g=`echo "$f" | sed -e "$sed_rewrite_files"`
--- 4720,4734 ----
test -n "$docbase" || docbase="doc"
test -n "$testsbase" || testsbase="tests"
test -n "$auxdir" || auxdir="build-aux"
+ rewritten='%REWRITTEN%'
sed_rewrite_files="\
! s,^build-aux/,$rewritten$auxdir/,
! s,^doc/,$rewritten$docbase/,
! s,^lib/,$rewritten$sourcebase/,
! s,^m4/,$rewritten$m4base/,
! s,^tests/,$rewritten$testsbase/,
! s,^top/,$rewritten,
! s,^$rewritten,,"
if test -d "$dest"; then
destdir="$dest"
g=`echo "$f" | sed -e "$sed_rewrite_files"`
- auxdir and multiple configure.ac's, Simon Josefsson, 2009/05/07
- Re: auxdir and multiple configure.ac's, Ralf Wildenhues, 2009/05/07
- Re: auxdir and multiple configure.ac's, Simon Josefsson, 2009/05/10
- Re: auxdir and multiple configure.ac's, Bruno Haible, 2009/05/10
- Re: auxdir and multiple configure.ac's, Simon Josefsson, 2009/05/11
- Re: auxdir and multiple configure.ac's, Ralf Wildenhues, 2009/05/11