Написание LLVM Pass - PullRequest
       13

Написание LLVM Pass

1 голос
/ 05 марта 2012

Я пытаюсь создать проход LLVM, используя руководство на http://llvm.org/releases/2.9/docs/WritingAnLLVMPass.html
, но у меня есть несколько проблем:

  • У меня не так много папоккоторые указаны в руководстве (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 (таким образом он работает)

, но теперь у меня возникает эта ошибка, когда я делаю make в папку, содержащую мой файл hello.c (/usr/lib/llvm-2.9/ lib / Transforms / Hello):

make: ***  No rule to make target "/configure", needed by "/config.status".  Stop.

в чем проблема?!?

1 Ответ

2 голосов
/ 05 марта 2012

Похоже, вы пытаетесь разрабатывать, используя двоичные файлы библиотек.К сожалению, это не сработает.Вам нужно скачать исходники, собрать их и начать разработку собственного прохода.

Кроме того, 2.9 уже слишком древний.Рассмотрите хотя бы обновление до версии 3.0.

...