Fix Plume arm builds (#427)
llvm latest svn commit is broken as of 2019/01/12. This patch pins the llvm+lld versions used for arm compiles. It also tweaks the architecture detection to be more reliable in multi-lib/multi-arch situations where the CPU is 64bit but the runtime is 32bit.
This commit is contained in:
parent
944a9d08a7
commit
a2ddfb0ee9
@ -1,8 +1,24 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
ARCH=`arch`
|
ARCH=$(python <<EOF
|
||||||
|
from __future__ import print_function
|
||||||
|
import platform
|
||||||
|
processor = platform.machine()
|
||||||
|
architecture = platform.architecture()
|
||||||
|
if processor == 'aarch64':
|
||||||
|
# Mutli arch arm support is why this 32bit check is present
|
||||||
|
if '32bit' in architecture:
|
||||||
|
print('armv71', end='')
|
||||||
|
else:
|
||||||
|
print('aarch64', end='')
|
||||||
|
elif processor == 'x86 64' or processor == 'x86_64':
|
||||||
|
print('amd64', end='')
|
||||||
|
elif processor == 'armv7l':
|
||||||
|
print('armhf', end='')
|
||||||
|
EOF
|
||||||
|
)
|
||||||
|
|
||||||
if [ "$ARCH" == "aarch64" -o "$ARCH" == "armv7l" ] ; then
|
if [ $ARCH == "aarch64" -o $ARCH == "armv71" ] ; then
|
||||||
export PATH=/opt/local/llvm/bin:${PATH}
|
export PATH=/opt/local/llvm/bin:${PATH}
|
||||||
cd /app
|
cd /app
|
||||||
RUSTFLAGS="-C linker=lld" cargo web deploy -p plume-front
|
RUSTFLAGS="-C linker=lld" cargo web deploy -p plume-front
|
||||||
|
@ -1,14 +1,34 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
ARCH=`arch`
|
ARCH=$(python <<EOF
|
||||||
|
from __future__ import print_function
|
||||||
|
import platform
|
||||||
|
processor = platform.machine()
|
||||||
|
architecture = platform.architecture()
|
||||||
|
if processor == 'aarch64':
|
||||||
|
# Mutli arch arm support is why this 32bit check is present
|
||||||
|
if '32bit' in architecture:
|
||||||
|
print('armv71', end='')
|
||||||
|
else:
|
||||||
|
print('aarch64', end='')
|
||||||
|
elif processor == 'x86 64' or processor == 'x86_64':
|
||||||
|
print('amd64', end='')
|
||||||
|
elif processor == 'armv7l':
|
||||||
|
print('armhf', end='')
|
||||||
|
EOF
|
||||||
|
)
|
||||||
|
|
||||||
if [ "$ARCH" == "aarch64" -o "$ARCH" == "armv7l" ] ; then
|
echo "Detected arch: $ARCH"
|
||||||
|
|
||||||
|
if [ $ARCH == "aarch64" -o $ARCH == "armv71" ] ; then
|
||||||
apt-get install -y --no-install-recommends build-essential subversion ninja-build cmake
|
apt-get install -y --no-install-recommends build-essential subversion ninja-build cmake
|
||||||
mkdir -p /scratch/src
|
mkdir -p /scratch/src
|
||||||
cd /scratch/src
|
cd /scratch/src
|
||||||
svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
|
# Pin LLVM to post 7.0.1 tag and pin to a known-good revision for Plume builds
|
||||||
|
svn co -r350977 http://llvm.org/svn/llvm-project/llvm/trunk/ llvm
|
||||||
cd /scratch/src/llvm/tools
|
cd /scratch/src/llvm/tools
|
||||||
svn co http://llvm.org/svn/llvm-project/lld/trunk lld
|
# Pin lld to post 7.0.1 tag and pin to a known-good revision for Plume builds
|
||||||
|
svn co -r350975 http://llvm.org/svn/llvm-project/lld/trunk lld
|
||||||
#svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
|
#svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
|
||||||
#svn co http://llvm.org/svn/llvm-project/clang-tools-extra/trunk extra
|
#svn co http://llvm.org/svn/llvm-project/clang-tools-extra/trunk extra
|
||||||
mkdir -p /scratch/build/arm
|
mkdir -p /scratch/build/arm
|
||||||
|
Loading…
Reference in New Issue
Block a user