linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] aic7xxx parallel build
@ 2004-01-22 19:38 John Cherry
  2004-01-23  0:53 ` Justin T. Gibbs
  0 siblings, 1 reply; 5+ messages in thread
From: John Cherry @ 2004-01-22 19:38 UTC (permalink / raw)
  To: Justin T. Gibbs, akpm; +Cc: linux-mm, linux-scsi

[-- Attachment #1: Type: text/plain, Size: 351 bytes --]

The Makefiles for aic7xxx and aicasm have changed since I submitted a
patch for the parallel build problem several months ago.  Justin's patch
has disappeared from the mm builds, so we continue to have parallel
build problems.

The following patch fixes the parallel build problem and it still
applies to 2.6.2-rc1-mm1.  This is Justin's fix.

John



[-- Attachment #2: patch.aic7xxx_par_build --]
[-- Type: text/plain, Size: 1890 bytes --]

--- linux-2.6.0/drivers/scsi/aic7xxx/aicasm/Makefile	2003-11-09 16:45:05.000000000 -0800
+++ 25/drivers/scsi/aic7xxx/aicasm/Makefile	2003-12-22 20:17:16.000000000 -0800
@@ -49,14 +49,18 @@ aicdb.h:
 clean:
 	rm -f $(clean-files)
 
-aicasm_gram.c aicasm_gram.h: aicasm_gram.y
+aicasm_gram.c: aicasm_gram.h
+	mv $(<:.h=).tab.c $(<:.h=.c)
+
+aicasm_gram.h: aicasm_gram.y
 	$(YACC) $(YFLAGS) -b $(<:.y=) $<
-	mv $(<:.y=).tab.c $(<:.y=.c)
 	mv $(<:.y=).tab.h $(<:.y=.h)
 
-aicasm_macro_gram.c aicasm_macro_gram.h: aicasm_macro_gram.y
+aicasm_macro_gram.c: aicasm_macro_gram.h
+	mv $(<:.h=).tab.c $(<:.h=.c)
+
+aicasm_macro_gram.h: aicasm_macro_gram.y
 	$(YACC) $(YFLAGS) -b $(<:.y=) -p mm $<
-	mv $(<:.y=).tab.c $(<:.y=.c)
 	mv $(<:.y=).tab.h $(<:.y=.h)
 
 aicasm_scan.c: aicasm_scan.l
--- linux-2.6.0/drivers/scsi/aic7xxx/Makefile	2003-11-09 16:45:05.000000000 -0800
+++ 25/drivers/scsi/aic7xxx/Makefile	2003-12-22 20:17:16.000000000 -0800
@@ -58,7 +58,9 @@ aicasm-7xxx-opts-$(CONFIG_AIC7XXX_REG_PR
 	-p $(obj)/aic7xxx_reg_print.c -i aic7xxx_osm.h
 
 ifeq ($(CONFIG_AIC7XXX_BUILD_FIRMWARE),y)
-$(aic7xxx-gen-y): $(src)/aic7xxx.seq $(src)/aic7xxx.reg $(obj)/aicasm/aicasm
+$(aic7xxx-gen-y): $(src)/aic7xxx.seq
+
+$(src)/aic7xxx.seq: $(obj)/aicasm/aicasm $(src)/aic7xxx.reg
 	$(obj)/aicasm/aicasm -I$(src) -r $(obj)/aic7xxx_reg.h \
 			      $(aicasm-7xxx-opts-y) -o $(obj)/aic7xxx_seq.h \
 			      $(src)/aic7xxx.seq
@@ -72,7 +74,9 @@ aicasm-79xx-opts-$(CONFIG_AIC79XX_REG_PR
 	-p $(obj)/aic79xx_reg_print.c -i aic79xx_osm.h
 
 ifeq ($(CONFIG_AIC79XX_BUILD_FIRMWARE),y)
-$(aic79xx-gen-y): $(src)/aic79xx.seq $(src)/aic79xx.reg $(obj)/aicasm/aicasm
+$(aic79xx-gen-y): $(src)/aic79xx.seq
+
+$(src)/aic79xx.seq: $(obj)/aicasm/aicasm $(src)/aic79xx.reg
 	$(obj)/aicasm/aicasm -I$(src) -r $(obj)/aic79xx_reg.h \
 			      $(aicasm-79xx-opts-y) -o $(obj)/aic79xx_seq.h \
 			      $(src)/aic79xx.seq

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] aic7xxx parallel build
  2004-01-22 19:38 [PATCH] aic7xxx parallel build John Cherry
@ 2004-01-23  0:53 ` Justin T. Gibbs
  2004-01-23  0:54   ` John Cherry
  0 siblings, 1 reply; 5+ messages in thread
From: Justin T. Gibbs @ 2004-01-23  0:53 UTC (permalink / raw)
  To: John Cherry, akpm; +Cc: linux-mm, linux-scsi

[-- Attachment #1: Type: text/plain, Size: 708 bytes --]

> The Makefiles for aic7xxx and aicasm have changed since I submitted a
> patch for the parallel build problem several months ago.  Justin's patch
> has disappeared from the mm builds, so we continue to have parallel
> build problems.
> 
> The following patch fixes the parallel build problem and it still
> applies to 2.6.2-rc1-mm1.  This is Justin's fix.

Actually, that's not my fix.  This looks like your original fix.
I've attached aic7xxx/Makefile and aic7xxx/aicasm/Makefile from my
tree.  These seem to work just fine in my parallel build tests and
will work regardless of which generated file is out of date - a flaw
in your change.  Please let me know if these files don't work for you.

--
Justin

[-- Attachment #2: aic7xxx.Makefile --]
[-- Type: application/octet-stream, Size: 3240 bytes --]

#
# Makefile for the Linux aic7xxx SCSI driver.
#
# $Id: //depot/linux-aic79xx-2.5.0/drivers/scsi/aic7xxx/Makefile#8 $
#

# Let kbuild descend into aicasm when cleaning
subdir-				+= aicasm

obj-$(CONFIG_SCSI_AIC7XXX)	+= aic7xxx.o
obj-$(CONFIG_SCSI_AIC79XX)	+= aic79xx.o

# Core Fast -> U160 files
aic7xxx-y					+= aic7xxx_core.o	\
						   aic7xxx_93cx6.o
aic7xxx-$(CONFIG_EISA)				+= aic7770.o
aic7xxx-$(CONFIG_PCI)				+= aic7xxx_pci.o
aic7xxx-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT)	+= aic7xxx_reg_print.o

# Platform Specific Fast -> U160 Files
aic7xxx-y					+= aic7xxx_osm.o	\
						   aic7xxx_proc.o
aic7xxx-$(CONFIG_EISA)				+= aic7770_osm.o
aic7xxx-$(CONFIG_PCI)				+= aic7xxx_osm_pci.o

# Core U320 files
aic79xx-y					+= aic79xx_core.o	\
						   aic79xx_pci.o
aic79xx-$(CONFIG_AIC79XX_REG_PRETTY_PRINT)	+= aic79xx_reg_print.o

# Platform Specific U320 Files
aic79xx-y					+= aic79xx_osm.o	\
						   aic79xx_proc.o	\
						   aic79xx_osm_pci.o

EXTRA_CFLAGS += -Idrivers/scsi -Werror
#EXTRA_CFLAGS += -g

# Files generated that shall be removed upon make clean
clean-files := aic7xxx_seq.h aic7xxx_reg.h aic7xxx_reg_print.c
clean-files += aic79xx_seq.h aic79xx_reg.h aic79xx_reg_print.c

# Dependencies for generated files need to be listed explicitly

$(obj)/aic7xxx_core.o: $(obj)/aic7xxx_seq.h
$(obj)/aic79xx_core.o: $(obj)/aic79xx_seq.h
$(obj)/aic79xx_reg_print.c: $(src)/aic79xx_reg_print.c_shipped
$(obj)/aic7xxx_reg_print.c: $(src)/aic7xxx_reg_print.c_shipped

$(addprefix $(obj)/,$(aic7xxx-y)): $(obj)/aic7xxx_reg.h
$(addprefix $(obj)/,$(aic79xx-y)): $(obj)/aic79xx_reg.h

aic7xxx-gen-$(CONFIG_AIC7XXX_BUILD_FIRMWARE)	:= $(obj)/aic7xxx_seq.h \
						   $(obj)/aic7xxx_reg.h
aic7xxx-gen-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT)	+= $(obj)/aic7xxx_reg_print.c

aicasm-7xxx-opts-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT) := \
	-p $(obj)/aic7xxx_reg_print.c -i aic7xxx_osm.h

ifeq ($(CONFIG_AIC7XXX_BUILD_FIRMWARE),y)
# Create a dependency chain in generated files
# to avoid concurrent invocations of the single
# rule that builds them all.
aic7xxx_seq.h: aic7xxx_reg.h
ifeq ($(CONFIG_AIC7XXX_REG_PRETTY_PRINT),y)
aic7xxx_reg.h: aic7xxx_reg_print.c
endif
$(aic7xxx-gen-y): $(src)/aic7xxx.seq $(src)/aic7xxx.reg $(obj)/aicasm/aicasm
	$(obj)/aicasm/aicasm -I$(src) -r $(obj)/aic7xxx_reg.h \
			      $(aicasm-7xxx-opts-y) -o $(obj)/aic7xxx_seq.h \
			      $(src)/aic7xxx.seq
endif

aic79xx-gen-$(CONFIG_AIC79XX_BUILD_FIRMWARE)	:= $(obj)/aic79xx_seq.h \
						   $(obj)/aic79xx_reg.h
aic79xx-gen-$(CONFIG_AIC79XX_REG_PRETTY_PRINT)	+= $(obj)/aic79xx_reg_print.c

aicasm-79xx-opts-$(CONFIG_AIC79XX_REG_PRETTY_PRINT) := \
	-p $(obj)/aic79xx_reg_print.c -i aic79xx_osm.h

ifeq ($(CONFIG_AIC79XX_BUILD_FIRMWARE),y)
# Create a dependency chain in generated files
# to avoid concurrent invocations of the single
# rule that builds them all.
aic79xx_seq.h: aic79xx_reg.h
ifeq ($(CONFIG_AIC79XX_REG_PRETTY_PRINT),y)
aic79xx_reg.h: aic79xx_reg_print.c
endif
$(aic79xx-gen-y): $(src)/aic79xx.seq $(src)/aic79xx.reg $(obj)/aicasm/aicasm
	$(obj)/aicasm/aicasm -I$(src) -r $(obj)/aic79xx_reg.h \
			      $(aicasm-79xx-opts-y) -o $(obj)/aic79xx_seq.h \
			      $(src)/aic79xx.seq
endif

$(obj)/aicasm/aicasm: $(src)/aicasm/*.[chyl]
	$(MAKE) -C $(src)/aicasm

[-- Attachment #3: aicasm.Makefile --]
[-- Type: application/octet-stream, Size: 1900 bytes --]

PROG=	aicasm

.SUFFIXES= .l .y .c .h

CSRCS=	aicasm.c aicasm_symbol.c
YSRCS=	aicasm_gram.y aicasm_macro_gram.y
LSRCS=	aicasm_scan.l aicasm_macro_scan.l

GENHDRS=	aicdb.h $(YSRCS:.y=.h)
GENSRCS=	$(YSRCS:.y=.c) $(LSRCS:.l=.c)

SRCS=	${CSRCS} ${GENSRCS}
LIBS=	-ldb
clean-files:= ${GENSRCS} ${GENHDRS} $(YSRCS:.y=.output) $(PROG)
# Override default kernel CFLAGS.  This is a userland app.
AICASM_CFLAGS:= -I/usr/include -I.
YFLAGS= -d

NOMAN=	noman

ifneq ($(HOSTCC),)
AICASM_CC= $(HOSTCC)
else
AICASM_CC= $(CC)
endif

ifdef DEBUG
CFLAGS+= -DDEBUG -g
YFLAGS+= -t -v
LFLAGS= -d
endif

$(PROG):  ${GENHDRS} $(SRCS)
	$(AICASM_CC) $(AICASM_CFLAGS) $(SRCS) -o $(PROG) $(LIBS)

aicdb.h:
	@if [ -e "/usr/include/db3/db_185.h" ]; then		\
		echo "#include <db3/db_185.h>" > aicdb.h;	\
	 elif [ -e "/usr/include/db2/db_185.h" ]; then		\
		echo "#include <db2/db_185.h>" > aicdb.h;	\
	 elif [ -e "/usr/include/db/db_185.h" ]; then		\
		echo "#include <db/db_185.h>" > aicdb.h;	\
	 elif [ -e "/usr/include/db_185.h" ]; then		\
		echo "#include <db_185.h>" > aicdb.h;		\
	 else							\
		echo "*** Install db development libraries";	\
	 fi

clean:
	rm -f $(clean-files)

# Create a dependency chain in generated files
# to avoid concurrent invocations of the single
# rule that builds them all.
aicasm_gram.c: aicasm_gram.h
aicasm_gram.c aicasm_gram.h: aicasm_gram.y
	$(YACC) $(YFLAGS) -b $(<:.y=) $<
	mv $(<:.y=).tab.c $(<:.y=.c)
	mv $(<:.y=).tab.h $(<:.y=.h)

# Create a dependency chain in generated files
# to avoid concurrent invocations of the single
# rule that builds them all.
aicasm_macro_gram.c: aicasm_macro_gram.h
aicasm_macro_gram.c aicasm_macro_gram.h: aicasm_macro_gram.y
	$(YACC) $(YFLAGS) -b $(<:.y=) -p mm $<
	mv $(<:.y=).tab.c $(<:.y=.c)
	mv $(<:.y=).tab.h $(<:.y=.h)

aicasm_scan.c: aicasm_scan.l
	$(LEX) $(LFLAGS) -o$@ $<

aicasm_macro_scan.c: aicasm_macro_scan.l
	$(LEX) $(LFLAGS) -Pmm -o$@ $<

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] aic7xxx parallel build
  2004-01-23  0:53 ` Justin T. Gibbs
