Remove old mason
This commit is contained in:
@@ -1,33 +0,0 @@
|
||||
language: generic
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- os: osx
|
||||
osx_image: xcode7.3
|
||||
compiler: clang
|
||||
- os: linux
|
||||
compiler: gcc
|
||||
env: CXX=g++-5 CC=gcc-5
|
||||
sudo: false
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- libstdc++6
|
||||
- g++-5
|
||||
|
||||
env:
|
||||
global:
|
||||
- secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI="
|
||||
- secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ="
|
||||
|
||||
script:
|
||||
- ./mason install cmake 3.5.2
|
||||
- export PATH=$(./mason prefix cmake 3.5.2)/bin:${PATH}
|
||||
- ./mason install ninja 1.7.1
|
||||
- export PATH=$(./mason prefix ninja 1.7.1)/bin:${PATH}
|
||||
- ./mason build ${MASON_NAME} ${MASON_VERSION}
|
||||
|
||||
after_success:
|
||||
- ./mason publish ${MASON_NAME} ${MASON_VERSION}
|
||||
-110
@@ -1,110 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
MASON_NAME=clang
|
||||
MASON_VERSION=3.5.2
|
||||
MASON_LIB_FILE=bin/clang
|
||||
|
||||
. ${MASON_DIR}/mason.sh
|
||||
|
||||
|
||||
# options
|
||||
ENABLE_LLDB=false
|
||||
|
||||
function curl_get() {
|
||||
if [ ! -f $(basename ${1}) ] ; then
|
||||
mason_step "Downloading $1 to $(pwd)/$(basename ${1})"
|
||||
curl --retry 3 -f -L -O "$1"
|
||||
else
|
||||
echo "already downloaded $1 to $(pwd)/$(basename ${1})"
|
||||
fi
|
||||
}
|
||||
|
||||
function setup_release() {
|
||||
LLVM_RELEASE=$1
|
||||
BUILD_PATH=$2
|
||||
curl_get "http://llvm.org/releases/${LLVM_RELEASE}/llvm-${LLVM_RELEASE}.src.tar.xz"
|
||||
curl_get "http://llvm.org/releases/${LLVM_RELEASE}/cfe-${LLVM_RELEASE}.src.tar.xz"
|
||||
curl_get "http://llvm.org/releases/${LLVM_RELEASE}/compiler-rt-${LLVM_RELEASE}.src.tar.xz"
|
||||
curl_get "http://llvm.org/releases/${LLVM_RELEASE}/libcxx-${LLVM_RELEASE}.src.tar.xz"
|
||||
curl_get "http://llvm.org/releases/${LLVM_RELEASE}/libcxxabi-${LLVM_RELEASE}.src.tar.xz"
|
||||
#curl_get "http://llvm.org/releases/${LLVM_RELEASE}/libunwind-${LLVM_RELEASE}.src.tar.xz"
|
||||
curl_get "http://llvm.org/releases/${LLVM_RELEASE}/lld-${LLVM_RELEASE}.src.tar.xz"
|
||||
if [[ ${ENABLE_LLDB} == true ]]; then
|
||||
curl_get "http://llvm.org/releases/${LLVM_RELEASE}/lldb-${LLVM_RELEASE}.src.tar.xz"
|
||||
fi
|
||||
#curl_get "http://llvm.org/releases/${LLVM_RELEASE}/openmp-${LLVM_RELEASE}.src.tar.xz"
|
||||
curl_get "http://llvm.org/releases/${LLVM_RELEASE}/clang-tools-extra-${LLVM_RELEASE}.src.tar.xz"
|
||||
for i in $(ls *.xz); do
|
||||
echo "unpacking $i"
|
||||
tar xf $i;
|
||||
done
|
||||
mv llvm-${LLVM_RELEASE}.src/* ${BUILD_PATH}/
|
||||
ls ${BUILD_PATH}/
|
||||
mv cfe-${LLVM_RELEASE}.src ${BUILD_PATH}/tools/clang
|
||||
mv compiler-rt-${LLVM_RELEASE}.src ${BUILD_PATH}/projects/compiler-rt
|
||||
mv libcxx-${LLVM_RELEASE}.src ${BUILD_PATH}/projects/libcxx
|
||||
mv libcxxabi-${LLVM_RELEASE}.src ${BUILD_PATH}/projects/libcxxabi
|
||||
#mv libunwind-${LLVM_RELEASE}.src ${BUILD_PATH}/projects/libunwind
|
||||
mv lld-${LLVM_RELEASE}.src ${BUILD_PATH}/tools/lld
|
||||
if [[ ${ENABLE_LLDB} == true ]]; then
|
||||
mv lldb-${LLVM_RELEASE}.src ${BUILD_PATH}/tools/lldb
|
||||
fi
|
||||
#mv openmp-${LLVM_RELEASE}.src ${BUILD_PATH}/projects/openmp
|
||||
mv clang-tools-extra-${LLVM_RELEASE}.src ${BUILD_PATH}/tools/clang/tools/extra
|
||||
cd ../
|
||||
}
|
||||
|
||||
|
||||
function mason_load_source {
|
||||
mkdir -p "${MASON_ROOT}/.cache"
|
||||
cd "${MASON_ROOT}/.cache"
|
||||
export MASON_BUILD_PATH=${MASON_ROOT}/.build/llvm-${MASON_VERSION}
|
||||
if [[ -d ${MASON_BUILD_PATH}/ ]]; then
|
||||
rm -rf ${MASON_BUILD_PATH}/
|
||||
fi
|
||||
mkdir -p ${MASON_BUILD_PATH}/
|
||||
setup_release ${MASON_VERSION} ${MASON_BUILD_PATH}
|
||||
}
|
||||
|
||||
function mason_compile {
|
||||
CLANG_GIT_REV=$(git -C tools/clang/ rev-list --max-count=1 HEAD)
|
||||
mkdir -p ./build
|
||||
cd ./build
|
||||
CMAKE_EXTRA_ARGS=""
|
||||
## TODO: CLANG_DEFAULT_CXX_STDLIB and CLANG_APPEND_VC_REV not available in clang-3.8 cmake files
|
||||
if [[ $(uname -s) == 'Darwin' ]]; then
|
||||
CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DCLANG_DEFAULT_CXX_STDLIB=libc++"
|
||||
CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DC_INCLUDE_DIRS=:/usr/include:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/"
|
||||
CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DDEFAULT_SYSROOT=/"
|
||||
CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DCMAKE_OSX_DEPLOYMENT_TARGET=10.10"
|
||||
fi
|
||||
cmake ../ -G Ninja -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DLLVM_ENABLE_ASSERTIONS=OFF \
|
||||
-DCLANG_VENDOR=mapbox/mason \
|
||||
-DCLANG_REPOSITORY_STRING=https://github.com/mapbox/mason \
|
||||
-DCLANG_APPEND_VC_REV=$CLANG_GIT_REV \
|
||||
-DCLANG_VENDOR_UTI=org.mapbox.clang \
|
||||
-DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS}" \
|
||||
-DCMAKE_CXX_FLAGS="${CXXFLAGS}" \
|
||||
-DLLVM_OPTIMIZED_TABLEGEN=ON \
|
||||
${CMAKE_EXTRA_ARGS}
|
||||
ninja -j${MASON_CONCURRENCY} -k5
|
||||
ninja install -k5
|
||||
cd ${MASON_PREFIX}/bin/
|
||||
ln -s "clang++" "clang++-3.5"
|
||||
}
|
||||
|
||||
function mason_cflags {
|
||||
:
|
||||
}
|
||||
|
||||
function mason_ldflags {
|
||||
:
|
||||
}
|
||||
|
||||
function mason_static_libs {
|
||||
:
|
||||
}
|
||||
|
||||
mason_run "$@"
|
||||
@@ -1,38 +0,0 @@
|
||||
language: generic
|
||||
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/.ccache
|
||||
|
||||
env:
|
||||
global:
|
||||
- CCACHE_TEMPDIR=/tmp/.ccache-temp
|
||||
- CCACHE_COMPRESS=1
|
||||
- CASHER_TIME_OUT=1000
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- os: osx
|
||||
osx_image: xcode7.3
|
||||
compiler: clang
|
||||
- os: linux
|
||||
sudo: false
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- libstdc++6
|
||||
- libstdc++-5-dev
|
||||
- g++-5
|
||||
|
||||
env:
|
||||
global:
|
||||
- secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI="
|
||||
- secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ="
|
||||
|
||||
script:
|
||||
- ./mason build ${MASON_NAME} ${MASON_VERSION}
|
||||
|
||||
after_success:
|
||||
- ./mason publish ${MASON_NAME} ${MASON_VERSION}
|
||||
-51
@@ -1,51 +0,0 @@
|
||||
### Clang++ v3.8.0
|
||||
|
||||
This clang++ package depends on and defaults to compiling C++ programs against libstdc++.
|
||||
|
||||
For clang++ itself to be able to run and compile C++ programs you need to upgrade the libstdc++ version.
|
||||
|
||||
You also need to upgrade the libstdc++ for the programs to run that you compile with this version of clang++.
|
||||
|
||||
You can do this on Travis like:
|
||||
|
||||
```yml
|
||||
addons:
|
||||
apt:
|
||||
sources: [ 'ubuntu-toolchain-r-test' ]
|
||||
packages: [ 'libstdc++-5-dev' ]
|
||||
```
|
||||
|
||||
You can do this on any debian system like:
|
||||
|
||||
```sh
|
||||
add-apt-repository -y ppa:ubuntu-toolchain-r/test
|
||||
apt-get update -y
|
||||
apt-get install -y libstdc++-5-dev
|
||||
```
|
||||
|
||||
A full example of installing clang and upgrading libstdc++ on travis is:
|
||||
|
||||
```yml
|
||||
|
||||
language: generic
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- os: linux
|
||||
sudo: false
|
||||
env: CXX=clang++
|
||||
addons:
|
||||
apt:
|
||||
sources: [ 'ubuntu-toolchain-r-test' ]
|
||||
packages: [ 'libstdc++-5-dev' ]
|
||||
|
||||
install:
|
||||
- git clone --depth 1 https://github.com/mapbox/mason
|
||||
- ./.mason/mason install clang 3.8.0
|
||||
- export PATH=$(./.mason/mason prefix clang 3.8.0)/bin:${PATH}
|
||||
- which clang++
|
||||
```
|
||||
|
||||
Note: Installing `libstdc++-5-dev` installs a library named `libstdc++6`. This is not version 6, it is the ABI 6. Note that there is no dash between the `++` and the `6` like there is between the `++` and the `5` in the dev package. So don't worry about the mismatch of `5` and `6`. While the package name is based on the g++ version (`5`) the actual library version used, at the time of this writing, is `v6.1.1` (this comes from https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test/+packages). The `6` again is ABI not version: even the libstdc++ `v4.6.3` package (the default on Ubuntu precise) is named/aliased to `libstdc++6`
|
||||
|
||||
If you hit a runtime error like `/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version GLIBCXX_3.4.20' not found` it means you forgot to upgrade libstdc++6 to at least `v6.1.1`.
|
||||
-127
@@ -1,127 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
MASON_NAME=clang
|
||||
MASON_VERSION=3.8.0
|
||||
MASON_LIB_FILE=bin/clang
|
||||
|
||||
. ${MASON_DIR}/mason.sh
|
||||
|
||||
|
||||
# options
|
||||
ENABLE_LLDB=false
|
||||
|
||||
function curl_get() {
|
||||
if [ ! -f $(basename ${1}) ] ; then
|
||||
mason_step "Downloading $1 to $(pwd)/$(basename ${1})"
|
||||
curl --retry 3 -f -L -O "$1"
|
||||
else
|
||||
echo "already downloaded $1 to $(pwd)/$(basename ${1})"
|
||||
fi
|
||||
}
|
||||
|
||||
function setup_release() {
|
||||
LLVM_RELEASE=$1
|
||||
BUILD_PATH=$2
|
||||
curl_get "http://llvm.org/releases/${LLVM_RELEASE}/llvm-${LLVM_RELEASE}.src.tar.xz"
|
||||
curl_get "http://llvm.org/releases/${LLVM_RELEASE}/cfe-${LLVM_RELEASE}.src.tar.xz"
|
||||
curl_get "http://llvm.org/releases/${LLVM_RELEASE}/compiler-rt-${LLVM_RELEASE}.src.tar.xz"
|
||||
curl_get "http://llvm.org/releases/${LLVM_RELEASE}/libcxx-${LLVM_RELEASE}.src.tar.xz"
|
||||
curl_get "http://llvm.org/releases/${LLVM_RELEASE}/libcxxabi-${LLVM_RELEASE}.src.tar.xz"
|
||||
curl_get "http://llvm.org/releases/${LLVM_RELEASE}/libunwind-${LLVM_RELEASE}.src.tar.xz"
|
||||
curl_get "http://llvm.org/releases/${LLVM_RELEASE}/lld-${LLVM_RELEASE}.src.tar.xz"
|
||||
if [[ ${ENABLE_LLDB} == true ]]; then
|
||||
curl_get "http://llvm.org/releases/${LLVM_RELEASE}/lldb-${LLVM_RELEASE}.src.tar.xz"
|
||||
fi
|
||||
#curl_get "http://llvm.org/releases/${LLVM_RELEASE}/openmp-${LLVM_RELEASE}.src.tar.xz"
|
||||
curl_get "http://llvm.org/releases/${LLVM_RELEASE}/clang-tools-extra-${LLVM_RELEASE}.src.tar.xz"
|
||||
for i in $(ls *.xz); do
|
||||
echo "unpacking $i"
|
||||
tar xf $i;
|
||||
done
|
||||
mv llvm-${LLVM_RELEASE}.src/* ${BUILD_PATH}/
|
||||
ls ${BUILD_PATH}/
|
||||
mv cfe-${LLVM_RELEASE}.src ${BUILD_PATH}/tools/clang
|
||||
mv compiler-rt-${LLVM_RELEASE}.src ${BUILD_PATH}/projects/compiler-rt
|
||||
mv libcxx-${LLVM_RELEASE}.src ${BUILD_PATH}/projects/libcxx
|
||||
mv libcxxabi-${LLVM_RELEASE}.src ${BUILD_PATH}/projects/libcxxabi
|
||||
mv libunwind-${LLVM_RELEASE}.src ${BUILD_PATH}/projects/libunwind
|
||||
mv lld-${LLVM_RELEASE}.src ${BUILD_PATH}/tools/lld
|
||||
if [[ ${ENABLE_LLDB} == true ]]; then
|
||||
mv lldb-${LLVM_RELEASE}.src ${BUILD_PATH}/tools/lldb
|
||||
fi
|
||||
#mv openmp-${LLVM_RELEASE}.src ${BUILD_PATH}/projects/openmp
|
||||
mv clang-tools-extra-${LLVM_RELEASE}.src ${BUILD_PATH}/tools/clang/tools/extra
|
||||
cd ../
|
||||
}
|
||||
|
||||
|
||||
function mason_load_source {
|
||||
mkdir -p "${MASON_ROOT}/.cache"
|
||||
cd "${MASON_ROOT}/.cache"
|
||||
export MASON_BUILD_PATH=${MASON_ROOT}/.build/llvm-${MASON_VERSION}
|
||||
if [[ -d ${MASON_BUILD_PATH}/ ]]; then
|
||||
rm -rf ${MASON_BUILD_PATH}/
|
||||
fi
|
||||
mkdir -p ${MASON_BUILD_PATH}/
|
||||
setup_release ${MASON_VERSION} ${MASON_BUILD_PATH}
|
||||
}
|
||||
|
||||
function mason_prepare_compile {
|
||||
${MASON_DIR}/mason install ccache 3.2.4
|
||||
MASON_CCACHE=$(${MASON_DIR}/mason prefix ccache 3.2.4)
|
||||
${MASON_DIR}/mason install clang 3.8.0
|
||||
MASON_CLANG=$(${MASON_DIR}/mason prefix clang 3.8.0)
|
||||
${MASON_DIR}/mason install cmake 3.5.2
|
||||
MASON_CMAKE=$(${MASON_DIR}/mason prefix cmake 3.5.2)
|
||||
${MASON_DIR}/mason install ninja 1.7.1
|
||||
MASON_NINJA=$(${MASON_DIR}/mason prefix ninja 1.7.1)
|
||||
}
|
||||
|
||||
function mason_compile {
|
||||
export CXX="${MASON_CLANG}/bin/clang++"
|
||||
export CC="${MASON_CLANG}/bin/clang"
|
||||
mkdir -p ./build
|
||||
cd ./build
|
||||
CMAKE_EXTRA_ARGS=""
|
||||
## TODO: CLANG_DEFAULT_CXX_STDLIB and CLANG_APPEND_VC_REV not available in clang-3.8 cmake files
|
||||
if [[ $(uname -s) == 'Darwin' ]]; then
|
||||
CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DCLANG_DEFAULT_CXX_STDLIB=libc++"
|
||||
CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DC_INCLUDE_DIRS=:/usr/include:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/"
|
||||
CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DDEFAULT_SYSROOT=/"
|
||||
CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DCMAKE_OSX_DEPLOYMENT_TARGET=10.11"
|
||||
fi
|
||||
CXXFLAGS="${CXXFLAGS//-mmacosx-version-min=10.8}"
|
||||
${MASON_CMAKE}/bin/cmake ../ -G Ninja -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_CXX_COMPILER_LAUNCHER="${MASON_CCACHE}/bin/ccache" \
|
||||
-DCMAKE_CXX_COMPILER="$CXX" \
|
||||
-DCMAKE_C_COMPILER="$CC" \
|
||||
-DLLVM_ENABLE_ASSERTIONS=OFF \
|
||||
-DCLANG_VENDOR=mapbox/mason \
|
||||
-DCLANG_REPOSITORY_STRING=https://github.com/mapbox/mason \
|
||||
-DCLANG_VENDOR_UTI=org.mapbox.clang \
|
||||
-DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS}" \
|
||||
-DCMAKE_CXX_FLAGS="${CXXFLAGS}" \
|
||||
-DLLVM_OPTIMIZED_TABLEGEN=ON \
|
||||
-DCMAKE_MAKE_PROGRAM=${MASON_NINJA}/bin/ninja \
|
||||
${CMAKE_EXTRA_ARGS}
|
||||
${MASON_NINJA}/bin/ninja -j${MASON_CONCURRENCY} -k5
|
||||
${MASON_NINJA}/bin/ninja install -k5
|
||||
cd ${MASON_PREFIX}/bin/
|
||||
rm -f "clang++-3.8"
|
||||
ln -s "clang++" "clang++-3.8"
|
||||
}
|
||||
|
||||
function mason_cflags {
|
||||
:
|
||||
}
|
||||
|
||||
function mason_ldflags {
|
||||
:
|
||||
}
|
||||
|
||||
function mason_static_libs {
|
||||
:
|
||||
}
|
||||
|
||||
mason_run "$@"
|
||||
Reference in New Issue
Block a user