mirror of
https://git.code.sf.net/p/mingw-w64/mingw-w64
synced 2024-11-23 18:04:18 +08:00
Add documentation about howto build cross toolchain.
git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@28 4407c894-4637-0410-b4f5-ada5f102cad1
This commit is contained in:
parent
917ce75cdd
commit
8124b31743
74
mingw-w64-doc/howto-build/mingw-w64-howto-build.txt
Executable file
74
mingw-w64-doc/howto-build/mingw-w64-howto-build.txt
Executable file
@ -0,0 +1,74 @@
|
||||
HowTo build x86_64-pc-mingw32 cross-compiler
|
||||
|
||||
Date / Version / Author
|
||||
2007-07-31 1.0 Kai Tietz <Kai.Tietz at onevision.com>
|
||||
2007-08-20 1.1 Kai Tietz <Kai.Tietz at onevision.com>
|
||||
|
||||
This document describes how to build the amd64 mingw32 gcc toolchain as cross-compiler on cygwin and unix shells.
|
||||
|
||||
1. Download packages
|
||||
The following packages you need to download
|
||||
- binutils 2.17.50 snapshot released after or equal to the 1st of Junly 2007.
|
||||
- gcc version 4.3 snapshort released after or equal to the 1st of Junly 2007.
|
||||
- current mingw-w64-snapshot available on the sourceforge 'mingw-w64'
|
||||
|
||||
Now extract these tarballs in an temporary folder. E.g. use ~/w64src. For the tarballs with
|
||||
extension .tar.gz or .tgz use the following command to extract : tar -xzf <tarball>'. For
|
||||
tarballs with extension .tar.bz2 or .tbz2 use the command 'tar -xjf <tarball>'.
|
||||
There are now three folders within you temporary folder: trunk, binutils, and gcc.
|
||||
|
||||
2. Choice of kind of build
|
||||
|
||||
You have at least two different choices to build the crosscompiler toolchain:
|
||||
I) Using standard settings of configure.
|
||||
II) Using --prefix and --with-sysroot configuration
|
||||
|
||||
I assume that <install-root> is for build kind I '/usr/local' and for kind II your specified
|
||||
path.
|
||||
|
||||
Building binutils cross toolchain:
|
||||
Step 1) Enter into the binutils root folder and generate a folder within (e.g.
|
||||
'build'). Than enter into it.
|
||||
Step 2 for I) Type '../configure --target=x86_64-pc-mingw32'
|
||||
Step 2 for II) Type '../configure --target=x86_64-pc-mingw32 --prefix=/vol/m --with-sysroot=/vol/m'.
|
||||
May change the pathes '/vol/m' to pathes you desire.
|
||||
Step 3) Type 'make'
|
||||
Step 4) Type 'make install'
|
||||
|
||||
Now copy the content of the folder 'trunk/mingw-w64-headers/include' into your '<install-root>/x86_64-pc-mingw32/include'
|
||||
folder. If you choose the configuration variant II create in <install-root> a symbolic link named
|
||||
'mingw' pointing to the directory 'x86_64-pc-mingw32'.
|
||||
|
||||
Building the gcc core cross-compiler(s):
|
||||
Step 0) If you have to patch gcc, may do this here. There are some patches necessary, if you want
|
||||
to cross compile libiberty with early header sets, or if you want to use gfortran. These patches
|
||||
are available by the 'gcc-patches' mailing list at 'gcc.gnu.org' or by taking a look at mingw.org
|
||||
or mingw-w64 sites.
|
||||
Step 1) Enter into the gcc root folder and generate a folder within (e.g. 'build'). Than may you
|
||||
apply optional patches to gcc (currently there is a patch file for gcc needed to fix some
|
||||
problems about autoimported variables, libiberty and the fortan compiler).
|
||||
Step 2 for I) Now enter into your created folder (e.g. 'build') and type
|
||||
'../configure --target=x86_64-pc-mingw32'.
|
||||
Step 2 for II) Now enter into your created folder (e.g. 'build') and type
|
||||
'../configure --target=x86_64-pc-mingw32 --prefix=/vol/m --with-sysroot=/vol/m'.
|
||||
May change the pathes '/vol/m' to pathes you desire.
|
||||
Step 3) Type 'make all-gcc'
|
||||
Step 4) Type 'make install-gcc'
|
||||
|
||||
Now the core stuff of gcc is present and we can build the crt itself.
|
||||
|
||||
Building the crt:
|
||||
Step 0) If you are using variant II, may you need to adjust the 'prefix' value in Makefiles.
|
||||
Step 1) Enter into the trunk/mingw-w64-crt root directory.
|
||||
Step 2) Type 'make'
|
||||
Step 3) Copy all generated *.a files out of the 'mklibs' folder into the
|
||||
'<install-root>/x86_64-pc-mingw32/lib' folder.
|
||||
Step 4) Copy out of the root folder to the '<install-root>/x86_64-pc-mingw32/lib' folder the files
|
||||
crt1.o, crt2.o, lib*.a, *.dll, crtbegin.o, crtend.o, dllcrt1.o, dllcrt2.o, binmode.o, txtmode.o,
|
||||
CRT_fp8.o, and the CRT_fp10.o.
|
||||
|
||||
Now you are ready to build the rest of gcc:
|
||||
Step 1) Enter into your generated folder within your gcc root source folder.
|
||||
Step 2) Type 'make'
|
||||
Step 3) Type 'make install'
|
||||
|
Loading…
Reference in New Issue
Block a user