я пытаюсь создать LLVM передать с помощью руководства по http://llvm.org/releases/2.9/docs/WritingAnLLVMPass.html
, но у меня возникают несколько проблем:Пишем LLVM Pass
я есть не многие из папки, которые указаны в руководство (lib/Transform/Hello) и (Debug + Asserts), я создал их, правильно? Каков правильный путь? я создать эти: /usr/lib/llvm-2.9/lib/Transforms/Hello и /usr/lib/llvm-2.9/Debug+Asserts
, когда я пытаюсь создать файл в руководстве у меня есть ошибки :
.
# Makefile for hello pass
# Path to top level of LLVM heirarchy
LEVEL = /usr/lib/llvm-2.9/build #*********I MODIFY THIS!!!! ***************
# Name of the library to build
LIBRARYNAME = Hello
# Make the shared library become a loadable module so the tools can
# dlopen/dlsym on the resulting library.
LOADABLE_MODULE = 1
# Tell the build system which LLVM libraries your pass needs. You'll probably
# need at least LLVMSystem.a, LLVMSupport.a, LLVMCore.a but possibly several
# others too.
LLVMLIBS = LLVMCore.a LLVMSupport.a LLVMSystem.a
# Include the makefile implementation stuff
include $(LEVEL)/Makefile.common
и я изменить и другие строки в Makefile.common:
ifndef LLVM_SRC_ROOT
include $(LEVEL)/Makefile.rules
else
include $(LLVM_SRC_ROOT)/Makefile.rules
endif
, потому что он не находит Makefile.rules (таким образом она работает)
, но теперь у меня есть эта ошибка, когда я действительно делаю в папку, содержащие мой файл hello.c (/usr/lib/llvm-2.9/lib/Transforms/Hello):
make: *** No rule to make target "/configure", needed by "/config.status". Stop.
В чем проблема?!?
я прочитал это где-то: "# НЕ устанавливайте LLVMLIBS, документация LLVM имеет это неправильно #LLVMLIBS = LLVMCore.a LLVMSupport.a LLVMSystem.a" это правда? что вы имеете в виду: «Вам нужно загружать источники, строить их», где я могу их скачать? – Nicola
Очевидно, из http://llvm.org/releases/download.html#3.0 –
ОК, спасибо !!, но теперь у меня другая проблема, я получаю эту ошибку, когда пытаюсь сделать: ../../ ../Makefile.common:61: ../../../Makefile.config: Нет такого файла или каталога ../../../Makefile.common:69: /Makefile.rules: Нет таких файл или каталог make: *** Нет правила для создания цели /Makefile.rules. Стоп. Я прочитал еще одно сообщение с этим вопросом, но я не понимаю, как решить – Nicola