This is the mail archive of the cygwin-xfree@cygwin.com mailing list for the Cygwin XFree86 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Using the new cross compilation system - and a request for help


On Tue, 9 Jul 2002, Harold L Hunt wrote:
> 1) We are building gen_matypes.c and we are supposed to create an executable
> that will be used during the compilation process to build a header file called
> ``matypes.h''.  However, this executable is being built with ``cc'' (it isn't
> clear if this is the link to /cygwin/bin/cc or if it is the host cc) but we
> are calling it ``gen_matypes.exe'', which is clearly wrong because we want an
> executable to use while cross compiling, not an installable executable.

diff -U3 -r1.22 Imakefile
--- lib/GL/mesa/src/X86/Imakefile   2002/03/01 21:21:48 1.22
+++ lib/GL/mesa/src/X86/Imakefile   2002/07/11 15:24:06
@@ -85,11 +85,11 @@
 MATYPES = ./gen_matypes

 matypes.h: gen_matypes.c
-   RemoveFiles($@ ProgramTargetName(gen_matypes))
-   -HostLinkRule(ProgramTargetName(gen_matypes),$(CFLAGS) $(LOCAL_LDFLAGS),gen_matypes.c,$(LDLIBS))
+   RemoveFiles($@ HostProgramTargetName(gen_matypes))
+   -HostLinkRule(HostProgramTargetName(gen_matypes),$(CFLAGS) $(LOCAL_LDFLAGS),gen_matypes.c,$(LDLIBS))
    RunProgram(MATYPES,> matypes_h)
    $(MV) matypes_h $@
-   RemoveFiles(ProgramTargetName(gen_matypes))
+   RemoveFiles(HostProgramTargetName(gen_matypes))

 includes:: matypes.h

> 2) Building gen_matypes.c fails because it cannot find glheader.h, mypes.h,
> and tnl/t_context.h, which are stored over in xc/extras/Mesa/src, but it
> appears that they should be copied during the build process to
> build/std/exports/include.  For some reason, they are not being copied there.

no problem for me. Maybe they are not created because gen_matypes failes
before

> There is a new problem that needs a better answer than the one that I've got
> right now.  In xc/config/imake/imakedep.h there is a define that turns an
> empty define for i686 into i686 == 1.  For some reason, i686 is now defined
> during a cross compilation build and it causes our executable names, such as
> ``i686-pc-cygwin-gcc'' and our include directories (``i686-pc.. you get the
> point...) to become ``1-pc-cygwin-gcc''.  I had to add a ``#undef i686'' to
> the new host.def that is used when cross compiling.

you don't need the i686-pc-cygwin32-gcc program names anymore. For me, a
call to cross-gcc is /usr/i686-pc-cygwin32/bin/`echo gcc|sed "s%.*/%%"`

I'll see if the imake patch compiles and will send a patch later.

bye
    ago
-- 
 Alexander.Gottwald@informatik.tu-chemnitz.de
 http://www.gotti.org           ICQ: 126018723


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]