From: Vincent T. <vt...@un...> - 2010-12-23 13:06:02
|
On Thu, 23 Dec 2010, Sébastien Lorquet wrote: > Hello, > > any success with my instructions, or is everyone (including me) too > busy eating chocolate? :-) too busy :p Honestly, the compilation is a lot faster on linux than with MSYS/MinGW Vincent > > BTW, Merry Christmas and Happy new year to all. There are few chances > that I'll post here on Dec 24. > > Sebastien > > On Fri, Dec 17, 2010 at 8:09 PM, Sébastien Lorquet <sq...@gm...> wrote: >> Hi >> >> I noticed that our next exchanges did not make it to the list because >> of the bad handling of lists reply-to by gmail (Harald Welte explained >> to me that it's a desirable feature, but I always forget to >> reply-to-all :-) ) >> >> Let's fix it. >> >> ==================================================================== >> >> here are new steps to build mingw32ce for windows from debian. >> >> get code >> >> cd $HOME >> mkdir cegcc >> cd cegcc >> svn co https://cegcc.svn.sourceforge.net/svnroot/cegcc/trunk cegcc-src >> wget ftp://ftp.gmplib.org/pub/gmp-4.3.1/gmp-4.3.1.tar.gz >> wget http://www.mpfr.org/mpfr-2.4.1/mpfr-2.4.1.tar.gz >> tar zxvf gmp-4.3.1.tar.gz >> tar zxvf mpfr-2.4.1.tar.gz >> >> patch code >> >> Here is what you must change in the mingw32ce build script >> Basically this deals with passing the proper gmp/mpfr options to the >> gcc configure script. This might be achievable by other means, e.g. >> environment. >> >> svn diff: >> >> ---8<--- >> Index: build-mingw32ce.sh >> =================================================================== >> --- build-mingw32ce.sh (revision 1449) >> +++ build-mingw32ce.sh (working copy) >> @@ -49,12 +49,17 @@ >> --components=LIST specify which components to build >> valid components are: ${COMPONENTS_COMMA_LIST} >> [all] >> + --gmp=DIR path to GMP library >> + --mpfr=DIR path to MPFR library >> >> Report bugs to <ceg...@li...>. >> _ACEOF >> >> } >> >> +lib_gmp= >> +lib_mpfr= >> + >> ac_prev= >> for ac_option >> do >> @@ -97,6 +102,12 @@ >> | --co=* | --c=*) >> components=$ac_optarg ;; >> >> + --gmp=*) >> + lib_gmp=$ac_optarg ;; >> + >> + --mpfr=*) >> + lib_mpfr=$ac_optarg ;; >> + >> --host) >> ac_prev=host ;; >> --host=*) >> @@ -179,6 +190,16 @@ >> exit 1 >> fi >> >> +#compute the options for gmp and mpfr >> + >> +GCCDEPS= >> +if [ "x${lib_gmp}" != "x" ]; then >> + GCCDEPS="--with-gmp=${lib_gmp}" >> +fi >> +if [ "x${lib_gmp}" != "x" ]; then >> + GCCDEPS="${GCCDEPS} --with-mpfr=${lib_mpfr}" >> +fi >> + >> build_binutils() >> { >> echo "" >> @@ -209,6 +230,7 @@ >> --with-gcc \ >> --with-gnu-ld \ >> --with-gnu-as \ >> + ${GCCDEPS} \ >> --target=${TARGET} \ >> --build=${BUILD} \ >> --host=${HOST} \ >> @@ -314,6 +336,7 @@ >> --target=${TARGET} \ >> --host=${HOST} \ >> --prefix=${PREFIX} \ >> + ${GCCDEPS} \ >> --enable-threads=win32 \ >> --disable-nls \ >> --enable-languages=c,c++ \ >> @@ -333,6 +356,7 @@ >> --target=${TARGET} \ >> --host=${HOST} \ >> --prefix=${PREFIX} \ >> + ${GCCDEPS} \ >> --enable-threads=win32 \ >> --disable-nls \ >> --enable-languages=c,c++ \ >> ---8<--- >> >> now we're ready to go. >> >> First step is to build a linux mingw32ce, to allow building the target >> libs (build=host=linux, target=arm-wince-pe) >> >> we need some dependencies - you may have them in apt-get, I recompiled >> to get the same versions as what the final compiler has >> >> mkdir depends-linux >> mkdir gmp-linux >> cd gmp-linux >> ../gmp-4.3.1/configure --prefix=`cd ../depends-linux; pwd` >> make >> make install >> cd .. >> >> mkdir mpfr-linux >> cd mpfr-linux >> ../mpfr-2.4.1/configure --prefix=`cd ../depends-linux; pwd` >> --with-gmp=`cd ../depends-linux; pwd` >> make >> make install >> cd .. >> >> build the compiler and install e.g. to /opt/mingw32ce >> (target=arm-wince-pe, build=host=linux) >> This will NOT WORK if you do not set gcc_src=gcc, I don't know what's >> the problem with gcc 4.4 (you can try, though) >> >> mkdir build-linux >> cd build-linux >> sudo gcc_src=gcc >> ../cegcc-src/cegcc/src/scripts/build/build-minw32ce.sh >> --prefix=/opt/mingw32ce --gmp=`cd ../depends-linux;pwd` --mpfr=`cd >> ../depends-linux;pwd` >> cd .. >> >> Second step is to cross build the win32 compiler >> >> install mingw for linux -- or build it, if you prefer... >> sudo apt-get install mingw32 >> >> the compiler prefix is i586-mingw32msvc- >> >> crossbuild dependencies for windows host (build is linux, host is >> windows, target has no sense (same as host)) >> >> mkdir depends-win >> mkdir gmp-win >> cd gmp-win >> ../gmp-4.3.1/configure --host=i586-mingw32msvc --prefix=`cd ../depends-win; pwd` >> make >> make install >> cd .. >> >> mkdir mpfr-win >> cd mpfr-win >> ../mpfr-2.4.1/configure --host=i586-mingw32msvc --prefix=`cd >> ../depends-win; pwd` --with-gmp=`cd ../depends-win; pwd` >> make >> make install >> cd .. >> >> build cegcc for windows: build=linux, host=windows, target=arm-wince-pe >> the linux version of the compiler needs to be in the path to build the >> target libs! >> Do not forget to update PATH or the build will fail, of course. >> >> mkdir INSTALL >> mkdir build-win >> cd build-win >> PATH=/opt/mingw32ce/bin:$PATH >> export PATH >> gcc_src=gcc ../cegcc-src/cegcc/src/scripts/build-mingw32ce.sh >> --prefix=`cd ../INSTALL;pwd` --host=i586-mingw32msvc --gmp=`cd >> ../depends-win;pwd` --mpfr=`cd ../depends-win;pwd` >> make >> make install >> >> And here you have a nice arm-wince-pe toolchain for mingw! >> >> I'd like some feedback on this process. That's why I'm not posting >> binaries yet. I want someone else to test that, to check wether that's >> ok or not. >> >> Sebastien >> > > ------------------------------------------------------------------------------ > Learn how Oracle Real Application Clusters (RAC) One Node allows customers > to consolidate database storage, standardize their database environment, and, > should the need arise, upgrade to a full multi-node Oracle RAC database > without downtime or disruption > http://p.sf.net/sfu/oracle-sfdevnl > _______________________________________________ > Cegcc-devel mailing list > Ceg...@li... > https://lists.sourceforge.net/lists/listinfo/cegcc-devel > > |