public inbox for linux-scsi@vger.kernel.org
 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; 4+ 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] 4+ 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; 4+ 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] 4+ 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; 4+ 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


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

* Re: [PATCH] aic7xxx parallel build
  2004-01-23  0:54   ` John Cherry
@ 2004-01-23  1:05     ` John Cherry
  0 siblings, 0 replies; 4+ 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


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

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

Thread overview: 4+ 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

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