Changes between Version 6 and Version 9 of Ticket #40174


Ignore:
Timestamp:
Mar 6, 2016, 11:51:14 PM (5 years ago)
Author:
mojca (Mojca Miklavec)
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #40174

    • Property Owner changed from landonf@… to mojca@…
    • Property Cc landonf@… hippallium-macports@… added; mojca@… removed
    • Property Port i686-w64-mingw32-gcc x86_64-w64-mingw32-gcc added; i386-mingw32-gcc removed
  • Ticket #40174 – Description

    v6 v9  
    1414  * [http://pete.akeo.ie/2010/07/compiling-mingw-w64-with-multilib-on.html  Compiling MinGW-w64 with multilib on Linux]
    1515  * [http://pmc.polytechnique.fr/pagesperso/dc/arm-en.html Design of a cross-toolchain "From Scratch" (for arm)]
     16
     17Initial drafts can be found under [browser:users/mojca/ports/cross users/mojca/ports/cross]).
     18
     19== Ports ==
     20
     21The ports have to be compiled in the following order:
     22* ~~{i686,x86_64}-w64-mingw32-binutils~~ (DONE)
     23  * (no dependencies)
     24* ~~{i686,x86_64}-w64-mingw32-headers~~ (DONE)
     25  * (no dependencies)
     26* ~~gmp, mpfr, libmpc~~ (native ports already packaged by MacPorts)
     27* cloog, ppl (might be worth looking into)
     28* {i686,x86_64}-w64-mingw32-gcc (possibly rename)
     29  * gcc compiler
     30  * dependencies:
     31    * {i686,x86_64}-w64-mingw32-binutils
     32    * {i686,x86_64}-w64-mingw32-headers
     33    * {i686,x86_64}-w64-mingw32-gcc
     34    * gmp, mpfr, libmpc
     35    * libiconv, zlib
     36  * the first stage compiles (this is a standalone gcc, it won't actually be able to link executables, but it is already suitable to compile the CRT)
     37* ~~{i686,x86_64}-w64-mingw32-crt~~ (DONE)
     38  * dependencies:
     39    * {i686,x86_64}-w64-mingw32-binutils
     40    * {i686,x86_64}-w64-mingw32-headers
     41    * {i686,x86_64}-w64-mingw32-gcc (either first stage or any later stage)
     42  * make sure that all the file are where expected
     43* {i686,x86_64}-w64-mingw32-libgcc
     44  * same sources as the gcc compiler; only a different target (`make all-target-libgcc && make install-target-libgcc`)
     45  * when a compiler already exists, one could build both gcc and libgcc at the same time
     46  * files provided by the gcc port should be removed
     47  * dependencies:
     48    * {i686,x86_64}-w64-mingw32-crt
     49    * {i686,x86_64}-w64-mingw32-gcc (either first stage or any later stage)
     50* pthreads-win32
     51  * dependencies:
     52    * {i686,x86_64}-w64-mingw32-libgcc (or full compiler)
     53* {i686,x86_64}-w64-mingw32-all(?) (second stage of gcc compiler)
     54  * same sources as the gcc compiler; only a different target (`make && make install`)
     55  * dependencies:
     56    * pthreads-win32
     57    * {i686,x86_64}-w64-mingw32-libgcc
     58
     59== Things to do ==
     60
     61* fix layout of individual packages (folders where files are installed)
     62
     63== Further challenges ==
     64
     65* on top of C and C++ also support Ada, Fortran, ObjC, ObjC++ (`--enable-languages=c,c++,objc,obj-c++,ada,fortran`)
     66* support clang
     67* figure out where `stdlibc++` should be located on Windows (is it possible to build it statically?)