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 <squa...@gmail.com> 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 <cegcc-devel@lists.sourceforge.net>.
_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
Cegcc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cegcc-devel
------------------------------------------------------------------------------
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
Cegcc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cegcc-devel