On Thu, Aug 30, 2012 at 1:19 PM, Tom Stellard <t...@stellard.net> wrote: > On Thu, Aug 30, 2012 at 10:47:55AM -0700, Matt Turner wrote: >> On Thu, Aug 30, 2012 at 9:55 AM, <tstel...@gmail.com> wrote: >> > From: Tom Stellard <thomas.stell...@amd.com> >> > >> > --- >> > Hi Matt, >> > >> > This patch applies to your automake-gallium branch. >> >> Thanks a bunch! >> >> > configure.ac | 5 ++ >> > src/gallium/drivers/radeon/.gitignore | 1 + >> > src/gallium/drivers/radeon/Makefile | 76 ----------------------- >> > src/gallium/drivers/radeon/Makefile.am | 87 >> > +++++++++++++++++++++++++++ >> > src/gallium/drivers/radeon/Makefile.sources | 32 ++++++++++- >> > 5 files changed, 124 insertions(+), 77 deletions(-) >> > delete mode 100644 src/gallium/drivers/radeon/Makefile >> > create mode 100644 src/gallium/drivers/radeon/Makefile.am >> > >> > + $(LLVM_CFLAGS) >> > + >> > +CXXFLAGS+= $(LLVM_CXXFLAGS) >> >> Do we really need this? We already have LLVM_CXXFLAGS in AM_CXXFLAGS. >> > > Probably not. >> > + >> > +tablegen = $(LLVM_BINDIR)/llvm-tblgen -I $(LLVM_INCLUDEDIR) $1 $2 -o $3 >> > + >> > +libradeon_la_SOURCES = \ >> > + $(GENERATED_SOURCES) \ >> > + $(CXX_SOURCES) \ >> > + $(C_SOURCES) >> > + >> > +CLEANFILES = $(GENERATED_SOURCES) >> >> We should probably set BUILT_SOURCES here. >> > > OK > >> > + >> > +SIRegisterInfo.td: SIGenRegisterInfo.pl >> > + $(PERL) $^ > $@ >> > + >> > +SIRegisterGetHWRegNum.inc: SIGenRegisterInfo.pl >> > + $(PERL) $^ $@ > /dev/null >> > + >> > +R600Intrinsics.td: R600IntrinsicsNoOpenCL.td R600IntrinsicsOpenCL.td >> > +if HAVE_R600_LLVM_INTRINSICS >> > + cp R600IntrinsicsNoOpenCL.td R600Intrinsics.td >> > +else >> > + cp R600IntrinsicsOpenCL.td R600Intrinsics.td >> > +endif >> > + >> > +R600RegisterInfo.td: R600GenRegisterInfo.pl >> > + $(PERL) $^ > $@ >> >> It's nice to put $(AM_V_GEN) before generator calls. >> > > You mean like: > > $(AM_V_GEN) $(PERL) $^ > $@
Yeah, exactly. >> > + >> > +AMDGPUGenRegisterInfo.inc: $(TD_FILES) >> > + $(call tablegen, -gen-register-info, AMDGPU.td, $@) >> > + >> > +AMDGPUGenInstrInfo.inc: $(TD_FILES) >> > + $(call tablegen, -gen-instr-info, AMDGPU.td, $@) >> > + >> > +AMDGPUGenAsmWriter.inc: $(TD_FILES) >> > + $(call tablegen, -gen-asm-writer, AMDGPU.td, $@) >> > + >> > +AMDGPUGenDAGISel.inc: $(TD_FILES) >> > + $(call tablegen, -gen-dag-isel, AMDGPU.td, $@) >> > + >> > +AMDGPUGenCallingConv.inc: $(TD_FILES) >> > + $(call tablegen, -gen-callingconv, AMDGPU.td, $@) >> > + >> > +AMDGPUGenSubtargetInfo.inc: $(TD_FILES) >> > + $(call tablegen, -gen-subtarget, AMDGPU.td, $@) >> > + >> > +AMDGPUGenEDInfo.inc: $(TD_FILES) >> > + $(call tablegen, -gen-enhanced-disassembly-info, AMDGPU.td, $@) >> > + >> > +AMDGPUGenIntrinsics.inc: $(TD_FILES) >> > + $(call tablegen, -gen-tgt-intrinsic, AMDGPU.td, $@) >> > + >> > +AMDGPUGenCodeEmitter.inc: $(TD_FILES) >> > + $(call tablegen, -gen-emitter, AMDGPU.td, $@) >> > + >> > +AMDGPUGenMCCodeEmitter.inc: $(TD_FILES) >> > + $(call tablegen, -mc-emitter -gen-emitter, AMDGPU.td, $@) >> > + >> > +AMDGPUGenDFAPacketizer.inc: $(TD_FILES) >> > + $(call tablegen, -gen-dfa-packetizer, AMDGPU.td, $@) >> > + >> > +noinst_PROGRAMS = loader >> > + >> > +loader_SOURCES = loader.cpp >> > + >> > +loader_LDADD = libradeon.la $(LLVM_LIBS) >> > +loader_LDFLAGS = \ >> > + $(LLVM_LDFLAGS) \ >> > + $(LD_FLAGS) >> > + >> > +#XXX: Delete this when all targets that rely on radeon are converted to >> > +# automake. >> > +all-local: libradeon.la >> > + ln -f $(builddir)/.libs/libradeon.a $(builddir)/libradeon.a >> > + >> > +CLEANFILES += libradeon.a >> > diff --git a/src/gallium/drivers/radeon/Makefile.sources >> > b/src/gallium/drivers/radeon/Makefile.sources >> > index 687acb3..d8df295 100644 >> > --- a/src/gallium/drivers/radeon/Makefile.sources >> > +++ b/src/gallium/drivers/radeon/Makefile.sources >> > @@ -1,4 +1,34 @@ >> > >> > +TD_FILES := \ >> > + AMDGPU.td \ >> > + AMDGPUInstrInfo.td \ >> > + AMDGPUInstructions.td \ >> > + AMDGPUIntrinsics.td \ >> > + AMDGPURegisterInfo.td \ >> > + AMDILBase.td \ >> > + AMDILInstrInfo.td \ >> > + AMDILIntrinsics.td \ >> > + AMDILRegisterInfo.td \ >> > + Processors.td \ >> > + R600InstrInfo.td \ >> > + R600Instructions.td \ >> > + R600Intrinsics.td \ >> > + R600Intrinsics.td \ >> > + R600IntrinsicsNoOpenCL.td \ >> > + R600IntrinsicsOpenCL.td \ >> > + R600OpenCLIntrinsics.td \ >> > + R600RegisterInfo.td \ >> > + R600RegisterInfo.td \ >> > + R600Schedule.td \ >> > + SIInstrFormats.td \ >> > + SIInstrInfo.td \ >> > + SIInstructions.td \ >> > + SIIntrinsics.td \ >> > + SIRegisterInfo.td \ >> > + SIRegisterInfo.td \ >> > + SISchedule.td >> > + >> > + >> > GENERATED_SOURCES := \ >> > R600Intrinsics.td \ >> > R600RegisterInfo.td \ >> > @@ -16,7 +46,7 @@ GENERATED_SOURCES := \ >> > AMDGPUGenMCCodeEmitter.inc \ >> > AMDGPUGenDFAPacketizer.inc >> > >> > -CPP_SOURCES := \ >> > +CXX_SOURCES := \ >> > AMDIL7XXDevice.cpp \ >> > AMDILCFGStructurizer.cpp \ >> > AMDILDevice.cpp \ >> > -- >> > 1.7.7.6 >> >> When I build with this, I get: >> >> CXX AMDIL7XXDevice.lo >> In file included from AMDIL7XXDevice.cpp:10:0: >> AMDGPUSubtarget.h:22:38: fatal error: AMDGPUGenSubtargetInfo.inc: No >> such file or directory >> compilation terminated. >> make: *** [AMDIL7XXDevice.lo] Error 1 >> >> and seeing AMDGPUGenSubtargetInfo.inc in GENERATED_SOURCES, if I try to make >> it: >> >> make: *** No rule to make target `R600InstrInfo.td', needed by >> `AMDGPUGenSubtargetInfo.inc'. Stop. >> >> After removing R600InstrInfo.td, R600IntrinsicsOpenCL.td, and >> R600OpenCLIntrinsics.td from TD_FILES in Makefile.sources, >> AMDIL7XXDevice.lo still fails to build, but I can now build >> AMDGPUGenSubtargetInfo.inc. >> >> So, we either need to do more finely grained dependencies on *.inc >> files, or put BUILT_SOURCES = $(GENERATED_SOURCES) to make sure >> everything is generated before we start compiling. The first would >> allow slightly better parallelism in the build, but the second is much >> easier. >> > > Let's do BUILT_SOURCES = $(GENERATED_SOURCES) for now. Do you want me > to send you a new patch, or have you already made these changes locally? Works for me. Even with the changes I made, I couldn't get loader to link, so you might want to look at that. If the fix is simple, just tell me what it is and I'll fix these things locally. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev