All Projects → niXman → Mingw Builds

niXman / Mingw Builds

Licence: other
Scripts for building the dual-target(32 & 64 bit) MinGW-W64 compilers for 32 and 64 bit Windows

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Mingw Builds

Pi Builder
Extensible tool to build Arch Linux ARM for Raspberry Pi on x86_64 host using Docker
Stars: ✭ 31 (-78.62%)
Mutual labels:  build-system
Ocamlverse.github.io
Documentation of everything relevant in the OCaml world
Stars: ✭ 117 (-19.31%)
Mutual labels:  build-system
Mmake
Mmake is a small program which wraps make to provide additional functionality, such as user-friendly help output, remote includes, and eventually more. It otherwise acts as a pass-through to standard make.
Stars: ✭ 1,593 (+998.62%)
Mutual labels:  build-system
Cactus
🌵A composable static site generator
Stars: ✭ 63 (-56.55%)
Mutual labels:  build-system
Meteor
Meteor, the JavaScript App Platform
Stars: ✭ 42,739 (+29375.17%)
Mutual labels:  build-system
Mill
Your shiny new Java/Scala build tool!
Stars: ✭ 1,667 (+1049.66%)
Mutual labels:  build-system
Wonderbuild
Wonderbuild is an extremely fast, extensible build tool
Stars: ✭ 9 (-93.79%)
Mutual labels:  build-system
Blt
A streamlined CMake build system foundation for developing HPC software
Stars: ✭ 135 (-6.9%)
Mutual labels:  build-system
Walk
A fast, general purpose, graph based build and task execution utility.
Stars: ✭ 108 (-25.52%)
Mutual labels:  build-system
Please
High-performance extensible build system for reproducible multi-language builds.
Stars: ✭ 1,856 (+1180%)
Mutual labels:  build-system
Projectbuilder
A tool for easy automating and customizing build process for Unity.
Stars: ✭ 80 (-44.83%)
Mutual labels:  build-system
Corrosion
Marrying Rust and CMake - Easy Rust and C/C++ Integration!
Stars: ✭ 106 (-26.9%)
Mutual labels:  build-system
Redo
Smaller, easier, more powerful, and more reliable than make. An implementation of djb's redo.
Stars: ✭ 1,589 (+995.86%)
Mutual labels:  build-system
Bfg9000
bfg9000 - build file generator
Stars: ✭ 57 (-60.69%)
Mutual labels:  build-system
Arduino Cmake Ng
CMake-Based framework for Arduino platforms
Stars: ✭ 123 (-15.17%)
Mutual labels:  build-system
Website
🌎 The Cake website: https://cakebuild.net
Stars: ✭ 28 (-80.69%)
Mutual labels:  build-system
Pants
The Pantsbuild developer workflow system
Stars: ✭ 1,814 (+1151.03%)
Mutual labels:  build-system
Reggae
Build system in D, Python, Ruby, Javascript or Lua
Stars: ✭ 141 (-2.76%)
Mutual labels:  build-system
Style Dictionary
A build system for creating cross-platform styles.
Stars: ✭ 2,097 (+1346.21%)
Mutual labels:  build-system
Blade Build
Blade is a powerful build system from Tencent, supports many mainstream programming languages, such as C/C++, java, scala, python, protobuf...
Stars: ✭ 1,722 (+1087.59%)
Mutual labels:  build-system

The scripts provided by the MinGW-W64 project[1] are designed for building the dual-target(i686/x86_64) MinGW-W64 compiler for i686/x86_64 hosts.

The scripts are distributed under the 'BSD 3' license[2].

In order to use the scripts provided by the MinGW-W64 project it is needed:

  1. Windows-64bit or Linux + Wine-64bit

  2. Install MSYS2 from: http://sourceforge.net/projects/msys2/ (MSYS2 wiki: https://github.com/msys2/msys2/wiki/MSYS2-installation)

  3. Get the scripts into <msys root>/home/<user>/mingw-builds: cd && git clone <paste correct url> (see the diff between the 'master' and 'develop' branches, maybe you need the 'develop' branch exactly)

  4. In the MSYS2 file structure delete the /MinGW directory.

  5. Delete the paths pointing to any preinstalled MinGW from the PATH environment variable.

  6. Go into the MinGW-builds root directory. cd && cd mingw-builds

  7. Options:

  --mode=[gcc|python|clang]-<version> - what package to build with version.
  --arch=<i686|x86_64>                - build architecture.
  --buildroot=<path>                  - using '<path>' as build directory.
                                        By default used MSYS user home directory.
  --fetch-only                        - only download all the sources without start building.
  --update-sources                    - try to update sources from repositories before build.
  --exceptions=<model>                - exceptions handling model.
                                        Available: dwarf, seh(gcc>=4.8.0 only), sjlj, dwarfseh (picks by architecture).
  --use-lto                           - building with using LTO.
  --no-strip                          - don't strip executables during install.
  --no-multilib                       - build GCC without multilib support (default for DWARF and SEH exception models).
  --static-gcc                        - build static GCC.
  --dyn-deps                          - build GCC with dynamically dependencies.
  --rt-version=<v3|v4|v5|v6|v7>       - version of mingw-w64 runtime to build.
  --rev=N                             - number of the build revision.
  --with-testsuite                    - run testsuite for packages that contain flags for it.
  --threads=<posix|win32>             - used threads model.
  --enable-languages=<langs>          - comma separated list(without spaces) of gcc supported languages.
                                        available languages: ada,c,c++,fortran,objc,obj-c++

