mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-08-27 01:11:33 +02:00
89 lines
2.4 KiB
Bash
Executable File
89 lines
2.4 KiB
Bash
Executable File
#!/usr/bin/env sh
|
|
#-*-mode: Shell-script; coding: utf-8;-*-
|
|
export script=$(basename "$0")
|
|
export dir=$(cd "$(dirname "$0")"; pwd)
|
|
export iam=${dir}/${script}
|
|
llvm_major=3.7
|
|
llvm_version=${llvm_major}.1
|
|
llvm_srcdir="/tmp/llvm-${llvm_version}.src"
|
|
suffix="-${llvm_major}"
|
|
llvm_builddir=/tmp/build
|
|
polly_orig_srcdir="/tmp/polly-$llvm_version.src"
|
|
|
|
cd "$llvm_srcdir"
|
|
|
|
_cmake_flags="\
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_VERBOSE_MAKEFILE=NO \
|
|
-DLLVM_BINUTILS_INCDIR=/usr/include \
|
|
-DLLVM_ENABLE_ASSERTIONS=NO \
|
|
-DLLVM_ENABLE_LIBCXX=NO \
|
|
-DLLVM_ENABLE_PIC=YES \
|
|
-DLLVM_ENABLE_ZLIB=YES \
|
|
-DLLVM_ENABLE_RTTI=YES \
|
|
-DLLVM_BUILD_EXAMPLES=NO \
|
|
-DLLVM_INCLUDE_EXAMPLES=NO \
|
|
-DLIBXML2_INCLUDE_DIR=/usr/include/libxml2 \
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
-DLLVM_TARGETS_TO_BUILD='all' \
|
|
-DLLVM_BUILD_EXTERNAL_COMPILER_RT=NO \
|
|
-DBUILD_SHARED_LIBS=NO \
|
|
-DLLVM_BUILD_DOCS=NO \
|
|
-DLLVM_BUILD_TESTS=NO \
|
|
-DLLVM_ENABLE_CXX1Y=NO \
|
|
-DLLVM_ENABLE_FFI=YES \
|
|
-DLLVM_ENABLE_SPHINX=NO \
|
|
-DLLVM_ENABLE_TERMINFO=NO \
|
|
-DLLVM_ENABLE_CURSES=NO \
|
|
-DWITH_POLLY=YES \
|
|
-DLLVM_INCLUDE_EXAMPLES=NO \
|
|
-DLLVM_INCLUDE_TESTS=NO \
|
|
"
|
|
srcdir_polly="$llvm_srcdir"/tools/polly
|
|
mv /tmp/polly-$llvm_version.src "$srcdir_polly" || return 1
|
|
|
|
(
|
|
OCFLAGS="${CFLAGS}"
|
|
OCXXFLAGS="${CXXFLAGS}"
|
|
unset CFLAGS
|
|
unset CXXFLAGS
|
|
|
|
test -z "${OCFLAGS}" && OCFLAGS="-O3"
|
|
test -z "${OCXXFLAGS}" && OCXXFLAGS="-O3"
|
|
|
|
cflags="${OCFLAGS} -DNDEBUG -I$srcdir/tmp/include"
|
|
cxxflags="${OCXXFLAGS} -DNDEBUG -fno-devirtualize"
|
|
|
|
export CC=gcc
|
|
export CXX=g++
|
|
|
|
ffi_include_dir="$(pkg-config --cflags-only-I libffi | sed 's|^-I||g')"
|
|
|
|
cflags="${OCFLAGS} -DNDEBUG"
|
|
cxxflags="${OCXXFLAGS} -DNDEBUG"
|
|
|
|
mkdir -p "${llvm_builddir}"
|
|
cd "${llvm_builddir}"
|
|
cmake -G "Unix Makefiles" -Wno-dev ${_cmake_final_flags} \
|
|
-DCMAKE_C_COMPILER="${CC}" \
|
|
-DCMAKE_CXX_COMPILER="${CXX}" \
|
|
-DCMAKE_C_FLAGS_RELEASE="${cflags}" \
|
|
-DCMAKE_CXX_FLAGS_RELEASE="${cxxflags}" \
|
|
-DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS} -L$srcdir/tmp/lib" \
|
|
-DCMAKE_SHARED_LINKER_FLAGS="${LDFLAGS}" \
|
|
-DFFI_INCLUDE_DIR="$ffi_include_dir" \
|
|
-DCMAKE_PREFIX_PATH="$srcdir/tmp" \
|
|
"${llvm_srcdir}" || return 1
|
|
|
|
(
|
|
export LD_LIBRARY_PATH="$srcdir/tmp/lib:$LD_LIBRARY_PATH"
|
|
make -j$(grep -c processor /proc/cpuinfo) llvm-tblgen || return 1
|
|
make -j$(grep -c processor /proc/cpuinfo) || return 1
|
|
) || return 1
|
|
export CFLAGS="${OCFLAGS}"
|
|
export CXXFLAGS="${OCXXFLAGS}"
|
|
|
|
# install portion
|
|
make -j1 install || return 1
|
|
) || return 1
|