Replace find-alt-triple.sh with CMake regular expressions.

This has the advantage that it works on Windows, too.
This commit is contained in:
kai
2012-06-25 23:42:58 +02:00
parent cef19fb225
commit 0d7c0869a5
2 changed files with 5 additions and 24 deletions

View File

@@ -131,11 +131,11 @@ set(DEFAULT_TARGET ${LLVM_HOST_TARGET} CACHE STRING "default target")
add_definitions(-DDEFAULT_TARGET_TRIPLE="${DEFAULT_TARGET}")
# Generate the alternate target triple (x86 on x86_64 and vice versa.)
execute_process(
COMMAND /bin/sh ${PROJECT_SOURCE_DIR}/find-alt-triple.sh ${LLVM_HOST_TARGET}
OUTPUT_VARIABLE HOST_ALT_TARGET
OUTPUT_STRIP_TRAILING_WHITESPACE
)
if(LLVM_HOST_TARGET MATCHES "i[3-9]86-")
string(REGEX REPLACE "^i[3-9]86-(.*)" "x86_64-\\1" HOST_ALT_TARGET ${LLVM_HOST_TARGET})
elseif(LLVM_HOST_TARGET MATCHES "^x86_64-.*")
string(REGEX REPLACE "^x86_64-(.*)" "i686-\\1" HOST_ALT_TARGET ${LLVM_HOST_TARGET})
endif()
set(DEFAULT_ALT_TARGET ${HOST_ALT_TARGET} CACHE STRING "default alt target")
add_definitions(-DDEFAULT_ALT_TARGET_TRIPLE="${DEFAULT_ALT_TARGET}")

View File

@@ -1,19 +0,0 @@
#!/bin/bash
HOST_TARGET=$1
[ "$HOST_TARGET" = "" ] && exit 1
REST=`echo $HOST_TARGET | sed -e 's/[a-zA-Z0-9_]*\(\-.*\)/\1/'`
X86=`echo $HOST_TARGET | sed -e 's/\(i[3-9]86\)\-.*/\1/'`
X86_64=`echo $HOST_TARGET | sed -e 's/\(x86_64\)\-.*/\1/'`
ALT=
if [ "$X86_64" != "$HOST_TARGET" ]; then
ALT="i686$REST"
elif [ "$X86" != "$HOST_TARGET" ]; then
ALT="x86_64$REST"
fi
echo $ALT