milis/talimatname/genel/l/llvm/talimat

88 lines
3.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Tanım: LLVM derleyicisi
# URL: https://llvm.org/
# Paketçi: milisarge
# Gerekler: libffi python ocaml swig cmake libedit
# Grup: geliştirme
isim=llvm
surum=6.0.1
devir=1
kaynak=(https://llvm.org/releases/6.0.1/llvm-6.0.1.src.tar.xz
https://llvm.org/releases/6.0.1/cfe-6.0.1.src.tar.xz
https://releases.llvm.org/6.0.1/clang-tools-extra-6.0.1.src.tar.xz
https://llvm.org/releases/6.0.1/compiler-rt-6.0.1.src.tar.xz
https://llvm.org/releases/6.0.1/lldb-6.0.1.src.tar.xz
llvm-config.h)
derle() {
cd llvm-${surum}.src
mv ${SRC}/cfe-${surum}.src tools/clang
mv ${SRC}/clang-tools-extra-${surum}.src tools/clang/tools/extra
mv ${SRC}/compiler-rt-${surum}.src projects/compiler-rt
mv ${SRC}/lldb-${surum}.src tools/lldb
chmod -R u=rwX,go=rX ${SRC}/llvm-${surum}.src
mkdir -p build
cd build
export PKG_CONFIG_PATH='/usr/lib/pkgconfig'
_ffi_include_flags=$(pkg-config --cflags-only-I libffi)
_ffi_libs_flags=$(pkg-config --libs-only-L libffi)
_cxx_headers="/usr/include/c++/5.3.0"
cmake -G 'Unix Makefiles' \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DCMAKE_INSTALL_PREFIX:PATH=/usr \
-DLLVM_TARGETS_TO_BUILD=all \
-DLLVM_APPEND_VC_REV:BOOL=ON \
-DLLVM_ENABLE_RTTI:BOOL=ON \
-DLLVM_ENABLE_FFI:BOOL=ON \
-DFFI_INCLUDE_DIR:PATH="${_ffi_include_flags#-I}" \
-DFFI_LIBRARY_DIR:PATH="${_ffi_libs_flags#-L}" \
-DLLVM_BUILD_LLVM_DYLIB:BOOL=ON \
-DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
-DLLVM_BINUTILS_INCDIR:PATH=/usr/include \
"../"
make
# install in clang packaging
sed -i '/clang\/cmake_install.cmake/d' tools/cmake_install.cmake
sed -i '/compiler-rt\/cmake_install.cmake/d' projects/cmake_install.cmake
# install in lldb
sed -i '/\(clang\|lldb\)\/cmake_install.cmake/d' tools/cmake_install.cmake
# install in clang-tools-extra
sed -i '/extra\/cmake_install.cmake/d' tools/clang/tools/cmake_install.cmake
make DESTDIR=${PKG} install
# Fix permissions of static libs
chmod -x ${PKG}/usr/lib/*.a
install -D -m644 ${SRC}/llvm-${surum}.src/LICENSE.TXT ${PKG}/usr/share/licenses/${isim}/LICENSE
cd build/tools/clang
make DESTDIR=${PKG} install
cd ../../projects/compiler-rt
make DESTDIR=${PKG} install
chmod -x ${PKG}/usr/lib/*.a
# part of clang-analyzer
rm ${PKG}/usr/bin/scan-build
rm ${PKG}/usr/bin/scan-view
cd ${SRC}/llvm-${surum}.src/tools/clang
install -d ${PKG}/usr/{bin,lib/clang-analyzer}
for _tool in scan-{build,view}; do
cp -a tools/${_tool} ${PKG}/usr/lib/clang-analyzer
ln -s /usr/lib/clang-analyzer/${_tool}/${_tool} ${PKG}/usr/bin
done
# Python scripts
python2 -m compileall ${PKG}/usr/lib/clang-analyzer
python2 -O -m compileall ${PKG}/usr/lib/clang-analyzer
cd build/tools/lldb
make DESTDIR=${PKG} install
python2 -m compileall ${PKG}/usr/lib/python2.7/site-packages/lldb
python2 -O -m compileall ${PKG}/usr/lib/python2.7/site-packages/lldb
# part of LLVM
rm ${PKG}/usr/lib/python2.7/site-packages/six.py
cd build/tools/clang/tools/extra
make DESTDIR=${PKG} install
mv "$PKG/usr/include/llvm/Config/llvm-config"{,-64}.h
cp "$SRC/llvm-config.h" "$PKG/usr/include/llvm/Config/llvm-config.h"
}