D.gnu - Compiling relocatable mingw gdc
- Bill Baxter (51/51) Mar 05 2008 This is mostly meant for Anders... a continuation of an off-NG mail
- =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= (11/17) Mar 06 2008 I redid the build again on Windows XP, and ran into two things that
- Bill Baxter (3/25) Mar 06 2008 Ok. Great.
This is mostly meant for Anders... a continuation of an off-NG mail
exchange about trying to build mingw gdc from source.
So here's where I currently am
The Makefile is generating compile lines like this:
stage1/xgcc.exe -Bstage1/ -B/gdc/mingw32/bin/ -c \
-g0 -O2 -DIN_GCC \
-W -Wall -Wwrite-strings -Wstrict-prototypes \
-Wmissing-prototypes -pedantic \
-Wno-long-long -Wold-style-definition \
-DHAVE_CONFIG_H -DGENERATOR_FILE
-I. -I. \
-I../../gcc-3.4.5-20060117-1/gcc \
-I../../gcc-3.4.5-20060117-1/gcc/. \
-I../../gcc-3.4.5-20060117-1/gcc/../include \
../../gcc-3.4.5-20060117-1/gcc/genmodes.c -o genmodes.o
none of those -I's point to place where there are actually any system
headers, and genmodes there tries to #include something which #includes
<stdio.h> among other things. The xgcc (boostrap compiler?) seems not
to have any intrinsic knowlege of where system headers are.
I was reading the MinGW install instructions from the MinGW site, and
they said "runtime and win32 headers are separate". So I thought maybe
I could fix things by downloading the mingw runtime and copying its
include,lib,and bin dirs into the toplevel gcc-3.4.5-20060117-1 dir.
That sort of worked but then there's a conflict over "mem.h" which is in
the MinGW runtime include dir and also in the dmd front end. It was
finding the runtime version when trying to compile gdc. So I renamed
the runtime version to _mem.h. And that let me get past that.
Now I'm stuck on an ld error. It can't find crt2.o --
-----------------
stage1/xgcc.exe -Bstage1/ -B/gdc/mingw32/bin/ \
-g0 -O2 -DIN_GCC \
-W -Wall -Wwrite-strings \
-Wstrict-prototypes -Wmissing-prototypes \
-pedantic -Wno-long-long -Wold-style-definition \
-DHAVE_CONFIG_H -DGENERATOR_FILE -o genmodes.exe \
genmodes.o errors.o ../libiberty/libiberty.a
c:\MinGW\bin\ld.exe: crt2.o: No such file: No such file or directory
-------------
I've got crt2.o in both:
C:\mingw\lib
and
../gcc-3.4.5-20060117-1/lib/crt2.o
Apparently something about my environment doesn't match what the mingw
make files are expecting. In particular these -B/gdc/mingw32/bin paths
look odd. /gdc is a bogus directory to begin with (I'm using the fstab
hack you pointed me to), and I don't have a dir like mingw32/bin
anywhere even in my c:\mingw install. That string "mingw32" as part of
a path is included in the Makefile. I'm not sure where it comes from.
Maybe coming from --target=mingw32 flag passed to configure?
Any ideas appreciated.
--bb
Mar 05 2008
Bill Baxter wrote:This is mostly meant for Anders... a continuation of an off-NG mail exchange about trying to build mingw gdc from source....I was reading the MinGW install instructions from the MinGW site, and they said "runtime and win32 headers are separate". So I thought maybe I could fix things by downloading the mingw runtime and copying its include,lib,and bin dirs into the toplevel gcc-3.4.5-20060117-1 dir.I redid the build again on Windows XP, and ran into two things that I had forgotten all about since the pre-1.0 time when I last did it... First, I couldn't get the setup to work with MinGW but only in Cygwin (seems patch is silly). Second, something had hardcoded /usr/include. My hackaround was to ln -s /mingw/include /usr/include while building, which probably is totally wrong but I didn't feel like diving into it. If everything is working alright, I'll package the pre-release up and put it on the gdcwin site - maybe even with some building instructions. --anders
Mar 06 2008
Anders F Björklund wrote:Bill Baxter wrote:Ok. Great. --bbThis is mostly meant for Anders... a continuation of an off-NG mail exchange about trying to build mingw gdc from source....I was reading the MinGW install instructions from the MinGW site, and they said "runtime and win32 headers are separate". So I thought maybe I could fix things by downloading the mingw runtime and copying its include,lib,and bin dirs into the toplevel gcc-3.4.5-20060117-1 dir.I redid the build again on Windows XP, and ran into two things that I had forgotten all about since the pre-1.0 time when I last did it... First, I couldn't get the setup to work with MinGW but only in Cygwin (seems patch is silly). Second, something had hardcoded /usr/include. My hackaround was to ln -s /mingw/include /usr/include while building, which probably is totally wrong but I didn't feel like diving into it. If everything is working alright, I'll package the pre-release up and put it on the gdcwin site - maybe even with some building instructions. --anders
Mar 06 2008








Bill Baxter <dnewsgroup billbaxter.com>