Merge pull request #3235 from Project-OSRM/mason-improvements
Mason improvements
This commit is contained in:
commit
12ded539aa
@ -24,7 +24,7 @@ if(ENABLE_MASON)
|
|||||||
set(MASON_CLANG_VERSION "3.8.1")
|
set(MASON_CLANG_VERSION "3.8.1")
|
||||||
set(MASON_BOOST_VERSION "1.61.0")
|
set(MASON_BOOST_VERSION "1.61.0")
|
||||||
set(MASON_STXXL_VERSION "1.4.1")
|
set(MASON_STXXL_VERSION "1.4.1")
|
||||||
set(MASON_EXPAT_VERSION "2.1.1")
|
set(MASON_EXPAT_VERSION "2.2.0")
|
||||||
set(MASON_LUA_VERSION "5.2.4")
|
set(MASON_LUA_VERSION "5.2.4")
|
||||||
set(MASON_LUABIND_VERSION "e414c57bcb687bb3091b7c55bbff6947f052e46b")
|
set(MASON_LUABIND_VERSION "e414c57bcb687bb3091b7c55bbff6947f052e46b")
|
||||||
set(MASON_BZIP2_VERSION "1.0.6")
|
set(MASON_BZIP2_VERSION "1.0.6")
|
||||||
@ -32,6 +32,12 @@ if(ENABLE_MASON)
|
|||||||
set(MASON_CCACHE_VERSION "3.3.1")
|
set(MASON_CCACHE_VERSION "3.3.1")
|
||||||
|
|
||||||
message(STATUS "Enabling mason")
|
message(STATUS "Enabling mason")
|
||||||
|
|
||||||
|
find_program(CURL_FOUND curl)
|
||||||
|
if(NOT CURL_FOUND)
|
||||||
|
message(FATAL_ERROR "curl command required with -DENABLE_MASON")
|
||||||
|
endif()
|
||||||
|
|
||||||
set(MASON_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/third_party/mason/mason)
|
set(MASON_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/third_party/mason/mason)
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/third_party/mason/mason.cmake)
|
include(${CMAKE_CURRENT_SOURCE_DIR}/third_party/mason/mason.cmake)
|
||||||
if(NOT CMAKE_CXX_COMPILER)
|
if(NOT CMAKE_CXX_COMPILER)
|
||||||
@ -400,6 +406,10 @@ if(ENABLE_MASON)
|
|||||||
set(ENV{CCACHE_CPP2} "true")
|
set(ENV{CCACHE_CPP2} "true")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# note: we avoid calling find_package(Osmium ...) here to ensure that the
|
||||||
|
# expat and bzip2 are used from mason rather than the system
|
||||||
|
include_directories(SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/third_party/libosmium/include)
|
||||||
|
|
||||||
else()
|
else()
|
||||||
|
|
||||||
find_package(Boost 1.49.0 REQUIRED COMPONENTS ${BOOST_COMPONENTS})
|
find_package(Boost 1.49.0 REQUIRED COMPONENTS ${BOOST_COMPONENTS})
|
||||||
@ -450,6 +460,12 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# note libosmium depends on expat and bzip2
|
||||||
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/third_party/libosmium/cmake")
|
||||||
|
set(OSMIUM_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/third_party/libosmium/include")
|
||||||
|
find_package(Osmium REQUIRED COMPONENTS io)
|
||||||
|
include_directories(SYSTEM ${OSMIUM_INCLUDE_DIR})
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# even with mason builds we want to link to system zlib
|
# even with mason builds we want to link to system zlib
|
||||||
@ -457,11 +473,6 @@ endif()
|
|||||||
find_package(ZLIB REQUIRED)
|
find_package(ZLIB REQUIRED)
|
||||||
add_dependency_includes(${ZLIB_INCLUDE_DIRS})
|
add_dependency_includes(${ZLIB_INCLUDE_DIRS})
|
||||||
|
|
||||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/third_party/libosmium/cmake")
|
|
||||||
set(OSMIUM_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/third_party/libosmium/include")
|
|
||||||
find_package(Osmium REQUIRED COMPONENTS io)
|
|
||||||
include_directories(SYSTEM ${OSMIUM_INCLUDE_DIR})
|
|
||||||
|
|
||||||
if(NOT WIN32 AND NOT Boost_USE_STATIC_LIBS)
|
if(NOT WIN32 AND NOT Boost_USE_STATIC_LIBS)
|
||||||
add_dependency_defines(-DBOOST_TEST_DYN_LINK)
|
add_dependency_defines(-DBOOST_TEST_DYN_LINK)
|
||||||
endif()
|
endif()
|
||||||
|
@ -16,7 +16,7 @@ VARIANT_REPO=https://github.com/mapbox/variant.git
|
|||||||
VARIANT_TAG=v1.1.0
|
VARIANT_TAG=v1.1.0
|
||||||
|
|
||||||
MASON_REPO=https://github.com/mapbox/mason.git
|
MASON_REPO=https://github.com/mapbox/mason.git
|
||||||
MASON_TAG=v0.1.0
|
MASON_TAG=v0.1.1
|
||||||
|
|
||||||
VARIANT_LATEST=$(curl https://api.github.com/repos/mapbox/variant/releases/latest | jq ".tag_name")
|
VARIANT_LATEST=$(curl https://api.github.com/repos/mapbox/variant/releases/latest | jq ".tag_name")
|
||||||
OSMIUM_LATEST=$(curl https://api.github.com/repos/osmcode/libosmium/releases/latest | jq ".tag_name")
|
OSMIUM_LATEST=$(curl https://api.github.com/repos/osmcode/libosmium/releases/latest | jq ".tag_name")
|
||||||
|
6
third_party/mason/CHANGELOG.md
vendored
6
third_party/mason/CHANGELOG.md
vendored
@ -1,3 +1,9 @@
|
|||||||
|
|
||||||
|
## 0.1.1
|
||||||
|
|
||||||
|
- Added binutils 2.27, expat 2.2.0, mesa 13.0.0, and llvm 4.0.0 (in-development)
|
||||||
|
- Improved mason.cmake to support packages that report multiple static libs
|
||||||
|
- Improved llvm >= 3.8.1 packages to support `-flto` on linux
|
||||||
|
|
||||||
## 0.1.0
|
## 0.1.0
|
||||||
- First versioned release
|
- First versioned release
|
3
third_party/mason/contributing.md
vendored
3
third_party/mason/contributing.md
vendored
@ -4,4 +4,5 @@
|
|||||||
- Increment version in test/unit.sh
|
- Increment version in test/unit.sh
|
||||||
- Update changelog
|
- Update changelog
|
||||||
- Ensure tests are passing
|
- Ensure tests are passing
|
||||||
- Tag a release: `git tag v0.1.0 -a -m "v0.1.0" && git push --tags`
|
- Tag a release: `git tag v0.1.0 -a -m "v0.1.0" && git push --tags`
|
||||||
|
- Go to https://github.com/mapbox/mason/releases/new and create a new release
|
||||||
|
2
third_party/mason/mason
vendored
2
third_party/mason/mason
vendored
@ -7,7 +7,7 @@ MASON_VERSION=$1 ; shift
|
|||||||
set -e
|
set -e
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
|
|
||||||
MASON_RELEASED_VERSION="0.1.0"
|
MASON_RELEASED_VERSION="0.1.1"
|
||||||
|
|
||||||
if [ "${MASON_COMMAND}" = "--version" ]; then
|
if [ "${MASON_COMMAND}" = "--version" ]; then
|
||||||
echo ${MASON_RELEASED_VERSION}
|
echo ${MASON_RELEASED_VERSION}
|
||||||
|
2
third_party/mason/mason.cmake
vendored
2
third_party/mason/mason.cmake
vendored
@ -174,7 +174,7 @@ function(mason_use _PACKAGE)
|
|||||||
string(REPLACE "=" "" _KEY "${_KEY}")
|
string(REPLACE "=" "" _KEY "${_KEY}")
|
||||||
string(STRIP "${_KEY}" _KEY)
|
string(STRIP "${_KEY}" _KEY)
|
||||||
string(TOUPPER "${_KEY}" _KEY)
|
string(TOUPPER "${_KEY}" _KEY)
|
||||||
if(_KEY STREQUAL "INCLUDE_DIRS")
|
if(_KEY STREQUAL "INCLUDE_DIRS" OR _KEY STREQUAL "STATIC_LIBS" )
|
||||||
separate_arguments(_VALUE)
|
separate_arguments(_VALUE)
|
||||||
endif()
|
endif()
|
||||||
set(MASON_PACKAGE_${_PACKAGE}_${_KEY} "${_VALUE}" CACHE STRING "${_PACKAGE} ${_KEY}" FORCE)
|
set(MASON_PACKAGE_${_PACKAGE}_${_KEY} "${_VALUE}" CACHE STRING "${_PACKAGE} ${_KEY}" FORCE)
|
||||||
|
25
third_party/mason/scripts/binutils/2.27/.travis.yml
vendored
Normal file
25
third_party/mason/scripts/binutils/2.27/.travis.yml
vendored
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
language: generic
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: osx
|
||||||
|
osx_image: xcode8
|
||||||
|
compiler: clang
|
||||||
|
- os: linux
|
||||||
|
sudo: false
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
sources:
|
||||||
|
- ubuntu-toolchain-r-test
|
||||||
|
packages:
|
||||||
|
- libstdc++-5-dev
|
||||||
|
- bison
|
||||||
|
|
||||||
|
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}
|
||||||
|
- ./mason publish ${MASON_NAME} ${MASON_VERSION}
|
42
third_party/mason/scripts/binutils/2.27/script.sh
vendored
Executable file
42
third_party/mason/scripts/binutils/2.27/script.sh
vendored
Executable file
@ -0,0 +1,42 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
MASON_NAME=binutils
|
||||||
|
MASON_VERSION=2.27
|
||||||
|
MASON_LIB_FILE=bin/ld
|
||||||
|
|
||||||
|
. ${MASON_DIR}/mason.sh
|
||||||
|
|
||||||
|
function mason_load_source {
|
||||||
|
mason_download \
|
||||||
|
http://ftp.gnu.org/gnu/binutils/${MASON_NAME}-${MASON_VERSION}.tar.bz2 \
|
||||||
|
7e62c56ea660080882af2c8644d566765a77a0b8
|
||||||
|
|
||||||
|
mason_extract_tar_bz2
|
||||||
|
|
||||||
|
export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION}
|
||||||
|
}
|
||||||
|
|
||||||
|
function mason_compile {
|
||||||
|
# we unset CFLAGS otherwise they will clobber defaults inside binutils
|
||||||
|
unset CFLAGS
|
||||||
|
./configure \
|
||||||
|
--prefix=${MASON_PREFIX} \
|
||||||
|
--enable-gold \
|
||||||
|
--enable-plugins \
|
||||||
|
--enable-static \
|
||||||
|
--disable-shared \
|
||||||
|
--disable-dependency-tracking
|
||||||
|
|
||||||
|
make -j${MASON_CONCURRENCY}
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
|
||||||
|
function mason_ldflags {
|
||||||
|
:
|
||||||
|
}
|
||||||
|
|
||||||
|
function mason_clean {
|
||||||
|
make clean
|
||||||
|
}
|
||||||
|
|
||||||
|
mason_run "$@"
|
16
third_party/mason/scripts/clang++/4.0.0/.travis.yml
vendored
Normal file
16
third_party/mason/scripts/clang++/4.0.0/.travis.yml
vendored
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
language: generic
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: osx
|
||||||
|
- os: linux
|
||||||
|
sudo: false
|
||||||
|
|
||||||
|
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}
|
||||||
|
- ./mason publish ${MASON_NAME} ${MASON_VERSION}
|
17
third_party/mason/scripts/clang++/4.0.0/script.sh
vendored
Executable file
17
third_party/mason/scripts/clang++/4.0.0/script.sh
vendored
Executable file
@ -0,0 +1,17 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# dynamically determine the path to this package
|
||||||
|
HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )"
|
||||||
|
|
||||||
|
# dynamically take name of package from directory
|
||||||
|
MASON_NAME=$(basename $(dirname $HERE))
|
||||||
|
# dynamically take the version of the package from directory
|
||||||
|
MASON_VERSION=$(basename $HERE)
|
||||||
|
MASON_LIB_FILE=bin/${MASON_NAME}
|
||||||
|
|
||||||
|
. ${MASON_DIR}/mason.sh
|
||||||
|
|
||||||
|
# inherit all functions from base
|
||||||
|
source ${HERE}/../../${MASON_NAME}/base/common.sh
|
||||||
|
|
||||||
|
mason_run "$@"
|
20
third_party/mason/scripts/clang++/base/common.sh
vendored
20
third_party/mason/scripts/clang++/base/common.sh
vendored
@ -4,11 +4,15 @@ function mason_build {
|
|||||||
${MASON_DIR}/mason install llvm ${MASON_VERSION}
|
${MASON_DIR}/mason install llvm ${MASON_VERSION}
|
||||||
CLANG_PREFIX=$(${MASON_DIR}/mason prefix llvm ${MASON_VERSION})
|
CLANG_PREFIX=$(${MASON_DIR}/mason prefix llvm ${MASON_VERSION})
|
||||||
|
|
||||||
|
MAJOR_MINOR=$(echo $MASON_VERSION | cut -d '.' -f1-2)
|
||||||
|
|
||||||
# copy bin
|
# copy bin
|
||||||
mkdir -p "${MASON_PREFIX}/bin"
|
mkdir -p "${MASON_PREFIX}/bin"
|
||||||
cp "${CLANG_PREFIX}/bin/${MASON_NAME}" "${MASON_PREFIX}/bin/"
|
cp -a "${CLANG_PREFIX}/bin/${MASON_NAME}" "${MASON_PREFIX}/bin/"
|
||||||
cp "${CLANG_PREFIX}/bin/clang" "${MASON_PREFIX}/bin/"
|
cp -a "${CLANG_PREFIX}/bin/${MASON_NAME}-${MAJOR_MINOR}" "${MASON_PREFIX}/bin/"
|
||||||
cp "${CLANG_PREFIX}/bin/llvm-symbolizer" "${MASON_PREFIX}/bin/"
|
cp -a "${CLANG_PREFIX}/bin/clang" "${MASON_PREFIX}/bin/"
|
||||||
|
cp -a "${CLANG_PREFIX}/bin/clang-${MAJOR_MINOR}" "${MASON_PREFIX}/bin/"
|
||||||
|
cp -a "${CLANG_PREFIX}/bin/llvm-symbolizer" "${MASON_PREFIX}/bin/"
|
||||||
|
|
||||||
# copy share
|
# copy share
|
||||||
mkdir -p "${MASON_PREFIX}/share"
|
mkdir -p "${MASON_PREFIX}/share"
|
||||||
@ -20,16 +24,12 @@ function mason_build {
|
|||||||
mkdir -p "${MASON_PREFIX}/lib"
|
mkdir -p "${MASON_PREFIX}/lib"
|
||||||
cp -r ${CLANG_PREFIX}/lib/libc++* "${MASON_PREFIX}/lib/"
|
cp -r ${CLANG_PREFIX}/lib/libc++* "${MASON_PREFIX}/lib/"
|
||||||
cp -r ${CLANG_PREFIX}/lib/libLTO.* "${MASON_PREFIX}/lib/"
|
cp -r ${CLANG_PREFIX}/lib/libLTO.* "${MASON_PREFIX}/lib/"
|
||||||
|
if [[ $(uname -s) == 'Linux' ]]; then
|
||||||
|
cp -r ${CLANG_PREFIX}/lib/LLVMgold* "${MASON_PREFIX}/lib/"
|
||||||
|
fi
|
||||||
mkdir -p "${MASON_PREFIX}/lib/clang"
|
mkdir -p "${MASON_PREFIX}/lib/clang"
|
||||||
cp -R ${CLANG_PREFIX}/lib/clang/${MASON_VERSION} "${MASON_PREFIX}/lib/clang/"
|
cp -R ${CLANG_PREFIX}/lib/clang/${MASON_VERSION} "${MASON_PREFIX}/lib/clang/"
|
||||||
|
|
||||||
# fixup symlinks
|
|
||||||
cd "${MASON_PREFIX}/bin/"
|
|
||||||
MAJOR_MINOR=$(echo $MASON_VERSION | cut -d '.' -f1-2)
|
|
||||||
rm -f "clang++-${MAJOR_MINOR}"
|
|
||||||
ln -s "clang++" "clang++-${MAJOR_MINOR}"
|
|
||||||
rm -f "clang-${MAJOR_MINOR}"
|
|
||||||
ln -s "clang" "clang-${MAJOR_MINOR}"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function mason_cflags {
|
function mason_cflags {
|
||||||
|
16
third_party/mason/scripts/clang-format/4.0.0/.travis.yml
vendored
Normal file
16
third_party/mason/scripts/clang-format/4.0.0/.travis.yml
vendored
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
language: generic
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: osx
|
||||||
|
- os: linux
|
||||||
|
sudo: false
|
||||||
|
|
||||||
|
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}
|
||||||
|
- ./mason publish ${MASON_NAME} ${MASON_VERSION}
|
17
third_party/mason/scripts/clang-format/4.0.0/script.sh
vendored
Executable file
17
third_party/mason/scripts/clang-format/4.0.0/script.sh
vendored
Executable file
@ -0,0 +1,17 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# dynamically determine the path to this package
|
||||||
|
HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )"
|
||||||
|
|
||||||
|
# dynamically take name of package from directory
|
||||||
|
MASON_NAME=$(basename $(dirname $HERE))
|
||||||
|
# dynamically take the version of the package from directory
|
||||||
|
MASON_VERSION=$(basename $HERE)
|
||||||
|
MASON_LIB_FILE=bin/${MASON_NAME}
|
||||||
|
|
||||||
|
. ${MASON_DIR}/mason.sh
|
||||||
|
|
||||||
|
# inherit all functions from base
|
||||||
|
source ${HERE}/../../${MASON_NAME}/base/common.sh
|
||||||
|
|
||||||
|
mason_run "$@"
|
16
third_party/mason/scripts/clang-tidy/4.0.0/.travis.yml
vendored
Normal file
16
third_party/mason/scripts/clang-tidy/4.0.0/.travis.yml
vendored
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
language: generic
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: osx
|
||||||
|
- os: linux
|
||||||
|
sudo: false
|
||||||
|
|
||||||
|
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}
|
||||||
|
- ./mason publish ${MASON_NAME} ${MASON_VERSION}
|
17
third_party/mason/scripts/clang-tidy/4.0.0/script.sh
vendored
Executable file
17
third_party/mason/scripts/clang-tidy/4.0.0/script.sh
vendored
Executable file
@ -0,0 +1,17 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# dynamically determine the path to this package
|
||||||
|
HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )"
|
||||||
|
|
||||||
|
# dynamically take name of package from directory
|
||||||
|
MASON_NAME=$(basename $(dirname $HERE))
|
||||||
|
# dynamically take the version of the package from directory
|
||||||
|
MASON_VERSION=$(basename $HERE)
|
||||||
|
MASON_LIB_FILE=bin/${MASON_NAME}
|
||||||
|
|
||||||
|
. ${MASON_DIR}/mason.sh
|
||||||
|
|
||||||
|
# inherit all functions from base
|
||||||
|
source ${HERE}/../../${MASON_NAME}/base/common.sh
|
||||||
|
|
||||||
|
mason_run "$@"
|
24
third_party/mason/scripts/expat/2.2.0/.travis.yml
vendored
Normal file
24
third_party/mason/scripts/expat/2.2.0/.travis.yml
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
language: generic
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: osx
|
||||||
|
osx_image: xcode8
|
||||||
|
compiler: clang
|
||||||
|
- os: linux
|
||||||
|
sudo: false
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
sources:
|
||||||
|
- ubuntu-toolchain-r-test
|
||||||
|
packages:
|
||||||
|
- libstdc++-5-dev
|
||||||
|
|
||||||
|
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}
|
||||||
|
- ./mason publish ${MASON_NAME} ${MASON_VERSION}
|
36
third_party/mason/scripts/expat/2.2.0/script.sh
vendored
Executable file
36
third_party/mason/scripts/expat/2.2.0/script.sh
vendored
Executable file
@ -0,0 +1,36 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
MASON_NAME=expat
|
||||||
|
MASON_VERSION=2.2.0
|
||||||
|
MASON_LIB_FILE=lib/libexpat.a
|
||||||
|
MASON_PKGCONFIG_FILE=lib/pkgconfig/expat.pc
|
||||||
|
|
||||||
|
. ${MASON_DIR}/mason.sh
|
||||||
|
|
||||||
|
function mason_load_source {
|
||||||
|
mason_download \
|
||||||
|
https://downloads.sourceforge.net/project/expat/expat/${MASON_VERSION}/expat-${MASON_VERSION}.tar.bz2 \
|
||||||
|
de632147cebfb22e51c8ef35fe0f8badcd424a47
|
||||||
|
|
||||||
|
mason_extract_tar_bz2
|
||||||
|
|
||||||
|
export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION}
|
||||||
|
}
|
||||||
|
|
||||||
|
function mason_compile {
|
||||||
|
./configure \
|
||||||
|
--prefix=${MASON_PREFIX} \
|
||||||
|
${MASON_HOST_ARG} \
|
||||||
|
--enable-static \
|
||||||
|
--disable-shared \
|
||||||
|
--disable-dependency-tracking
|
||||||
|
|
||||||
|
make install -j${MASON_CONCURRENCY}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function mason_clean {
|
||||||
|
make clean
|
||||||
|
}
|
||||||
|
|
||||||
|
mason_run "$@"
|
22
third_party/mason/scripts/lldb/3.8.1/.travis.yml
vendored
Normal file
22
third_party/mason/scripts/lldb/3.8.1/.travis.yml
vendored
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
language: generic
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: osx
|
||||||
|
- os: linux
|
||||||
|
sudo: false
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
sources:
|
||||||
|
- ubuntu-toolchain-r-test
|
||||||
|
packages:
|
||||||
|
- libstdc++-5-dev
|
||||||
|
|
||||||
|
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}
|
||||||
|
- ./mason publish ${MASON_NAME} ${MASON_VERSION}
|
17
third_party/mason/scripts/lldb/3.8.1/script.sh
vendored
Executable file
17
third_party/mason/scripts/lldb/3.8.1/script.sh
vendored
Executable file
@ -0,0 +1,17 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# dynamically determine the path to this package
|
||||||
|
HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )"
|
||||||
|
|
||||||
|
# dynamically take name of package from directory
|
||||||
|
MASON_NAME=$(basename $(dirname $HERE))
|
||||||
|
# dynamically take the version of the package from directory
|
||||||
|
MASON_VERSION=$(basename $HERE)
|
||||||
|
MASON_LIB_FILE=bin/${MASON_NAME}
|
||||||
|
|
||||||
|
. ${MASON_DIR}/mason.sh
|
||||||
|
|
||||||
|
# inherit all functions from base
|
||||||
|
source ${HERE}/../../${MASON_NAME}/base/common.sh
|
||||||
|
|
||||||
|
mason_run "$@"
|
16
third_party/mason/scripts/lldb/4.0.0/.travis.yml
vendored
Normal file
16
third_party/mason/scripts/lldb/4.0.0/.travis.yml
vendored
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
language: generic
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: osx
|
||||||
|
- os: linux
|
||||||
|
sudo: false
|
||||||
|
|
||||||
|
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}
|
||||||
|
- ./mason publish ${MASON_NAME} ${MASON_VERSION}
|
17
third_party/mason/scripts/lldb/4.0.0/script.sh
vendored
Executable file
17
third_party/mason/scripts/lldb/4.0.0/script.sh
vendored
Executable file
@ -0,0 +1,17 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# dynamically determine the path to this package
|
||||||
|
HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )"
|
||||||
|
|
||||||
|
# dynamically take name of package from directory
|
||||||
|
MASON_NAME=$(basename $(dirname $HERE))
|
||||||
|
# dynamically take the version of the package from directory
|
||||||
|
MASON_VERSION=$(basename $HERE)
|
||||||
|
MASON_LIB_FILE=bin/${MASON_NAME}
|
||||||
|
|
||||||
|
. ${MASON_DIR}/mason.sh
|
||||||
|
|
||||||
|
# inherit all functions from base
|
||||||
|
source ${HERE}/../../${MASON_NAME}/base/common.sh
|
||||||
|
|
||||||
|
mason_run "$@"
|
22
third_party/mason/scripts/llvm-cov/3.8.1/.travis.yml
vendored
Normal file
22
third_party/mason/scripts/llvm-cov/3.8.1/.travis.yml
vendored
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
language: generic
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: osx
|
||||||
|
- os: linux
|
||||||
|
sudo: false
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
sources:
|
||||||
|
- ubuntu-toolchain-r-test
|
||||||
|
packages:
|
||||||
|
- libstdc++-5-dev
|
||||||
|
|
||||||
|
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}
|
||||||
|
- ./mason publish ${MASON_NAME} ${MASON_VERSION}
|
17
third_party/mason/scripts/llvm-cov/3.8.1/script.sh
vendored
Executable file
17
third_party/mason/scripts/llvm-cov/3.8.1/script.sh
vendored
Executable file
@ -0,0 +1,17 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# dynamically determine the path to this package
|
||||||
|
HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )"
|
||||||
|
|
||||||
|
# dynamically take name of package from directory
|
||||||
|
MASON_NAME=$(basename $(dirname $HERE))
|
||||||
|
# dynamically take the version of the package from directory
|
||||||
|
MASON_VERSION=$(basename $HERE)
|
||||||
|
MASON_LIB_FILE=bin/${MASON_NAME}
|
||||||
|
|
||||||
|
. ${MASON_DIR}/mason.sh
|
||||||
|
|
||||||
|
# inherit all functions from base
|
||||||
|
source ${HERE}/../../${MASON_NAME}/base/common.sh
|
||||||
|
|
||||||
|
mason_run "$@"
|
16
third_party/mason/scripts/llvm-cov/4.0.0/.travis.yml
vendored
Normal file
16
third_party/mason/scripts/llvm-cov/4.0.0/.travis.yml
vendored
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
language: generic
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: osx
|
||||||
|
- os: linux
|
||||||
|
sudo: false
|
||||||
|
|
||||||
|
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}
|
||||||
|
- ./mason publish ${MASON_NAME} ${MASON_VERSION}
|
17
third_party/mason/scripts/llvm-cov/4.0.0/script.sh
vendored
Executable file
17
third_party/mason/scripts/llvm-cov/4.0.0/script.sh
vendored
Executable file
@ -0,0 +1,17 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# dynamically determine the path to this package
|
||||||
|
HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )"
|
||||||
|
|
||||||
|
# dynamically take name of package from directory
|
||||||
|
MASON_NAME=$(basename $(dirname $HERE))
|
||||||
|
# dynamically take the version of the package from directory
|
||||||
|
MASON_VERSION=$(basename $HERE)
|
||||||
|
MASON_LIB_FILE=bin/${MASON_NAME}
|
||||||
|
|
||||||
|
. ${MASON_DIR}/mason.sh
|
||||||
|
|
||||||
|
# inherit all functions from base
|
||||||
|
source ${HERE}/../../${MASON_NAME}/base/common.sh
|
||||||
|
|
||||||
|
mason_run "$@"
|
@ -18,6 +18,7 @@ function setup_release() {
|
|||||||
get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/libunwind-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/projects/libunwind 90c0184ca72e1999fec304f76bfa10340f038ee5
|
get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/libunwind-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/projects/libunwind 90c0184ca72e1999fec304f76bfa10340f038ee5
|
||||||
get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/lld-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/lld 416c36ded12ead42dc4739d52eabf22267300883
|
get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/lld-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/lld 416c36ded12ead42dc4739d52eabf22267300883
|
||||||
get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/clang-tools-extra-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/clang/tools/extra ea40e36d54dc8c9bb21cbebcc872a3221a2ed685
|
get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/clang-tools-extra-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/clang/tools/extra ea40e36d54dc8c9bb21cbebcc872a3221a2ed685
|
||||||
|
get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/lldb-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/lldb c8c38fa9ab92f9021067678f1a1c8f07ea75ac93
|
||||||
}
|
}
|
||||||
|
|
||||||
mason_run "$@"
|
mason_run "$@"
|
||||||
|
10
third_party/mason/scripts/llvm/3.9.0/README.md
vendored
10
third_party/mason/scripts/llvm/3.9.0/README.md
vendored
@ -34,6 +34,10 @@ VERSION=3.9.0
|
|||||||
./mason publish clang-tidy ${VERSION}
|
./mason publish clang-tidy ${VERSION}
|
||||||
./mason build clang-format ${VERSION}
|
./mason build clang-format ${VERSION}
|
||||||
./mason publish clang-format ${VERSION}
|
./mason publish clang-format ${VERSION}
|
||||||
|
./mason build lldb ${VERSION}
|
||||||
|
./mason publish lldb ${VERSION}
|
||||||
|
./mason build llvm-cov ${VERSION}
|
||||||
|
./mason publish llvm-cov ${VERSION}
|
||||||
```
|
```
|
||||||
|
|
||||||
#### OSX details
|
#### OSX details
|
||||||
@ -66,9 +70,9 @@ To accomplish this (c++11 build of clang++ and linking to libc++ instead of an u
|
|||||||
|
|
||||||
```sh
|
```sh
|
||||||
./mason install clang++ 3.9.0
|
./mason install clang++ 3.9.0
|
||||||
CLANG_39_PREFIX=$(./mason prefix clang 3.8.0)
|
CLANG_39_PREFIX=$(./mason prefix clang++ 3.9.0)
|
||||||
export CXX=${CLANG_38_PREFIX}/bin/clang++-3.9
|
export CXX=${CLANG_39_PREFIX}/bin/clang++-3.9
|
||||||
export CC=${CLANG_38_PREFIX}/bin/clang-3.9
|
export CC=${CLANG_39_PREFIX}/bin/clang-3.9
|
||||||
./mason build llvm 3.9.0
|
./mason build llvm 3.9.0
|
||||||
```
|
```
|
||||||
|
|
||||||
|
61
third_party/mason/scripts/llvm/base/common.sh
vendored
61
third_party/mason/scripts/llvm/base/common.sh
vendored
@ -15,25 +15,25 @@ function get_llvm_project() {
|
|||||||
fi
|
fi
|
||||||
local EXPECTED_HASH=${3:-false}
|
local EXPECTED_HASH=${3:-false}
|
||||||
local file_basename=$(basename ${URL})
|
local file_basename=$(basename ${URL})
|
||||||
local local_checkout=$(pwd)/${file_basename}
|
local local_file_or_checkout=$(pwd)/${file_basename}
|
||||||
if [[ ${URL} =~ '.git' ]]; then
|
if [[ ${URL} =~ '.git' ]]; then
|
||||||
if [ ! -d ${local_checkout} ] ; then
|
if [ ! -d ${local_file_or_checkout} ] ; then
|
||||||
mason_step "cloning ${URL} to ${local_checkout}"
|
mason_step "cloning ${URL} to ${local_file_or_checkout}"
|
||||||
git clone --depth 1 ${URL} ${local_checkout}
|
git clone --depth 1 ${URL} ${local_file_or_checkout}
|
||||||
else
|
else
|
||||||
mason_substep "already cloned ${URL}, pulling to update"
|
mason_substep "already cloned ${URL}, pulling to update"
|
||||||
(cd ${local_checkout} && git pull)
|
(cd ${local_file_or_checkout} && git pull)
|
||||||
fi
|
fi
|
||||||
mason_step "moving ${local_checkout} into place at ${TO_DIR}"
|
mason_step "moving ${local_file_or_checkout} into place at ${TO_DIR}"
|
||||||
cp -r ${local_checkout} ${TO_DIR}
|
cp -r ${local_file_or_checkout} ${TO_DIR}
|
||||||
else
|
else
|
||||||
if [ ! -f ${local_file} ] ; then
|
if [ ! -f ${local_file_or_checkout} ] ; then
|
||||||
mason_step "Downloading ${URL} to ${local_file}"
|
mason_step "Downloading ${URL} to ${local_file_or_checkout}"
|
||||||
curl --retry 3 -f -L -O "${URL}"
|
curl --retry 3 -f -L -O "${URL}"
|
||||||
else
|
else
|
||||||
mason_substep "already downloaded $1 to ${local_file}"
|
mason_substep "already downloaded $1 to ${local_file_or_checkout}"
|
||||||
fi
|
fi
|
||||||
OBJECT_HASH=$(git hash-object ${local_file})
|
export OBJECT_HASH=$(git hash-object ${local_file_or_checkout})
|
||||||
if [[ ${EXPECTED_HASH:-false} == false ]]; then
|
if [[ ${EXPECTED_HASH:-false} == false ]]; then
|
||||||
mason_error "Warning: no expected hash provided by script.sh, actual was ${OBJECT_HASH}"
|
mason_error "Warning: no expected hash provided by script.sh, actual was ${OBJECT_HASH}"
|
||||||
else
|
else
|
||||||
@ -44,8 +44,8 @@ function get_llvm_project() {
|
|||||||
mason_success "Success: hash matched: ${EXPECTED_HASH} (expected) == ${OBJECT_HASH} (actual)"
|
mason_success "Success: hash matched: ${EXPECTED_HASH} (expected) == ${OBJECT_HASH} (actual)"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
mason_step "uncompressing ${local_file}"
|
mason_step "uncompressing ${local_file_or_checkout}"
|
||||||
tar xf ${local_file}
|
tar xf ${local_file_or_checkout}
|
||||||
local uncompressed_dir=${file_basename/.tar.xz}
|
local uncompressed_dir=${file_basename/.tar.xz}
|
||||||
mason_step "moving ${uncompressed_dir} into place at ${TO_DIR}"
|
mason_step "moving ${uncompressed_dir} into place at ${TO_DIR}"
|
||||||
mv ${uncompressed_dir} ${TO_DIR}
|
mv ${uncompressed_dir} ${TO_DIR}
|
||||||
@ -88,6 +88,12 @@ function mason_prepare_compile {
|
|||||||
MASON_CMAKE=$(${MASON_DIR}/mason prefix cmake ${CMAKE_VERSION})
|
MASON_CMAKE=$(${MASON_DIR}/mason prefix cmake ${CMAKE_VERSION})
|
||||||
${MASON_DIR}/mason install ninja ${NINJA_VERSION}
|
${MASON_DIR}/mason install ninja ${NINJA_VERSION}
|
||||||
MASON_NINJA=$(${MASON_DIR}/mason prefix ninja ${NINJA_VERSION})
|
MASON_NINJA=$(${MASON_DIR}/mason prefix ninja ${NINJA_VERSION})
|
||||||
|
|
||||||
|
if [[ $(uname -s) == 'Linux' ]]; then
|
||||||
|
BINUTILS_VERSION=2.27
|
||||||
|
${MASON_DIR}/mason install binutils ${BINUTILS_VERSION}
|
||||||
|
LLVM_BINUTILS_INCDIR=$(${MASON_DIR}/mason prefix binutils ${BINUTILS_VERSION})/include
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function mason_compile {
|
function mason_compile {
|
||||||
@ -95,6 +101,7 @@ function mason_compile {
|
|||||||
export CC="${CC:-clang}"
|
export CC="${CC:-clang}"
|
||||||
# knock out lldb doc building, to remove doxygen dependency
|
# knock out lldb doc building, to remove doxygen dependency
|
||||||
perl -i -p -e "s/add_subdirectory\(docs\)//g;" tools/lldb/CMakeLists.txt
|
perl -i -p -e "s/add_subdirectory\(docs\)//g;" tools/lldb/CMakeLists.txt
|
||||||
|
|
||||||
mkdir -p ./build
|
mkdir -p ./build
|
||||||
cd ./build
|
cd ./build
|
||||||
CMAKE_EXTRA_ARGS=""
|
CMAKE_EXTRA_ARGS=""
|
||||||
@ -112,31 +119,43 @@ function mason_compile {
|
|||||||
CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DCLANG_DEFAULT_CXX_STDLIB=libc++"
|
CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DCLANG_DEFAULT_CXX_STDLIB=libc++"
|
||||||
CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DDEFAULT_SYSROOT=/"
|
CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DDEFAULT_SYSROOT=/"
|
||||||
CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DCMAKE_OSX_DEPLOYMENT_TARGET=10.11"
|
CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DCMAKE_OSX_DEPLOYMENT_TARGET=10.11"
|
||||||
CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DLLVM_CREATE_XCODE_TOOLCHAIN=ON"
|
CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DLLVM_CREATE_XCODE_TOOLCHAIN=ON -DLLVM_EXTERNALIZE_DEBUGINFO=ON"
|
||||||
fi
|
fi
|
||||||
|
MAJOR_MINOR=$(echo $MASON_VERSION | cut -d '.' -f1-2)
|
||||||
|
|
||||||
|
if [[ $(uname -s) == 'Linux' ]]; then
|
||||||
|
CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DLLVM_BINUTILS_INCDIR=${LLVM_BINUTILS_INCDIR}"
|
||||||
|
if [[ ${MAJOR_MINOR} == "3.8" ]]; then
|
||||||
|
# note: LIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON is only needed with llvm < 3.9.0 to avoid libcxx(abi) build breaking when only a static libc++ exists
|
||||||
|
CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
# we link to libc++ even on linux to avoid runtime dependency on libstdc++:
|
# we link to libc++ even on linux to avoid runtime dependency on libstdc++:
|
||||||
# https://github.com/mapbox/mason/issues/252
|
# https://github.com/mapbox/mason/issues/252
|
||||||
export CXXFLAGS="-stdlib=libc++ ${CXXFLAGS//-mmacosx-version-min=10.8}"
|
export CXXFLAGS="-stdlib=libc++ ${CXXFLAGS//-mmacosx-version-min=10.8}"
|
||||||
export LDFLAGS="-stdlib=libc++ ${LDFLAGS//-mmacosx-version-min=10.8}"
|
export LDFLAGS="-stdlib=libc++ ${LDFLAGS//-mmacosx-version-min=10.8}"
|
||||||
if [[ $(uname -s) == 'Linux' ]]; then
|
if [[ $(uname -s) == 'Linux' ]]; then
|
||||||
export LDFLAGS="${LDFLAGS} -Wl,--start-group -L$(pwd)/lib -lc++ -lc++abi -pthread -lc -lgcc_s"
|
export LDFLAGS="${LDFLAGS} -Wl,--start-group -L$(pwd)/lib -lc++ -lc++abi -pthread -lc -lgcc_s"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
# llvm may request c++14 instead so let's not force c++11
|
# llvm may request c++14 instead so let's not force c++11
|
||||||
# TODO: -fvisibility=hidden breaks just lldb
|
|
||||||
export CXXFLAGS="${CXXFLAGS//-std=c++11}"
|
export CXXFLAGS="${CXXFLAGS//-std=c++11}"
|
||||||
|
|
||||||
# TODO: test this
|
# TODO: test this
|
||||||
#-DLLVM_ENABLE_LTO=ON \
|
#-DLLVM_ENABLE_LTO=ON \
|
||||||
|
|
||||||
|
|
||||||
${MASON_CMAKE}/bin/cmake ../ -G Ninja -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \
|
${MASON_CMAKE}/bin/cmake ../ -G Ninja -DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
|
-DLLVM_TARGETS_TO_BUILD="ARM;X86;AArch64" \
|
||||||
-DCMAKE_CXX_COMPILER_LAUNCHER="${MASON_CCACHE}/bin/ccache" \
|
-DCMAKE_CXX_COMPILER_LAUNCHER="${MASON_CCACHE}/bin/ccache" \
|
||||||
-DCMAKE_CXX_COMPILER="$CXX" \
|
-DCMAKE_CXX_COMPILER="$CXX" \
|
||||||
-DCMAKE_C_COMPILER="$CC" \
|
-DCMAKE_C_COMPILER="$CC" \
|
||||||
-DLIBCXX_ENABLE_ASSERTIONS=OFF \
|
-DLIBCXX_ENABLE_ASSERTIONS=OFF \
|
||||||
|
-DLIBCXX_ENABLE_SHARED=OFF \
|
||||||
-DLIBCXXABI_ENABLE_SHARED=OFF \
|
-DLIBCXXABI_ENABLE_SHARED=OFF \
|
||||||
-DLIBUNWIND_ENABLE_SHARED=OFF \
|
-DLIBUNWIND_ENABLE_SHARED=OFF \
|
||||||
-DLIBCXX_ENABLE_SHARED=OFF \
|
|
||||||
-DLIBCXXABI_USE_LLVM_UNWINDER=ON \
|
-DLIBCXXABI_USE_LLVM_UNWINDER=ON \
|
||||||
-DLLVM_ENABLE_ASSERTIONS=OFF \
|
-DLLVM_ENABLE_ASSERTIONS=OFF \
|
||||||
-DCLANG_VENDOR="mapbox/mason" \
|
-DCLANG_VENDOR="mapbox/mason" \
|
||||||
@ -148,13 +167,15 @@ function mason_compile {
|
|||||||
-DCMAKE_MAKE_PROGRAM=${MASON_NINJA}/bin/ninja \
|
-DCMAKE_MAKE_PROGRAM=${MASON_NINJA}/bin/ninja \
|
||||||
${CMAKE_EXTRA_ARGS}
|
${CMAKE_EXTRA_ARGS}
|
||||||
|
|
||||||
|
${MASON_NINJA}/bin/ninja unwind -j${MASON_CONCURRENCY}
|
||||||
|
|
||||||
# make libc++ and libc++abi first
|
# make libc++ and libc++abi first
|
||||||
# this ensures that the LD_LIBRARY_PATH above will be valid
|
# this ensures that the LD_LIBRARY_PATH above will be valid
|
||||||
# and that clang++ on linux will be able to link itself to
|
# and that clang++ on linux will be able to link itself to
|
||||||
# this same instance of libc++
|
# this same instance of libc++
|
||||||
${MASON_NINJA}/bin/ninja unwind -v -j${MASON_CONCURRENCY}
|
${MASON_NINJA}/bin/ninja cxx -j${MASON_CONCURRENCY}
|
||||||
${MASON_NINJA}/bin/ninja cxxabi -v -j${MASON_CONCURRENCY}
|
|
||||||
${MASON_NINJA}/bin/ninja cxx -v -j${MASON_CONCURRENCY}
|
${MASON_NINJA}/bin/ninja lldb -j${MASON_CONCURRENCY}
|
||||||
# no move the host compilers libc++ and libc++abi shared libs out of the way
|
# no move the host compilers libc++ and libc++abi shared libs out of the way
|
||||||
if [[ ${CXX_BOOTSTRAP:-false} != false ]]; then
|
if [[ ${CXX_BOOTSTRAP:-false} != false ]]; then
|
||||||
mkdir -p /tmp/backup_shlibs
|
mkdir -p /tmp/backup_shlibs
|
||||||
@ -166,8 +187,6 @@ function mason_compile {
|
|||||||
${MASON_NINJA}/bin/ninja install
|
${MASON_NINJA}/bin/ninja install
|
||||||
# set up symlinks for clang++ to match what llvm.org binaries provide
|
# set up symlinks for clang++ to match what llvm.org binaries provide
|
||||||
cd ${MASON_PREFIX}/bin/
|
cd ${MASON_PREFIX}/bin/
|
||||||
MAJOR_MINOR=$(echo $MASON_VERSION | cut -d '.' -f1-2)
|
|
||||||
rm -f "clang++-${MAJOR_MINOR}"
|
|
||||||
ln -s "clang++" "clang++-${MAJOR_MINOR}"
|
ln -s "clang++" "clang++-${MAJOR_MINOR}"
|
||||||
# restore host compilers sharedlibs
|
# restore host compilers sharedlibs
|
||||||
if [[ ${CXX_BOOTSTRAP:-false} != false ]]; then
|
if [[ ${CXX_BOOTSTRAP:-false} != false ]]; then
|
||||||
|
30
third_party/mason/scripts/mesa/13.0.0-cxx11abi/.travis.yml
vendored
Normal file
30
third_party/mason/scripts/mesa/13.0.0-cxx11abi/.travis.yml
vendored
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
language: generic
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: linux
|
||||||
|
sudo: required
|
||||||
|
dist: trusty
|
||||||
|
env: CXX=g++-5 CC=gcc-5
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
sources:
|
||||||
|
- ubuntu-toolchain-r-test
|
||||||
|
packages:
|
||||||
|
- g++-5
|
||||||
|
- libstdc++6
|
||||||
|
- libstdc++-5-dev
|
||||||
|
- mesa-utils
|
||||||
|
- llvm-3.8-dev
|
||||||
|
- libllvm3.8v4
|
||||||
|
|
||||||
|
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}
|
63
third_party/mason/scripts/mesa/13.0.0-cxx11abi/script.sh
vendored
Executable file
63
third_party/mason/scripts/mesa/13.0.0-cxx11abi/script.sh
vendored
Executable file
@ -0,0 +1,63 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
LIB_VERSION=13.0.0
|
||||||
|
|
||||||
|
MASON_NAME=mesa
|
||||||
|
MASON_VERSION=${LIB_VERSION}-cxx11abi
|
||||||
|
MASON_LIB_FILE=lib/libOSMesa.so
|
||||||
|
MASON_PKGCONFIG_FILE=lib/pkgconfig/osmesa.pc
|
||||||
|
|
||||||
|
. ${MASON_DIR}/mason.sh
|
||||||
|
|
||||||
|
function mason_load_source {
|
||||||
|
mason_download \
|
||||||
|
https://mesa.freedesktop.org/archive/${LIB_VERSION}/mesa-${LIB_VERSION}.tar.gz \
|
||||||
|
bba4f687bc0b0066961424dd0ae2ca053ffc1fcb
|
||||||
|
|
||||||
|
mason_extract_tar_gz
|
||||||
|
|
||||||
|
export MASON_BUILD_PATH=${MASON_ROOT}/.build/mesa-${LIB_VERSION}
|
||||||
|
}
|
||||||
|
|
||||||
|
function mason_prepare_compile {
|
||||||
|
true
|
||||||
|
}
|
||||||
|
|
||||||
|
function mason_compile {
|
||||||
|
./configure \
|
||||||
|
--prefix=${MASON_PREFIX} \
|
||||||
|
${MASON_HOST_ARG} \
|
||||||
|
--disable-gles1 \
|
||||||
|
--disable-gles2 \
|
||||||
|
--disable-dri \
|
||||||
|
--disable-dri3 \
|
||||||
|
--disable-glx \
|
||||||
|
--disable-egl \
|
||||||
|
--disable-driglx-direct \
|
||||||
|
--disable-osmesa \
|
||||||
|
--enable-opengl \
|
||||||
|
--enable-gallium-osmesa \
|
||||||
|
--enable-gallium-llvm \
|
||||||
|
--enable-texture-float \
|
||||||
|
--enable-llvm-shared-libs \
|
||||||
|
--with-gallium-drivers=swrast \
|
||||||
|
--with-llvm-prefix=/usr/lib/llvm-3.8 \
|
||||||
|
--with-sha1=libcrypto
|
||||||
|
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
|
||||||
|
function mason_cflags {
|
||||||
|
echo -I${MASON_PREFIX}/include
|
||||||
|
}
|
||||||
|
|
||||||
|
function mason_ldflags {
|
||||||
|
echo $(`mason_pkgconfig` --libs)
|
||||||
|
}
|
||||||
|
|
||||||
|
function mason_clean {
|
||||||
|
make clean
|
||||||
|
}
|
||||||
|
|
||||||
|
mason_run "$@"
|
30
third_party/mason/scripts/mesa/13.0.0-glx-cxx11abi/.travis.yml
vendored
Normal file
30
third_party/mason/scripts/mesa/13.0.0-glx-cxx11abi/.travis.yml
vendored
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
language: generic
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: linux
|
||||||
|
sudo: required
|
||||||
|
dist: trusty
|
||||||
|
env: CXX=g++-5 CC=gcc-5
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
sources:
|
||||||
|
- ubuntu-toolchain-r-test
|
||||||
|
packages:
|
||||||
|
- g++-5
|
||||||
|
- libstdc++6
|
||||||
|
- libstdc++-5-dev
|
||||||
|
- mesa-utils
|
||||||
|
- llvm-3.8-dev
|
||||||
|
- libllvm3.8v4
|
||||||
|
|
||||||
|
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}
|
64
third_party/mason/scripts/mesa/13.0.0-glx-cxx11abi/script.sh
vendored
Executable file
64
third_party/mason/scripts/mesa/13.0.0-glx-cxx11abi/script.sh
vendored
Executable file
@ -0,0 +1,64 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
LIB_VERSION=13.0.0
|
||||||
|
|
||||||
|
MASON_NAME=mesa
|
||||||
|
MASON_VERSION=${LIB_VERSION}-glx-cxx11abi
|
||||||
|
MASON_LIB_FILE=lib/libGL.so
|
||||||
|
MASON_PKGCONFIG_FILE=lib/pkgconfig/gl.pc
|
||||||
|
|
||||||
|
. ${MASON_DIR}/mason.sh
|
||||||
|
|
||||||
|
function mason_load_source {
|
||||||
|
mason_download \
|
||||||
|
https://mesa.freedesktop.org/archive/${LIB_VERSION}/mesa-${LIB_VERSION}.tar.gz \
|
||||||
|
bba4f687bc0b0066961424dd0ae2ca053ffc1fcb
|
||||||
|
|
||||||
|
mason_extract_tar_gz
|
||||||
|
|
||||||
|
export MASON_BUILD_PATH=${MASON_ROOT}/.build/mesa-${LIB_VERSION}
|
||||||
|
}
|
||||||
|
|
||||||
|
function mason_prepare_compile {
|
||||||
|
true
|
||||||
|
}
|
||||||
|
|
||||||
|
function mason_compile {
|
||||||
|
./configure \
|
||||||
|
--prefix=${MASON_PREFIX} \
|
||||||
|
${MASON_HOST_ARG} \
|
||||||
|
--disable-egl \
|
||||||
|
--disable-dri \
|
||||||
|
--disable-dri3 \
|
||||||
|
--disable-driglx-direct \
|
||||||
|
--disable-osmesa \
|
||||||
|
--disable-gallium-osmesa \
|
||||||
|
--enable-opengl \
|
||||||
|
--enable-gles1 \
|
||||||
|
--enable-gles2 \
|
||||||
|
--enable-glx=gallium-xlib \
|
||||||
|
--enable-glx-tls \
|
||||||
|
--enable-gallium-llvm \
|
||||||
|
--enable-texture-float \
|
||||||
|
--enable-llvm-shared-libs \
|
||||||
|
--with-gallium-drivers=swrast \
|
||||||
|
--with-llvm-prefix=/usr/lib/llvm-3.8 \
|
||||||
|
--with-sha1=libcrypto
|
||||||
|
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
|
||||||
|
function mason_cflags {
|
||||||
|
echo -I${MASON_PREFIX}/include
|
||||||
|
}
|
||||||
|
|
||||||
|
function mason_ldflags {
|
||||||
|
echo $(`mason_pkgconfig` --libs)
|
||||||
|
}
|
||||||
|
|
||||||
|
function mason_clean {
|
||||||
|
make clean
|
||||||
|
}
|
||||||
|
|
||||||
|
mason_run "$@"
|
30
third_party/mason/scripts/mesa/13.0.0-glx/.travis.yml
vendored
Normal file
30
third_party/mason/scripts/mesa/13.0.0-glx/.travis.yml
vendored
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
language: generic
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: linux
|
||||||
|
sudo: required
|
||||||
|
dist: trusty
|
||||||
|
env: CXX=g++-5 CC=gcc-5
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
sources:
|
||||||
|
- ubuntu-toolchain-r-test
|
||||||
|
packages:
|
||||||
|
- g++-5
|
||||||
|
- libstdc++6
|
||||||
|
- libstdc++-5-dev
|
||||||
|
- mesa-utils
|
||||||
|
- llvm-3.8-dev
|
||||||
|
- libllvm3.8v4
|
||||||
|
|
||||||
|
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}
|
64
third_party/mason/scripts/mesa/13.0.0-glx/script.sh
vendored
Executable file
64
third_party/mason/scripts/mesa/13.0.0-glx/script.sh
vendored
Executable file
@ -0,0 +1,64 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
LIB_VERSION=13.0.0
|
||||||
|
|
||||||
|
MASON_NAME=mesa
|
||||||
|
MASON_VERSION=${LIB_VERSION}-glx
|
||||||
|
MASON_LIB_FILE=lib/libGL.so
|
||||||
|
MASON_PKGCONFIG_FILE=lib/pkgconfig/gl.pc
|
||||||
|
|
||||||
|
. ${MASON_DIR}/mason.sh
|
||||||
|
|
||||||
|
function mason_load_source {
|
||||||
|
mason_download \
|
||||||
|
https://mesa.freedesktop.org/archive/${LIB_VERSION}/mesa-${LIB_VERSION}.tar.gz \
|
||||||
|
bba4f687bc0b0066961424dd0ae2ca053ffc1fcb
|
||||||
|
|
||||||
|
mason_extract_tar_gz
|
||||||
|
|
||||||
|
export MASON_BUILD_PATH=${MASON_ROOT}/.build/mesa-${LIB_VERSION}
|
||||||
|
}
|
||||||
|
|
||||||
|
function mason_prepare_compile {
|
||||||
|
true
|
||||||
|
}
|
||||||
|
|
||||||
|
function mason_compile {
|
||||||
|
./configure \
|
||||||
|
--prefix=${MASON_PREFIX} \
|
||||||
|
${MASON_HOST_ARG} \
|
||||||
|
--disable-egl \
|
||||||
|
--disable-dri \
|
||||||
|
--disable-dri3 \
|
||||||
|
--disable-driglx-direct \
|
||||||
|
--disable-osmesa \
|
||||||
|
--disable-gallium-osmesa \
|
||||||
|
--enable-opengl \
|
||||||
|
--enable-gles1 \
|
||||||
|
--enable-gles2 \
|
||||||
|
--enable-glx=gallium-xlib \
|
||||||
|
--enable-glx-tls \
|
||||||
|
--enable-gallium-llvm \
|
||||||
|
--enable-texture-float \
|
||||||
|
--enable-llvm-shared-libs \
|
||||||
|
--with-gallium-drivers=swrast \
|
||||||
|
--with-llvm-prefix=/usr/lib/llvm-3.8 \
|
||||||
|
--with-sha1=libcrypto
|
||||||
|
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
|
||||||
|
function mason_cflags {
|
||||||
|
echo -I${MASON_PREFIX}/include
|
||||||
|
}
|
||||||
|
|
||||||
|
function mason_ldflags {
|
||||||
|
echo $(`mason_pkgconfig` --libs)
|
||||||
|
}
|
||||||
|
|
||||||
|
function mason_clean {
|
||||||
|
make clean
|
||||||
|
}
|
||||||
|
|
||||||
|
mason_run "$@"
|
30
third_party/mason/scripts/mesa/13.0.0/.travis.yml
vendored
Normal file
30
third_party/mason/scripts/mesa/13.0.0/.travis.yml
vendored
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
language: generic
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- os: linux
|
||||||
|
sudo: required
|
||||||
|
dist: trusty
|
||||||
|
env: CXX=g++-5 CC=gcc-5
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
sources:
|
||||||
|
- ubuntu-toolchain-r-test
|
||||||
|
packages:
|
||||||
|
- g++-5
|
||||||
|
- libstdc++6
|
||||||
|
- libstdc++-5-dev
|
||||||
|
- mesa-utils
|
||||||
|
- llvm-3.8-dev
|
||||||
|
- libllvm3.8v4
|
||||||
|
|
||||||
|
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}
|
61
third_party/mason/scripts/mesa/13.0.0/script.sh
vendored
Executable file
61
third_party/mason/scripts/mesa/13.0.0/script.sh
vendored
Executable file
@ -0,0 +1,61 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
MASON_NAME=mesa
|
||||||
|
MASON_VERSION=13.0.0
|
||||||
|
MASON_LIB_FILE=lib/libOSMesa.so
|
||||||
|
MASON_PKGCONFIG_FILE=lib/pkgconfig/osmesa.pc
|
||||||
|
|
||||||
|
. ${MASON_DIR}/mason.sh
|
||||||
|
|
||||||
|
function mason_load_source {
|
||||||
|
mason_download \
|
||||||
|
https://mesa.freedesktop.org/archive/${MASON_VERSION}/mesa-${MASON_VERSION}.tar.gz \
|
||||||
|
bba4f687bc0b0066961424dd0ae2ca053ffc1fcb
|
||||||
|
|
||||||
|
mason_extract_tar_gz
|
||||||
|
|
||||||
|
export MASON_BUILD_PATH=${MASON_ROOT}/.build/mesa-${MASON_VERSION}
|
||||||
|
}
|
||||||
|
|
||||||
|
function mason_prepare_compile {
|
||||||
|
true
|
||||||
|
}
|
||||||
|
|
||||||
|
function mason_compile {
|
||||||
|
./configure \
|
||||||
|
--prefix=${MASON_PREFIX} \
|
||||||
|
${MASON_HOST_ARG} \
|
||||||
|
--disable-gles1 \
|
||||||
|
--disable-gles2 \
|
||||||
|
--disable-dri \
|
||||||
|
--disable-dri3 \
|
||||||
|
--disable-glx \
|
||||||
|
--disable-egl \
|
||||||
|
--disable-driglx-direct \
|
||||||
|
--disable-osmesa \
|
||||||
|
--enable-opengl \
|
||||||
|
--enable-gallium-osmesa \
|
||||||
|
--enable-gallium-llvm \
|
||||||
|
--enable-texture-float \
|
||||||
|
--enable-llvm-shared-libs \
|
||||||
|
--with-gallium-drivers=swrast \
|
||||||
|
--with-llvm-prefix=/usr/lib/llvm-3.8 \
|
||||||
|
--with-sha1=libcrypto
|
||||||
|
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
|
||||||
|
function mason_cflags {
|
||||||
|
echo -I${MASON_PREFIX}/include
|
||||||
|
}
|
||||||
|
|
||||||
|
function mason_ldflags {
|
||||||
|
echo $(`mason_pkgconfig` --libs)
|
||||||
|
}
|
||||||
|
|
||||||
|
function mason_clean {
|
||||||
|
make clean
|
||||||
|
}
|
||||||
|
|
||||||
|
mason_run "$@"
|
2
third_party/mason/test/unit.sh
vendored
2
third_party/mason/test/unit.sh
vendored
@ -14,7 +14,7 @@ fi
|
|||||||
|
|
||||||
VAL=$(./mason --version)
|
VAL=$(./mason --version)
|
||||||
assertEqual "$?" "0" "able to run ./mason --version"
|
assertEqual "$?" "0" "able to run ./mason --version"
|
||||||
assertEqual "0.1.0" "$VAL" "got correct result of ./mason --version"
|
assertEqual "0.1.1" "$VAL" "got correct result of ./mason --version"
|
||||||
|
|
||||||
|
|
||||||
exit $CODE
|
exit $CODE
|
Loading…
Reference in New Issue
Block a user