summaryrefslogtreecommitdiffstats
path: root/libglusterfs
diff options
context:
space:
mode:
authorKaleb KEITHLEY <kkeithle@f16node1.kkeithle.usersys.redhat.com>2011-11-29 09:36:50 -0500
committerAnand Avati <avati@gluster.com>2011-11-30 04:57:08 -0800
commitfbf6ce560dd6e72fc9d404e32d313732077a250f (patch)
tree401e3724d25fa1ec47c70f19c91a9b128d73a0a5 /libglusterfs
parent1b3571d38fc789100e2c053750eca1109494596b (diff)
bz 3826, fix for parallel make in fedora build system
builds of glusterfs in the fedora build system often fail due to a race condition between running yacc and starting to compile the y.tab.c produced by yacc This patch changes the automake Makefile.am to generate the parser files without incurring the race condition This works on jenkins, the fedora build system, and my f16 vm/guest machines. (Finding the right combination that works on all three was an exercise to say the least. I'm open to other suggestions for avoiding the race condition.) Run autogen.sh to (re)generate the Makefile.ins. Then run configure to produce all Makefiles, followed by `make -j X` where X>1 see also https://bugzilla.redhat.com/show_bug.cgi?id=756510 BUG: 3826 Change-Id: I06ba0d0a1d59f0f44c0dd2cd9d227ca08d99e205 Reviewed-on: http://review.gluster.com/763 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-by: Anand Avati <avati@gluster.com>
Diffstat (limited to 'libglusterfs')
-rw-r--r--libglusterfs/src/Makefile.am7
1 files changed, 5 insertions, 2 deletions
diff --git a/libglusterfs/src/Makefile.am b/libglusterfs/src/Makefile.am
index a950e67..98be5b2 100644
--- a/libglusterfs/src/Makefile.am
+++ b/libglusterfs/src/Makefile.am
@@ -35,10 +35,13 @@ noinst_HEADERS = common-utils.h defaults.h dict.h glusterfs.h hashfn.h \
EXTRA_DIST = graph.l graph.y
-graph.lex.c: graph.l y.tab.h
+graph.lex.c: graph.l yacc.stamp
$(LEX) -t $(srcdir)/graph.l > $@
+yacc.stamp: y.tab.c y.tab.h
+ touch $@
+
y.tab.c y.tab.h: graph.y
$(YACC) -d $(srcdir)/graph.y
-CLEANFILES = graph.lex.c y.tab.c y.tab.h
+CLEANFILES = graph.lex.c y.tab.c y.tab.h yacc.stamp