build: fix paths.

When using $(top_builddir) inconsistently, Make (including GNU
Make) is sometimes confused.  As a result it may want to build
lib/libbison.la and $(top_builddir)/lib/libbison.la (the same
file, different names) concurrently, which, amusingly enough,
might end with:

  ranlib lib/libbison.a
  ranlib lib/libbison.a
  make[2]: *** [lib/libbison.a] Segmentation fault

on OS X.

	* doc/local.mk, src/local.mk: Do not use $(top_builddir) when not
	needed.
This commit is contained in:
Akim Demaille
2009-07-01 12:19:09 +02:00
parent 67af719840
commit 838205d547
3 changed files with 21 additions and 3 deletions

View File

@@ -1,3 +1,21 @@
2009-08-12 Akim Demaille <demaille@gostai.com>
build: fix paths.
When using $(top_builddir) inconsistently, Make (including GNU
Make) is sometimes confused. As a result it may want to build
lib/libbison.la and $(top_builddir)/lib/libbison.la (the same
file, different names) concurrently, which, amusingly enough,
might end with:
ranlib lib/libbison.a
ranlib lib/libbison.a
make[2]: *** [lib/libbison.a] Segmentation fault
on OS X.
* doc/local.mk, src/local.mk: Do not use $(top_builddir) when not
needed.
2009-08-12 Akim Demaille <demaille@gostai.com>
distcheck: fix.

View File

@@ -35,7 +35,7 @@ $(CROSS_OPTIONS_TEXI): $(top_srcdir)/src/getargs.c $(CROSS_OPTIONS_PL)
{ test ! -f $@ || cat $@; } >$@~
test ! -f $@.tmp || rm -f $@.tmp
$(MAKE) $(AM_MAKEFLAGS) src/bison$(EXEEXT)
$(top_builddir)/src/bison --help | \
src/bison --help | \
perl $(CROSS_OPTIONS_PL) $(top_srcdir)/src/scan-gram.l >$@.tmp
diff -u $@~ $@.tmp || true
mv $@.tmp $@

View File

@@ -20,11 +20,11 @@ AM_CPPFLAGS += -I$(top_srcdir)/lib
# Find builddir/src/scan-code.c etc.
AM_CPPFLAGS += -I$(top_builddir)
LDADD = $(top_builddir)/lib/libbison.a $(LIBINTL)
LDADD = lib/libbison.a $(LIBINTL)
# Use our own Bison to build the parser. Of course, you ought to
# keep a sane version of Bison nearby...
BISON = $(top_builddir)/tests/bison
BISON = tests/bison
YACC = $(BISON) -y
AM_YFLAGS = -dv --warnings=all,error --report=all