From: Michael L T. <to...@by...> - 2002-09-25 23:19:22
|
I've been trying to build gcc-3.2 from mingw32 sources on Linux (as a cross-compiler) and under cygwin. I have installed under linux the runtime (which shouldn't be necessary for building the compiler, should it? I'm trying to build a linux executable...) All the prerequisites are in place. the binutils, etc. Can it be done? Basically it ends with a compile error on linux (gcc2.96 and gcc 3.2) and on cygwin. Last time I tried it with 2.96: MULTILIBS=`/root/gcc-3.2-20020817-1/gcc/xgcc -B/root/gcc-3.2-20020817-1/gcc/ -B/ usr/i386-mingw32/mingw32/bin/ -B/usr/i386-mingw32/mingw32/lib/ -isystem /usr/i38 6-mingw32/mingw32/include --print-multi-lib` \ EXTRA_MULTILIB_PARTS='' \ SHLIB_LINK='' \ SHLIB_INSTALL='' \ SHLIB_EXT='' \ SHLIB_MULTILIB='' \ SHLIB_MKMAP='' \ SHLIB_MKMAP_OPTS='' \ SHLIB_MAPFILES='' \ SHLIB_NM_FLAGS='-pg' \ SHLIB_SLIBDIR_SUFFIXES='' \ mkinstalldirs='/bin/sh ./mkinstalldirs' \ /bin/sh mklibgcc > tmp-libgcc.mk mv tmp-libgcc.mk libgcc.mk HEADERS="ansidecl.h i386/xm-mingw32.h i386/cygming.h i386/mingw32.h defaults.h" DEFINES="POSIX" \ TARGET_CPU_DEFAULT="" \ /bin/sh ./mkconfig.sh tconfig.h /root/gcc-3.2-20020817-1/gcc/xgcc -B/root/gcc-3.2-20020817-1/gcc/ -B/usr/i386-mi ngw32/mingw32/bin/ -B/usr/i386-mingw32/mingw32/lib/ -isystem /usr/i386-mingw32/m ingw32/include -O2 -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict- prototypes -Wmissing-prototypes -isystem ./include -I. -I. -I. -I./. -I./config -I./../include -g0 -finhibit-size-directive -fno-inline-functions -fno-excepti ons \ -Dinhibit_libc -c ./crtstuff.c -DCRT_BEGIN \ -o crtbegin.o In file included from tconfig.h:16, from crtstuff.c:61: config/i386/cygming.h:31:19: stdio.h: No such file or directory In file included from tconfig.h:16, from crtstuff.c:61: config/i386/cygming.h:364: parse error before '*' token config/i386/cygming.h:364: warning: function declaration isn't a prototype config/i386/cygming.h:366: parse error before '*' token config/i386/cygming.h:366: warning: function declaration isn't a prototype make[1]: *** [crtbegin.o] Error 1 make[1]: Leaving directory `/root/gcc-3.2-20020817-1/gcc' make: *** [all-gcc] Error 2 |
From: Ranjit M. <rm...@ho...> - 2002-09-26 05:33:47
|
Hi, You will first need to build cross-binutils and then cross-GCC using that. More details (slightly dated, but still useful) at: http://www.objsw.com/CrossGCC/ http://www.libsdl.org/extras/win32/cross/ Create a folder into which you want the binaries to go in, say "/foo/bar" (i.e. "--prefix=/foo/bar"). Create a subfolder in this that has the same name as the target "mingw32" (i.e. "--target=mingw32"). Extract the mingw-runtime-2.2 and w32api-2.0 packages from the MinGW SF repository into "/foo/bar/mingw32" - the GCC build process expects headers to be inside the "include" folder here. Now configure, build and install binutils and then GCC 3.2. If you have MinGW with GCC 3.2 installed, type "gcc -v" to obtain the flags that were used to build it, the thread model in use, etc. The cool thing is that you can use the cross compiler you built above to build a Windows native compiler using a similar process (but with "--host=mingw32"). Hope this helps. Ranjit. Michael L Torrie wrote: > I've been trying to build gcc-3.2 from mingw32 sources on Linux (as a > cross-compiler) and under cygwin. I have installed under linux the > runtime (which shouldn't be necessary for building the compiler, should > it? I'm trying to build a linux executable...) > > All the prerequisites are in place. the binutils, etc. > > Can it be done? > > Basically it ends with a compile error on linux (gcc2.96 and gcc 3.2) > and on cygwin. Last time I tried it with 2.96: > > MULTILIBS=`/root/gcc-3.2-20020817-1/gcc/xgcc > -B/root/gcc-3.2-20020817-1/gcc/ -B/ > usr/i386-mingw32/mingw32/bin/ -B/usr/i386-mingw32/mingw32/lib/ -isystem > /usr/i38 > 6-mingw32/mingw32/include --print-multi-lib` \ > EXTRA_MULTILIB_PARTS='' \ > SHLIB_LINK='' \ > SHLIB_INSTALL='' \ > SHLIB_EXT='' \ > SHLIB_MULTILIB='' \ > SHLIB_MKMAP='' \ > SHLIB_MKMAP_OPTS='' \ > SHLIB_MAPFILES='' \ > SHLIB_NM_FLAGS='-pg' \ > SHLIB_SLIBDIR_SUFFIXES='' \ > mkinstalldirs='/bin/sh ./mkinstalldirs' \ > /bin/sh mklibgcc > tmp-libgcc.mk > mv tmp-libgcc.mk libgcc.mk > HEADERS="ansidecl.h i386/xm-mingw32.h i386/cygming.h i386/mingw32.h > defaults.h" > DEFINES="POSIX" \ > TARGET_CPU_DEFAULT="" \ > /bin/sh ./mkconfig.sh tconfig.h > /root/gcc-3.2-20020817-1/gcc/xgcc -B/root/gcc-3.2-20020817-1/gcc/ > -B/usr/i386-mi > ngw32/mingw32/bin/ -B/usr/i386-mingw32/mingw32/lib/ -isystem > /usr/i386-mingw32/m > ingw32/include -O2 -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-strings > -Wstrict- > prototypes -Wmissing-prototypes -isystem ./include -I. -I. -I. -I./. > -I./config > -I./../include -g0 -finhibit-size-directive -fno-inline-functions > -fno-excepti > ons \ > -Dinhibit_libc -c ./crtstuff.c -DCRT_BEGIN \ > -o crtbegin.o > In file included from tconfig.h:16, > from crtstuff.c:61: > config/i386/cygming.h:31:19: stdio.h: No such file or directory > In file included from tconfig.h:16, > from crtstuff.c:61: > config/i386/cygming.h:364: parse error before '*' token > config/i386/cygming.h:364: warning: function declaration isn't a > prototype > config/i386/cygming.h:366: parse error before '*' token > config/i386/cygming.h:366: warning: function declaration isn't a > prototype > make[1]: *** [crtbegin.o] Error 1 > make[1]: Leaving directory `/root/gcc-3.2-20020817-1/gcc' > make: *** [all-gcc] Error 2 > > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > MinGW-users mailing list > Min...@li... > > You may change your MinGW Account Options or unsubscribe at: > https://lists.sourceforge.net/lists/listinfo/mingw-users > |