On Mon, May 21, 2001 at 02:36:29PM -0400, Mike A. Harris wrote:
>On Mon, 21 May 2001, Brian Paul wrote:
>
>>> >I tried building the trunk code (according to the guide) and have run
>>> >into a raft of errors in the Mesa portion of the tree. Some sample error
>>> >messages:
>>> >
>>> >gcc -E common_x86_asm.S > common_x86_asm.s
>>> >common_x86_asm.S:37:22: assyntax.h: No such file or directory
>>> >common_x86_asm.S:38:33: common_x86_features.h: No such file or directory
>>> >make[6]: *** [common_x86_asm.s] Error 1
>>> >...
>>> >gcc -E x86_cliptest.S > x86_cliptest.s
>>> >x86_cliptest.S:26:22: assyntax.h: No such file or directory
>>> >x86_cliptest.S:27:23: clip_args.h: No such file or directory
>>> >make[6]: *** [x86_cliptest.s] Error 1
>>> >gcc -E x86_vertex.S > x86_vertex.s
>>> >x86_vertex.S:1:22: assyntax.h: No such file or directory
>>> >make[6]: *** [x86_vertex.s] Error 1
>>> >gcc -E x86_xform_masked2.S > x86_xform_masked2.s
>>> >x86_xform_masked2.S:26:22: assyntax.h: No such file or directory
>>> >x86_xform_masked2.S:27:24: xform_args.h: No such file or directory
>>> >
>>> >It would appear that the header files are not being put in the
>>> >appropriate locations. Is the build on the trunk known to be broken?
>>
>>
>>I don't think the header files are the problem. I just rebuilt
>>lib/GL/ on my DRI trunk and it worked fine. However, the commands
>>used to build the assembly sourece files look different. Here's
>>how common_x86_asm.S is assembled into common_x86_asm.o on my system:
>>
>>rm -f common_x86_asm.i
>>/lib/cpp -Dlinux -D__i386__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE
>>-D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE -D__ELF__ -DMALLOC_0_RETURNS_NULL
>-DGLXEXT
>>-DXF86DRI -DGLX_DIRECT_RENDERING -DGLX_USE_DLOPEN -DGLX_USE_MESA -DUSE_X86_ASM
>>-DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_KATMAI_ASM -I../../../../../exports/include
>>-I../../../../../include/extensions -I../../../../../extras/Mesa/src
>>-I../../../../../extras/Mesa/src/X86 common_x86_asm.S | \
>>grep -v '^\#' > common_x86_asm.i
>>rm -f common_x86_asm.o
>>as -o common_x86_asm.o common_x86_asm.i
>>rm -f common_x86_asm.i
>>
>>It looks like your systems are doing:
>>
>>gcc -E common_x86_asm.S > common_x86_asm.s
>
>Yep, that caught me as strange too, so I added to my host.def:
>
>#define PreProcessCmd cpp
>
>
>And the problem went away...
I'm not sure why, but might depend on how close your xc/config/cf
files are to the XFree86 ones.
>>The Imakefile rule 'ObjectFromAsmSource' is used to build the assembly source
>>files. This rule is defined in xc/config/cf/xf86.rules as:
>>
>>
>>#ifndef ObjectFromAsmSource
>>#define ObjectFromAsmSource(src,flags) @@\
>> @@\
>>src.o: src.S @@\
>> AssembleObject(flags) @@\
>> @@\
>>src.i: src.S @@\
>> CPPOnlyAsm(src,flags) @@\
>> @@\
>>depend:: src.S
>>#endif
AssembleObject is defined as:
#ifndef AssembleObject
#define AssembleObject(flags) CPPOnlyAsm($*,flags) @@\
RemoveFile($*.o) @@\
$(AS) -o $*.o $*.i @@\
RemoveFile($*.i)
#endif
and CPPOnlyAsm is defined as:
#ifndef CPPOnlyAsm
#define CPPOnlyAsm(basename,options) RemoveFile(basename.i) @@\
$(CPP) AsmDefines $(DEFINES) $(INCLUDES) options basename.S | \ @@\
grep -v '^\#' > basename.i
#endif
$(CPP) is set to 'CppCmd $(STD_CPP_DEFINES)' in Imake.tmpl, and
CppCmd is set to /lib/cpp in linux.cf. I don't see anything using
PreProcessCmd or $(PREPROCESSCMD) in the imake cf files (other than
in Win32.cf).
Besides, you seemed to be hitting a rule that converted a .S to a .s,
and we don't define one. Also, we don't have a rule that converts
a .S to a .o via a .s, only via a .i.
David
--
David Dawes Email: [EMAIL PROTECTED]
Founder/President, The XFree86 Project, Inc Phone: +1 510 687 6857
http://www.xfree86.org/
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/dri-devel