2016-06-21 4 views
0

Недавно я портирую Apple Clang-700.1.81 на debian 8.1. Я успешно строить лязг сApple Clang на Debian8.1

cmake ../llvm -DLLVM_TARGET_TO_BUILD="X86" -DCMAKE_INSTALL_PREFIX="/usr" -DDLLVM_DEFAULT_TARGET_TRIPLE="x86_64-apple-darwin15.3.0" 
Make clang -j8 -s 2>Logs 

CC компилятором: GCC-4.9 CXX компилятор: г ++ - 4,9

Выходя с целевым по умолчанию x86_64-яблочного darwin3.16.0-amd64

Есть все, что мне не хватает?

ответ

1

ОК, наконец, я нашел решение для этого.

Убедитесь, что установлены все эти плагины.

gcc-4.9 g++-4.9-multilib gcc-4.9-multilib gobjc automake autoconf bison flex libtool python-dev libxml2-dev 

Строительство лязг-700.0.81 на системе Unix

Там может быть какая-то ошибка исправить, это то, что я сделал.

  1. Исключить исходный файл CFString.cpp или перейти из каталога.

  2. disable SourceManager просто комментирует код, вызывающий ошибку компилятора.

  3. "brace-initialization" добавить дополнительные фигурные скобки, чтобы исправить это.

Строительство лязг-703.0.31 на системе Unix

лязг-703.0.31 не требуется никакой конфигурации, как лязг-700.0.81 делает.

Патч clang-703.0.31 с этим кодом, позволяющий препроцессору сбрасывать правильную версию clang.

src/tools/clang/lib/Basic/Version.cpp  
@@ -112,6 +112,9 @@ 
      OS << LLVMRepo << ' '; 
     OS << LLVMRev << ')'; 
     } 
    + OS << " ("; 
    + OS << 'clang-703.0.31'; 
    + OS << ')'; 
     return OS.str(); 
    } 

Наконец построить лязг-700.0.81 или лязг-703.0.31 с этими аргументами

cmake -G "Unix Makefiles" ../src -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DLLVM_INCLUDE_TESTS=False -DCOMPILER_RT_INCLUDE_TESTS=False -DLLVM_USE_SANITIZER=Address 

Фикс меня, если я ошибаюсь

Смежные вопросы