* [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
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