forked from OSchip/llvm-project
126 lines
2.5 KiB
Bash
126 lines
2.5 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
# add header for .ll files
|
||
|
|
||
|
# get tmp header
|
||
|
cp header /tmp/tmp.header
|
||
|
echo >> /tmp/tmp.header
|
||
|
|
||
|
# create temporary test package
|
||
|
mkdir c-$MACHTYPE$OSTYPE
|
||
|
`cp c/*.ll c-$MACHTYPE$OSTYPE/`
|
||
|
|
||
|
# add new header into .ll files
|
||
|
for file in c-$MACHTYPE$OSTYPE/*
|
||
|
do
|
||
|
cp $file /tmp/tmp.ll.bf
|
||
|
cat /tmp/tmp.header /tmp/tmp.ll.bf > /tmp/tmp.ll
|
||
|
mv /tmp/tmp.ll $file
|
||
|
done
|
||
|
|
||
|
|
||
|
# in bin/, target is ../LLVM-IR/ARCH/OS
|
||
|
LEVEL=../LLVM-IR/
|
||
|
ARCH_PATH=../LLVM-IR/
|
||
|
OS_PATH=../LLVM-IR/
|
||
|
|
||
|
# for linux system, add your arch and os here
|
||
|
declare -a ARCHes=(x86 x86_64 powerpc arm mips darwin)
|
||
|
declare -a OSes=(linux macosx windows darwin)
|
||
|
|
||
|
declare lowerARCH
|
||
|
declare lowerOS
|
||
|
|
||
|
# target directory name
|
||
|
declare upperARCH
|
||
|
declare upperOS
|
||
|
|
||
|
lowerARCH=$(echo "$MACHTYPE" | tr '[:upper:]' '[:lower:]')
|
||
|
lowerOS=$(echo "$OSTYPE" | tr '[:upper:]' '[:lower:]')
|
||
|
|
||
|
# ARCH
|
||
|
for i in ${ARCHes[@]}
|
||
|
do
|
||
|
result=$(echo "${lowerARCH}" | grep $i)
|
||
|
if [[ "$result" != "" ]]
|
||
|
then
|
||
|
# upperARCH=$i
|
||
|
upperARCH=$(echo "$i" | tr '[:lower:]' '[:upper:]')
|
||
|
fi
|
||
|
done
|
||
|
|
||
|
if [[ "$upperARCH" == "" ]]
|
||
|
then
|
||
|
echo "Not found ${lowerARCH} in the [${ARCHes[@]}]!"
|
||
|
exit
|
||
|
fi
|
||
|
|
||
|
# OS
|
||
|
for i in ${OSes[@]}
|
||
|
do
|
||
|
result=$(echo "${lowerOS}" | grep $i)
|
||
|
if [[ "$result" != "" ]]
|
||
|
then
|
||
|
# upperOS=$i
|
||
|
upperOS=$(echo "$i" | tr '[:lower:]' '[:upper:]')
|
||
|
fi
|
||
|
done
|
||
|
|
||
|
if [[ "$upperOS" == "" ]]
|
||
|
then
|
||
|
echo "Not found ${lowerOS} in the [${OSes[@]}]!"
|
||
|
exit
|
||
|
fi
|
||
|
|
||
|
# survived, assemble the path
|
||
|
# ARCH_PATH+=$upperARCH/
|
||
|
# OS_PATH+=$upperARCH/$upperOS/
|
||
|
ARCH_newFormat=.
|
||
|
if [ $upperARCH = "X86" ]; then
|
||
|
ARCH_newFormat=32
|
||
|
else
|
||
|
ARCH_newFormat=32e
|
||
|
fi
|
||
|
OS_newFormat=.
|
||
|
if [ $upperOS = "LINUX" ]; then
|
||
|
OS_newFormat=lin
|
||
|
elif [ $upperOS = "MACOSX" ]; then
|
||
|
OS_newFormat=mac
|
||
|
elif [ $upperOS = "WINDOWS" ]; then
|
||
|
OS_newFormat=win
|
||
|
elif [ $upperOS = "DARWIN" ]; then
|
||
|
OS_newFormat=dar
|
||
|
else
|
||
|
OS_newFormat=unknown
|
||
|
fi
|
||
|
OS_PATH+=$OS_newFormat"_"$ARCH_newFormat
|
||
|
|
||
|
# test and create directory
|
||
|
if [ ! -d "$LEVEL" ]; then
|
||
|
mkdir $LEVEL
|
||
|
mkdir $OS_PATH
|
||
|
else
|
||
|
if [ ! -d "$OS_PATH" ]; then
|
||
|
mkdir $OS_PATH
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
# reserve the tmp path to LLVM-IR/ARCH/OS
|
||
|
echo $OS_PATH"/" > lit.tmp
|
||
|
|
||
|
# OS_ARCH=$OS_newFormat"_"$ARCH_newFormat
|
||
|
# echo -e "if not '$OS_ARCH' in config.root.targets:" > $OS_PATH'/'lit.local.cfg
|
||
|
# echo -e "\tconfig.unsupported = True" >> $OS_PATH'/'lit.local.cfg
|
||
|
|
||
|
# copy *.ll files to ARCH/OS
|
||
|
`cp lit.* $LEVEL`
|
||
|
|
||
|
# omit orph test
|
||
|
`rm c-$MACHTYPE$OSTYPE/ctest_*.ll`
|
||
|
`rm c-$MACHTYPE$OSTYPE/orph_ctest_*.ll`
|
||
|
`cp c-$MACHTYPE$OSTYPE/*.ll $OS_PATH`
|
||
|
|
||
|
# clean
|
||
|
`rm /tmp/tmp.*`
|
||
|
rm -rf c-$MACHTYPE$OSTYPE/
|