Skip Navigation Links
Проект "Real Time Systems DD"
Сборка среды GNAT Ada GPL 2017 для платформы MinGW-w64.

В данной статье описан процесс генерации (сборки) из исходных текстов среды программирования GNAT Ada GPL 2017 для платформы MinGW-w64. Сборка основана на исходных текстах системы GCC 6.3.1 и GNAT gpl 2017 организации AdaCore Corp и разработана для 64-разрядных OS "Windows 7", "Windows Server 2008 R2", "Windows 8", "Windows Server 2012", "Windows 8.1", "Windows Server 2012 R2", "Windows 10" и "Windows Server 2016".

Построенная среда включает компиляторы языков программирования Ada, C, C++, Fortran, ObjC, Obj-C++; интерпретаторы Python, Perl, Tcl/Tk, Ruby; систему управления проектами CMake, утилиту скачивания CUrl с широким набором поддерживаемых протоколов и возможностей; системы управления базами данных "Berkeley DB", "SQLite3", "PostgreSQL"; библиотеку двумерного графического вывода Cairo v.1.15.4; библиотеку оконного ввода/вывода GTK+ v.3.14.15; мощный редактор исходных текстов программ "GPS gpl 2017 (GNAT Programming Studio)" с широкими возможностями построения проектов, компиляции и отладки программ, доступа к документации по программированию; 64-разрядную реализацию Ada-библиотек XmlAda, AdaCurses, GtkAda, GNATColl, Win32Ada, GNATCOM, GWindows, GMSHTML (поддержка HTML-форм на языке Ada).


Для построения среды GNAT Ada GPL необходимы следущие программные продукты:

Можно, так же, установить систему CYGWIN, которая может быть полезной для распаковки и переноса дистрибутивов исходных текстов, просмотра различных info и man файлов среды POSIX, отладки программ, а так же для постоения необязательных пакетов, которые невозможно построить в среде MINGW/MSYS. CYGWIN можно скачать по ссылке: setup-x86_64.exe

Очень и очень полезным может оказаться файловый менеджер FAR! Он очень хорош для редактирования различных конфигурационных файлов и поиска текстовых подстрок в содежимом файлов в директориях, включая поддиректории. FAR можно скачать по ссылке: Far Manager v3.0 build 4900 x64 .

Имеется два варианта сачивания исходных текстов:

  • Все дистрибутивы в одном файле adaprojects.tar.xz.
  • Папка файлов дисрибутивов пакетов MINGW631.

Большинство пакетов исходных текстов модифицированы, т.е. настроенны под данную сборку.

Модификация дистрибутивов заключалась в изменении исходных текстов программ, в изменении скриптов configure, шаблонов *.in, но отнюдь не шаблонов *.ac или *.am. Поэтому применение к скачанным с моего сайта дистрибутивам утилит типа autoconf или automake очень нежелательно.



Переменные окружения в среде WINDOWS:


ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\dukov.RTSDD\AppData\Roaming
CLIENTNAME=RTSDD-SERVER
CMAKE_ROOT=C:\MinGW64\6.3.1\mingw\share\cmake-3.8
-- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=WIN8EE-VM
ComSpec=C:\WINDOWS\system32\cmd.exe
FPS_BROWSER_APP_PROFILE_STRING=Internet Explorer
FPS_BROWSER_USER_PROFILE_STRING=Default
FP_NO_HOST_CHECK=NO
FSHARPINSTALLDIR=C:\Program Files (x86)\Microsoft SDKs\F#\4.1\Framework\v4.0\
GPS_PYTHONHOME=C:\Python
-- ^^^^^^^^^^^^^^^^^^^^^
GTK_BASEPATH=C:\Program Files (x86)\GtkSharp\2.12\
HOMEDRIVE=H:
HOMEPATH=\
HOMESHARE=\\rtsdd.ru\dfsDS03\users\dukov
LOCALAPPDATA=C:\Users\dukov.RTSDD\AppData\Local
LOGONSERVER=\\WIN2K12VM
MSMPI_BIN=C:\Program Files\Microsoft MPI\Bin\
MSYSTEM=MINGW64
-- ^^^^^^^^^^^^
NUMBER_OF_PROCESSORS=4
OneDrive=C:\Users\dukov.RTSDD\SkyDrive
OS=Windows_NT
Path=C:\MinGW64\6.3.1\mingw\sbin;C:\MinGW64\6.3.1\mingw\bin;
    C:\MinGW64\6.3.1\mingw\lib;C:\Python;C:\Python\Scripts;
    C:\perl\bin;C:\msys64\usr\bin;...
-- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 60 Stepping 3, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=3c03
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\;
    C:\Program Files\WindowsPowerShell\Modules\;...
PUBLIC=C:\Users\Public
QUEX_PATH=C:\MinGW64\6.3.1\mingw\python\quex
-- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SESSIONNAME=RDP-Tcp#0
SystemDrive=C:
SystemRoot=C:\WINDOWS
TEMP=C:\Users\DUKOV~1.RTS\AppData\Local\Temp
TMP=C:\Users\DUKOV~1.RTS\AppData\Local\Temp
USERDNSDOMAIN=RTSDD.RU
USERDOMAIN=RTSDD
USERDOMAIN_ROAMINGPROFILE=RTSDD
USERNAME=dukov
USERPROFILE=C:\Users\dukov.RTSDD
VISUALGDB_DIR=C:\Program Files (x86)\Sysprogs\VisualGDB\
VS140COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio\Shared\14.0\Common7\Tools\
windir=C:\WINDOWS
WIX=C:\Program Files (x86)\WiX Toolset v3.11\
_NT_SYMBOL_PATH=srv*C:\DownstreamStore*http://msdl.microsoft.com/download/symbols

Переменные окружения в среде MSYS:

USERDOMAIN_ROAMINGPROFILE=RTSDD
HOMEPATH=\
MANPATH=/mingw631/share/man:/mingw631/ssl/man:/mingw631/man:/usr/share/man
-- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
APPDATA=C:\Users\dukov.RTSDD\AppData\Roaming
ProgramW6432=C:\Program Files
HOSTNAME=WIN8EE-VM
OneDrive=C:\Users\dukov.RTSDD\SkyDrive
SHELL=/usr/bin/bash
TERM=xterm-256color
_NT_SYMBOL_PATH=srv*C:\DownstreamStore*http://msdl.microsoft.com/download/symbols
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 60 Stepping 3, GenuineIntel
WINDIR=C:\WINDOWS
GPS_PYTHONHOME=C:\Python
-- ^^^^^^^^^^^^^^^^^^^^^
PUBLIC=C:\Users\Public
OLDPWD=/
USERDOMAIN=RTSDD
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
OS=Windows_NT
FPS_BROWSER_APP_PROFILE_STRING=Internet Explorer
ALLUSERSPROFILE=C:\ProgramData
USER=dukov
!::=::\
TEMP=C:/msys64/tmp
temp=C:\Users\DUKOV~1.RTS\AppData\Local\Temp
COMMONPROGRAMFILES=C:\Program Files\Common Files
tmp=C:\Users\DUKOV~1.RTS\AppData\Local\Temp
GTK_BASEPATH=C:\Program Files (x86)\GtkSharp\2.12\
USERNAME=dukov
PROCESSOR_LEVEL=6
ProgramFiles(x86)=C:\Program Files (x86)
PATH=/root631/mingw/sbin:/root631/mingw/bin:/root631/mingw/lib:/python:
    /python/Scripts:/perl/bin:/usr/bin:...
-- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PSModulePath=C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\;
    C:\Program Files\WindowsPowerShell\Modules\;...
