Bridging Minix & llvm-apps repos for instrumentating Minix
Allows instrumentation of Minix components using LLVM passes from
"llvm-apps" repository
In addition, the change does the following:
1. Move releasetools/generate_gold_plugin.sh to minix/llvm
2. Move external/bsd/llvm/passes to minix/llvm/passes
3. libLTO.so, LLVMgold.so and WeakAliasModuleOverride.so files
now get installed in minix/llvm/bin
This commit is contained in:
@@ -1,66 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
cd $(dirname $0)
|
||||
|
||||
: ${NETBSDSRCDIR=${PWD}/..}
|
||||
: ${LLVMSRCDIR=${NETBSDSRCDIR}/external/bsd/llvm/dist}
|
||||
: ${ARCH=i386}
|
||||
: ${JOBS=1}
|
||||
: ${OBJ_LLVM=${NETBSDSRCDIR}/../obj_llvm.${ARCH}}
|
||||
: ${OBJ=${NETBSDSRCDIR}/../obj.${ARCH}}
|
||||
: ${CROSS_TOOLS=${OBJ}/"tooldir.`uname -s`-`uname -r`-`uname -m`"/bin}
|
||||
|
||||
echo ${NETBSDSRCDIR}
|
||||
echo ${LLVMSRCDIR}
|
||||
echo ${OBJ_LLVM}
|
||||
echo ${OBJ}
|
||||
echo ${CROSS_TOOLS}
|
||||
|
||||
# Retrieve all the GPL sources
|
||||
cd ${NETBSDSRCDIR}
|
||||
find . -name fetch.sh -exec '{}' \;
|
||||
|
||||
# Build LLVM manually
|
||||
mkdir -p ${OBJ_LLVM}
|
||||
cd ${OBJ_LLVM}
|
||||
|
||||
${LLVMSRCDIR}/llvm/configure \
|
||||
--enable-targets=x86 \
|
||||
--with-c-include-dirs=/usr/include/clang-3.4:/usr/include \
|
||||
--disable-timestamps \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/etc/llvm \
|
||||
--with-clang-srcdir=${LLVMSRCDIR}/clang \
|
||||
--host=i586-elf32-minix \
|
||||
--with-binutils-include=${NETBSDSRCDIR}/external/gpl3/binutils/dist/include \
|
||||
--disable-debug-symbols \
|
||||
--enable-assertions \
|
||||
--enable-bindings=none \
|
||||
llvm_cv_gnu_make_command=make \
|
||||
ac_cv_path_CIRCO="echo circo" \
|
||||
ac_cv_path_DOT="echo dot" \
|
||||
ac_cv_path_DOTTY="echo dotty" \
|
||||
ac_cv_path_FDP="echo fdp" \
|
||||
ac_cv_path_NEATO="echo neato" \
|
||||
ac_cv_path_TWOPI="echo twopi" \
|
||||
ac_cv_path_XDOT="echo xdot" \
|
||||
--enable-optimized \
|
||||
CC=cc
|
||||
|
||||
make -j ${JOBS}
|
||||
|
||||
# Copy the gold plugin where the NetBSD build system expects it.
|
||||
mkdir -p ${NETBSDSRCDIR}/external/bsd/llvm/passes/lib/
|
||||
cp ${OBJ_LLVM}/./Release+Asserts/lib/libLTO.so ${NETBSDSRCDIR}/external/bsd/llvm/passes/lib/
|
||||
cp ${OBJ_LLVM}/./Release+Asserts/lib/LLVMgold.so ${NETBSDSRCDIR}/external/bsd/llvm/passes/lib/
|
||||
|
||||
# Copy useful LLVM tools
|
||||
mkdir -p ${CROSS_TOOLS}
|
||||
cp ${OBJ_LLVM}/./Release+Asserts/bin/llc ${CROSS_TOOLS}
|
||||
cp ${OBJ_LLVM}/./Release+Asserts/bin/opt ${CROSS_TOOLS}
|
||||
cp ${OBJ_LLVM}/./Release+Asserts/bin/llvm-* ${CROSS_TOOLS}
|
||||
|
||||
# Generate and Install default MINIX passes
|
||||
cd ${NETBSDSRCDIR}/external/bsd/llvm/passes/WeakAliasModuleOverride
|
||||
make LLVMPREFIX=${OBJ_LLVM}/./Release+Asserts/ install
|
||||
|
||||
Reference in New Issue
Block a user