For more options run: "./build --help"

  1. Run:
  • ./build --mode=gcc-4.8.1 --arch=i686 for building i686-MinGW-w64
  • ./build --mode=gcc-4.8.1 --arch=x86_64 for building x86_64-MinGW-w64
  • ./build --mode=gcc-4.8.1 --arch=x86_64 --preload for preload sources and building x86_64-MinGW-w64
  • ./build --mode=gcc-4.8.1 --arch=i686 --exceptions=dwarf for building i686-MinGW-w64 with DWARF exception handling

For example, during the process of building of the i686-gcc-4.7.2 will be created the following directories:

  <buildroot>/i686-4.7.2-release-posix-sjlj-rev1/build
  <buildroot>/i686-4.7.2-release-posix-sjlj-rev1/libs
  <buildroot>/i686-4.7.2-release-posix-sjlj-rev1/logs
  <buildroot>/i686-4.7.2-release-posix-sjlj-rev1/prefix

For x86_64:

  <buildroot>/x86_64-4.7.2-release-posix-sjlj-rev1/build
  <buildroot>/x86_64-4.7.2-release-posix-sjlj-rev1/libs
  <buildroot>/x86_64-4.7.2-release-posix-sjlj-rev1/logs
  <buildroot>/x86_64-4.7.2-release-posix-sjlj-rev1/prefix

And the sources directory: <buildroot>/src

The archives with the built MinGW will be created in <buildroot>/archives/

At the moment, successfully building the following versions:

  gcc-4.6.4
  gcc-4.7.0
  gcc-4.7.1
  gcc-4.7.2
  gcc-4.7.3
  gcc-4.7.4
  gcc-4.8.0
  gcc-4.8.1
  gcc-4.8.2
  gcc-4.8.3
  gcc-4.8.4
  gcc-4.8.5
  gcc-4.9.0
  gcc-4.9.1
  gcc-4.9.2
  gcc-4.9.3
  gcc-4.9.4
  gcc-5.1.0
  gcc-5.2.0
  gcc-5.3.0
  gcc-5.4.0
  gcc-5.5.0
  gcc-6.1.0
  gcc-6.2.0
  gcc-6.3.0
  gcc-6.4.0
  gcc-6.5.0
  gcc-7.1.0
  gcc-7.2.0
  gcc-7.3.0
  gcc-7.4.0
  gcc-7.5.0
  gcc-8.1.0
  gcc-8.2.0
  gcc-8.3.0
  gcc-8.4.0
  gcc-9.1.0
  gcc-9.2.0
  gcc-9.3.0
  gcc-4.6-branch (currently 4.6.5 prerelease)
  gcc-4.7-branch (currently 4.7.5 prerelease)
  gcc-4.8-branch (currently 4.8.6 prerelease)
  gcc-4.9-branch (currently 4.9.5 prerelease)
  gcc-5-branch (currently 5.6.0 prerelease)
  gcc-6-branch (currently 6.6.0 prerelease)
  gcc-7-branch (currently 7.6.0 prerelease)
  gcc-8-branch (currently 8.5.0 prerelease)
  gcc-9-branch (currently 9.4.0-prerelease)
  gcc-10-branch (currently 10.1.0-prerelease)
  gcc-trunk (currently 11.0.0 snapshot)

Builds also contains patches for building Python 2.7.9 and 3.4.3 versions for support gdb pretty printers. Big thanks for these patches to:

  2010-2013 Roumen Petrov, Руслан Ижбулатов
  2012-2015 Ray Donnelly, Alexey Pavlov

[1] http://sourceforge.net/projects/mingw-w64/ [2] http://www.opensource.org/licenses/BSD-3-Clause

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].