@ 2004-01-23  0:54   ` John Cherry
  2004-01-23  1:05     ` John Cherry
  0 siblings, 1 reply; 5+ messages in thread
From: John Cherry @ 2004-01-23  0:54 UTC (permalink / raw)
  To: Justin T. Gibbs; +Cc: akpm, linux-mm, linux-scsi

Yeah.  It looks like I grabbed my old patch from the last successful
parallel build that Andrew ran.

I'll run the regressions on the Makefiles you have supplied tonight.  I
have no doubts that this will be successful.  Thanks.

John

On Thu, 2004-01-22 at 16:53, Justin T. Gibbs wrote:
> > The Makefiles for aic7xxx and aicasm have changed since I submitted a
> > patch for the parallel build problem several months ago.  Justin's patch
> > has disappeared from the mm builds, so we continue to have parallel
> > build problems.
> > 
> > The following patch fixes the parallel build problem and it still
> > applies to 2.6.2-rc1-mm1.  This is Justin's fix.
> 
> Actually, that's not my fix.  This looks like your original fix.
> I've attached aic7xxx/Makefile and aic7xxx/aicasm/Makefile from my
> tree.  These seem to work just fine in my parallel build tests and
> will work regardless of which generated file is out of date - a flaw
> in your change.  Please let me know if these files don't work for you.
> 
> --
> Justin

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] aic7xxx parallel build
  2004-01-23  0:54   ` John Cherry
@ 2004-01-23  1:05     ` John Cherry
       [not found]       ` <20040122174458.0bdf5f26.akpm@osdl.org>
  0 siblings, 1 reply; 5+ messages in thread
From: John Cherry @ 2004-01-23  1:05 UTC (permalink / raw)
  To: Justin T. Gibbs; +Cc: akpm, linux-mm, linux-scsi

These Makefiles provide clean parallel builds.  The failing case
succeeded.  Can we get these changes back into Andrew's conduit?

On Thu, 2004-01-22 at 16:54, John Cherry wrote:
> Yeah.  It looks like I grabbed my old patch from the last successful
> parallel build that Andrew ran.
> 
> I'll run the regressions on the Makefiles you have supplied tonight.  I
> have no doubts that this will be successful.  Thanks.
> 
> John
> 
> On Thu, 2004-01-22 at 16:53, Justin T. Gibbs wrote:
> > > The Makefiles for aic7xxx and aicasm have changed since I submitted a
> > > patch for the parallel build problem several months ago.  Justin's patch
> > > has disappeared from the mm builds, so we continue to have parallel
> > > build problems.
> > > 
> > > The following patch fixes the parallel build problem and it still
> > > applies to 2.6.2-rc1-mm1.  This is Justin's fix.
> > 
> > Actually, that's not my fix.  This looks like your original fix.
> > I've attached aic7xxx/Makefile and aic7xxx/aicasm/Makefile from my
> > tree.  These seem to work just fine in my parallel build tests and
> > will work regardless of which generated file is out of date - a flaw
> > in your change.  Please let me know if these files don't work for you.
> > 
> > --
> > Justin

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] aic7xxx parallel build
       [not found]       ` <20040122174458.0bdf5f26.akpm@osdl.org>