MSYSCON=mintty.exe
FP_NO_HOST_CHECK=NO
PWD=/home/dukov
SYSTEMDRIVE=C:
MSMPI_BIN=C:\Program Files\Microsoft MPI\Bin\
LANG=en_US.UTF-8
USERPROFILE=C:\Users\dukov.RTSDD
CLIENTNAME=RTSDD-SERVER
VISUALGDB_DIR=C:\Program Files (x86)\Sysprogs\VisualGDB\
QUEX_PATH=C:\MinGW64\6.3.1\mingw\python\quex
-- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TZ=Europe/Moscow
PS1=\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[35m\]$MSYSTEM\[\e[0m\] \[\e[33m\]\w\[\e[0m\]\n\$
LOGONSERVER=\\WIN2K12VM
CommonProgramW6432=C:\Program Files\Common Files
PROCESSOR_ARCHITECTURE=AMD64
LOCALAPPDATA=C:\Users\dukov.RTSDD\AppData\Local
WIX=C:\Program Files (x86)\WiX Toolset v3.11\
ProgramData=C:\ProgramData
SHLVL=1
HOME=/home/dukov
USERDNSDOMAIN=RTSDD.RU
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
HOMEDRIVE=H:
FSHARPINSTALLDIR=C:\Program Files (x86)\Microsoft SDKs\F#\4.1\Framework\v4.0\
MSYSTEM=MINGW64
-- ^^^^^^^^^^^^
COMSPEC=C:\WINDOWS\system32\cmd.exe
TMP=C:/msys64/tmp
SYSTEMROOT=C:\WINDOWS
PRINTER=Microsoft Print to PDF
PROCESSOR_REVISION=3c03
PKG_CONFIG_PATH=
FPS_BROWSER_USER_PROFILE_STRING=Default
ACLOCAL_PATH=/mingw631/share/aclocal:/usr/share/aclocal
-- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INFOPATH=/mingw631/share/info:/usr/share/info
-- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PROGRAMFILES=C:\Program Files
VS140COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio\Shared\14.0\Common7\Tools\
HOMESHARE=\\rtsdd.ru\dfsDS03\users\dukov
NUMBER_OF_PROCESSORS=4
CMAKE_ROOT=C:\MinGW64\6.3.1\mingw\share\cmake-3.8
-- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SESSIONNAME=RDP-Tcp#0
COMPUTERNAME=WIN8EE-VM
_=/usr/bin/env
* подчёркнуты переменные окружения, важные для данной установки

Первоначально нужно настростроить переназначение директорий для среды MSYS в файле /etc/fstab примерно следующим образом:

# For a description of the file format, see the Users Guide
# http://cygwin.com/cygwin-ug-net/using.html#mount-table

# DO NOT REMOVE NEXT LINE. It remove cygdrive prefix from path
none / cygdrive binary,posix=0,noacl,user 0 0
c:/MinGW64/5.1.0/mingw64       /mingw510
c:/MinGW64/6.3.1/mingw         /mingw631
c:/MinGW64/6.3.1               /root631
C:/ADAPROJECTS                 /adaprojects
C:/ADAPROJECTS/MINGW631/static /static
//RTSDD-SERVER/INSTALL         /install
C:/Python                      /python
C:/perl                        /perl
#C:/cygwin64                    /cygwin

Далее в файле /etc/profile в начало переменной PATH нужно поместить пути к директории /mingw510/bin, т.е поместить в файл в соответствуещее место строку типа
PATH=/mingw510/bin:$PATH

Последовательность команд для построения среды помещена в файлы Debug/gcc-6.3.1.txt, Release/gcc-6.3.1.txt и, с пояснениями и комментариями, далее в статье (тип установки = "Release"). Если вас удовлетворяет конфигурационные параметры установки в данной статье, то копируйте команды прямо с ВЕБ-страницы в консоль MSYS или Windows, в зависимости от контекста. Иначе скачайте файл по приведённой выше ссылке, редактируйте его и копируйте команды из него.

Построение директории статических библиотек
Данные библиотеки необходимы для построения первоначального (bootstrap) варианта системы GCC.


mkdir -p /adaprojects/MINGW631/gmp-static
cd /adaprojects/MINGW631/gmp-static
rm -f -r -d *
ls -l
#../gmp-6.1.0/configure --help
../gmp-6.1.0/configure --build=x86_64-w64-mingw32 --prefix=/static\
 --enable-static --disable-shared --enable-cxx --without-readline --enable-assert --enable-assembly\
 CFLAGS='-g0 -O2 -mtune=corei7-avx' CXXFLAGS='-g0 -O2 -mtune=corei7-avx'
make
make install

mkdir -p /adaprojects/MINGW631/isl-static
cd /adaprojects/MINGW631/isl-static
rm -f -r -d *
ls -l
#../isl-0.17.1/configure --help
../isl-0.17.1/configure --build=x86_64-w64-mingw32 --prefix=/static\
 --enable-static --disable-shared --with-gcc-arch=corei7-avx\
 --with-gmp=system --with-gmp-prefix=/static\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/mpfr-static
cd /adaprojects/MINGW631/mpfr-static
rm -f -r -d *
ls -l
#../mpfr-3.1.5/configure --help
../mpfr-3.1.5/configure --build=x86_64-w64-mingw32 --prefix=/static\
 --enable-static --disable-shared --enable-assert --with-gmp=/static --disable-thread-safe\
 CFLAGS='-g0 -O2 -mtune=corei7-avx' CXXFLAGS='-g0 -O2 -mtune=corei7-avx'
make
make install

mkdir -p /adaprojects/MINGW631/cloog-static
cd /adaprojects/MINGW631/cloog-static
rm -f -r -d *
ls -l
#../cloog-0.18.4/configure --help
../cloog-0.18.4/configure --build=x86_64-w64-mingw32 --prefix=/static\
 --enable-static --disable-shared --with-gcc-arch=corei7-avx\
 --with-isl=system --with-isl-prefix=/static\
 --with-gmp=system --with-gmp-prefix=/static\
 CFLAGS='-g0 -O2' CXXFLAGS='-g0 -O2'
make
make install

mkdir -p /adaprojects/MINGW631/mpc-static
cd /adaprojects/MINGW631/mpc-static
rm -f -r -d *
ls -l
#../mpc-1.0.3/configure --help
../mpc-1.0.3/configure --build=x86_64-w64-mingw32 --prefix=/static\
 --enable-static --disable-shared\
 --with-mpfr-include=/static/include --with-mpfr-lib=/static/lib\
 --with-gmp-include=/static/include --with-gmp-lib=/static/lib\
 CFLAGS='-g0 -O2 -mtune=corei7-avx' CXXFLAGS='-g0 -O2 -mtune=corei7-avx'
make
make install

mkdir -p /adaprojects/MINGW631/libiconv-static
cd /adaprojects/MINGW631/libiconv-static
rm -f -r -d *
ls -l
#../libiconv-1.14/configure --help
../libiconv-1.14/configure --build=x86_64-w64-mingw32 --prefix=/static\
 --enable-static --disable-shared --with-libiconv-prefix --with-libintl-prefix\
 CFLAGS="-g0 -O2"
# -D_GL_ALREADY_INCLUDING_STDIO_H
make
make install
* возможно значение corei7-avx нужно будет заменить на более подходящее для вашей аппаратной платформы или убрать соответсвующие параметры, если значение неизвестно.

Построение корневой директории системы GCC /root631.
Ранее, при реализации систем GNAT gpl 2015 (5.3.0) и GNAT gpl 2016 (6.2.0) я, как в стандартных поставках системы MINGW64, начинал иерархию установки GCC с директории "mingw64", но не прописывал явно в файлах спецификаций компиляторов путей поиска библиотек и заголовочных файлов, что приводило к необходимости прописывать эти пути при конфигурации любого пакета, а также к ошибкам закгрузки некоторых заголовочных файлов (в частности файла "float.h", который должен собираться из нескольких частей).

В данной установке иерархия начинается с директории "mingw", что является соглашением по-умолчанию для GCC на платформе MINGW. Префикс "mingw" для систем MINGW играет ту же роль, что и префикс "/usr" для POSIX систем.


mkdir -p /adaprojects/MINGW631/mingw-headers-631
cd /adaprojects/MINGW631/mingw-headers-631
rm -f -r -d *
ls -l
#../mingw-w64-v5.0.1/mingw-w64-headers/configure --help
../mingw-w64-v5.0.1/mingw-w64-headers/configure --build=x86_64-w64-mingw32\
 --prefix=C:/MinGW64/6.3.1/mingw/x86_64-w64-mingw32\
 --enable-sdk=all --enable-secure-api
make
make install

mkdir -p /adaprojects/MINGW631/mingw-crt-631
cd /adaprojects/MINGW631/mingw-crt-631
rm -f -r -d *
ls -l
#../mingw-w64-v5.0.1/mingw-w64-crt/configure --help
../mingw-w64-v5.0.1/mingw-w64-crt/configure --build=x86_64-w64-mingw32\
 --prefix=C:/MinGW64/6.3.1/mingw/x86_64-w64-mingw32 --disable-lib32\
 --enable-lib64 --enable-wildcard\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make
make install
mkdir -p /mingw631/lib
cp -f /mingw631/x86_64-w64-mingw32/lib/crt2.o /mingw631/lib

mkdir -p /adaprojects/MINGW631/mingw-winpthreads-631
cd /adaprojects/MINGW631/mingw-winpthreads-631
rm -f -r -d *
ls -l
#../mingw-w64-v5.0.1/mingw-w64-libraries/winpthreads/configure --help
../mingw-w64-v5.0.1/mingw-w64-libraries/winpthreads/configure --build=x86_64-w64-mingw32\
 --prefix=C:/MinGW64/6.3.1/mingw --enable-shared --enable-static\
 --bindir=C:/MinGW64/6.3.1/mingw/bin\
 --libdir=C:/MinGW64/6.3.1/mingw/x86_64-w64-mingw32/lib\
 --includedir=C:/MinGW64/6.3.1/mingw/x86_64-w64-mingw32/include\
 CFLAGS="-g0 -O2"
make
make install
cp -f -r -d /mingw631/x86_64-w64-mingw32/bin /mingw631
rm -f -r -d /mingw631/x86_64-w64-mingw32/bin

mkdir -p /adaprojects/MINGW631/mingw-gendef-631
cd /adaprojects/MINGW631/mingw-gendef-631
rm -f -r -d *
ls -l
#../mingw-w64-v5.0.1/mingw-w64-tools/gendef/configure --help
../mingw-w64-v5.0.1/mingw-w64-tools/gendef/configure --build=x86_64-w64-mingw32\
 --prefix=C:/MinGW64/6.3.1/mingw CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/mingw-genidl-631
cd /adaprojects/MINGW631/mingw-genidl-631
rm -f -r -d *
ls -l
#../mingw-w64-v5.0.1/mingw-w64-tools/genidl/configure --help
../mingw-w64-v5.0.1/mingw-w64-tools/genidl/configure --build=x86_64-w64-mingw32\
 --prefix=C:/MinGW64/6.3.1/mingw CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/mingw-genlib-631
cd /adaprojects/MINGW631/mingw-genlib-631
rm -f -r -d *
ls -l
#../mingw-w64-v5.0.1/mingw-w64-tools/genlib/configure --help
../mingw-w64-v5.0.1/mingw-w64-tools/genlib/configure --build=x86_64-w64-mingw32\
 --prefix=C:/MinGW64/6.3.1/mingw CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/mingw-genpeimg-631
cd /adaprojects/MINGW631/mingw-genpeimg-631
rm -f -r -d *
ls -l
#../mingw-w64-v5.0.1/mingw-w64-tools/genpeimg/configure --help
../mingw-w64-v5.0.1/mingw-w64-tools/genpeimg/configure --build=x86_64-w64-mingw32\
 --prefix=C:/MinGW64/6.3.1/mingw CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/mingw-widl-631
cd /adaprojects/MINGW631/mingw-widl-631
rm -f -r -d *
ls -l
#../mingw-w64-v5.0.1/mingw-w64-tools/widl/configure --help
../mingw-w64-v5.0.1/mingw-w64-tools/widl/configure --build=x86_64-w64-mingw32
 --prefix=C:/MinGW64/6.3.1/mingw CFLAGS="-g0 -O2"
make
make install

cd /adaprojects/MINGW631/mingw-genstubdll-631
gcc -c -g0 -O2 -IC:/MinGW64/6.3.1/mingw/include lexdef.c
gcc -c -g0 -O2 -IC:/MinGW64/6.3.1/mingw/include output.c
gcc -o genstubdll -LC:/MinGW64/6.3.1/mingw/lib lexdef.o output.o
cp -f genstubdll.exe /mingw631/bin

mkdir -p /adaprojects/MINGW631/libiconv-631
cd /adaprojects/MINGW631/libiconv-631
rm -f -r -d *
ls -l
#../libiconv-1.14/configure --help
../libiconv-1.14/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-static --enable-shared --with-libiconv-prefix --with-libintl-prefix\
 --bindir=C:/MinGW64/6.3.1/mingw/bin\
 --libdir=C:/MinGW64/6.3.1/mingw/x86_64-w64-mingw32/lib\
 --includedir=C:/MinGW64/6.3.1/mingw/x86_64-w64-mingw32/include\
 CFLAGS="-g0 -O2"
make
make install
cp -f -r -d /mingw631/x86_64-w64-mingw32/bin /mingw631
rm -f -r -d /mingw631/x86_64-w64-mingw32/bin

cd /adaprojects/MINGW631/zlib-1.2.8
make -f win32/Makefile.gcc clean
make -f win32/Makefile.gcc all prefix=C:/MinGW64/6.3.1/mingw SHARED_MODE=1
make -f win32/Makefile.gcc install prefix=/mingw631 SHARED_MODE=1\
 INCLUDE_PATH=C:/MinGW64/6.3.1/mingw/include\
 LIBRARY_PATH=C:/MinGW64/6.3.1/mingw/lib\
 BINARY_PATH=C:/MinGW64/6.3.1/mingw/bin


Построение пакета binutils.


mkdir -p /adaprojects/MINGW631/binutils-631
cd /adaprojects/MINGW631/binutils-631
rm -f -r -d *
ls -l
#../binutils-2.27/configure --help
../binutils-2.27/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --disable-multilib --enable-lto --enable-plugins --enable-gold\
 --with-sysroot=C:/MinGW64/6.3.1 --disable-shared --enable-static\
 --with-isl=/static\
 --with-included-gettext\
 CFLAGS='-g0 -O2 -mtune=corei7-avx' CXXFLAGS='-g0 -O2 -mtune=corei7-avx'\
 LDFLAGS="-L/static/lib"
make
make install

Bootstrap утановка компиляторов GCC.
На данном этапе строится три компилятора -- C, C++ и Ada.


mkdir -p /adaprojects/MINGW631/gcc-631
cd /adaprojects/MINGW631/gcc-631
rm -f -r -d *
ls -l
#../gcc-6.3.1/libstdc++-v3/configure --help
#../gcc-6.3.1/configure --help
#../gcc-6.3.1/gcc/configure --help
../gcc-6.3.1/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-gold --enable-libada --enable-libssp --disable-bootstrap --enable-lto\
 --enable-threads=win32 --disable-werror --enable-shared --enable-static\
 --enable-tls --disable-rpath --with-sysroot=C:/MinGW64/6.3.1 --disable-symvers\
 --enable-languages=ada,c,c++,lto --disable-libmpx --enable-fully-dynamic-string\
 --disable-multilib --enable-libatomic --enable-graphite --with-included-gettext\
 --disable-browser-plugin --enable-nls --disable-win32-registry\
 --enable-checking=release --with-arch=nocona --with-tune=corei7-avx\
 --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes\
 --disable-vtable-verify --disable-libstdcxx-pch --disable-libstdcxx-debug\
 --with-gmp=/static\
 --with-mpfr=/static\
 --with-mpc=/static\
 --with-isl=/static\
 --with-libiconv-prefix=/static\
 CFLAGS="-g0 -O2 -pipe"\
 CXXFLAGS="-g0 -O2 -pipe"\
 CPPFLAGS='-IC:/MinGW64/6.3.1/mingw/x86_64-w64-mingw32/include'\
 LDFLAGS='-L/static -LC:/MinGW64/6.3.1/mingw/x86_64-w64-mingw32/lib'
make
make install

И так, Bootstrap установка компиляторов GCC завершена. Теперь нужно открыть в редакторе файл /etc/profile и удалить путь к папке /mingw510/bin в переменной окружения PATH. Сохранить файл и, чтобы изменения вступили в силу, закрыть все открытые консоли MSYS. Теперь все дальнейшие построения пройдут в среде, пока ещё не полной, GCC версии 6.3.1.

Следущая последовательность комманд строит предварительный вариант GCC и необходима для того, чтобы избавиться от наследия GCC 5.1.0 в Bootstrap установке компиляторов GCC.


mkdir -p /adaprojects/MINGW631/gcc-631
cd /adaprojects/MINGW631/gcc-631
rm -f -r -d *
ls -l
#../gcc-6.3.1/libstdc++-v3/configure --help
#../gcc-6.3.1/configure --help
#../gcc-6.3.1/gcc/configure --help
../gcc-6.3.1/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-gold --enable-libada --enable-libssp --disable-bootstrap --enable-lto\
 --enable-threads=win32 --disable-werror --enable-shared --enable-static\
 --enable-tls --disable-rpath --with-sysroot=C:/MinGW64/6.3.1 --disable-symvers\
 --enable-languages=ada,c,c++,lto --disable-libmpx --enable-fully-dynamic-string\
 --disable-multilib --enable-libatomic --enable-graphite --with-included-gettext\
 --disable-browser-plugin --enable-nls --disable-win32-registry\
 --enable-checking=release --with-arch=nocona --with-tune=corei7-avx\
 --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes\
 --disable-vtable-verify --disable-libstdcxx-pch --disable-libstdcxx-debug\
 --with-gmp=/static\
 --with-mpfr=/static\
 --with-mpc=/static\
 --with-isl=/static\
 --with-libiconv-prefix=/static\
 CFLAGS="-g0 -O2 -pipe"\
 CXXFLAGS="-g0 -O2 -pipe"
make
make install

Далее идет последовательность построения и установки системы уравления проектами GprBuild 2017. В дистрибутиве GNAT gpl 2017 устранена коллизия установки пакета GPRBUILD. Установка пакета GPRBUILD требует пакет XMLADA, а установка пакета XMLADA, в свою очередь, требует пакет GPRBUILD. Теперь дистрибутив пакета GPRBUILD включает скрипт "bootstrap.sh", который устанавливает предваритильную реализацию пакета GPRBUILD. И, после этого, обычным образом конфигурируется и устанавливается пакет XMLADA, а далее окончательная реализация пакета GPRBUILD.


cd /adaprojects/MINGW631/gprbuild
#./bootstrap.sh -h
CC=gcc ./bootstrap.sh --prefix=C:/MinGW64/6.3.1/mingw --with-xmlada=../xmlada-gpl-2017-src


cd /adaprojects/MINGW631/xmlada-gpl-2017-src
make -i clean
#./configure --help
./configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-shared --enable-build=Production
make all
make install

cd /adaprojects/MINGW631/gprbuild-gpl-2017-src
make libgpr.clean
make clean
make prefix=C:/MinGW64/6.3.1/mingw ENABLE_SHARED=yes BUILD=production setup
make all
make install
make libgpr.build
make libgpr.install

Далее устанавливаем несколько дополнительных ADA-пакетов.


cd /adaprojects/MINGW631/gnatmem-gpl-2017-src
make clean
#./configure --help
./configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --with-binutils-buildtree=C:/ADAPROJECTS/MINGW631/binutils-631\
 CFLAGS="-g0 -O2"
make
gprinstall -Pgnatmem --uninstall
gprinstall -Pgnatmem -p

cd /adaprojects/MINGW631/win32ada-gpl-2017-src
make clean
make prefix=C:/MinGW64/6.3.1/mingw ENABLE_SHARED=true DEBUG=false setup
make all
make install

cd /adaprojects/MINGW631/wposix-gpl-2017-src
make clean
make prefix=C:/MinGW64/6.3.1/mingw ENABLE_SHARED=true DEBUG=false setup
make all
make install

Далее утанавливаем пакеты gzip и expat.


mkdir -p /adaprojects/MINGW631/gzip-631
cd /adaprojects/MINGW631/gzip-631
rm -f -r -d * .deps
ls -l
#../gzip-1.6/configure --help
../gzip-1.6/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-threads=windows --disable-rpath --without-libpth-prefix\
 CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/expat-631
cd /adaprojects/MINGW631/expat-631
rm -f -r -d * .libs
ls -l
#../expat-2.2.0/configure --help
../expat-2.2.0/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-shared  --enable-static\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make
make install

Далее идёт последовательность команд построения и установки пакетов, необходимых для построения пакета Python-2.7.13.


mkdir -p /adaprojects/MINGW631/libgnurx-631
cd /adaprojects/MINGW631/libgnurx-631
rm -f -r -d *
ls -l
#../mingw-libgnurx-2.5.1/configure --help
../mingw-libgnurx-2.5.1/configure --build=x86_64-w64-mingw32\
 --prefix=C:/MinGW64/6.3.1/mingw CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/pkg-config-631
cd /adaprojects/MINGW631/pkg-config-631
rm -f -r -d * .deps .libs
ls -l
#../pkg-config-0.29.1/configure --help
../pkg-config-0.29.1/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-shared --enable-static\
 --with-internal-glib\
 CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/ncurses-631
cd /adaprojects/MINGW631/ncurses-631
rm -f -r -d *
ls -l
#../ncurses-6.0/configure --help
../ncurses-6.0/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --with-pkg-config --enable-pc-files --with-cxx-shared --without-libtool\
 --with-pkg-config-libdir=C:/MinGW64/6.3.1/mingw/lib/pkgconfig\
 --without-ticlib --with-shared --with-normal --without-debug --enable-sp-funcs\
 --disable-rpath --enable-getcap --enable-getcap-cache --disable-symlinks\
 --enable-const --enable-ext-colors --enable-ext-mouse --enable-ext-putwin\
 --disable-home-terminfo --enable-database --enable-term-driver --enable-interop\
 --with-progs --without-ada --enable-assertions --enable-termcap\
 CFLAGS='-g0 -O2' CXXFLAGS='-g0 -O2'
make
make install

mkdir -p /adaprojects/MINGW631/readline-631
cd /adaprojects/MINGW631/readline-631
rm -f -r -d *
ls -l
#../readline-6.3/configure --help
../readline-6.3/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-shared --enable-static --enable-multibyte --with-curses\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/gettext-631
cd /adaprojects/MINGW631/gettext-631
rm -f -r -d *
ls -l
#../gettext-0.19.8.1/configure --help
../gettext-0.19.8.1/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-threads=windows --enable-shared --enable-static --disable-java\
 --with-libiconv-prefix=C:/MinGW64/6.3.1/mingw --with-included-libunistring\
 --with-included-gettext --with-included-glib --with-included-libcroco\
 --with-included-libxml --with-libncurses-prefix --without-emacs --disable-rpath\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/xz-631
cd /adaprojects/MINGW631/xz-631
rm -f -r -d *
ls -l
#../xz-5.2.2/configure --help
../xz-5.2.2/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-shared --enable-static --disable-debug --enable-threads=yes\
 --with-libintl-prefix=C:/MinGW64/6.3.1/mingw --enable-assembler\
 --disable-rpath --with-libiconv-prefix=C:/MinGW64/6.3.1/mingw\
 CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/libffi-631
cd /adaprojects/MINGW631/libffi-631
rm -f -r -d * .libs
ls -l
#../libffi-3.2.1/configure --help
../libffi-3.2.1/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-shared --enable-static --disable-debug --with-gcc-arch=corei7-avx\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make
make install

cd /adaprojects/MINGW631/bzip2-1.0.6
make clean
make all
make install PREFIX=C:/MinGW64/6.3.1/mingw

cd /adaprojects/MINGW631/openssl-1.0.2l
#./Configure --help
make clean
./Configure mingw64 --prefix=C:/MinGW64/6.3.1/mingw threads zlib shared
make
make install

mkdir -p /adaprojects/MINGW631/sqlite-631
cd /adaprojects/MINGW631/sqlite-631
rm -f -r -d * .deps .libs
ls -l
#../sqlite-autoconf-3160200/configure --help
../sqlite-autoconf-3160200/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --disable-readline --enable-fts5 --enable-json1 --enable-session\
 CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/TCL-TK/tcl-631
cd /adaprojects/MINGW631/TCL-TK/tcl-631
rm -f -r -d *
ls -l
#../tcl8.6.6/win/configure --help
../tcl8.6.6/win/configure --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-threads --enable-shared --enable-64bit --with-encoding\
 CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/TCL-TK/tk-631
cd /adaprojects/MINGW631/TCL-TK/tk-631
rm -f -r -d *
ls -l
#../tk8.6.6/win/configure --help
../tk8.6.6/win/configure --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-threads --enable-shared --enable-64bit --with-tcl=C:/MinGW64/6.3.1/mingw/lib\
 CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/db-631
cd /adaprojects/MINGW631/db-631
rm -f -r -d * .libs
ls -l
#../db-6.2.23/dist/configure --help
../db-6.2.23/dist/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-cxx --disable-debug --enable-mingw --enable-dbm --enable-shared\
 --enable-static --enable-tcl --enable-sql\
 --enable-dbm --with-tcl=C:/MinGW64/6.3.1/mingw/lib\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2" LIBS="-ltcl86"
make
make install

Далее устанавливаем систему программирования Python-2.7.13.
Я четыре раза пытался построить POSIX-подобную систему PYTHON. Подобной той, что присутствует в стандартных установках системы MINGW. Но у меня так и не получилось построить полностью работоспособную систему. Тогда я решил просто установить фирменный пакет Python для Windows x64 версии 3.6.1 . И всё шло хорошо до попытки построить пакет "gobject-introspection". Некоторые процедуры PYTHON-модулей этого пакета получают в качестве параметра номер дескриптора открытого файла и оказалось, что этот номер в библиотеке PYTHON и в исполняющей библиотеке MINGW это совешенно разные сущности. При попытке интерпретатора PYTHON работать с файлами, открытыми в системе MINGW, итерпретор терпит крах, причём без всякой диагностики. Тогда я построил, хотя и не совсем правильную, но более менее работаспособную систему "Python 3.6.1" с помощью надстройки "Visual Studio" VisualGDB, взяв в качестве шаблона проект "pcbuild" в дистрибутиве "Python 3.6.1". Но, в конце концов оказалось, что версия PYTHON >= 3 не годится для достижения главной цели -- построения пакета "GPS gpl 2017". Так что, пришлось потрудиться, поднапрячся, повозиться и с помощью VisualGDB создать правильную реализацию Python-2.7.13 для MINGW64. Инсталлят этой реализации я упаковал в MSI-модуль и далее идёт описание процесса установки этой реализации.
* Рекомендую всё же установить фирменный пакет Python для Windows x64 версии 3.6.1, потому что при этом устанавливается очень плезная ФЬЮЧА -- снимается ограничение на длину переменных окружения (применимо для ОС "Windows 10" и "Windows Server 2016"). В дальнейшем, если этот пакет будет мешать, его можно деинсталлировать, а ФЬЮЧА останется работоспособной. Инсталлят можно взять здесь (появилась новая версия 3.6.2).


-- Command Prompt (Administrator)
cd /d C:\ADAPROJECTS\MINGW631\python
Python27GW\PythonSetup\Release\PythonSetup.msi
-- +++++++++++++++++++++++++++++++++++++++++++++++++
icacls C:\Python\Scripts /setowner dukov@rtsdd.ru /T
icacls C:\Python\Lib\site-packages /setowner dukov@rtsdd.ru /T
* где dukov@rtsdd.ru -- идентификатор текущего пользователя (с привилегиями администратора).

-- Windows Console (Current User with Administrator`s privilegials)
cd /d C:\ADAPROJECTS\MINGW631\python\setuptools-36.0.1
rm -f -r -d build
python setup.py build
python setup.py install --old-and-unmanageable

cd /d C:\ADAPROJECTS\MINGW631\python\pip-9.0.1
rm -f -r -d build
python setup.py build
python setup.py install --old-and-unmanageable

cd /d C:\ADAPROJECTS\MINGW631\python\Cython-0.25.2
rm -f -r -d build
python setup.py build
python setup.py install

cd /d C:\ADAPROJECTS\MINGW631\python\psutil-5.2.2
rm -f -r -d build
python setup.py build
python setup.py install

cd /d C:\ADAPROJECTS\MINGW631\python\coverage-4.4.1
rm -f -r -d build
python setup.py build
python setup.py install

-- msys console
mkdir -p /adaprojects/MINGW631/python/yaml-631
cd /adaprojects/MINGW631/python/yaml-631
rm -f -r -d *
ls -l
#../yaml-0.1.7/configure --help
../yaml-0.1.7/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-shared  --enable-static\
 CFLAGS='-g0 -O2'
make
make install

-- Command Prompt
cd /d C:\ADAPROJECTS\MINGW631\python\PyYAML-3.12
rm -f -r -d build
python setup.py build
python setup.py install


cd /d C:\ADAPROJECTS\MINGW631\python
pip install pep257
pip install pep8
pip install Mako
pip install Sphinx
pip install enum
pip install enum34
pip install sphinx-rtd-theme
pip install funcy
pip install autopep8
pip install yapf
* Пакеты утстанавливаемые командой PIP содержащие модули расширения (файлы *.pyd) не работают в данной реализации системы PYTHON. Чтобы установить такой пакет, нужно скачать дистрибутив пакета и установить пакет командамии
python setup.py build
python setup.py install
см. комады для установки пакетов "Cython-0.25.2", "psutil-5.2.2" "coverage-4.4.1", "PyYAML-3.12" .


Эта секция строит и устанавливает отладчик gdb с поддержкой интерфейса TUI.

mkdir -p /adaprojects/MINGW631/gdb-631
cd /adaprojects/MINGW631/gdb-631
rm -f -r -d *
ls -l
#../gdb-8.0/gdb/configure --help
#../gdb-8.0/bfd/configure --help
#../gdb-8.0/configure --help
../gdb-8.0/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
--enable-plugins --enable-gdbserver --with-system-readline\
--disable-rpath --with-libiconv-prefix=C:/MinGW64/6.3.1/mingw --with-expat=yes\
--with-lzma --with-liblzma-prefix=C:/MinGW64/6.3.1/mingw --with-system-zlib\
--enable-tui --with-curses --with-python\
CFLAGS='-g0 -O2'\
CXXFLAGS='-g0 -O2 -DHAVE_NCURSES_NCURSES_H=1 -I/mingw631/include/ncurses --include=C:/MinGW64/6.3.1/mingw/x86_64-w64-mingw32/include/math.h'
make
make install
* При запуске отладчика с интерфейсом tui отлаживаемые программы запускаются со своей собственной консолью. И вообще, если при запуске отладчика в обычном интерактивном режиме вы хотите разграничить ввод/вывод отладчика от ввода/вывода отлаживаемой программы, то запускайте отладчик с параметром -iex "set new-console on".

Далее идёт последовательность команд построения и установки пакетов, необходимых для построения окончательного варианта набора компиляторов GCC 6.3.1 и команды построения и устанавки самого этого набора.


cd /adaprojects/MINGW631/zip-631
make -f win32/makefile.gcc clean
make -f win32/makefile.gcc LOCAL_ZIP="-DNO_ASM"
cp -f *.exe /mingw631/bin
cp -f *.txt /mingw631/bin

cd /adaprojects/MINGW631/unzip60
make -f win32/Makefile.gcc clean
make -f win32/Makefile.gcc USEBZ2=1 NOASM=1 USEZLIB=1 CC_CPU_OPT="-g0 -O2 -mtune=corei7-avx"
cp -f *.exe /mingw631/bin
cp -f *.txt /mingw631/bin

mkdir -p /adaprojects/MINGW631/gmp-631
cd /adaprojects/MINGW631/gmp-631
rm -f -r -d *
ls -l
#../gmp-6.1.0/configure --help
../gmp-6.1.0/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --disable-static --enable-shared --enable-cxx --with-readline --enable-assert\
 --enable-assembly\
 CFLAGS='-g0 -O2 -mtune=corei7-avx' CXXFLAGS='-g0 -O2 -mtune=corei7-avx'
make
make install

mkdir -p /adaprojects/MINGW631/isl-631
cd /adaprojects/MINGW631/isl-631
rm -f -r -d *
ls -l
#../isl-0.17.1/configure --help
../isl-0.17.1/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --disable-static --enable-shared --with-gcc-arch=corei7-avx\
 --with-gmp=system --with-gmp-prefix=C:/MinGW64/6.3.1/mingw\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/mpfr-631
cd /adaprojects/MINGW631/mpfr-631
rm -f -r -d *
ls -l
#../mpfr-3.1.5/configure --help
../mpfr-3.1.5/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --disable-static --enable-shared --enable-assert --with-gmp=C:/MinGW64/6.3.1/mingw\
 --disable-thread-safe\
 CFLAGS='-g0 -O2 -mtune=corei7-avx' CXXFLAGS='-g0 -O2 -mtune=corei7-avx'
make
make install

mkdir -p /adaprojects/MINGW631/cloog-631
cd /adaprojects/MINGW631/cloog-631
rm -f -r -d *
ls -l
#../cloog-0.18.4/configure --help
../cloog-0.18.4/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --disable-static --enable-shared --with-gcc-arch=corei7-avx --disable-silent-rules\
 --with-isl=system --with-isl-prefix=C:/MinGW64/6.3.1/mingw\
 --with-gmp=system --with-gmp-prefix=C:/MinGW64/6.3.1/mingw\
 CFLAGS='-g0 -O2' CXXFLAGS='-g0 -O2'
make
make install

mkdir -p /adaprojects/MINGW631/mpc-631
cd /adaprojects/MINGW631/mpc-631
rm -f -r -d *
ls -l
#../mpc-1.0.3/configure --help
../mpc-1.0.3/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --disable-static --enable-shared\
 --with-mpfr-include=C:/MinGW64/6.3.1/mingw/include --with-mpfr-lib=C:/MinGW64/6.3.1/mingw/lib\
 --with-gmp-include=C:/MinGW64/6.3.1/mingw/include --with-gmp-lib=C:/MinGW64/6.3.1/mingw/lib\
 CFLAGS='-g0 -O2 -mtune=corei7-avx' CXXFLAGS='-g0 -O2 -mtune=corei7-avx'
make
make install

mkdir -p /adaprojects/MINGW631/gcc-631
cd /adaprojects/MINGW631/gcc-631
rm -f -r -d *
ls -l
#../gcc-6.3.1/libstdc++-v3/configure --help
#../gcc-6.3.1/configure --help
#../gcc-6.3.1/gcc/configure --help
#../gcc-6.3.1/boehm-gc/configure --help
../gcc-6.3.1/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-gold --enable-libada --enable-libssp --disable-bootstrap\
 --enable-objc-gc --enable-threads=win32 --disable-werror --enable-shared\
 --enable-libstdcxx-pch --enable-tls --disable-rpath --disable-vtable-verify\
 --enable-languages=ada,c,c++,lto,fortran,objc,obj-c++ --disable-multilib\
 --enable-libatomic --enable-graphite --enable-nls --disable-win32-registry\
 --enable-checking=release --with-arch=nocona --with-tune=corei7-avx\
 --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes\
 --enable-libgomp --enable-gold --disable-redirect-malloc --enable-cplusplus\
 --enable-clocale=auto --with-sysroot=/root631 --enable-lto --disable-libmpx\
 --enable-static --enable-libffi --enable-fully-dynamic-string\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make
make install
echo 'C:/MinGW64/6.3.1/mingw/lib' >> /python/Lib/site-packages/easy-install.pth

Далее идёт последовательность команд построения и установки пакетов, необходимых для построения пакета curl, который, в свою очередь, необходим для построения пакета cmake. Эти пакеты содержат различные библиотеки для работы с UNICODE, библиотеку glib, библиотеку libxml2, библиотеку libcroco, пакет gobject-introspection, различные криптографические и сетевые библиотеки, архиваторы, интерпретаторы и.т.д.


mkdir -p /adaprojects/MINGW631/libidn-631
cd /adaprojects/MINGW631/libidn-631
rm -f -r -d *
ls -l
#../libidn-1.32/configure --help
../libidn-1.32/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --disable-rpath --with-libiconv-prefix --with-libintl-prefix\
 --enable-threads=windows --disable-java\
 CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/libidn2-631
cd /adaprojects/MINGW631/libidn2-631
rm -f -r -d .deps .libs
ls -l
#../libidn2-0.11/configure --help
../libidn2-0.11/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-shared --enable-static --with-libiconv-prefix=C:/MinGW64/6.3.1/mingw\
 --disable-rpath --disable-gcc-warnings\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/icu-631
cd /adaprojects/MINGW631/icu-631
rm -f -r -d *
ls -l
#../icu-56-1/source/configure --help
../icu-56-1/source/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --disable-debug --disable-release --disable-rpath --with-data-packaging=library CXX='g++'\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make
make install
cd /mingw631/lib
ln libicudt.dll.a libicudt56.dll.a
ln libicuin.dll.a libicuin56.dll.a
ln libicuio.dll.a libicuio56.dll.a
ln libicule.dll.a libicule56.dll.a
ln libiculx.dll.a libiculx56.dll.a
ln libicutest.dll.a libicutest56.dll.a
ln libicutu.dll.a libicutu56.dll.a
ln libicuuc.dll.a libicuuc56.dll.a

mkdir -p /adaprojects/MINGW631/pcre-631
cd /adaprojects/MINGW631/pcre-631
rm -f -r -d * .deps .libs
ls -l
#../pcre-8.40/configure --help
../pcre-8.40/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --disable-silent-rules --enable-unicode-properties --enable-newline-is-any\
 --enable-pcregrep-libz --enable-pcretest-libreadline\
 --enable-pcregrep-libbz2 --enable-pcre16 --enable-pcre32\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/GTK/glib-631
cd /adaprojects/MINGW631/GTK/glib-631
rm -f -r -d *
ls -l
#../glib-2.46.2/configure --help
../glib-2.46.2/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-included-printf --enable-gtk-doc-html --with-libiconv=gnu --with-pcre=system\
 --with-threads=win32 --disable-rebuilds --enable-silent-rules\
 CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/libxml2-631
cd /adaprojects/MINGW631/libxml2-631
rm -f -r -d * .libs .deps
ls -l
#../libxml2-2.9.4/configure --help
../libxml2-2.9.4/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --with-fexceptions --with-history --disable-silent-rules --without-mem-debug\
 --enable-ipv6=yes --with-iconv=C:/MinGW64/6.3.1/mingw --with-icu\
 --with-readline=C:/MinGW64/6.3.1/mingw --with-python\
 --with-zlib=C:/MinGW64/6.3.1/mingw --with-lzma=C:/MinGW64/6.3.1/mingw\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make
make install
mv -f /python/Lib/site-packages/libxml2mod.dll\
 /python/Lib/site-packages/libxml2mod.pyd

mkdir -p /adaprojects/MINGW631/GTK/libcroco-631
cd /adaprojects/MINGW631/GTK/libcroco-631
rm -f -r -d *
ls -l
#../libcroco-0.6.11/configure --help
../libcroco-0.6.11/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/gettext-631
cd /adaprojects/MINGW631/gettext-631
rm -f -r -d *
ls -l
#../gettext-0.19.8.1/configure --help
../gettext-0.19.8.1/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-threads=windows --enable-shared --enable-static --disable-java --disable-rpath\
 --with-libiconv-prefix=C:/MinGW64/6.3.1/mingw --without-included-libunistring\
 --with-included-gettext --without-included-glib --without-included-libcroco\
 --with-included-libxml --with-libncurses-prefix=C:/MinGW64/6.3.1/mingw --without-emacs\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make
make install

mkdir -p cd /adaprojects/MINGW631/GTK/gobject-introspection-631
cd /adaprojects/MINGW631/GTK/gobject-introspection-631
rm -f -r -d * .deps .libs
ls -l
#../gobject-introspection-1.47.1/configure --help
../gobject-introspection-1.47.1/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-gtk-doc-html --with-glib-src=../glib-2.46.2 --disable-silent-rules\
 CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/nettle-631
cd /adaprojects/MINGW631/nettle-631
rm -f -r -d * .lib
ls -l
#../nettle-3.3/configure --help
../nettle-3.3/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-static --enable-shared --enable-x86-aesni --disable-pic\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/libtasn1-631
cd /adaprojects/MINGW631/libtasn1-631
rm -f -r -d *
ls -l
#../libtasn1-4.9/configure --help
../libtasn1-4.9/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-shared --enable-static --without-packager --disable-gcc-warnings\
 CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/ruby-631
cd /adaprojects/MINGW631/ruby-631
rm -f -r -d * .ext .installed.list .libruby-with-ext.time .rbconfig.time
ls -l
#../ruby-2.4.1/configure --help
../ruby-2.4.1/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-shared --with-winnt-ver=0x0602\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make
make test
make install

cd /adaprojects/MINGW631/boost_1_63_0
rm -f -r -d *.exe bin.v2 stage project-config.jam bootstrap.log
#./bootstrap.sh --help
./bootstrap.sh --prefix=C:/MinGW64/6.3.1/mingw
#./b2 --help
#./b2 --show-libraries
./b2 -q variant=release link=shared threading=multi runtime-link=shared --without-serialization install
cp -f -r /mingw631/include/boost-1_63/boost /mingw631/include
* В файл /adaprojects/MINGW620/boost_1_63_0/libs/python/build/Jamfile введена строка:
            <cxxflags>--include=C:/MinGW64/6.3.1/mingw/x86_64-w64-mingw32/include/math.h
(номер строки 93). Если у вас префикс установки другой, измените эту строку.

Построение и установка интерпретатора Perl.
Вся конфигурационная информация содержится в файле /adaprojects/MINGW620/perl/perl-5.24.1/win32/makefile.mk. Если хотите изменить конфигурацию интерпретатора Perl, отредактируйте этот файл.


-- Windows Console
cd /d C:\ADAPROJECTS\MINGW631\perl\perl-5.26.0\win32
cp -f /mingw510/bin/mingw32-make.exe /mingw631/bin
cp -f ../../dmake.exe /mingw631/bin
cp -f -r ../../startup /mingw631/bin
dmake clean
rem -- edit makefile.mk --
dmake all
dmake install

Чтобы первый раз воспользоваться командой "CPAN" нужно удалить папку .cpan в HOME-директории текущего пользователя Windows (если она там присутствует).


cd /d C:\ADAPROJECTS\MINGW631\perl
-- *** first invoke ***
cpan LWP::UserAgent
-- *** only one command ***

cpan XML::Parser

mkdir -p /adaprojects/MINGW631/swig-631
cd /adaprojects/MINGW631/swig-631
rm -f -r -d *
ls -l
#../swig-3.0.12/configure --help
../swig-3.0.12/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --with-tcl=C:/MinGW64/6.3.1/mingw --with-tclconfig=C:/MinGW64/6.3.1/mingw/lib\
 --enable-silent-rules --with-boost --without-java --without-gcj --without-csharp\
 --without-clisp --without-r --without-go --with-ruby\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make
make install

-- ===================================================================
-- configure:4075
#
# Determine configuration file
# the eval is to evaluate shell expansion twice
if test $on_mingw = "no"; then
  ub_conf_file=`eval echo "${sysconfdir}/unbound/unbound.conf"`
else
  ub_conf_file="C:/MinGW64/6.3.1/mingw/share/Unbound/service.conf"  <== 4075 ==
fi
-- ===================================================================
cd /adaprojects/MINGW631/unbound-1.6.0
make clean
#./configure --help
./configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-debug --without-pthreads --with-pyunbound --without-pythonmodule\
 --disable-rpath --with-ssl=C:/MinGW64/6.3.1/mingw --with-libexpat=C:/MinGW64/6.3.1/mingw\
 LIBS="-lws2_32"\
 CFLAGS="-g0 -O2 -DUB_ON_WINDOWS"
make
make install
mv -f /python/Lib/site-packages/_unbound.dll /python/Lib/site-packages/_unbound.pyd
smallapp/unbound-control-setup.sh
-- -------------------------------------------------------------------------------------------
$ smallapp/unbound-control-setup.sh
setup in directory C:/MinGW64/6.3.1/mingw/share/Unbound
generating unbound_server.key
Generating RSA private key, 3072 bit long modulus
................................................................++
..............................................................................................++
e is 65537 (0x10001)
generating unbound_control.key
Generating RSA private key, 3072 bit long modulus
.......................++
.........................................................++
e is 65537 (0x10001)
create unbound_server.pem (self signed certificate)
create unbound_control.pem (signed client certificate)
Signature ok
subject=/CN=unbound-control
Getting CA Private Key
Setup success. Certificates created. Enable in unbound.conf file to use
-- -------------------------------------------------------------------------------------------
unbound-anchor -a "C:/MinGW64/6.3.1/mingw/share/Unbound/root.key"

mkdir -p /adaprojects/MINGW631/p11-kit-631
cd /adaprojects/MINGW631/p11-kit-631
rm -f -r -d * .libs
ls -l
#../p11-kit-0.23.2/configure --help
../p11-kit-0.23.2/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-shared --with-libiconv-prefix --with-libintl-prefix --disable-rpath\
 --without-trust-paths\
 CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/libgpg-error-631
cd /adaprojects/MINGW631/libgpg-error-631
rm -f -r -d *
ls -l
#../libgpg-error-1.26/configure --help
../libgpg-error-1.26/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-threads=windows --disable-static --enable-shared --with-libiconv-prefix\
 --with-libintl-prefix --disable-rpath\
 CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/libgcrypt-631
cd /adaprojects/MINGW631/libgcrypt-631
rm -f -r -d *
ls -l
#../libgcrypt-1.7.5/configure --help
../libgcrypt-1.7.5/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --with-libgpg-error-prefix=C:/MinGW64/6.3.1/mingw\
 CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/gnutls-631
cd /adaprojects/MINGW631/gnutls-631
rm -f -r -d *
ls -l
#../gnutls-3.4.17/configure --help
../gnutls-3.4.17/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --disable-static --enable-shared --with-libiconv-prefix --with-libintl-prefix\
 --disable-rpath --with-libpthread-prefix --enable-local-libopts\
 --disable-silent-rules --enable-libopts-install\
 --with-libregex --with-libz-prefix\
 --with-system-priority-file=C:/MinGW64/6.3.1/mingw/etc/gnutls/default-priorities\
 --with-unbound-root-key-file=C:/MinGW64/6.3.1/mingw/share/Unbound/root.key\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2" LIBS="-lws2_32"\
 LDFLAGS="-LC:/Python/libs"
make
make install

cd /adaprojects/MINGW631/lz4-1.7.4.2
make clean
make all BUILD_STATIC=yes CC=C:/MinGW64/6.3.1/mingw/bin/gcc PREFIX=C:/MinGW64/6.3.1/mingw
make install BUILD_STATIC=yes CC=C:/MinGW64/6.3.1/mingw/bin/gcc PREFIX=C:/MinGW64/6.3.1/mingw

mkdir -p /adaprojects/MINGW631/lzo-631
cd /adaprojects/MINGW631/lzo-631
rm -f -r -d *
ls -l
#../lzo-2.09/configure --help
../lzo-2.09/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-shared  --enable-static\
 CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/libssh2-631
cd /adaprojects/MINGW631/libssh2-631
rm -f -r -d *
ls -l
#../libssh2-1.8.0/configure --help
../libssh2-1.8.0/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-shared --enable-static --disable-debug --with-openssl --with-libz\
 --disable-rpath --with-libssl-prefix=C:/MinGW64/6.3.1/mingw --with-libz-prefix\
 CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/libarchive-631
cd /adaprojects/MINGW631/libarchive-631
rm -f -r -d * .libs
ls -l
#../libarchive-3.2.2/configure --help
../libarchive-3.2.2/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-shared --enable-static --with-libiconv-prefix=C:/MinGW64/6.3.1/mingw\
 --disable-rpath\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make
make install

cd /adaprojects/MINGW631/rtmpdump-2.3
make clean SYS=mingw prefix=C:/MinGW64/6.3.1/mingw OPT="-g0 -O2"
make SYS=mingw prefix=C:/MinGW64/6.3.1/mingw OPT="-g0 -O2"\
 INC="-IC:/MinGW64/6.3.1/mingw/include"
make install SYS=mingw prefix=C:/MinGW64/6.3.1/mingw OPT="-g0 -O2"\
 INC="-IC:/MinGW64/6.3.1/mingw/include"

mkdir -p /adaprojects/MINGW631/libpsl-631
cd /adaprojects/MINGW631/libpsl-631
rm -f -r -d *
ls -l
#../libpsl-master/configure --help
../libpsl-master/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --disable-rpath --enable-runtime=libicu --with-libiconv-prefix --with-libintl-prefix\
 --disable-silent-rules --disable-builtin\
 CFLAGS="-g0 -O2" LIBS="-lws2_32"
# -no-undefined
make
make install

mkdir -p /adaprojects/MINGW631/libmetalink-631
cd /adaprojects/MINGW631/libmetalink-631
rm -f -r -d *
ls -l
#../libmetalink-0.1.3/configure --help
../libmetalink-0.1.3/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --with-libxml2 --disable-silent-rules\
 CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/nghttp2-631
cd /adaprojects/MINGW631/nghttp2-631
rm -f -r -d *
ls -l
#../nghttp2-1.20.0/configure --help
../nghttp2-1.20.0/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --disable-debug --enable-python-bindings --disable-silent-rules\
 CFLAGS="-g0 -O2" CXXFLAGS='-g0 -O2'
# --enable-app
make
make install

Далее строим и устанавливаем утилиту CUrl.


mkdir -p /adaprojects/MINGW631/curl-631
cd /adaprojects/MINGW631/curl-631
rm -f -r -d *
ls -l
#../curl-7.52.0/configure --help
../curl-7.52.0/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --disable-debug --disable-warnings --disable-werror --enable-shared --enable-static\
 --enable-http --enable-ftp --enable-file --with-nghttp2 --with-librtmp\
 --enable-ldap --enable-ldaps --enable-rtsp --disable-proxy --enable-dict\
 --enable-telnet --enable-tftp --enable-pop3 --enable-imap --enable-silent-rules\
 --enable-smb --enable-smtp --enable-gopher --enable-manual --enable-ipv6\
 --enable-threaded-resolver --enable-crypto-auth --with-libmetalink\
 --enable-tls-srp --disable-unix-sockets --enable-cookies --with-libidn2\
 LIBS="-lwinmm -licuuc -licudt"\
 CFLAGS="-g0 -O2"
make
make install

Далее строим и устанавливаем систему CMake.


cd /adaprojects/MINGW631/RHash-1.3.5
make clean
make  PREFIX=C:/MinGW64/6.3.1/mingw\
 ADDCFLAGS="-DUSE_GETTEXT" CC=gcc ADDLDFLAGS=-lintl
make install PREFIX=C:/MinGW64/6.3.1/mingw
mv -f /mingw631/bin/ed2k-link /mingw631/bin/ed2k-link.exe
mv -f /mingw631/bin/gost-hash /mingw631/bin/gost-hash.exe
mv -f /mingw631/bin/has160-hash /mingw631/bin/has160-hash.exe
mv -f /mingw631/bin/magnet-link /mingw631/bin/magnet-link.exe
mv -f /mingw631/bin/sfv-hash /mingw631/bin/sfv-hash.exe
mv -f /mingw631/bin/tiger-hash /mingw631/bin/tiger-hash.exe
mv -f /mingw631/bin/tth-hash /mingw631/bin/tth-hash.exe
mv -f /mingw631/bin/whirlpool-hash /mingw631/bin/whirlpool-hash.exe
cd librhash
make dll PREFIX=C:/MinGW64/6.3.1/mingw CC=gcc
make install-lib-static CC=gcc PREFIX=C:/MinGW64/6.3.1/mingw
cp -f librhash.dll C:/MinGW64/6.3.1/mingw/bin

mkdir -p /adaprojects/MINGW631/libuv-631
cd /adaprojects/MINGW631/libuv-631
rm -f -r -d *
ls -l
#../libuv-v1.14.0/configure --help
../libuv-v1.14.0/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 CFLAGS='-g0 -O2'
make
make install

mkdir -p /adaprojects/MINGW631/cmake-631
cd /adaprojects/MINGW631/cmake-631
rm -f -r -d *
ls -l
#../cmake-3.8.2/bootstrap --help
../cmake-3.8.2/bootstrap --prefix=C:/MinGW64/6.3.1/mingw --system-libs\
 --no-system-jsoncpp
Bootstrap.cmk/cmake.exe -D CMAKE_INSTALL_PREFIX:PATH=C:/MinGW64/6.3.1/mingw\
 -D BUILD_SHARED_LIBS:BOOL=ON -D CMAKE_BUILD_TYPE:STRING=Release\
 -D CMAKE_USE_SYSTEM_LIBRARIES:BOOL=ON -D CMAKE_USE_SYSTEM_LIBRARY_JSONCPP:BOOL=OFF\
 ../cmake-3.8.2
make
make install

Далее строим и устанавливаем систему LLVM.


-- Windows Console
rename C:\msys64\usr\bin\sh.exe sh-0.exe
md C:\ADAPROJECTS\MINGW631\jsoncpp-631
cd /d C:\ADAPROJECTS\MINGW631\jsoncpp-631
rm -f -r -d *
ls -l
cmake -G "MinGW Makefiles" -D CMAKE_INSTALL_PREFIX:PATH=C:/MinGW64/6.3.1/mingw -D BUILD_SHARED_LIBS:BOOL=ON -D CMAKE_BUILD_TYPE:STRING=Release ../jsoncpp-master
mingw32-make
mingw32-make install

md C:\ADAPROJECTS\MINGW631\llvm-631
cd /d C:\ADAPROJECTS\MINGW631\llvm-631
rm -f -r -d *
ls -l
cmake -G "MinGW Makefiles" -D CMAKE_INSTALL_PREFIX:PATH=C:/MinGW64/6.3.1/mingw -D BUILD_SHARED_LIBS:BOOL=ON -D CMAKE_BUILD_TYPE:STRING=Release -D FFI_INCLUDE_DIR:PATH=C:/MinGW64/6.3.1/mingw/lib/libffi-3.2.1/include -D FFI_LIBRARY_DIR:PATH=C:/MinGW64/6.3.1/mingw/lib -D LLVM_ENABLE_FFI:BOOL=ON -D LLVM_ENABLE_PIC:BOOL=OFF -D LLVM_INSTALL_UTILS:BOOL=ON ../llvm-3.7.0.src
mingw32-make
mingw32-make install
rename C:\msys64\usr\bin\sh-0.exe sh.exe

cd /d C:\ADAPROJECTS\MINGW631\conan-develop
rm -f -r -d build conan.egg-info dist
python setup.py build
python setup.py install

Далее строим и устанавливаем необязательные утилиты libtool, autoconf, automake, макропроцессор m4. Всё это может оставаться в смстеме MSYS, но в дальнейшем может понадобится именно MINGW версия этих пакетов.
Построение и утановка пакетов autoconf и automake возможны только при наличии системы CYGWIN и производятся из консоли CYGWIN.


mkdir -p /adaprojects/MINGW631/GTK/intltool-631
cd /adaprojects/MINGW631/GTK/intltool-631
rm -f -r -d *
ls -l
#../intltool-0.51.0/configure --help
../intltool-0.51.0/configure --prefix=C:/MinGW64/6.3.1/mingw --enable-silent-rules
make
make install

mkdir -p /adaprojects/MINGW631/libtool-631
cd /adaprojects/MINGW631/libtool-631
rm -f -r -d *
ls -l
#../libtool-2.4.6/configure --help
../libtool-2.4.6/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-shared --enable-static\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/m4-631
cd /adaprojects/MINGW631/m4-631
rm -f -r -d *
ls -l
#../m4-1.4.18/configure --help
../m4-1.4.18/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --disable-silent-rules --enable-threads=windows --disable-rpath --enable-c++\
 --with-syscmd-shell=C:/msys64/usr/bin/sh.exe\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make
make install

# cygwin
mkdir /adaprojects/MINGW631/autoconf-631
cd /adaprojects/MINGW631/autoconf-631
rm -f -r -d *
ls -l
#../autoconf-2.69/configure --help
../autoconf-2.69/configure --build=x86_64-pc-cygwin --host=x86_64-w64-mingw32\
 --prefix=C:/MinGW64/6.3.1/mingw
make
make install

# cygwin
mkdir -p /adaprojects/MINGW631/automake-631
cd /adaprojects/MINGW631/automake-631
rm -f -r -d *
ls -l
#../automake-1.15/configure --help
../automake-1.15/configure --build=x86_64-pc-cygwin --host=x86_64-w64-mingw32\
 --prefix=C:/MinGW64/6.3.1/mingw --enable-silent-rules\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make
make install

Далее идут команды построения и установки пакетов, необходимых для построения первого варианта пакета Cairo.


-- Windows Console
rename C:\msys64\usr\bin\sh.exe sh-0.exe
md C:\ADAPROJECTS\MINGW631\GTK\libpng-631
cd /d C:\ADAPROJECTS\MINGW631\GTK\libpng-631
rm -f -r -d *
ls -l
cmake -G "MinGW Makefiles" -D CMAKE_INSTALL_PREFIX:PATH=C:/MinGW64/6.3.1/mingw -D BUILD_SHARED_LIBS:BOOL=ON -D CMAKE_BUILD_TYPE:STRING=Release ../libpng-1.6.26
mingw32-make
mingw32-make install

md C:\ADAPROJECTS\MINGW631\GTK\graphite-631
cd /d C:\ADAPROJECTS\MINGW631\GTK\graphite-631
rm -f -r -d *
ls -l
cmake -G "MinGW Makefiles" -D CMAKE_INSTALL_PREFIX:PATH=C:/MinGW64/6.3.1/mingw -D BUILD_SHARED_LIBS:BOOL=ON -D CMAKE_BUILD_TYPE:STRING=Release -D CMAKE_SKIP_RPATH:BOOL=YES -D GRAPHITE2_ASAN:BOOL=OFF -D GRAPHITE2_COMPARE_RENDERER:BOOL=ON ../graphite2-1.3.3
mingw32-make
mingw32-make install
rename C:\msys64\usr\bin\sh-0.exe sh.exe

mkdir -p /adaprojects/MINGW631/GTK/freetype-631
cd /adaprojects/MINGW631/GTK/freetype-631
rm -f -r -d * .libs
ls -l
#../freetype-2.7.1/configure --help
../freetype-2.7.1/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --disable-mmap --with-zlib=yes --with-bzip2=yes --with-png=yes --with-harfbuzz=no\
 CFLAGS='-g0 -O2' CXXFLAGS='-g0 -O2'
make
make install

mkdir -p /adaprojects/MINGW631/GTK/fontconfig-631
cd /adaprojects/MINGW631/GTK/fontconfig-631
rm -f -r -d *
ls -l
#../fontconfig-2.12.1/configure --help
../fontconfig-2.12.1/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-iconv --with-libiconv=C:/MinGW64/6.3.1/mingw\
 --with-expat=C:/MinGW64/6.3.1/mingw --with-arch=corei7-avx\
 CFLAGS='-g0 -O2'
make
make install

mkdir -p /adaprojects/MINGW631/GTK/harfbuzz-631
cd /adaprojects/MINGW631/GTK/harfbuzz-631
rm -f -r -d *
ls -l
#../harfbuzz-1.4.2/configure --help
../harfbuzz-1.4.2/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-introspection --with-cairo=auto --with-fontconfig=yes\
 --with-graphite2=yes --with-freetype=yes --with-uniscribe=auto --with-coretext=auto\
 --disable-silent-rules --with-gobject=yes\
 CFLAGS='-g0 -O2' CXXFLAGS='-g0 -O2'
make
make install

mkdir -p /adaprojects/MINGW631/GTK/freetype-631
cd /adaprojects/MINGW631/GTK/freetype-631
rm -f -r -d * .libs
ls -l
#../freetype-2.7.1/configure --help
../freetype-2.7.1/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --disable-mmap --with-zlib=yes --with-bzip2=yes --with-png=yes --with-harfbuzz=yes\
 CFLAGS='-g0 -O2' CXXFLAGS='-g0 -O2'
make
make install

mkdir -p /adaprojects/MINGW631/GTK/jpeg-631
cd /adaprojects/MINGW631/GTK/jpeg-631
rm -f -r -d * .deps .libs
ls -l
#../jpeg-9a/configure --help
../jpeg-9a/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/GTK/jbig2dec-631
cd /adaprojects/MINGW631/GTK/jbig2dec-631
rm -f -r -d * .deps .libs
ls -l
#../jbig2dec-0.11/configure --help
../jbig2dec-0.11/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --with-libpng=C:/MinGW64/6.3.1/mingw\
 CFLAGS="-g0 -O2"
make
make install

cd /adaprojects/MINGW631/GTK/jbigkit-2.1/libjbig
make clean
make
cp -f *.exe /mingw631/bin
cp -f *.dll /mingw631/bin
cp -f *.txt /mingw631/bin
cp -f *.a /mingw631/lib
cp -f *.h /mingw631/include

cd /adaprojects/MINGW631/GTK/jbigkit-2.1/pbmtools
make clean
make
cp -f *.exe /mingw631/bin
cp -f *.txt /mingw631/bin
cp -f *.1 /mingw631/share/man/man1
cp -f *.5 /mingw631/share/man/man5

mkdir -p /adaprojects/MINGW631/GTK/tiff-631
cd /adaprojects/MINGW631/GTK/tiff-631
rm -f -r -d *
ls -l
#../tiff-4.0.7/configure --help
../tiff-4.0.7/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-cxx\
 CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/GTK/ghostscript-631
cd /adaprojects/MINGW631/GTK/ghostscript-631
rm -f -r -d *
ls -l
#../ghostscript-9.20/configure --help
../ghostscript-9.20/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --disable-gtk --with-libiconv=gnu --with-system-libtiff\
 CFLAGS="-g0 -O2"
make
cp -f ../ghostscript-9.20/gconfigd.h obj
touch obj/gconfigd.h
make
make install
cp -f -r ../gslib/* /mingw631

mkdir -p /adaprojects/MINGW631/GTK/libspectre-631
cd /adaprojects/MINGW631/GTK/libspectre-631
rm -f -r -d *
ls -l
#../libspectre-0.2.7/configure --help
../libspectre-0.2.7/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-asserts\
 CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/GTK/lcms2-631
cd /adaprojects/MINGW631/GTK/lcms2-631
rm -f -r -d *
ls -l
#../lcms2-2.8/configure --help
../lcms2-2.8/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --with-jpeg=C:/MinGW64/6.3.1/mingw --with-tiff=C:/MinGW64/6.3.1/mingw\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make all
make install

-- Windows Console
rename C:\msys64\usr\bin\sh.exe sh-0.exe
md C:\ADAPROJECTS\MINGW631\GTK\openjpeg-631
cd /d C:\ADAPROJECTS\MINGW631\GTK\openjpeg-631
rm -f -r -d *
ls -l
cmake -G "MinGW Makefiles" -D CMAKE_INSTALL_PREFIX:PATH=C:/MinGW64/6.3.1/mingw -D BUILD_SHARED_LIBS:BOOL=ON -D CMAKE_BUILD_TYPE:STRING=Release -D BUILD_PKGCONFIG_FILES:BOOL=ON ../openjpeg-2.1.2
mingw32-make
mingw32-make install
rename C:\msys64\usr\bin\sh-0.exe sh.exe

mkdir -p cd /adaprojects/MINGW631/GTK/poppler-631
cd /adaprojects/MINGW631/GTK/poppler-631
rm -f -r -d *
ls -l
#../poppler-0.50.0/configure --help
../poppler-0.50.0/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-xpdf-headers --enable-build-type=relwithdebinfo --enable-libopenjpeg=openjpeg2\
 --enable-libcurl --enable-introspection --enable-gtk-doc-html --disable-poppler-qt4\
 --disable-poppler-qt5 --disable-gtk-test\
 --with-font-configuration=win32 --with-libiconv-prefix --disable-cairo-output\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make
make install

-- Windows Console
rename C:\msys64\usr\bin\sh.exe sh-0.exe
md C:\ADAPROJECTS\MINGW631\GTK\freeglut-631
cd /d C:\ADAPROJECTS\MINGW631\GTK\freeglut-631
rm -f -r -d *
ls -l
cmake -G "MinGW Makefiles" -D CMAKE_INSTALL_PREFIX:PATH=C:/MinGW64/6.3.1/mingw -D BUILD_SHARED_LIBS:BOOL=ON -D CMAKE_BUILD_TYPE:STRING=Release ../freeglut-3.0.0
mingw32-make
mingw32-make install
rename C:\msys64\usr\bin\sh-0.exe sh.exe

mkdir -p /adaprojects/MINGW631/GTK/jasper-631
cd /adaprojects/MINGW631/GTK/jasper-631
rm -f -r -d *
ls -l
#../jasper-1.900.1/configure --help
../jasper-1.900.1/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --disable-debug\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/GTK/gdk-pixbuf-631
cd /adaprojects/MINGW631/GTK/gdk-pixbuf-631
rm -f -r -d *
ls -l
#../gdk-pixbuf-2.36.2/configure --help
../gdk-pixbuf-2.36.2/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --disable-debug --disable-rebuilds --enable-introspection --enable-gtk-doc-html\
 --with-libiconv-prefix --with-libintl-prefix --disable-rpath --with-libjasper\
 --enable-silent-rules\
 CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/GTK/pixman-631
cd /adaprojects/MINGW631/GTK/pixman-631
rm -f -r -d *
ls -l
#../pixman-0.34.0/configure --help
../pixman-0.34.0/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-timers --enable-silent-rules\
 CFLAGS="-g0 -O2"
make
make install

Теперь конфигурируем, строим и устанавливаем первый вариант пакета Cairo.


mkdir -p /adaprojects/MINGW631/GTK/cairo-631
cd /adaprojects/MINGW631/GTK/cairo-631
rm -f -r -d *
ls -l
#../cairo-1.15.4/configure --help
../cairo-1.15.4/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-gtk-doc-html --enable-xml --enable-silent-rules\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make
make install

Далее строим и устанавливаем пакеты, которые зависят от пакета Cairo. Среди них есть пакеты, от которых напрямую или опосредственно зависит сам пакет Cairo. Поэтому приходиться строить пакет Cairo несколько раз.


mkdir -p /adaprojects/MINGW631/GTK/harfbuzz-631
cd /adaprojects/MINGW631/GTK/harfbuzz-631
rm -f -r -d *
ls -l
#../harfbuzz-1.4.2/configure --help
../harfbuzz-1.4.2/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-introspection --with-cairo=yes --with-fontconfig=yes --with-graphite2=yes --with-freetype=yes\
 --with-uniscribe=auto --with-coretext=auto --disable-silent-rules --with-gobject=yes\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/GTK/libspectre-631
cd /adaprojects/MINGW631/GTK/libspectre-631
rm -f -r -d *
ls -l
#../libspectre-0.2.7/configure --help
../libspectre-0.2.7/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-asserts\
 CFLAGS="-g0 -O2"
make
make install

-- Windows Console
cd /d C:\ADAPROJECTS\MINGW631\GTK\pycairo-master
python setup.py build
python setup.py install

mkdir -p /adaprojects/MINGW631/GTK/pygobject-631
cd /adaprojects/MINGW631/GTK/pygobject-631
rm -f -r -d *
ls -l
#../pygobject-3.24.1/configure --help
../pygobject-3.24.1/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --disable-silent-rules --enable-cairo\
 CFLAGS="-g0 -O2"\
 PYCAIRO_CFLAGS="-I/python/Include/pycairo"\
 PYCAIRO_LIBS="-lcairo"
make
make install

mkdir -p /adaprojects/MINGW631/GTK/poppler-631
cd /adaprojects/MINGW631/GTK/poppler-631
rm -f -r -d *
ls -l
#../poppler-0.50.0/configure --help
../poppler-0.50.0/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-xpdf-headers --enable-build-type=relwithdebinfo --enable-libopenjpeg=openjpeg2\
 --disable-silent-rules --enable-libcurl --enable-introspection=yes --enable-gtk-doc-html\
 --disable-poppler-qt4 --disable-poppler-qt5 --disable-gtk-test\
 --with-font-configuration=win32 --with-libiconv-prefix --enable-cairo-output\
 --enable-zlib-uncompress --enable-poppler-glib\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make
make install

Теперь конфигурируем, строим и устанавливаем второй вариант пакета Cairo.


mkdir -p /adaprojects/MINGW631/GTK/cairo-631
cd /adaprojects/MINGW631/GTK/cairo-631
rm -f -r -d *
ls -l
#../cairo-1.15.4/configure --help
../cairo-1.15.4/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-gtk-doc-html --enable-xml --disable-silent-rules --disable-gl\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make
make install

Далее строим и устанавливаем дополнительные пакеты, от которых зависит пакет GTK+, а затем и сам пакет GTK+.


mkdir - p /adaprojects/MINGW631/GTK/pango-631
cd /adaprojects/MINGW631/GTK/pango-631
rm -f -r -d *
ls -l
#../pango-1.40.3/configure --help
../pango-1.40.3/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --disable-debug --disable-rebuilds --enable-introspection=yes\
 --enable-gtk-doc-html --with-cairo\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/GTK/librsvg-631
cd /adaprojects/MINGW631/GTK/librsvg-631
rm -f -r -d * .deps .libs
ls -l
#../librsvg-2.40.16/configure --help
../librsvg-2.40.16/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-introspection --disable-silent-rules\
 CFLAGS="-g0 -O2"
make
make install

cd /adaprojects/MINGW631/GTK/xorg-macros-631
#./configure --help
make clean
./configure --prefix=C:/MinGW64/6.3.1/mingw
make
make install

mkdir -p /adaprojects/MINGW631/GTK/libepoxy-631
cd /adaprojects/MINGW631/GTK/libepoxy-631
rm -f -r -d *
ls -l
#../libepoxy-1.3.1/configure --help
../libepoxy-1.3.1/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/GTK/atk-631
cd /adaprojects/MINGW631/GTK/atk-631
rm -f -r -d *
ls -l
#../atk-2.24.0/configure --help
../atk-2.24.0/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --disable-silent-rules --disable-rebuilds --enable-introspection=yes\
 CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/GTK/gtk-631
cd /adaprojects/MINGW631/GTK/gtk-631
rm -f -r -d *
ls -l
#../gtk+-3.14.15-src/configure --help
../gtk+-3.14.15-src/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --disable-debug --enable-glibtest --enable-introspection=yes\
 --enable-win32-backend --enable-test-print-backend --enable-broadway-backend\
 --enable-modules --enable-silent-rules\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make
make install

Теперь строим и устанавливаем второй вариант библиотеки librsvg (второй потому что этот пакет зависел от пакета GTK+) и окончательный вариант пакета Cairo.


mkdir -p /adaprojects/MINGW631/GTK/librsvg-631
cd /adaprojects/MINGW631/GTK/librsvg-631
rm -f -r -d * .deps .libs
ls -l
#../librsvg-2.40.16/configure --help
../librsvg-2.40.16/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-introspection=yes\
 CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/GTK/cairo-631
cd /adaprojects/MINGW631/GTK/cairo-631
rm -f -r -d *
ls -l
#../cairo-1.15.4/configure --help
../cairo-1.15.4/configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-gtk-doc-html --enable-xml --disable-silent-rules --disable-gl\
 CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2"
make
make install

Далее строим и устанавливаем вариант пакета gobject-introspection с поддержкой пакета Cairo.


mkdir -p /adaprojects/MINGW631/GTK/gobject-introspection-631
cd /adaprojects/MINGW631/GTK/gobject-introspection-631
rm -f -r -d * .deps .libs
ls -l
#../gobject-introspection-1.47.1/configure --help
../gobject-introspection-1.47.1/configure --build=x86_64-w64-mingw32\
 --prefix=C:/MinGW64/6.3.1/mingw --with-cairo\
 --enable-gtk-doc-html --with-glib-src=../glib-2.46.2 --enable-silent-rules\
 CFLAGS="-g0 -O2"
make
make install

Далее строим и устанавливаем два пакета из семейства GNOME-THEMES.


mkdir -p /adaprojects/MINGW631/GTK/gnome-themes-standard-631
cd /adaprojects/MINGW631/GTK/gnome-themes-standard-631
rm -f -r -d *
ls -l
#../gnome-themes-standard-3.22.2/configure --help
../gnome-themes-standard-3.22.2/configure --build=x86_64-w64-mingw32\
 --prefix=C:/MinGW64/6.3.1/mingw --disable-gtk2-engine\
 CFLAGS="-g0 -O2"
make
make install

mkdir -p /adaprojects/MINGW631/GTK/hicolor-icon-theme-631
cd /adaprojects/MINGW631/GTK/hicolor-icon-theme-631
rm -f -r -d *
ls -l
#../hicolor-icon-theme-0.15/configure --help
../hicolor-icon-theme-0.15/configure --build=x86_64-w64-mingw32\
 --prefix=C:/MinGW64/6.3.1/mingw --enable-silent-rules
make install

Далее строим и устанавливаем утилиту itstool.


mkdir -p /adaprojects/MINGW631/GTK/itstool-631
cd /adaprojects/MINGW631/GTK/itstool-631
rm -f -r -d *
ls -l
#../itstool-2.0.2/configure --help
../itstool-2.0.2/configure --prefix=C:/MinGW64/6.3.1/mingw
make
make install

Далее устанавливаем библиотеку GtkAda.


cd /adaprojects/MINGW631/gtkada-gpl-2017-src
#./configure --help
make clean
./configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-static --enable-shared --enable-build=Production --with-GL=no\
 CFLAGS="-g0 -O2"
make
make install

Далее строим и устанавливаем СУБД PostgreSQL.


-- Windows Console
cd /d C:\ADAPROJECTS\MINGW631\perl
cpan ExtUtils::Embed
cpan -f -i ExtUtils::MakeMaker

cd /adaprojects/MINGW631/postgresql-9.6.1
make distclean
#./configure --help
./configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-nls --disable-debug --with-perl --with-python --with-ldap --with-openssl --with-libxml\
 --with-tcl --with-tclconfig=C:/MinGW64/6.3.1/mingw/lib\
 CFLAGS="-g0 -O2"
make
make install

Далее устанавливаем библиотеку GnatColl.


cd /adaprojects/MINGW631/gnatcoll-gpl-2017-src
#gprinstall --uninstall -f --prefix=/mingw631 --project-subdir=lib/gnat gnatcoll
make clean
#./configure --help
./configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --enable-gpl --enable-build=Production --enable-shared\
 --with-gtk=3.0 --with-postgresql=C:/MinGW64/6.3.1/mingw\
 --with-sqlite=C:/MinGW64/6.3.1/mingw\
 --with-gmp=C:/MinGW64/6.3.1/mingw --with-iconv=C:/MinGW64/6.3.1/mingw\
 --disable-pygtk --enable-pygobject --enable-projects --enable-shared-python
make
make install

Далее устанавливаем программу GPS (GNAT Programming Studio).


mkdir -p /adaprojects/MINGW631/libclang-631
cd /adaprojects/MINGW631/libclang-631
cp -f /mingw631/bin/libclang.dll ./
gendef libclang.dll
dlltool --dllname libclang.dll --input-def libclang.def\
 --output-lib libclang.dll.a
cp -f ./libclang.dll.a /mingw631/lib

cd /adaprojects/MINGW631/quex-0.65.4
mkdir -p /mingw631/python/quex
cp -f -r ../quex-0.65.4/* /mingw631/python/quex
cp -f quex.exe /python/Scripts
cp -f quex-script.py /python/Scripts

cd /adaprojects/MINGW631/langkit-gps-src
mkdir -p /mingw631/python/langkit
echo "C:\\MinGW64\\6.3.1\\mingw\\python\\langkit" >> /python/Lib/site-packages/easy-install.pth
cp -f -r ../langkit-gps-src/* /mingw631/python/langkit

cd /adaprojects/MINGW631/libadalang-gps-src
rm -f -r -d build
python ada/manage.py generate
cp -f libadalang.py build/python
python ada/manage.py build
python ada/manage.py install C:/MinGW64/6.3.1/mingw
cp -f libadalang.py /python/Lib/site-packages

cd /adaprojects/MINGW631/python/jedi-master
rm -f -r -d build
rm -f -r -d jedi.egg-info
python setup.py build
rm -f -r -d build
mkdir -p /mingw631/python/jedi
echo "C:\\MinGW64\\6.3.1\\mingw\\python\\jedi" >> /python/Lib/site-packages/easy-install.pth
cp -f -r ../jedi-master/* /mingw631/python/jedi

-- Windows (Administrator)
cd /d C:\ADAPROJECTS\MINGW631
rm -f -r -d gps-gpl-2017-src
md gps-gpl-2017-src
xcopy /E /H /R /K /X /Y gps-gpl-2017-src-0\*.* gps-gpl-2017-src

-- msys
cd /adaprojects/MINGW631/gps-gpl-2017-src
#./configure --help
./configure --build=x86_64-w64-mingw32 --prefix=C:/MinGW64/6.3.1/mingw\
 --with-gtk=3.0 Build=Production\
 CFLAGS="-g0 -O2"
make Build=Production
make install Build=Production
* Существенным переделкам подверглись коды утилиты explaunch.exe, осуществляющей перехват консольного вывода подчинённого процесса. Так как эти коды в существующем пакете были существенно 32-разрядными пришлось потрудиться, чтобы перевести их в 64-разрядный код.
* В список кодировок окна редактирования введены две новые кодировки: локальная кодировка ANSI и локальная кодировка OEM, кодовые страницы которых берутся из Windows. Вообще то при программировании под Windows нужны только три кодировки: ANSI, OEM и UTF-8.



Далее устанавливаем несколько библиотек и утилит для программирования под Windows в среде GNAT Ada 2017.


-- Windows Console
cd /d C:\ADAPROJECTS\MINGW631\GWin\gnatcom
gprclean -P gnatcom_pkg -f -XLIBRARY_TYPE=static
gprclean -P gnatcom_pkg -f -XLIBRARY_TYPE=relocatable
gprbuild -P gnatcom_pkg -r -d -p -j3 -XLIBRARY_TYPE=static
gprbuild -P gnatcom_pkg -r -d -p -j3 -XLIBRARY_TYPE=relocatable
-- msys
cd /adaprojects/MINGW631/GWin/gnatcom/docs
#makeinfo --html -o com_with_gnat.html com_with_gnat.texi --force
#makeinfo --html -o gnatcom.html gnatcom.texi --force
-- Windows Console
cd /d C:\ADAPROJECTS\MINGW631\GWin\gnatcom
gprinstall -P gnatcom_pkg -r -f --uninstall
gprinstall -P gnatcom_pkg -p -f -r --build-var=LIBRARY_TYPE -XLIBRARY_TYPE=relocatable --build-name=relocatable
gprinstall -P gnatcom_pkg -p -f -r --build-var=LIBRARY_TYPE -XLIBRARY_TYPE=static --build-name=static

cd /d C:\ADAPROJECTS\MINGW631\GWin\gwindows
rem ansi.cmd
gprclean -P gwindows_pkg -r -XLIBRARY_TYPE=static
gprclean -P gwindows_pkg -r -XLIBRARY_TYPE=relocatable
gprbuild -P gwindows_pkg -r -d -p -XLIBRARY_TYPE=static
gprbuild -P gwindows_pkg -r -d -p -XLIBRARY_TYPE=relocatable
gprinstall -P gwindows_pkg -r -f --uninstall
gprinstall -P gwindows_pkg -r -p -f --build-var=LIBRARY_TYPE -XLIBRARY_TYPE=relocatable --build-name=relocatable
gprinstall -P gwindows_pkg -r -p -f --build-var=LIBRARY_TYPE -XLIBRARY_TYPE=static --build-name=static

cd /d C:\ADAPROJECTS\MINGW631\GWin\gwenerator
gprclean -P gwenerator
gprbuild -P gwenerator -p -d
gprinstall -P gwenerator -f --uninstall
gprinstall -P gwenerator -p -f

cd /d C:\ADAPROJECTS\MINGW631\GWin\gmshtml
rm -f -r -d src
md src\nobody
cd src
BindCOM C:\Windows\System32\mshtml.tlb MSHTML
BindCOM C:\Windows\System32\ieframe.dll SHDocVw
mv -f mshtml-dispcanvaspattern_object.adb nobody
mv -f mshtml-dispeventexception_object.adb nobody
mv -f mshtml-disphtcmethodbehavior_object.adb nobody
mv -f mshtml-icanvaspattern_object.adb nobody
mv -f mshtml-ihtcmethodbehavior_object.adb nobody
mv -f mshtml-ihtmlaudioelement_object.adb nobody
mv -f mshtml-ihtmllistelement_object.adb nobody
mv -f mshtml-ihtmlnoshowelement_object.adb nobody
mv -f mshtml-ihtmlphraseelement_object.adb nobody
mv -f mshtml-ihtmlspanelement_object.adb nobody
mv -f mshtml-ihtmltextelement_object.adb nobody
mv -f mshtml-ihtmlunknownelement_object.adb nobody
mv -f mshtml-iiccsvgcolor_object.adb nobody
mv -f mshtml-isvgdefselement_object.adb nobody
mv -f mshtml-isvgdescelement_object.adb nobody
mv -f mshtml-isvggelement_object.adb nobody
mv -f mshtml-isvgmetadataelement_object.adb nobody
mv -f mshtml-isvgpaint_object.adb nobody
mv -f mshtml-isvgpathsegclosepath_object.adb nobody
mv -f mshtml-isvgpolygonelement_object.adb nobody
mv -f mshtml-isvgpolylineelement_object.adb nobody
mv -f mshtml-isvgswitchelement_object.adb nobody
mv -f mshtml-isvgsymbolelement_object.adb nobody
mv -f mshtml-isvgtextelement_object.adb nobody
mv -f mshtml-isvgtitleelement_object.adb nobody
mv -f mshtml-isvgtspanelement_object.adb nobody
mv -f mshtml-isvgviewspec_object.adb nobody
mv -f mshtml-ixmlhttprequesteventtarget_object.adb nobody
cd ..
gprclean -f -P gmshtml
gprbuild -P gmshtml -p -d
gprinstall -P gmshtml -f --uninstall
gprinstall -P gmshtml -p -f
* На одном из моих виртуальных компьютеров (ОС Windows Server 2012 R2) команда:
BindCOM C:\Windows\System32\mshtml.tlb MSHTML
завершилась с ошикой, а команда:
BindCOM C:\Windows\System32\ieframe.dll SHDocVw
выполнилась нормально. Я попытался выполнить команду в отладчике и она выпонилась нормально. Не знаю почему это произошло, может быть что то связанное с многозадачностью.
gdb --tui --args BindCOM C:\Windows\System32\mshtml.tlb MSHTML
(gdb) start
(gdb) c


cd /d C:\ADAPROJECTS\MINGW631\AdaCurses
gprclean -P adacurses -XLIBRARY_TYPE=static
gprclean -P adacurses -XLIBRARY_TYPE=relocatable
gprbuild -P adacurses -d -p -XLIBRARY_TYPE=static
gprbuild -P adacurses -d -p -XLIBRARY_TYPE=relocatable
gprinstall -P adacurses -f --uninstall
gprinstall -P adacurses -p -f --build-var=LIBRARY_TYPE -XLIBRARY_TYPE=relocatable --build-name=relocatable --sources-subdir=include/AdaCurses/relocatable --lib-subdir=lib/AdaCurses/relocatable
gprinstall -P adacurses -p -f --build-var=LIBRARY_TYPE -XLIBRARY_TYPE=static --build-name=static --sources-subdir=include/AdaCurses/static --lib-subdir=lib/AdaCurses/static



Ну вот и всё! Наслаждайтесь жизнью в мире программирования GNAT Ada 2017 под Windows!!

Сергей Дюков
Адрес Skype


Таблица загрузок проекта:
Ссылка Описание
mingw-w64-install.exe Бинарный инсталляционный пакет системы «MINGW-w64».
msys2-x86_64-latest.exe Бинарный инсталляционный пакет системы «MSYS2-x86_64».
msys64.tar.xz Упакованная папка готовой инсталляции системы «MSYS2-x86_64». Инсталляция содежит все необходимые компоненты для построения данного проекта.
setup-x86_64.exe Бинарный инсталляционный пакет системы «CYGWIN-x86_64».
Far30b4900.x64.20170221.msi FAR Manager.
adaprojects.tar.xz Все дистрибутивы проекта в одном файле.
MINGW631 Папка файлов дисрибутивов пакетов.
Release/gcc-6.3.1.txt Последовательность команд для построения проекта в версии Release.
Debug/gcc-6.3.1.txt Последовательность команд для построения проекта в версии Debug.
python-3.6.1-amd64.exe Фирменный пакет Python для Windows x64 версии 3.6.1
python-3.6.2-amd64.exe Фирменный пакет Python для Windows x64 версии 3.6.2
gnat-2017.tar.xz Архив полной установки GNAT GPL 2017. Включает в себя: GCC 5.1.0 (фирменная установка MINGW-w64 5.1.0), GCC 6.3.1 (GNAT GPL 2017), perl 5.26 и Python 2.7.13. Для распаковки необходим установленный пакет MSYS2-w64 (смотри выше). Распаковка с помощью FAR или WinRAR не поддерживает создания HARDLINK-ссылок, присутсвующих в данном архиве.
ftp://ftp.rtsdd.ru/mingw_impl/ Сайт реализации MINGW64 различных версий

Таблица комментариев и пожеланий:
Добавте новый комментарий или пожелание:
Имя создателя комментария:   
Адрес электронной почты создателя комментария:   
Текст комментария:   
   
«RTSDD Web-Site» v 1.0.0000.0001 β Системы Реального Времени DD © 2019
Главный архитектор систем Сергей Дюков
Готово Статус исполнения