Пытаюсь у себя собрать llvm и clang под винду. Скачал с их сайта нужные исходники версии 3.6, поместил в нужные папки (clang -> llvm\tools\clang, compiler-rt -> llvm\projects\compiler-rt).
Установил MingGW gcc 4.8.2, cmake 3.2.2, python 2.7.9 и начал как по инструкции в оболочке msys создал папку build в ней дал команду ../llvm/configure --disable-docs --enable-optimized --enable-targets=x86 --prefix=/newclang
все сформировалось, и на радостях запускаю make -j8 и тут облом воводит ошибку:
Makefile:151: /Makefile.rules: No such file or directory
я иду на тут срочку, там:
include $(LLVM_SRC_ROOT)/Makefile.rules
ну думаю что-то не так с переменной LLVM_SRC_ROOT, нахожу в ее инициализацию в файле Makefile.config, там ей присваивается:
LLVM_SRC_ROOT := $(call realpath, /d/llvm-build/../llvm)
все вроде верно, но не пашет, решил присвоить ей прямой путь
d:/llvm, после make пошло дальше, но не долго сразу опять ошибка и т. д.
Что я не так делаю?
Пробовал через cmake, также создал папку build и в ней запустил:
cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release ..\llvm
в 1-й раз написало какие-то ошибки и создало один файл, я еще раз запустил и дальше дело пошло, все сформировалось (почему с 1-го раза не сформировалось как по инструкции для меня загадка)
дальше запускаю make -j8 и чудо пошла компиляция, но радось была не долгой, где-то на 13% начали падать сформированные ехе, одно из них llvm-tblgen.exe и следовательно дальше вся компиляция остановилась с ошибкой.
Что тут не так?
Вроде все верно делаю, а результата нет. Пробовал версию 3.5.2 но результат тот же.
Кто-нить скомпилил у себя этот llvm 3.6? Поделитесь опытом )
Я ставил себе уже скомпилированную версию llvm под винду, но в ней нет стандартных либ, когда указываю путь на них, то вылазят ошибки компиляции, причем ставил ссылки на либы gcc и VS2012. Но если проект делать в самой студии,
то все компилится, но проблема в том, что мне нужно все через командную строку. Посоветуйте, что в таком случае делать.
Здравствуйте, Airog, Вы писали:
A>LLVM_SRC_ROOT := $(call realpath, /d/llvm-build/../llvm)
A>все вроде верно, но не пашет, решил присвоить ей прямой путь d:/llvm, после make пошло дальше, но не долго сразу опять ошибка и т. д.
A>Что я не так делаю?
Безотносительно силанга. Если просит виндовые пути не понимая посиксных, как помню, надо запускать из родной консоли мсис, где настроены пути монтирования по-умолчанию: /c, /d, /bin и т.д.
Проверить нужно ли ему mingw, к примеру. Если нужно — прописать путь монтирования /mingw отдельно в /etc/fstab. Проверить что в переменной PATH нет путей с пробелами (да и во всех которые могут парситься), проверить что в путях к исходникам тоже нет пробелов и непотребных символов. Как то так.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]