@ 2004-01-23 19:48         ` John Cherry
  0 siblings, 0 replies; 5+ messages in thread
From: John Cherry @ 2004-01-23 19:48 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Justin T. Gibbs, linux-mm

[-- Attachment #1: Type: text/plain, Size: 398 bytes --]

Andrew,

We are settled this time.  This patch fixes the aic7xxx parallel build
problem.  It was generated against 2.6.2-rc1-mm2.  It has passed the
compile regressions that were failing.

John

On Thu, 2004-01-22 at 17:44, Andrew Morton wrote:
> John Cherry <cherry@osdl.org> wrote:
> >
> > Can we get these changes back into Andrew's conduit?
> 
> Please send me a fresh patch when it's settled.

[-- Attachment #2: patch.aic7xxx_Makefiles --]
[-- Type: text/x-makefile, Size: 2455 bytes --]

--- linux-2.6.2-rc1-mm2/drivers/scsi/aic7xxx/Makefile	2004-01-20 19:50:41.000000000 -0800
+++ new/drivers/scsi/aic7xxx/Makefile	2004-01-22 16:57:32.000000000 -0800
@@ -1,7 +1,7 @@
 #
 # Makefile for the Linux aic7xxx SCSI driver.
 #
-# $Id: //depot/linux-aic79xx-2.5.0/drivers/scsi/aic7xxx/Makefile#7 $
+# $Id: //depot/linux-aic79xx-2.5.0/drivers/scsi/aic7xxx/Makefile#8 $
 #
 
 # Let kbuild descend into aicasm when cleaning
@@ -61,6 +58,13 @@ aicasm-7xxx-opts-$(CONFIG_AIC7XXX_REG_PR
 	-p $(obj)/aic7xxx_reg_print.c -i aic7xxx_osm.h
 
 ifeq ($(CONFIG_AIC7XXX_BUILD_FIRMWARE),y)
+# Create a dependency chain in generated files
+# to avoid concurrent invocations of the single
+# rule that builds them all.
+aic7xxx_seq.h: aic7xxx_reg.h
+ifeq ($(CONFIG_AIC7XXX_REG_PRETTY_PRINT),y)
+aic7xxx_reg.h: aic7xxx_reg_print.c
+endif
 $(aic7xxx-gen-y): $(src)/aic7xxx.seq $(src)/aic7xxx.reg $(obj)/aicasm/aicasm
 	$(obj)/aicasm/aicasm -I$(src) -r $(obj)/aic7xxx_reg.h \
 			      $(aicasm-7xxx-opts-y) -o $(obj)/aic7xxx_seq.h \
@@ -75,6 +79,13 @@ aicasm-79xx-opts-$(CONFIG_AIC79XX_REG_PR
 	-p $(obj)/aic79xx_reg_print.c -i aic79xx_osm.h
 
 ifeq ($(CONFIG_AIC79XX_BUILD_FIRMWARE),y)
+# Create a dependency chain in generated files
+# to avoid concurrent invocations of the single
+# rule that builds them all.
+aic79xx_seq.h: aic79xx_reg.h
+ifeq ($(CONFIG_AIC79XX_REG_PRETTY_PRINT),y)
+aic79xx_reg.h: aic79xx_reg_print.c
+endif
 $(aic79xx-gen-y): $(src)/aic79xx.seq $(src)/aic79xx.reg $(obj)/aicasm/aicasm
 	$(obj)/aicasm/aicasm -I$(src) -r $(obj)/aic79xx_reg.h \
 			      $(aicasm-79xx-opts-y) -o $(obj)/aic79xx_seq.h \
--- linux-2.6.2-rc1-mm2/drivers/scsi/aic7xxx/aicasm/Makefile	2004-01-20 19:50:31.000000000 -0800
+++ new/drivers/scsi/aic7xxx/aicasm/Makefile	2004-01-22 16:58:22.000000000 -0800
@@ -49,11 +49,19 @@ aicdb.h:
 clean:
 	rm -f $(clean-files)
 
+# Create a dependency chain in generated files
+# to avoid concurrent invocations of the single
+# rule that builds them all.
+aicasm_gram.c: aicasm_gram.h
 aicasm_gram.c aicasm_gram.h: aicasm_gram.y
 	$(YACC) $(YFLAGS) -b $(<:.y=) $<
 	mv $(<:.y=).tab.c $(<:.y=.c)
 	mv $(<:.y=).tab.h $(<:.y=.h)
 
+# Create a dependency chain in generated files
+# to avoid concurrent invocations of the single
+# rule that builds them all.
+aicasm_macro_gram.c: aicasm_macro_gram.h
 aicasm_macro_gram.c aicasm_macro_gram.h: aicasm_macro_gram.y
 	$(YACC) $(YFLAGS) -b $(<:.y=) -p mm $<
 	mv $(<:.y=).tab.c $(<:.y=.c)

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2004-01-23 19:48 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-01-22 19:38 [PATCH] aic7xxx parallel build John Cherry
2004-01-23  0:53 ` Justin T. Gibbs
2004-01-23  0:54   ` John Cherry
2004-01-23  1:05     ` John Cherry
     [not found]       ` <20040122174458.0bdf5f26.akpm@osdl.org>
2004-01-23 19:48         ` John Cherry

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox