AMDmi3 писал(а):
А вообще не понимаю почему вместо того чтобы плясать от задачи (собрать то-то и так-то CMake'ом) вы зачем-то занялись переносом configure-специфичных флагов.
Долгая история. Ну попробую вкратце. Как получится. Некоторое время назад я заинтересовался
языком D. Даже попытался
собрать русскоязычное комьюнити по нему. Но, увы, язык не сильно распространен. Хотя язык проектировался как С+++ (еще до С++11), большинство знакомых используют его в каких-то ИМХО "узко-специализируемых" (OpenGL Win only) и порой несвойственных (CMS для web) проектах. Я же хочу получить набор инструментов для кросс-платформенного создания ПО. И у меня есть хороший пример. Под Funtoo Linux я таки собрал для С++ для интересующих меня целей (Win 32/64, Linux 32/64, MacOSX 64, Android-чисто тест). Все это удобным набором интегрировалось в QtCreator. На этой связке я в течение полутора лет весьма успешно и очень удобно разработал и сдал проект госконторе. Заказчик был более чем доволен. Сервак на FreeBSD 9.0+PostgreSQL, клиенты большей части под виндой, приходил проверяющий с нотом под Manjaro Linux x64, получил клиента и офигевал от разнообразия предложенного. В общем все прошло как по маслу. Но это работа ...
С языком D хочу такое же рабочее окружение. Плагин к QtCreator'у уже есть, осталось таки собрать тулчейны. Но загвоздка в том, что выбранный мною компилятор (самый перспективный)
LDC, благодаря использованию
LLVM, может генерить код под большое количество архитектур и операционных систем. Но создание того, о чем я написал в начале (о тулчейнах) выворачивает мне мозг.
Последовательность нативной сборки:
1) Собираем LLVM (+опционально clang)
2) Собираем
DMD3) Собираем LDC, указывая инсталляции п.1 и п.2 (LLVM точно бэкэнд, роль DMD - пока не знаю, обязательность появилась в последней версии LDC)
Это первый и самый простой шаг. Теперь мне нужно получить туллчейны для x86_64-w64-mingw32.static, x86_64-w64-mingw32.shared, i686-w64-mingw32.static, i686-w64-mingw32.shared (MacOSX,Android,iOS - в планах, как осилю и осознаю). Первая попытка создания была провальной,
на сайте мне подсказали кое-чего, но прошло много времени, обновились версии, появилась эта "обязательность DMD". В общем, я опять в непонятках, как и что собирать, в каких форматах должны быть рантайм-либы. А тут еще "сюрприз" от LLVM (типа с версии 3.9 autotools'а больше не будет, только CMAKE). Ну вот я и вернулся к началу :-\