LLVM, CLang версия 3.6
От: Airog Украина  
Дата: 21.04.15 10:16
Оценка:
Пытаюсь у себя собрать 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. Но если проект делать в самой студии,
то все компилится, но проблема в том, что мне нужно все через командную строку. Посоветуйте, что в таком случае делать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.