Merge commit 'ce1141982b4f7acf581d62a379f8fb49ac63f6b8' into mason07

This commit is contained in:
Daniel J. Hofmann 2017-02-15 11:48:43 +01:00
commit 6468a1ba79
155 changed files with 3916 additions and 336 deletions

View File

@ -10,13 +10,20 @@ matrix:
install:
- |
export
if [[ ${MASON_PLATFORM:-unset} == 'unset' ]] || [[ ${MASON_PLATFORM} == 'osx' ]] || [[ ${MASON_PLATFORM} == 'linux' ]]; then
echo "Installing clang for OSX/Linux via 'install' target"
source utils/toolchain.sh
which ${CC}
${CC} -v
which ${CXX}
${CXX} -v
# If platform is Linux or OSX, we might still be cross compiling if the
# MASON_PLATFORM_VERSION is not the same as the host platform.
if [[ ${CXX:-unset} == 'unset' ]] || [[ ${CXX} == "clang" ]] ; then
if [[ ${MASON_PLATFORM_VERSION} == `uname -m` ]] || [[ -z ${MASON_PLATFORM_VERSION} ]]; then
echo "Installing clang for OSX/Linux via 'install' target"
source utils/toolchain.sh
which ${CC}
${CC} -v
which ${CXX}
${CXX} -v
fi
fi
fi
script:

View File

@ -1,3 +1,58 @@
# Mason releases
## 0.7.0
- Added
- or-tools 5.1
- jni.hpp 3.0.0
- libpng 1.6.28
- jpeg turbo 1.5.1
- freetype 2.7.1
- harfbuzz 1.4.2 (links no deps)
- harfbuzz 1.4.2-ft (links freetype 2.7.1)
- libpq and postgres 9.6.1
- webp 0.6.0
- protobuf 3.2.0
- proj 4.9.3
- libtiff 4.0.7
- gdal 2.1.3
- cairo 1.14.8
- geojsonvt 6.2.0
- tbb 2017_20161128
- kdbush 0.1.1-1
- benchmark 1.0.0-1
- jni 2.0.0-1
- earcut 0.12.2
- libgdal 2.1.3 (minimal package of just headers, lib, data)
- Fixed
- gcc 5.3.0-i686 lib file corrected
- unique_resource pinned to cba309e
- gdal-config to work even if not linked
- api-trace now built with g++-5
Changes: https://github.com/mapbox/mason/compare/v0.6.0...v0.7.0
## 0.6.0
- Added valgrind 3.12.0, earcut 0.12.1, protozero 1.5.0/1.5.1,
libprogram_options 1.62.0-cxx11abi, jemalloc 4.4.0, llnode 1.4.1,
Omnibus mesa 13.0.3, cmake 3.7.2, minjur 0.1.0, libosmium, 2.11.0,
tippecanoe 1.16.3, sqlite 3.16.2, osmium-tool 1.5.1, apitrace 6a30de1,
nsis 3.01, llvm-argdumper and lldb-server to lldb package
- Removed valgrind latest, minjur latest, tippecanoe latest
- Fixed harfbuzz package (#327), boost_regex_icu variant
Changes: https://github.com/mapbox/mason/compare/v0.5.0...v0.6.0
## 0.5.0
- Various fixes to support cross compiling
- Support for cross compiling to cortex_a9 on travis
- Added vector-tile 1.0.0-rc4, zlib_shared 1.2.8
- Fixes to zlib 1.2.8 ldflags
Changes: https://github.com/mapbox/mason/compare/v0.4.0...v0.5.0
## 0.4.0

View File

@ -1,7 +1,6 @@
# Release process
- Increment version at the top of `mason`
- Increment version in test/unit.sh
- Update changelog
- Ensure tests are passing
- Tag a release:

View File

@ -7,7 +7,7 @@ MASON_VERSION=$1 ; shift
set -e
set -o pipefail
MASON_RELEASED_VERSION="0.4.0"
MASON_RELEASED_VERSION="0.7.0"
if [ "${MASON_COMMAND}" = "--version" ]; then
echo ${MASON_RELEASED_VERSION}

View File

@ -51,7 +51,7 @@ elseif(MASON_PLATFORM STREQUAL "android")
else()
set(MASON_PLATFORM_VERSION "arm-v7-9")
endif()
else()
elseif(NOT MASON_PLATFORM_VERSION)
execute_process(
COMMAND uname -m
OUTPUT_VARIABLE MASON_PLATFORM_VERSION

View File

@ -110,7 +110,7 @@ elif [ ${MASON_PLATFORM} = 'linux' ]; then
MASON_XC_PACKAGE=${MASON_XC_PACKAGE_NAME}-${MASON_XC_PACKAGE_VERSION}
MASON_XC_ROOT=$(MASON_PLATFORM= MASON_PLATFORM_VERSION= ${MASON_DIR}/mason prefix ${MASON_XC_PACKAGE_NAME} ${MASON_XC_PACKAGE_VERSION})
if [[ ! ${MASON_XC_ROOT} =~ ".build" ]] && [ ! -d ${MASON_XC_ROOT} ] ; then
$(MASON_PLATFORM= MASON_PLATFORM_VERSION= ${MASON_DIR}/mason install ${MASON_XC_PACKAGE_NAME} ${MASON_XC_PACKAGE_VERSION})
MASON_PLATFORM= MASON_PLATFORM_VERSION= ${MASON_DIR}/mason install ${MASON_XC_PACKAGE_NAME} ${MASON_XC_PACKAGE_VERSION}
MASON_XC_ROOT=$(MASON_PLATFORM= MASON_PLATFORM_VERSION= ${MASON_DIR}/mason prefix ${MASON_XC_PACKAGE_NAME} ${MASON_XC_PACKAGE_VERSION})
fi

View File

@ -0,0 +1,4 @@
- Versions are a concatenation of the architecture slug and the NDK release version
- Starting with r13, they are named "<mason platform version>-<api level>-<ndk version>"
- They contain a toolchain.sh + toolchain.cmake file
- Eventually we're going to remove Android-vars from mason.sh

View File

@ -0,0 +1,7 @@
sudo: false
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}
after_success:
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

View File

@ -0,0 +1,13 @@
#!/usr/bin/env bash
MASON_NAME=android-ndk
MASON_VERSION=$(basename $(dirname "${BASH_SOURCE[0]}"))
MASON_LIB_FILE=
export MASON_ANDROID_TOOLCHAIN="arm-linux-androideabi"
export MASON_CFLAGS="-target armv5te-none-linux-androideabi -march=armv5te -mtune=xscale -msoft-float -fno-integrated-as -mthumb"
export MASON_LDFLAGS="-Wl,--exclude-libs,libunwind.a"
export MASON_ANDROID_ABI="armeabi"
export MASON_ANDROID_NDK_ARCH="arm"
. ${MASON_DIR}/scripts/android-ndk/script-${MASON_VERSION##*-}.sh

View File

@ -0,0 +1,7 @@
sudo: false
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}
after_success:
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

View File

@ -0,0 +1,13 @@
#!/usr/bin/env bash
MASON_NAME=android-ndk
MASON_VERSION=$(basename $(dirname "${BASH_SOURCE[0]}"))
MASON_LIB_FILE=
export MASON_ANDROID_TOOLCHAIN="arm-linux-androideabi"
export MASON_CFLAGS="-target armv7-none-linux-androideabi -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -fno-integrated-as -mthumb"
export MASON_LDFLAGS="-Wl,--fix-cortex-a8 -Wl,--exclude-libs,libunwind.a"
export MASON_ANDROID_ABI="armeabi-v7a"
export MASON_ANDROID_NDK_ARCH="arm"
. ${MASON_DIR}/scripts/android-ndk/script-${MASON_VERSION##*-}.sh

View File

@ -0,0 +1,7 @@
sudo: false
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}
after_success:
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

View File

@ -0,0 +1,13 @@
#!/usr/bin/env bash
MASON_NAME=android-ndk
MASON_VERSION=$(basename $(dirname "${BASH_SOURCE[0]}"))
MASON_LIB_FILE=
export MASON_ANDROID_TOOLCHAIN="aarch64-linux-android"
export MASON_CFLAGS="-target aarch64-none-linux-android"
export MASON_LDFLAGS=""
export MASON_ANDROID_ABI="arm64-v8a"
export MASON_ANDROID_NDK_ARCH="arm64"
. ${MASON_DIR}/scripts/android-ndk/script-${MASON_VERSION##*-}.sh

View File

@ -0,0 +1,7 @@
sudo: false
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}
after_success:
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

View File

@ -0,0 +1,14 @@
#!/usr/bin/env bash
MASON_NAME=android-ndk
MASON_VERSION=$(basename $(dirname "${BASH_SOURCE[0]}"))
MASON_LIB_FILE=
export MASON_ANDROID_TOOLCHAIN="mips64el-linux-android"
export MASON_CFLAGS="-target mips64el-none-linux-android"
export MASON_LDFLAGS=""
export MASON_ANDROID_ABI="mips64"
export MASON_ANDROID_NDK_ARCH="mips64"
. ${MASON_DIR}/scripts/android-ndk/script-${MASON_VERSION##*-}.sh

View File

@ -1,10 +1,5 @@
language: cpp
sudo: false
os:
- linux
- osx
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}

View File

@ -1,47 +1,13 @@
#!/usr/bin/env bash
MASON_NAME=android-ndk
MASON_VERSION=mips-9-r13b
MASON_VERSION=$(basename $(dirname "${BASH_SOURCE[0]}"))
MASON_LIB_FILE=
. ${MASON_DIR}/mason.sh
export MASON_ANDROID_TOOLCHAIN="mipsel-linux-android"
export MASON_CFLAGS="-target mipsel-none-linux-android -mips32"
export MASON_LDFLAGS=""
export MASON_ANDROID_ABI="mips"
export MASON_ANDROID_NDK_ARCH="mips"
function mason_load_source {
if [ ${MASON_PLATFORM} = 'osx' ]; then
mason_download \
http://dl.google.com/android/repository/android-ndk-r13b-darwin-x86_64.zip \
b822dd239f63cd2e1e72c823c41bd732da2e5ad6
elif [ ${MASON_PLATFORM} = 'linux' ]; then
mason_download \
http://dl.google.com/android/repository/android-ndk-r13b-linux-x86_64.zip \
b95dd1fba5096ca3310a67e90b2a5a8aca3ddec7
fi
mason_setup_build_dir
rm -rf ./android-ndk-r13b
unzip -q ../.cache/${MASON_SLUG} $@
export MASON_BUILD_PATH=${MASON_ROOT}/.build/android-ndk-r13b
}
function mason_compile {
rm -rf ${MASON_PREFIX}
mkdir -p ${MASON_PREFIX}
${MASON_BUILD_PATH}/build/tools/make_standalone_toolchain.py \
--force \
--arch mips \
--api 9 \
--stl libc++ \
--install-dir "${MASON_PREFIX}"
# NDK r12 ships with .so files which are preferred when linking, but cause
# errors on devices when it's not present.
find "${MASON_PREFIX}" -name "libstdc++.so" -delete
}
function mason_clean {
make clean
}
mason_run "$@"
. ${MASON_DIR}/scripts/android-ndk/script-${MASON_VERSION##*-}.sh

View File

@ -0,0 +1,52 @@
export MASON_ANDROID_PLATFORM_VERSION=${MASON_VERSION%-*}
export MASON_ANDROID_NDK_VERSION=${MASON_VERSION##*-}
export MASON_ANDROID_NDK_API_LEVEL=${MASON_ANDROID_PLATFORM_VERSION##*-}
. ${MASON_DIR}/mason.sh
function mason_load_source {
if [ ${MASON_PLATFORM} = 'osx' ]; then
mason_download \
http://dl.google.com/android/repository/android-ndk-${MASON_ANDROID_NDK_VERSION}-darwin-x86_64.zip \
b822dd239f63cd2e1e72c823c41bd732da2e5ad6
elif [ ${MASON_PLATFORM} = 'linux' ]; then
mason_download \
http://dl.google.com/android/repository/android-ndk-${MASON_ANDROID_NDK_VERSION}-linux-x86_64.zip \
b95dd1fba5096ca3310a67e90b2a5a8aca3ddec7
fi
mason_setup_build_dir
rm -rf ./android-ndk-${MASON_ANDROID_NDK_VERSION}
unzip -q ../.cache/${MASON_SLUG} $@
export MASON_BUILD_PATH=${MASON_ROOT}/.build/android-ndk-${MASON_ANDROID_NDK_VERSION}
}
function mason_compile {
rm -rf ${MASON_PREFIX}
mkdir -p ${MASON_PREFIX}
${MASON_BUILD_PATH}/build/tools/make_standalone_toolchain.py \
--force \
--arch ${MASON_ANDROID_NDK_ARCH} \
--api ${MASON_ANDROID_NDK_API_LEVEL} \
--stl libc++ \
--install-dir "${MASON_PREFIX}"
# NDK r12 ships with .so files which are preferred when linking, but cause
# errors on devices when it's not present.
find "${MASON_PREFIX}" -name "libstdc++.so" -delete
# Add a toolchain.sh and toolchain.cmake file.
ROOT="${MASON_PREFIX}" ${MASON_DIR}/scripts/android-ndk/write_toolchain-${MASON_ANDROID_NDK_VERSION}.sh
# Copy the gdbserver
mkdir -p "${MASON_PREFIX}/prebuilt"
cp -rv "${MASON_BUILD_PATH}/prebuilt/android-${MASON_ANDROID_NDK_ARCH}/gdbserver" "${MASON_PREFIX}/prebuilt"
}
function mason_clean {
make clean
}
mason_run "$@"

View File

@ -0,0 +1,39 @@
#!/usr/bin/env bash
set -e
set -o pipefail
set -u
export CFLAGS="${MASON_CFLAGS} --sysroot=\${MASON_XC_ROOT}/sysroot -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security"
export LDFLAGS="${MASON_LDFLAGS} --sysroot=\${MASON_XC_ROOT}/sysroot -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now"
# Write CMake toolchain file
CMAKE_TOOLCHAIN="${ROOT}/toolchain.cmake"
echo "set(CMAKE_SYSTEM_NAME Android)" > "${CMAKE_TOOLCHAIN}"
echo "set(CMAKE_SYSTEM_VERSION 1)" >> "${CMAKE_TOOLCHAIN}"
echo "set(CMAKE_C_COMPILER \"\${MASON_XC_ROOT}/bin/${MASON_ANDROID_TOOLCHAIN}-clang\")" >> "${CMAKE_TOOLCHAIN}"
echo "set(CMAKE_CXX_COMPILER \"\${MASON_XC_ROOT}/bin/${MASON_ANDROID_TOOLCHAIN}-clang++\")" >> "${CMAKE_TOOLCHAIN}"
echo "set(CMAKE_RANLIB \"\${MASON_XC_ROOT}/bin/${MASON_ANDROID_TOOLCHAIN}-ranlib\")" >> "${CMAKE_TOOLCHAIN}"
echo "set(CMAKE_C_FLAGS \"${CFLAGS} \${CMAKE_C_FLAGS}\")" >> "${CMAKE_TOOLCHAIN}"
echo "set(CMAKE_CXX_FLAGS \"${CFLAGS} \${CMAKE_CXX_FLAGS}\")" >> "${CMAKE_TOOLCHAIN}"
echo "set(CMAKE_EXE_LINKER_FLAGS \"${LDFLAGS} \${CMAKE_EXE_LINKER_FLAGS}\")" >> "${CMAKE_TOOLCHAIN}"
echo "set(CMAKE_SHARED_LINKER_FLAGS \"${LDFLAGS} \${CMAKE_SHARED_LINKER_FLAGS}\")" >> "${CMAKE_TOOLCHAIN}"
echo "set(STRIP_COMMAND \"\${MASON_XC_ROOT}/bin/${MASON_ANDROID_TOOLCHAIN}-strip\")" >> "${CMAKE_TOOLCHAIN}"
echo "set(ANDROID_TOOLCHAIN \"${MASON_ANDROID_TOOLCHAIN}\")" >> "${CMAKE_TOOLCHAIN}"
echo "set(ANDROID_ABI \"${MASON_ANDROID_ABI}\")" >> "${CMAKE_TOOLCHAIN}"
echo "set(ANDROID_NATIVE_API_LEVEL \"${MASON_ANDROID_NDK_API_LEVEL}\")" >> "${CMAKE_TOOLCHAIN}"
# Write shell script toolchain file
SHELL_TOOLCHAIN="${ROOT}/toolchain.sh"
echo "export CC=\"\${MASON_XC_ROOT}/bin/${MASON_ANDROID_TOOLCHAIN}-clang\"" >> "${SHELL_TOOLCHAIN}"
echo "export CXX=\"\${MASON_XC_ROOT}/bin/${MASON_ANDROID_TOOLCHAIN}-clang++\"" >> "${SHELL_TOOLCHAIN}"
echo "export LD=\"\${MASON_XC_ROOT}/bin/${MASON_ANDROID_TOOLCHAIN}-ld\"" >> "${SHELL_TOOLCHAIN}"
echo "export LINK=\"\${MASON_XC_ROOT}/bin/${MASON_ANDROID_TOOLCHAIN}-clang++\"" >> "${SHELL_TOOLCHAIN}"
echo "export AR=\"\${MASON_XC_ROOT}/bin/${MASON_ANDROID_TOOLCHAIN}-ar\"" >> "${SHELL_TOOLCHAIN}"
echo "export RANLIB=\"\${MASON_XC_ROOT}/bin/${MASON_ANDROID_TOOLCHAIN}-ranlib\"" >> "${SHELL_TOOLCHAIN}"
echo "export STRIP=\"\${MASON_XC_ROOT}/bin/${MASON_ANDROID_TOOLCHAIN}-strip\"" >> "${SHELL_TOOLCHAIN}"
echo "export CFLAGS=\"${CFLAGS} \${CFLAGS}\"" >> "${SHELL_TOOLCHAIN}"
echo "export CXXFLAGS=\"${CFLAGS} \${CXXFLAGS}\"" >> "${SHELL_TOOLCHAIN}"
echo "export ANDROID_TOOLCHAIN=\"${MASON_ANDROID_TOOLCHAIN}\"" >> "${SHELL_TOOLCHAIN}"
echo "export ANDROID_ABI=\"${MASON_ANDROID_ABI}\"" >> "${SHELL_TOOLCHAIN}"
echo "export ANDROID_NATIVE_API_LEVEL=\"${MASON_ANDROID_NDK_API_LEVEL}\"" >> "${SHELL_TOOLCHAIN}"

View File

@ -0,0 +1,7 @@
sudo: false
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}
after_success:
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

View File

@ -0,0 +1,13 @@
#!/usr/bin/env bash
MASON_NAME=android-ndk
MASON_VERSION=$(basename $(dirname "${BASH_SOURCE[0]}"))
MASON_LIB_FILE=
export MASON_ANDROID_TOOLCHAIN="x86_64-linux-android"
export MASON_CFLAGS="-target x86_64-none-linux-android"
export MASON_LDFLAGS=""
export MASON_ANDROID_ABI="x86_64"
export MASON_ANDROID_NDK_ARCH="x86_64"
. ${MASON_DIR}/scripts/android-ndk/script-${MASON_VERSION##*-}.sh

View File

@ -1,10 +1,5 @@
language: cpp
sudo: false
os:
- linux
- osx
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}

View File

@ -1,47 +1,13 @@
#!/usr/bin/env bash
MASON_NAME=android-ndk
MASON_VERSION=x86-9-r13b
MASON_VERSION=$(basename $(dirname "${BASH_SOURCE[0]}"))
MASON_LIB_FILE=
. ${MASON_DIR}/mason.sh
export MASON_ANDROID_TOOLCHAIN="i686-linux-android"
export MASON_CFLAGS="-target i686-none-linux-android"
export MASON_LDFLAGS=""
export MASON_ANDROID_ABI="x86"
export MASON_ANDROID_NDK_ARCH="x86"
function mason_load_source {
if [ ${MASON_PLATFORM} = 'osx' ]; then
mason_download \
http://dl.google.com/android/repository/android-ndk-r13b-darwin-x86_64.zip \
b822dd239f63cd2e1e72c823c41bd732da2e5ad6
elif [ ${MASON_PLATFORM} = 'linux' ]; then
mason_download \
http://dl.google.com/android/repository/android-ndk-r13b-linux-x86_64.zip \
b95dd1fba5096ca3310a67e90b2a5a8aca3ddec7
fi
mason_setup_build_dir
rm -rf ./android-ndk-r13b
unzip -q ../.cache/${MASON_SLUG} $@
export MASON_BUILD_PATH=${MASON_ROOT}/.build/android-ndk-r13b
}
function mason_compile {
rm -rf ${MASON_PREFIX}
mkdir -p ${MASON_PREFIX}
${MASON_BUILD_PATH}/build/tools/make_standalone_toolchain.py \
--force \
--arch x86 \
--api 9 \
--stl libc++ \
--install-dir "${MASON_PREFIX}"
# NDK r12 ships with .so files which are preferred when linking, but cause
# errors on devices when it's not present.
find "${MASON_PREFIX}" -name "libstdc++.so" -delete
}
function mason_clean {
make clean
}
mason_run "$@"
. ${MASON_DIR}/scripts/android-ndk/script-${MASON_VERSION##*-}.sh

View File

@ -0,0 +1,18 @@
language: generic
matrix:
include:
- os: linux
dist: trusty
sudo: false
env: CXX=g++-5 CC=gcc-5
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-5
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

View File

@ -0,0 +1,37 @@
#!/usr/bin/env bash
MASON_NAME=apitrace
MASON_VERSION=6a30de1
. ${MASON_DIR}/mason.sh
function mason_load_source {
mason_download \
https://github.com/apitrace/apitrace/archive/${MASON_VERSION}.tar.gz \
622308260cbbe770672ee0753f650aafa7e1a04e
mason_extract_tar_gz
export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-6a30de197ad8221e6481510155025a9f93dfd5c3
}
function mason_compile {
cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX="${MASON_PREFIX}"
make -C build
make -C build install
}
function mason_ldflags {
:
}
function mason_cflags {
:
}
function mason_clean {
make clean
}
mason_run "$@"

View File

@ -0,0 +1,45 @@
language: cpp
sudo: false
matrix:
exclude:
- os: linux
include:
- os: osx
osx_image: xcode7
env: MASON_PLATFORM=ios
compiler: clang
- os: osx
osx_image: xcode7
env: MASON_PLATFORM=osx
compiler: clang
- os: linux
env: MASON_PLATFORM=linux
compiler: clang
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.7
- george-edison55-precise-backports
packages:
- clang-3.7
- cmake
- cmake-data
cache: apt
before_install:
- if [[ ${MASON_PLATFORM} == "osx" || ${MASON_PLATFORM} == "ios" ]]; then brew install cmake ; fi
before_script:
- if [[ ${MASON_PLATFORM} == "linux" && ${CXX} == "clang++" ]]; then export CXX="clang++-3.7" CC="clang-3.7" ; fi
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}
after_success:
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

View File

@ -0,0 +1,63 @@
#!/usr/bin/env bash
MASON_NAME=benchmark
MASON_VERSION=1.0.0-1
MASON_LIB_FILE=lib/libbenchmark.a
. ${MASON_DIR}/mason.sh
function mason_load_source {
mason_download \
https://github.com/google/benchmark/archive/v1.0.0.tar.gz \
dcf87e5faead951fd1e9ab103cb36a7c8ebe4837
mason_extract_tar_gz
export MASON_BUILD_PATH=${MASON_ROOT}/.build/benchmark-1.0.0
}
function mason_compile {
rm -rf build
mkdir -p build
cd build
if [ ${MASON_PLATFORM} == 'ios' ] ; then
# Make sure CMake thinks we're cross-compiling and manually set the exit codes
# because CMake can't run the test programs
echo "set (CMAKE_SYSTEM_NAME Darwin)" > toolchain.cmake
cmake \
-DCMAKE_TOOLCHAIN_FILE=toolchain.cmake \
-DRUN_HAVE_STD_REGEX=1 \
-DRUN_HAVE_POSIX_REGEX=0 \
-DRUN_HAVE_STEADY_CLOCK=0 \
-DCMAKE_CXX_FLAGS="${CFLAGS:-}" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="${MASON_PREFIX}" \
-DBENCHMARK_ENABLE_LTO=ON \
-DBENCHMARK_ENABLE_TESTING=OFF \
..
else
cmake \
${MASON_CMAKE_TOOLCHAIN} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="${MASON_PREFIX}" \
-DBENCHMARK_ENABLE_LTO=ON \
-DBENCHMARK_ENABLE_TESTING=OFF \
..
fi
make install -j${MASON_CONCURRENCY}
}
function mason_cflags {
echo -isystem ${MASON_PREFIX}/include
}
function mason_ldflags {
echo -lpthread
}
function mason_static_libs {
echo ${MASON_PREFIX}/${MASON_LIB_FILE}
}
mason_run "$@"

View File

@ -0,0 +1,19 @@
language: cpp
matrix:
include:
- os: linux
sudo: true
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- libstdc++-5-dev
script:
- sudo perl -i -p -e "s/# define _GLIBCXX_USE_DUAL_ABI 0/# define _GLIBCXX_USE_DUAL_ABI 1/g;" /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h
- ./mason build ${MASON_NAME} ${MASON_VERSION}
after_success:
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

View File

@ -0,0 +1,42 @@
#!/usr/bin/env bash
# dynamically determine the path to this package
HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )"
# key properties unique to this library
THIS_DIR=$(basename $(dirname $HERE))
BOOST_LIBRARY=${THIS_DIR#boost_lib}
MASON_NAME=boost_lib${BOOST_LIBRARY}
MASON_LIB_FILE=lib/libboost_${BOOST_LIBRARY}.a
# hack for inconsistently named test lib
if [[ ${MASON_LIB_FILE} == "lib/libboost_test.a" ]]; then
MASON_LIB_FILE=lib/libboost_unit_test_framework.a
fi
# inherit from boost base (used for all boost library packages)
BASE_PATH=${HERE}/../../boost/$(basename $HERE |cut -d- -f1)
source ${BASE_PATH}/base.sh
# XXX: Append the -cxx11abi prefix to the package
export BOOST_VERSION_DOWNLOAD=$MASON_VERSION
export MASON_VERSION=$MASON_VERSION-cxx11abi
# setup mason env
. ${MASON_DIR}/mason.sh
# source common build functions
source ${BASE_PATH}/common.sh
export CXXFLAGS="${CXXFLAGS} -D_GLIBCXX_USE_CXX11_ABI=1"
function mason_load_source {
mason_download \
http://downloads.sourceforge.net/project/boost/boost/${BOOST_VERSION_DOWNLOAD}/boost_${BOOST_VERSION}.tar.bz2 \
${BOOST_SHASUM}
export MASON_BUILD_PATH=${MASON_ROOT}/.build/boost_${BOOST_VERSION}
mason_extract_tar_bz2
}
mason_run "$@"

View File

@ -5,10 +5,10 @@ HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )"
# key properties unique to this library
THIS_DIR=$(basename $(dirname $HERE))
# Note: cannot duduce from directory since it is named in a custom way
# Note: cannot deduce from directory since it is named in a custom way
#BOOST_LIBRARY=${THIS_DIR#boost_lib}
BOOST_LIBRARY=regex
MASON_NAME=boost_lib${BOOST_LIBRARY}
MASON_NAME=boost_lib${BOOST_LIBRARY}_icu
MASON_LIB_FILE=lib/libboost_${BOOST_LIBRARY}.a
# hack for inconsistently named test lib
if [[ ${MASON_LIB_FILE} == "lib/libboost_test.a" ]]; then

View File

@ -5,10 +5,10 @@ HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )"
# key properties unique to this library
THIS_DIR=$(basename $(dirname $HERE))
# Note: cannot duduce from directory since it is named in a custom way
# Note: cannot deduce from directory since it is named in a custom way
#BOOST_LIBRARY=${THIS_DIR#boost_lib}
BOOST_LIBRARY=regex
MASON_NAME=boost_lib${BOOST_LIBRARY}
MASON_NAME=boost_lib${BOOST_LIBRARY}_icu
MASON_LIB_FILE=lib/libboost_${BOOST_LIBRARY}.a
# hack for inconsistently named test lib
if [[ ${MASON_LIB_FILE} == "lib/libboost_test.a" ]]; then

View File

@ -5,10 +5,10 @@ HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )"
# key properties unique to this library
THIS_DIR=$(basename $(dirname $HERE))
# Note: cannot duduce from directory since it is named in a custom way
# Note: cannot deduce from directory since it is named in a custom way
#BOOST_LIBRARY=${THIS_DIR#boost_lib}
BOOST_LIBRARY=regex
MASON_NAME=boost_lib${BOOST_LIBRARY}
MASON_NAME=boost_lib${BOOST_LIBRARY}_icu
MASON_LIB_FILE=lib/libboost_${BOOST_LIBRARY}.a
# hack for inconsistently named test lib
if [[ ${MASON_LIB_FILE} == "lib/libboost_test.a" ]]; then

View File

@ -0,0 +1,13 @@
language: generic
matrix:
include:
- os: osx
osx_image: xcode8.2
compiler: clang
- os: linux
sudo: false
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

View File

@ -0,0 +1,96 @@
diff --git a/build/configure.ac.tools b/build/configure.ac.tools
index a24dbce..aaf0e5d 100644
--- a/build/configure.ac.tools
+++ b/build/configure.ac.tools
@@ -10,16 +10,3 @@ AC_C_INLINE
dnl ===========================================================================
-PKG_PROG_PKG_CONFIG()
-if test "x$PKG_CONFIG" = x; then
- AC_MSG_ERROR([pkg-config >= $PKGCONFIG_REQUIRED required but not found (http://pkgconfig.freedesktop.org/)])
-fi
-
-dnl Check for recent pkg-config which supports Requires.private
-case `$PKG_CONFIG --version` in
-[0.?|0.?.?|0.1[0-7]|0.1[0-7].?]) PKGCONFIG_REQUIRES="Requires"; ;;
-*) PKGCONFIG_REQUIRES="Requires.private"; ;;
-esac
-
-AC_SUBST(PKGCONFIG_REQUIRES)
-
diff --git a/configure.ac b/configure.ac
index 2ce1959..87c71ac 100644
--- a/configure.ac
+++ b/configure.ac
@@ -321,26 +321,7 @@ CAIRO_ENABLE_SURFACE_BACKEND(gallium, Gallium3D, no, [
dnl ===========================================================================
CAIRO_ENABLE_FUNCTIONS(png, PNG, yes, [
- use_png=no
- AC_ARG_VAR([png_REQUIRES], [module name for libpng to search for using pkg-config])
- if test "x$png_REQUIRES" = x; then
- # libpng13 is GnuWin32's libpng-1.2.8 :-(
- for l in libpng libpng14 libpng12 libpng13 libpng10; do
- if $PKG_CONFIG --exists $l ; then
- png_REQUIRES=$l
- use_png=yes
- break
- fi
- done
- else
- use_png=yes
- fi
-
- if test "x$use_png" = "xyes" ; then
- PKG_CHECK_MODULES(png, $png_REQUIRES, , : )
- else
- AC_MSG_WARN([Could not find libpng in the pkg-config search path])
- fi
+ use_png=yes
])
dnl ===========================================================================
@@ -495,10 +476,6 @@ FREETYPE_MIN_RELEASE=2.1.9
FREETYPE_MIN_VERSION=9.7.3
CAIRO_ENABLE_FONT_BACKEND(ft, FreeType, auto, [
-
- PKG_CHECK_MODULES(FREETYPE, freetype2 >= $FREETYPE_MIN_VERSION,
- [freetype_pkgconfig=yes],
- [freetype_pkgconfig=no])
if test "x$freetype_pkgconfig" = "xyes"; then
ft_REQUIRES="freetype2 >= $FREETYPE_MIN_VERSION $ft_REQUIRES"
@@ -662,18 +639,12 @@ CAIRO_ENABLE(test_surfaces, test surfaces, no)
dnl ===========================================================================
CAIRO_ENABLE_SURFACE_BACKEND(image, image, always, [
- pixman_REQUIRES="pixman-1 >= 0.30.0"
- PKG_CHECK_MODULES(pixman, $pixman_REQUIRES, ,
- [use_image="no (requires $pixman_REQUIRES http://cairographics.org/releases/)"])
+ use_image=yes
image_REQUIRES=$pixman_REQUIRES
image_CFLAGS=$pixman_CFLAGS
image_LIBS=$pixman_LIBS
])
-if pkg-config --exists 'pixman-1 >= 0.27.1'; then
- AC_DEFINE([HAS_PIXMAN_GLYPHS], 1, [Enable pixman glyph cache])
-fi
-
dnl ===========================================================================
diff --git a/test/Makefile.am b/test/Makefile.am
index 950629b..f733dd9 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -75,7 +75,6 @@ endif
endif
test_sources += $(test)
-noinst_PROGRAMS = cairo-test-suite$(EXEEXT) # always build
noinst_SCRIPTS = check-refs.sh
TESTS += cairo-test-suite$(EXEEXT)

View File

@ -0,0 +1,94 @@
#!/usr/bin/env bash
MASON_NAME=cairo
MASON_VERSION=1.14.8
MASON_LIB_FILE=lib/libcairo.a
. ${MASON_DIR}/mason.sh
function mason_load_source {
mason_download \
http://cairographics.org/releases/${MASON_NAME}-${MASON_VERSION}.tar.xz \
b6a7b9d02e24fdd5fc5c44d30040f14d361a0950
mason_extract_tar_xz
export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION}
}
function mason_prepare_compile {
PNG_VERSION="1.6.28"
FREETYPE_VERSION="2.7.1"
PIXMAN_VERSION="0.34.0"
${MASON_DIR}/mason install libpng ${PNG_VERSION}
MASON_PNG=$(${MASON_DIR}/mason prefix libpng ${PNG_VERSION})
${MASON_DIR}/mason install freetype ${FREETYPE_VERSION}
MASON_FREETYPE=$(${MASON_DIR}/mason prefix freetype ${FREETYPE_VERSION})
${MASON_DIR}/mason install pixman ${PIXMAN_VERSION}
MASON_PIXMAN=$(${MASON_DIR}/mason prefix pixman ${PIXMAN_VERSION})
}
function mason_compile {
mason_step "Loading patch"
patch -N -p1 < ${MASON_DIR}/scripts/${MASON_NAME}/${MASON_VERSION}/patch.diff
CFLAGS="${CFLAGS} -Wno-enum-conversion -I${MASON_PIXMAN}/include/pixman-1 -I${MASON_FREETYPE}/include/freetype2 -I${MASON_PNG}/include/"
LDFLAGS="-L${MASON_PIXMAN}/lib -lpixman-1 -L${MASON_FREETYPE}/lib -lfreetype -L${MASON_PNG}/lib -lpng"
# note CFLAGS overrides defaults
CAIRO_CFLAGS_DEFAULTS="-Wall -Wextra -Wmissing-declarations -Werror-implicit-function-declaration -Wpointer-arith -Wwrite-strings -Wsign-compare -Wpacked -Wswitch-enum -Wmissing-format-attribute -Wvolatile-register-var -Wstrict-aliasing=2 -Winit-self -Wno-missing-field-initializers -Wno-unused-parameter -Wno-attributes -Wno-long-long -Winline -fno-strict-aliasing -fno-common -Wp,-D_FORTIFY_SOURCE=2"
# so we need to add optimization flags back
export CFLAGS="${CFLAGS} ${CAIRO_CFLAGS_DEFAULTS} -O3 -DNDEBUG"
LDFLAGS=${LDFLAGS} ./autogen.sh \
--prefix=${MASON_PREFIX} \
${MASON_HOST_ARG} \
--enable-static --disable-shared \
--enable-pdf=yes \
--enable-ft=yes \
--enable-png=yes \
--enable-svg=yes \
--enable-ps=yes \
--enable-fc=no \
--enable-script=no \
--enable-interpreter=no \
--enable-quartz=no \
--enable-quartz-image=no \
--enable-quartz-font=no \
--enable-trace=no \
--enable-gtk-doc=no \
--enable-qt=no \
--enable-win32=no \
--enable-win32-font=no \
--enable-skia=no \
--enable-os2=no \
--enable-beos=no \
--enable-drm=no \
--enable-gallium=no \
--enable-gl=no \
--enable-glesv2=no \
--enable-directfb=no \
--enable-vg=no \
--enable-egl=no \
--enable-glx=no \
--enable-wgl=no \
--enable-test-surfaces=no \
--enable-tee=no \
--enable-xml=no \
--disable-valgrind \
--enable-gobject=no \
--enable-xlib=no \
--enable-xlib-xrender=no \
--enable-xcb=no \
--enable-xlib-xcb=no \
--enable-xcb-shm=no \
--enable-full-testing=no \
--enable-symbol-lookup=no \
--disable-dependency-tracking
# The -i and -k flags are to workaround make[6]: [install-data-local] Error 1 (ignored)
make V=1 -j${MASON_CONCURRENCY} -i -k
make install -i -k
}
function mason_clean {
make clean
}
mason_run "$@"

View File

@ -0,0 +1,18 @@
language: generic
matrix:
include:
- os: osx
osx_image: xcode8
compiler: clang
- os: linux
compiler: clang
sudo: false
addons:
apt:
sources: [ 'ubuntu-toolchain-r-test' ]
packages: [ 'libstdc++-5-dev' ]
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

View File

@ -0,0 +1,44 @@
#!/usr/bin/env bash
MASON_NAME=cmake
MASON_VERSION=3.7.2
MASON_LIB_FILE=bin/cmake
. ${MASON_DIR}/mason.sh
function mason_load_source {
mason_download \
http://www.cmake.org/files/v3.7/cmake-${MASON_VERSION}.tar.gz \
35e73aad419b0dca4d5f8e8ba483e29ff54b7f05
mason_extract_tar_gz
export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION}
}
function mason_compile {
./configure --prefix=${MASON_PREFIX}
make -j${MASON_CONCURRENCY} VERBOSE=1
make install
# remove non-essential things to save on package size
rm -f ${MASON_PREFIX}/bin/ccmake
rm -f ${MASON_PREFIX}/bin/cmakexbuild
rm -f ${MASON_PREFIX}/bin/cpack
rm -f ${MASON_PREFIX}/bin/ctest
rm -rf ${MASON_PREFIX}/share/cmake-*/Help
ls -lh ${MASON_PREFIX}/bin/
}
function mason_cflags {
:
}
function mason_ldflags {
:
}
function mason_clean {
make clean
}
mason_run "$@"

View File

@ -0,0 +1,36 @@
#!/usr/bin/env bash
MASON_NAME=earcut
MASON_VERSION=0.12.1
MASON_HEADER_ONLY=true
. ${MASON_DIR}/mason.sh
function mason_load_source {
mason_download \
https://github.com/mapbox/earcut.hpp/archive/v${MASON_VERSION}.tar.gz \
19ac12c56687fb6a44ee99974f3eb0866374d06b
mason_extract_tar_gz
export MASON_BUILD_PATH=${MASON_ROOT}/.build/earcut.hpp-${MASON_VERSION}
}
function mason_compile {
mkdir -p ${MASON_PREFIX}/include/mapbox
cp -v include/mapbox/earcut.hpp ${MASON_PREFIX}/include/mapbox/earcut.hpp
cp -v README.md LICENSE ${MASON_PREFIX}
}
function mason_cflags {
echo -isystem ${MASON_PREFIX}/include -I${MASON_PREFIX}/include
}
function mason_ldflags {
:
}
function mason_static_libs {
:
}
mason_run "$@"

View File

@ -0,0 +1,5 @@
language: generic
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

View File

@ -0,0 +1,36 @@
#!/usr/bin/env bash
MASON_NAME=earcut
MASON_VERSION=0.12.2
MASON_HEADER_ONLY=true
. ${MASON_DIR}/mason.sh
function mason_load_source {
mason_download \
https://github.com/mapbox/earcut.hpp/archive/v${MASON_VERSION}.tar.gz \
fcc64054afaf4f908b72e51944796339064344f5
mason_extract_tar_gz
export MASON_BUILD_PATH=${MASON_ROOT}/.build/earcut.hpp-${MASON_VERSION}
}
function mason_compile {
mkdir -p ${MASON_PREFIX}/include/mapbox
cp -v include/mapbox/earcut.hpp ${MASON_PREFIX}/include/mapbox/earcut.hpp
cp -v README.md LICENSE ${MASON_PREFIX}
}
function mason_cflags {
echo -I${MASON_PREFIX}/include
}
function mason_ldflags {
:
}
function mason_static_libs {
:
}
mason_run "$@"

View File

@ -0,0 +1,13 @@
language: generic
matrix:
include:
- os: osx
osx_image: xcode8.2
compiler: clang
- os: linux
sudo: false
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

View File

@ -0,0 +1,52 @@
#!/usr/bin/env bash
MASON_NAME=freetype
MASON_VERSION=2.7.1
MASON_LIB_FILE=lib/libfreetype.a
MASON_PKGCONFIG_FILE=lib/pkgconfig/freetype2.pc
. ${MASON_DIR}/mason.sh
function mason_load_source {
mason_download \
http://nongnu.askapache.com/freetype/freetype-${MASON_VERSION}.tar.bz2 \
51abc6f9afd5bbcbdcc0d9ea20b145f0ff1be632
mason_extract_tar_bz2
export MASON_BUILD_PATH=${MASON_ROOT}/.build/freetype-${MASON_VERSION}
}
function mason_compile {
# note CFLAGS overrides defaults (-Wall -g -O2) so we need to add optimization flags back
export CFLAGS="${CFLAGS} -O3 -DNDEBUG"
./configure --prefix=${MASON_PREFIX} \
--enable-static \
--disable-shared ${MASON_HOST_ARG} \
--with-zlib=yes \
--with-bzip2=no \
--with-harfbuzz=no \
--with-png=no \
--with-quickdraw-toolbox=no \
--with-quickdraw-carbon=no \
--with-ats=no \
--with-fsref=no \
--with-fsspec=no \
make -j${MASON_CONCURRENCY}
make install
}
function mason_ldflags {
: # We're only using the full path to the archive, which is output in static_libs
}
function mason_cflags {
echo "-I${MASON_PREFIX}/include/freetype2"
}
function mason_clean {
make clean
}
mason_run "$@"

View File

@ -28,4 +28,8 @@ function mason_ldflags {
:
}
function mason_static_libs {
:
}
mason_run "$@"

View File

@ -29,4 +29,8 @@ function mason_ldflags {
:
}
function mason_static_libs {
:
}
mason_run "$@"

View File

@ -29,4 +29,8 @@ function mason_ldflags {
:
}
function mason_static_libs {
:
}
mason_run "$@"

View File

@ -36,4 +36,8 @@ function mason_ldflags {
:
}
function mason_static_libs {
:
}
mason_run "$@"

View File

@ -36,4 +36,8 @@ function mason_ldflags {
:
}
function mason_static_libs {
:
}
mason_run "$@"

View File

@ -2,7 +2,7 @@
MASON_NAME=gcc
MASON_VERSION=5.3.0-i686
MASON_LIB_FILE=root/bin/arm-i686-linux-gnueabi-gcc
MASON_LIB_FILE=root/bin/i686-pc-linux-gnu-gcc
. ${MASON_DIR}/mason.sh
@ -36,4 +36,8 @@ function mason_ldflags {
:
}
function mason_static_libs {
:
}
mason_run "$@"

View File

@ -0,0 +1,13 @@
language: generic
matrix:
include:
- os: osx
osx_image: xcode8.2
compiler: clang
- os: linux
sudo: false
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

View File

@ -0,0 +1,141 @@
diff --git a/apps/GNUmakefile b/apps/GNUmakefile
index a87cd0f..931a988 100644
--- a/apps/GNUmakefile
+++ b/apps/GNUmakefile
@@ -79,103 +79,103 @@ gdalbuildvrt_lib.$(OBJ_EXT): gdalbuildvrt_lib.cpp
$(CXX) -c $(GDAL_INCLUDE) $(CPPFLAGS) $(CXXFLAGS) $< -o $@
gdalinfo$(EXE): gdalinfo_bin.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) $(CONFIG_LIB_UTILS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) $(CONFIG_LIB_UTILS) -o $@ $(LNK_FLAGS)
gdalserver$(EXE): gdalserver.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
gdal_translate$(EXE): gdal_translate_bin.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
gdaladdo$(EXE): gdaladdo.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
gdalwarp$(EXE): gdalwarp_bin.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
gdal_contour$(EXE): gdal_contour.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
nearblack$(EXE): nearblack_bin.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
gdalmanage$(EXE): gdalmanage.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
gdal_rasterize$(EXE): gdal_rasterize_bin.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
gdaltindex$(EXE): gdaltindex.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
gdalbuildvrt$(EXE): gdalbuildvrt_bin.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
multireadtest$(EXE): multireadtest.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
dumpoverviews$(EXE): dumpoverviews.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
gdalenhance$(EXE): gdalenhance.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
gdaldem$(EXE): gdaldem_bin.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
gdal_grid$(EXE): gdal_grid_bin.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
gdalwarpsimple$(EXE): gdalwarpsimple.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
gdaltransform$(EXE): gdaltransform.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
gdallocationinfo$(EXE): gdallocationinfo.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
gdalsrsinfo$(EXE): gdalsrsinfo.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
gdalflattenmask$(EXE): gdalflattenmask.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
gdaltorture$(EXE): gdaltorture.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
gdal2ogr$(EXE): gdal2ogr.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
ogrinfo$(EXE): ogrinfo.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
ogrlineref$(EXE): ogrlineref.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
ogr2ogr$(EXE): ogr2ogr_bin.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
testepsg$(EXE): testepsg.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
ogrtindex$(EXE): ogrtindex.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
test_ogrsf$(EXE): test_ogrsf.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
gdalasyncread$(EXE): gdalasyncread.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
testreprojmulti$(EXE): testreprojmulti.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
gnmmanage$(EXE): gnmmanage.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
gnmanalyse$(EXE): gnmanalyse.$(OBJ_EXT) $(DEP_LIBS)
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
clean:
$(RM) *.o $(BIN_LIST) core gdal-config gdal-config-inst

189
third_party/mason/scripts/gdal/2.1.3/script.sh vendored Executable file
View File

@ -0,0 +1,189 @@
#!/usr/bin/env bash
MASON_NAME=gdal
MASON_VERSION=2.1.3
MASON_LIB_FILE=lib/libgdal.a
. ${MASON_DIR}/mason.sh
function mason_load_source {
mason_download \
http://download.osgeo.org/gdal/${MASON_VERSION}/gdal-${MASON_VERSION}.tar.gz \
552231f8ffe060ba30e37f1a8e6c4665bcf3cd1d
mason_extract_tar_gz
export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION}
}
function mason_prepare_compile {
cd $(dirname ${MASON_ROOT})
# set up to fix libtool .la files
# https://github.com/mapbox/mason/issues/61
if [[ $(uname -s) == 'Darwin' ]]; then
FIND="\/Users\/travis\/build\/mapbox\/mason"
else
FIND="\/home\/travis\/build\/mapbox\/mason"
fi
REPLACE="$(pwd)"
REPLACE=${REPLACE////\\/}
${MASON_DIR}/mason install libtiff 4.0.7
MASON_TIFF=$(${MASON_DIR}/mason prefix libtiff 4.0.7)
perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_TIFF}/lib/libtiff.la
${MASON_DIR}/mason install proj 4.9.3
MASON_PROJ=$(${MASON_DIR}/mason prefix proj 4.9.3)
perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_PROJ}/lib/libproj.la
${MASON_DIR}/mason install jpeg_turbo 1.5.1
MASON_JPEG=$(${MASON_DIR}/mason prefix jpeg_turbo 1.5.1)
perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_JPEG}/lib/libjpeg.la
${MASON_DIR}/mason install libpng 1.6.28
MASON_PNG=$(${MASON_DIR}/mason prefix libpng 1.6.28)
perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_PNG}/lib/libpng.la
${MASON_DIR}/mason install expat 2.2.0
MASON_EXPAT=$(${MASON_DIR}/mason prefix expat 2.2.0)
perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_EXPAT}/lib/libexpat.la
${MASON_DIR}/mason install libpq 9.6.1
MASON_LIBPQ=$(${MASON_DIR}/mason prefix libpq 9.6.1)
# depends on sudo apt-get install zlib1g-dev
${MASON_DIR}/mason install zlib system
MASON_ZLIB=$(${MASON_DIR}/mason prefix zlib system)
# depends on sudo apt-get install libc6-dev
#${MASON_DIR}/mason install iconv system
#MASON_ICONV=$(${MASON_DIR}/mason prefix iconv system)
export LIBRARY_PATH=${MASON_LIBPQ}/lib:$LIBRARY_PATH
${MASON_DIR}/mason install ccache 3.3.1
MASON_CCACHE=$(${MASON_DIR}/mason prefix ccache 3.3.1)/bin/ccache
}
function mason_compile {
if [[ ${MASON_PLATFORM} == 'linux' ]]; then
mason_step "Loading patch"
patch -N -p1 < ${MASON_DIR}/scripts/${MASON_NAME}/${MASON_VERSION}/patch.diff
fi
# note CFLAGS overrides defaults so we need to add optimization flags back
export CFLAGS="${CFLAGS} -O3 -DNDEBUG"
CUSTOM_LIBS="-L${MASON_TIFF}/lib -ltiff -L${MASON_JPEG}/lib -ljpeg -L${MASON_PROJ}/lib -lproj -L${MASON_PNG}/lib -lpng -L${MASON_EXPAT}/lib -lexpat"
CUSTOM_CFLAGS="${CFLAGS} -I${MASON_LIBPQ}/include -I${MASON_TIFF}/include -I${MASON_JPEG}/include -I${MASON_PROJ}/include -I${MASON_PNG}/include -I${MASON_EXPAT}/include"
# very custom handling for libpq/postgres support
# forcing our portable static library to be used
MASON_LIBPQ_PATH=${MASON_LIBPQ}/lib/libpq.a
if [[ $(uname -s) == 'Linux' ]]; then
# on Linux passing -Wl will lead to libtool re-positioning libpq.a in the wrong place (no longer after libgdal.a)
# which leads to unresolved symbols
CUSTOM_LDFLAGS="${LDFLAGS} ${MASON_LIBPQ_PATH}"
else
# on OSX not passing -Wl will break libtool archive creation leading to confusing arch errors
CUSTOM_LDFLAGS="${LDFLAGS} -Wl,${MASON_LIBPQ_PATH}"
fi
# we have to remove -lpq otherwise it will trigger linking to system /usr/lib/libpq
perl -i -p -e "s/\-lpq //g;" configure
# on linux -Wl,/path/to/libpq.a still does not work for the configure test
# so we have to force it into LIBS. But we don't do this on OS X since it breaks libtool archive logic
if [[ $(uname -s) == 'Linux' ]]; then
CUSTOM_LIBS="${MASON_LIBPQ}/lib/libpq.a -pthread ${CUSTOM_LIBS}"
fi
export CXX="${MASON_CCACHE} ${CXX}"
# note: we put ${STDLIB_CXXFLAGS} into CXX instead of LDFLAGS due to libtool oddity:
# http://stackoverflow.com/questions/16248360/autotools-libtool-link-library-with-libstdc-despite-stdlib-libc-option-pass
if [[ $(uname -s) == 'Darwin' ]]; then
export CXX="${CXX} -stdlib=libc++ -std=c++11"
fi
# note: it might be tempting to build with --without-libtool
# but I find that will only lead to a shared libgdal.so and will
# not produce a static library even if --enable-static is passed
LIBS="${CUSTOM_LIBS}" LDFLAGS="${CUSTOM_LDFLAGS}" CFLAGS="${CUSTOM_CFLAGS}" ./configure \
--enable-static --disable-shared \
${MASON_HOST_ARG} \
--prefix=${MASON_PREFIX} \
--with-libz=${MASON_ZLIB} \
--disable-rpath \
--with-libjson-c=internal \
--with-geotiff=internal \
--with-expat=${MASON_EXPAT} \
--with-threads=yes \
--with-fgdb=no \
--with-rename-internal-libtiff-symbols=no \
--with-rename-internal-libgeotiff-symbols=no \
--with-hide-internal-symbols=yes \
--with-libtiff=${MASON_TIFF} \
--with-jpeg=${MASON_JPEG} \
--with-png=${MASON_PNG} \
--with-pg=${MASON_LIBPQ}/bin/pg_config \
--with-static-proj4=${MASON_PROJ} \
--with-spatialite=no \
--with-geos=no \
--with-sqlite3=no \
--with-curl=no \
--with-xml2=no \
--with-pcraster=no \
--with-cfitsio=no \
--with-odbc=no \
--with-libkml=no \
--with-pcidsk=no \
--with-jasper=no \
--with-gif=no \
--with-grib=no \
--with-freexl=no \
--with-avx=no \
--with-sse=no \
--with-perl=no \
--with-ruby=no \
--with-python=no \
--with-java=no \
--with-podofo=no \
--with-pam \
--with-webp=no \
--with-pcre=no \
--with-liblzma=no \
--with-netcdf=no \
--with-poppler=no
make -j${MASON_CONCURRENCY}
make install
relativize_gdal_config ${MASON_PREFIX}/bin/gdal-config ${MASON_PREFIX} ${MASON_ROOT}/${MASON_PLATFORM_ID}
}
function relativize_gdal_config() {
path_to_gdal_config=${1}
prefix_path=${2}
build_path=${3}
RESOLVE_SYMLINK="readlink"
if [[ $(uname -s) == 'Linux' ]];then
RESOLVE_SYMLINK="readlink -f"
fi
mv ${path_to_gdal_config} /tmp/gdal-config-backup
# append code at start
echo 'if test -L $0; then BASE=$( dirname $( '${RESOLVE_SYMLINK}' "$0" ) ); else BASE=$( dirname "$0" ); fi' > ${path_to_gdal_config}
cat /tmp/gdal-config-backup >> ${path_to_gdal_config}
chmod +x ${path_to_gdal_config}
# now modify in place
python -c "data=open('${path_to_gdal_config}','r').read();open('${path_to_gdal_config}','w').write(data.replace('${prefix_path}','\$( cd \"\$( dirname \${BASE} )\" && pwd )'))"
# fix the path to dep libs (CONFIG_DEP_LIBS)
python -c "data=open('${path_to_gdal_config}','r').read();open('${path_to_gdal_config}','w').write(data.replace('${build_path}','\$( cd \"\$( dirname \$( dirname \$( dirname \${BASE} ) ))\" && pwd )'))"
# hack to re-add -lpq since otherwise it will not end up in --dep-libs
python -c "data=open('${path_to_gdal_config}','r').read();open('${path_to_gdal_config}','w').write(data.replace('\$CONFIG_DEP_LIBS','\$CONFIG_DEP_LIBS -lpq'))"
}
function mason_cflags {
echo "-I${MASON_PREFIX}/include"
}
function mason_ldflags {
echo $(${MASON_PREFIX}/bin/gdal-config --static --libs)
}
function mason_clean {
make clean
}
mason_run "$@"

View File

@ -0,0 +1,8 @@
language: cpp
sudo: false
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}
after_success:
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

View File

@ -0,0 +1,33 @@
#!/usr/bin/env bash
MASON_NAME=geojsonvt
MASON_VERSION=6.2.0
MASON_HEADER_ONLY=true
. ${MASON_DIR}/mason.sh
function mason_load_source {
mason_download \
https://github.com/mapbox/geojson-vt-cpp/archive/v${MASON_VERSION}.tar.gz \
3f23bc6ed6b51e742af7199bf46a1e6db6c6d32d
mason_extract_tar_gz
export MASON_BUILD_PATH=${MASON_ROOT}/.build/geojson-vt-cpp-${MASON_VERSION}
}
function mason_compile {
mkdir -p ${MASON_PREFIX}/include/
cp -r include/mapbox ${MASON_PREFIX}/include/mapbox
}
function mason_cflags {
echo "-I${MASON_PREFIX}/include"
}
function mason_ldflags {
:
}
mason_run "$@"

View File

@ -0,0 +1,13 @@
language: generic
matrix:
include:
- os: osx
osx_image: xcode8.2
compiler: clang
- os: linux
sudo: false
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

View File

@ -0,0 +1,54 @@
#!/usr/bin/env bash
MASON_NAME=gflags
MASON_VERSION=2.1.2
MASON_LIB_FILE=lib/libgflags.a
. ${MASON_DIR}/mason.sh
function mason_load_source {
mason_download \
https://github.com/gflags/${MASON_NAME}/archive/v${MASON_VERSION}.tar.gz \
6810db9e9cb378bfc0b0fb250f27f4416df5beec
mason_extract_tar_gz
export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION}
}
function mason_prepare_compile {
CCACHE_VERSION=3.3.1
${MASON_DIR}/mason install ccache ${CCACHE_VERSION}
MASON_CCACHE=$(${MASON_DIR}/mason prefix ccache ${CCACHE_VERSION})
${MASON_DIR}/mason install cmake 3.7.2
${MASON_DIR}/mason link cmake 3.7.2
}
function mason_compile {
rm -rf build
mkdir -p build
cd build
CMAKE_PREFIX_PATH=${MASON_ROOT}/.link \
${MASON_ROOT}/.link/bin/cmake \
-DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \
-DCMAKE_CXX_COMPILER_LAUNCHER="${MASON_CCACHE}/bin/ccache" \
-DCMAKE_BUILD_TYPE=Release \
..
make VERBOSE=1 -j${MASON_CONCURRENCY}
make install
}
function mason_cflags {
:
}
function mason_ldflags {
:
}
function mason_static_libs {
echo ${MASON_PREFIX}/${MASON_LIB_FILE}
}
mason_run "$@"

View File

@ -14,10 +14,10 @@ matrix:
- os: linux
include:
- os: osx
osx_image: xcode7
osx_image: xcode8
env: MASON_PLATFORM=ios
- os: osx
osx_image: xcode7
osx_image: xcode8
env: MASON_PLATFORM=osx
- os: linux
env: MASON_PLATFORM=linux

View File

@ -69,7 +69,9 @@ function mason_cflags {
}
function mason_ldflags {
echo -lpthread
if [ ${MASON_PLATFORM} != 'android' ]; then
echo -lpthread
fi
}
function mason_static_libs {

View File

@ -27,13 +27,18 @@ function mason_prepare_compile {
export C_INCLUDE_PATH="${MASON_FREETYPE}/include/freetype2"
export CPLUS_INCLUDE_PATH="${MASON_FREETYPE}/include/freetype2"
export LIBRARY_PATH="${MASON_FREETYPE}/lib"
if [[ ! `which pkg-config` ]]; then
echo "harfbuzz configure needs pkg-config, please install pkg-config"
exit 1
fi
}
function mason_compile {
export FREETYPE_CFLAGS="-I${MASON_FREETYPE}/include/freetype2"
export FREETYPE_LIBS="-L${MASON_FREETYPE}/lib -lfreetype -lz"
export CXXFLAGS="${CXXFLAGS} -DHB_NO_MT ${FREETYPE_CFLAGS}"
export CFLAGS="${CFLAGS} -DHB_NO_MT ${FREETYPE_CFLAGS}"
# Note CXXFLAGS overrides the harbuzz default with is `-O2 -g`
export CXXFLAGS="${CXXFLAGS} ${FREETYPE_CFLAGS} -O3 -DNDEBUG"
export CFLAGS="${CFLAGS} ${FREETYPE_CFLAGS} -O3 -DNDEBUG"
export LDFLAGS="${LDFLAGS} ${FREETYPE_LIBS}"
mason_step "Loading patch 'https://github.com/mapbox/mason/blob/${MASON_SLUG}/patch.diff'..."

View File

@ -27,13 +27,18 @@ function mason_prepare_compile {
export C_INCLUDE_PATH="${MASON_FREETYPE}/include/freetype2"
export CPLUS_INCLUDE_PATH="${MASON_FREETYPE}/include/freetype2"
export LIBRARY_PATH="${MASON_FREETYPE}/lib"
if [[ ! `which pkg-config` ]]; then
echo "harfbuzz configure needs pkg-config, please install pkg-config"
exit 1
fi
}
function mason_compile {
export FREETYPE_CFLAGS="-I${MASON_FREETYPE}/include/freetype2"
export FREETYPE_LIBS="-L${MASON_FREETYPE}/lib -lfreetype -lz"
export CXXFLAGS="${CXXFLAGS} -DHB_NO_MT ${FREETYPE_CFLAGS}"
export CFLAGS="${CFLAGS} -DHB_NO_MT ${FREETYPE_CFLAGS}"
# Note CXXFLAGS overrides the harbuzz default with is `-O2 -g`
export CXXFLAGS="${CXXFLAGS} ${FREETYPE_CFLAGS} -O3 -DNDEBUG"
export CFLAGS="${CFLAGS} ${FREETYPE_CFLAGS} -O3 -DNDEBUG"
export LDFLAGS="${LDFLAGS} ${FREETYPE_LIBS}"
mason_step "Loading patch 'https://github.com/mapbox/mason/blob/${MASON_SLUG}/patch.diff'..."

View File

@ -27,13 +27,18 @@ function mason_prepare_compile {
export C_INCLUDE_PATH="${MASON_FREETYPE}/include/freetype2"
export CPLUS_INCLUDE_PATH="${MASON_FREETYPE}/include/freetype2"
export LIBRARY_PATH="${MASON_FREETYPE}/lib"
if [[ ! `which pkg-config` ]]; then
echo "harfbuzz configure needs pkg-config, please install pkg-config"
exit 1
fi
}
function mason_compile {
export FREETYPE_CFLAGS="-I${MASON_FREETYPE}/include/freetype2"
export FREETYPE_LIBS="-L${MASON_FREETYPE}/lib -lfreetype -lz"
export CXXFLAGS="${CXXFLAGS} ${FREETYPE_CFLAGS}"
export CFLAGS="${CFLAGS} ${FREETYPE_CFLAGS}"
# Note CXXFLAGS overrides the harbuzz default with is `-O2 -g`
export CXXFLAGS="${CXXFLAGS} ${FREETYPE_CFLAGS} -O3 -DNDEBUG"
export CFLAGS="${CFLAGS} ${FREETYPE_CFLAGS} -O3 -DNDEBUG"
export LDFLAGS="${LDFLAGS} ${FREETYPE_LIBS}"
./configure --prefix=${MASON_PREFIX} ${MASON_HOST_ARG} \

View File

@ -27,13 +27,18 @@ function mason_prepare_compile {
export C_INCLUDE_PATH="${MASON_FREETYPE}/include/freetype2"
export CPLUS_INCLUDE_PATH="${MASON_FREETYPE}/include/freetype2"
export LIBRARY_PATH="${MASON_FREETYPE}/lib"
if [[ ! `which pkg-config` ]]; then
echo "harfbuzz configure needs pkg-config, please install pkg-config"
exit 1
fi
}
function mason_compile {
export FREETYPE_CFLAGS="-I${MASON_FREETYPE}/include/freetype2"
export FREETYPE_LIBS="-L${MASON_FREETYPE}/lib -lfreetype -lz"
export CXXFLAGS="${CXXFLAGS} ${FREETYPE_CFLAGS}"
export CFLAGS="${CFLAGS} ${FREETYPE_CFLAGS}"
# Note CXXFLAGS overrides the harbuzz default with is `-O2 -g`
export CXXFLAGS="${CXXFLAGS} ${FREETYPE_CFLAGS} -O3 -DNDEBUG"
export CFLAGS="${CFLAGS} ${FREETYPE_CFLAGS} -O3 -DNDEBUG"
export LDFLAGS="${LDFLAGS} ${FREETYPE_LIBS}"
./configure --prefix=${MASON_PREFIX} ${MASON_HOST_ARG} \

View File

@ -27,13 +27,18 @@ function mason_prepare_compile {
export C_INCLUDE_PATH="${MASON_FREETYPE}/include/freetype2"
export CPLUS_INCLUDE_PATH="${MASON_FREETYPE}/include/freetype2"
export LIBRARY_PATH="${MASON_FREETYPE}/lib"
if [[ ! `which pkg-config` ]]; then
echo "harfbuzz configure needs pkg-config, please install pkg-config"
exit 1
fi
}
function mason_compile {
export FREETYPE_CFLAGS="-I${MASON_FREETYPE}/include/freetype2"
export FREETYPE_LIBS="-L${MASON_FREETYPE}/lib -lfreetype -lz"
export CXXFLAGS="${CXXFLAGS} ${FREETYPE_CFLAGS}"
export CFLAGS="${CFLAGS} ${FREETYPE_CFLAGS}"
# Note CXXFLAGS overrides the harbuzz default with is `-O2 -g`
export CXXFLAGS="${CXXFLAGS} ${FREETYPE_CFLAGS} -O3 -DNDEBUG"
export CFLAGS="${CFLAGS} ${FREETYPE_CFLAGS} -O3 -DNDEBUG"
export LDFLAGS="${LDFLAGS} ${FREETYPE_LIBS}"
./configure --prefix=${MASON_PREFIX} ${MASON_HOST_ARG} \

View File

@ -36,8 +36,9 @@ function mason_prepare_compile {
function mason_compile {
export FREETYPE_CFLAGS="-I${MASON_FREETYPE}/include/freetype2"
export FREETYPE_LIBS="-L${MASON_FREETYPE}/lib -lfreetype -lz"
export CXXFLAGS="${CXXFLAGS} ${FREETYPE_CFLAGS}"
export CFLAGS="${CFLAGS} ${FREETYPE_CFLAGS}"
# Note CXXFLAGS overrides the harbuzz default with is `-O2 -g`
export CXXFLAGS="${CXXFLAGS} ${FREETYPE_CFLAGS} -O3 -DNDEBUG"
export CFLAGS="${CFLAGS} ${FREETYPE_CFLAGS} -O3 -DNDEBUG"
export LDFLAGS="${LDFLAGS} ${FREETYPE_LIBS}"
./configure --prefix=${MASON_PREFIX} ${MASON_HOST_ARG} \

View File

@ -0,0 +1,13 @@
language: generic
matrix:
include:
- os: osx
osx_image: xcode8.2
compiler: clang
- os: linux
sudo: false
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

View File

@ -1,7 +1,7 @@
#!/usr/bin/env bash
MASON_NAME=harfbuzz
MASON_VERSION=2cd5323531dcd800549b2cb1cb51d708e72ab2d8
MASON_VERSION=1.4.2-ft
MASON_LIB_FILE=lib/libharfbuzz.a
MASON_PKGCONFIG_FILE=lib/pkgconfig/harfbuzz.pc
@ -9,52 +9,64 @@ MASON_PKGCONFIG_FILE=lib/pkgconfig/harfbuzz.pc
function mason_load_source {
mason_download \
https://github.com/behdad/harfbuzz/archive/${MASON_VERSION}.tar.gz \
671c4cd7d31013de720e98c7e1f4bbfa06871fce
http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${MASON_VERSION/-ft/}.tar.bz2 \
d8b08c8d792500f414472c8a54f69b08aabb06b4
mason_extract_tar_gz
mason_extract_tar_bz2
export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION}
export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION/-ft/}
}
function mason_prepare_compile {
${MASON_DIR}/mason install freetype 2.5.4
MASON_FREETYPE=$(${MASON_DIR}/mason prefix freetype 2.5.4)
FREETYPE_VERSION="2.7.1"
${MASON_DIR}/mason install freetype ${FREETYPE_VERSION}
MASON_FREETYPE=$(${MASON_DIR}/mason prefix freetype ${FREETYPE_VERSION})
MASON_PLATFORM= ${MASON_DIR}/mason install ragel 6.9
export PATH=$(MASON_PLATFORM= ${MASON_DIR}/mason prefix ragel 6.9)/bin:$PATH
export PKG_CONFIG_PATH="$(${MASON_DIR}/mason prefix freetype 2.5.4)/lib/pkgconfig":$PKG_CONFIG_PATH
export PKG_CONFIG_PATH="$(${MASON_DIR}/mason prefix freetype ${FREETYPE_VERSION})/lib/pkgconfig":$PKG_CONFIG_PATH
export C_INCLUDE_PATH="${MASON_FREETYPE}/include/freetype2"
export CPLUS_INCLUDE_PATH="${MASON_FREETYPE}/include/freetype2"
export LIBRARY_PATH="${MASON_FREETYPE}/lib"
if [[ ! `which pkg-config` ]]; then
echo "harfbuzz configure needs pkg-config, please install pkg-config"
exit 1
fi
}
function mason_compile {
export FREETYPE_CFLAGS="-I${MASON_FREETYPE}/include/freetype2"
export FREETYPE_LIBS="-L${MASON_FREETYPE}/lib -lfreetype -lz"
export CXXFLAGS="${CXXFLAGS} -DHB_NO_MT ${FREETYPE_CFLAGS}"
export CFLAGS="${CFLAGS} -DHB_NO_MT ${FREETYPE_CFLAGS}"
# Note CXXFLAGS overrides the harfbuzz default with is `-O2 -g`
export CXXFLAGS="${CXXFLAGS} ${FREETYPE_CFLAGS} -O3 -DNDEBUG"
export CFLAGS="${CFLAGS} ${FREETYPE_CFLAGS} -O3 -DNDEBUG"
export LDFLAGS="${LDFLAGS} ${FREETYPE_LIBS}"
NOCONFIGURE=1 ./autogen.sh ${HOST_ARG}
./configure --prefix=${MASON_PREFIX} ${MASON_HOST_ARG} \
--enable-static \
--disable-shared \
--disable-dependency-tracking \
--with-freetype \
--with-ucdn=yes \
--with-icu=no \
--with-cairo=no \
--with-glib=no \
--with-gobject=no \
--with-graphite2=no \
--with-freetype \
--with-fontconfig=no \
--with-uniscribe=no \
--with-coretext=no || cat config.log
--with-directwrite=no \
--with-coretext=no
make -j${MASON_CONCURRENCY} V=1
make install
}
function mason_ldflags {
echo "-lharfbuzz"
: # We're only using the full path to the archive, which is output in static_libs
}
function mason_cflags {
echo "-I${MASON_PREFIX}/include"
}
function mason_clean {

View File

@ -0,0 +1,13 @@
language: generic
matrix:
include:
- os: osx
osx_image: xcode8.2
compiler: clang
- os: linux
sudo: false
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

View File

@ -0,0 +1,66 @@
#!/usr/bin/env bash
MASON_NAME=harfbuzz
MASON_VERSION=1.4.2
MASON_LIB_FILE=lib/libharfbuzz.a
MASON_PKGCONFIG_FILE=lib/pkgconfig/harfbuzz.pc
. ${MASON_DIR}/mason.sh
function mason_load_source {
mason_download \
http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${MASON_VERSION}.tar.bz2 \
d8b08c8d792500f414472c8a54f69b08aabb06b4
mason_extract_tar_bz2
export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION}
}
function mason_prepare_compile {
MASON_PLATFORM= ${MASON_DIR}/mason install ragel 6.9
export PATH=$(MASON_PLATFORM= ${MASON_DIR}/mason prefix ragel 6.9)/bin:$PATH
if [[ ! `which pkg-config` ]]; then
echo "harfbuzz configure needs pkg-config, please install pkg-config"
exit 1
fi
}
function mason_compile {
# Note CXXFLAGS overrides the harfbuzz default with is `-O2 -g`
export CXXFLAGS="${CXXFLAGS} -O3 -DNDEBUG"
export CFLAGS="${CFLAGS} -O3 -DNDEBUG"
./configure --prefix=${MASON_PREFIX} ${MASON_HOST_ARG} \
--enable-static \
--disable-shared \
--disable-dependency-tracking \
--with-freetype=no \
--with-ucdn=yes \
--with-icu=no \
--with-cairo=no \
--with-glib=no \
--with-gobject=no \
--with-graphite2=no \
--with-fontconfig=no \
--with-uniscribe=no \
--with-directwrite=no \
--with-coretext=no
make -j${MASON_CONCURRENCY} V=1
make install
}
function mason_ldflags {
: # We're only using the full path to the archive, which is output in static_libs
}
function mason_cflags {
echo "-I${MASON_PREFIX}/include"
}
function mason_clean {
make clean
}
mason_run "$@"

View File

@ -8,6 +8,10 @@ matrix:
- os: osx
env: MASON_PLATFORM=ios
compiler: clang
- os: linux
env: MASON_PLATFORM_VERSION=cortex_a9
- os: linux
env: MASON_PLATFORM_VERSION=i686
- os: linux
compiler: clang
sudo: false

View File

@ -23,7 +23,7 @@ function mason_load_source {
}
function mason_prepare_compile {
if [[ ${MASON_PLATFORM} == 'ios' || ${MASON_PLATFORM} == 'android' ]]; then
if [[ ${MASON_PLATFORM} == 'ios' || ${MASON_PLATFORM} == 'android' || ${MASON_PLATFORM_VERSION} != `uname -m` ]]; then
mason_substep "Cross-compiling ICU. Starting with host build of ICU to generate tools."
pushd ${MASON_ROOT}/..
@ -40,7 +40,7 @@ function mason_prepare_compile {
}
function mason_compile {
if [[ ${MASON_PLATFORM} == 'ios' || ${MASON_PLATFORM} == 'android' ]]; then
if [[ ${MASON_PLATFORM} == 'ios' || ${MASON_PLATFORM} == 'android' || ${MASON_PLATFORM_VERSION} != `uname -m` ]]; then
MASON_CROSS_BUILD=1
fi
mason_compile_base

View File

@ -1,16 +1,14 @@
language: cpp
sudo: false
language: generic
matrix:
include:
- os: osx
osx_image: xcode8.2
compiler: clang
- os: linux
compiler: clang
sudo: false
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}
after_success:
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

View File

@ -0,0 +1,39 @@
#!/usr/bin/env bash
MASON_NAME=jemalloc
MASON_VERSION=4.4.0
MASON_LIB_FILE=bin/jeprof
. ${MASON_DIR}/mason.sh
function mason_load_source {
mason_download \
https://github.com/jemalloc/jemalloc/releases/download/${MASON_VERSION}/jemalloc-${MASON_VERSION}.tar.bz2 \
90f752aeb070639f5f8fd5d87a86cf9cc2ddc8f3
mason_extract_tar_bz2
export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION}
}
function mason_compile {
# warning: CFLAGS overwrites jemalloc CFLAGS, so we need to add back the jemalloc defaults
export CFLAGS="${CFLAGS} -std=gnu11 -Wall -pipe -O3 -funroll-loops -DNDEBUG -D_REENTRANT"
./configure --prefix=${MASON_PREFIX}
make -j${MASON_CONCURRENCY} VERBOSE=1
make install
}
function mason_cflags {
:
}
function mason_ldflags {
:
}
function mason_clean {
make clean
}
mason_run "$@"

View File

@ -0,0 +1,8 @@
language: cpp
sudo: false
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}
after_success:
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

View File

@ -0,0 +1,35 @@
#!/usr/bin/env bash
MASON_NAME=jni.hpp
MASON_VERSION=2.0.0-1
MASON_HEADER_ONLY=true
. ${MASON_DIR}/mason.sh
function mason_load_source {
mason_download \
https://github.com/mapbox/jni.hpp/archive/v2.0.0.tar.gz \
02a99b3a4b55686a8956c8bef9de036819826de0
mason_extract_tar_gz
export MASON_BUILD_PATH=${MASON_ROOT}/.build/jni.hpp-2.0.0
}
function mason_compile {
mkdir -p ${MASON_PREFIX}
cp -vR include README.md LICENSE.txt ${MASON_PREFIX}
}
function mason_cflags {
echo -isystem ${MASON_PREFIX}/include -I${MASON_PREFIX}/include
}
function mason_ldflags {
:
}
function mason_static_libs {
:
}
mason_run "$@"

View File

@ -0,0 +1,8 @@
language: cpp
sudo: false
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}
after_success:
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

View File

@ -0,0 +1,35 @@
#!/usr/bin/env bash
MASON_NAME=jni.hpp
MASON_VERSION=3.0.0
MASON_HEADER_ONLY=true
. ${MASON_DIR}/mason.sh
function mason_load_source {
mason_download \
https://github.com/mapbox/jni.hpp/archive/v${MASON_VERSION}.tar.gz \
abc0e127abfe0ce7992e29f0f1b51877495ad4f0
mason_extract_tar_gz
export MASON_BUILD_PATH=${MASON_ROOT}/.build/jni.hpp-${MASON_VERSION}
}
function mason_compile {
mkdir -p ${MASON_PREFIX}
cp -vR include README.md LICENSE.txt ${MASON_PREFIX}
}
function mason_cflags {
echo -isystem ${MASON_PREFIX}/include -I${MASON_PREFIX}/include
}
function mason_ldflags {
:
}
function mason_static_libs {
:
}
mason_run "$@"

View File

@ -0,0 +1,13 @@
language: generic
matrix:
include:
- os: osx
osx_image: xcode8.2
compiler: clang
- os: linux
sudo: false
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

View File

@ -0,0 +1,54 @@
#!/usr/bin/env bash
MASON_NAME=jpeg_turbo
MASON_VERSION=1.5.1
MASON_LIB_FILE=lib/libjpeg.a
. ${MASON_DIR}/mason.sh
function mason_load_source {
mason_download \
http://downloads.sourceforge.net/project/libjpeg-turbo/${MASON_VERSION}/libjpeg-turbo-${MASON_VERSION}.tar.gz \
4038bb4242a3fc3387d5dc4e37fc2ac7fffaf5da
mason_extract_tar_gz
export MASON_BUILD_PATH=${MASON_ROOT}/.build/libjpeg-turbo-${MASON_VERSION}
}
function mason_prepare_compile {
MASON_PLATFORM= ${MASON_DIR}/mason install nasm 2.11.06
MASON_NASM=$(MASON_PLATFORM= ${MASON_DIR}/mason prefix nasm 2.11.06)
}
function mason_compile {
# note CFLAGS overrides defaults so we need to add optimization flags back
export CFLAGS="${CFLAGS} -O3 -DNDEBUG"
./configure \
NASM="${MASON_NASM}/bin/nasm" \
--prefix=${MASON_PREFIX} \
${MASON_HOST_ARG} \
--with-jpeg8 \
--without-12bit \
--without-java \
--enable-static \
--disable-shared \
--disable-dependency-tracking
make V=1 -j1 # -j1 since build breaks with concurrency
make install
}
function mason_cflags {
echo -I${MASON_PREFIX}/include
}
function mason_ldflags {
echo -L${MASON_PREFIX}/lib -ljpeg
}
function mason_clean {
make clean
}
mason_run "$@"

View File

@ -0,0 +1,8 @@
language: cpp
sudo: false
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}
after_success:
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

View File

@ -0,0 +1,34 @@
#!/usr/bin/env bash
MASON_NAME=kdbush
MASON_VERSION=0.1.1-1
MASON_HEADER_ONLY=true
. ${MASON_DIR}/mason.sh
function mason_load_source {
mason_download \
https://github.com/mourner/kdbush.hpp/archive/v0.1.1.tar.gz \
a7ce2860374fc547fbf4568c6c77eba6af376e5a
mason_extract_tar_gz
export MASON_BUILD_PATH=${MASON_ROOT}/.build/kdbush.hpp-0.1.1
}
function mason_compile {
mkdir -p ${MASON_PREFIX}/include/
cp -v include/*.hpp ${MASON_PREFIX}/include
cp -v README.md LICENSE ${MASON_PREFIX}
}
function mason_cflags {
echo "-I${MASON_PREFIX}/include"
}
function mason_ldflags {
:
}
mason_run "$@"

View File

@ -0,0 +1,13 @@
language: generic
matrix:
include:
- os: osx
osx_image: xcode8.2
compiler: clang
- os: linux
sudo: false
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

View File

@ -0,0 +1,42 @@
#!/usr/bin/env bash
MASON_NAME=libgdal
MASON_VERSION=2.1.3
MASON_LIB_FILE=lib/libgdal.a
. ${MASON_DIR}/mason.sh
function mason_load_source {
export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION}
mkdir -p ${MASON_BUILD_PATH}
}
function mason_prepare_compile {
${MASON_DIR}/mason install gdal ${MASON_VERSION}
GDAL_PREFIX=$(${MASON_DIR}/mason prefix gdal ${MASON_VERSION})
}
function mason_compile {
mkdir -p ${MASON_PREFIX}/lib
mkdir -p ${MASON_PREFIX}/include
mkdir -p ${MASON_PREFIX}/share
mkdir -p ${MASON_PREFIX}/bin
cp -r ${GDAL_PREFIX}/bin/gdal-config ${MASON_PREFIX}/bin/
cp -r ${GDAL_PREFIX}/include/* ${MASON_PREFIX}/include/
cp -r ${GDAL_PREFIX}/share/* ${MASON_PREFIX}/share/
cp -r ${GDAL_PREFIX}/lib/libgdal.a ${MASON_PREFIX}/lib/
}
function mason_cflags {
echo "-I${MASON_PREFIX}/include"
}
function mason_ldflags {
echo $(${MASON_PREFIX}/bin/gdal-config --static --libs)
}
function mason_clean {
make clean
}
mason_run "$@"

View File

@ -7,6 +7,14 @@ matrix:
- os: osx
env: MASON_PLATFORM=osx
compiler: clang
- os: linux
env: MASON_PLATFORM_VERSION=cortex_a9
- os: linux
env: MASON_PLATFORM_VERSION=i686
addons:
apt:
sources: [ 'ubuntu-toolchain-r-test' ]
packages: [ 'libstdc++-5-dev', 'yasm' ]
- os: linux
env: MASON_PLATFORM=linux
compiler: clang

View File

@ -0,0 +1,11 @@
language: generic
matrix:
include:
- os: linux
compiler: clang
sudo: false
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

View File

@ -0,0 +1,32 @@
#!/usr/bin/env bash
MASON_NAME=libosmium
MASON_VERSION=2.11.0
MASON_HEADER_ONLY=true
. ${MASON_DIR}/mason.sh
function mason_load_source {
mason_download \
https://github.com/osmcode/${MASON_NAME}/archive/v${MASON_VERSION}.tar.gz \
0e6b565a8566e359393e5c1f5486aaba2a2e15b8
mason_extract_tar_gz
export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION}
}
function mason_compile {
mkdir -p ${MASON_PREFIX}/include/
cp -r include/osmium ${MASON_PREFIX}/include/osmium
}
function mason_cflags {
echo "-I${MASON_PREFIX}/include"
}
function mason_ldflags {
:
}
mason_run "$@"

View File

@ -7,6 +7,13 @@ matrix:
- os: osx
env: MASON_PLATFORM=osx
compiler: clang
- os: linux
env: MASON_PLATFORM_VERSION=cortex_a9
- os: linux
env: MASON_PLATFORM_VERSION=i686
addons:
apt:
packages: [ 'zlib1g-dev:i386' ]
- os: linux
env: MASON_PLATFORM=linux
compiler: clang

View File

@ -5,11 +5,14 @@ MASON_VERSION=1.6.25
MASON_LIB_FILE=lib/libpng.a
MASON_PKGCONFIG_FILE=lib/pkgconfig/libpng.pc
# Used when cross compiling to cortex_a9
ZLIB_SHARED_VERSION=1.2.8
. ${MASON_DIR}/mason.sh
function mason_load_source {
mason_download \
http://downloads.sourceforge.net/project/libpng/libpng16/${MASON_VERSION}/libpng-${MASON_VERSION}.tar.gz \
http://downloads.sourceforge.net/project/libpng/libpng16/older-releases/${MASON_VERSION}/libpng-${MASON_VERSION}.tar.gz \
a88b710714a8e27e5e5aa52de28076860fc7748c
mason_extract_tar_gz
@ -17,8 +20,29 @@ function mason_load_source {
export MASON_BUILD_PATH=${MASON_ROOT}/.build/libpng-${MASON_VERSION}
}
function mason_prepare_compile {
# Install the zlib dependency when cross compiling as usually the host system only
# provides the zlib headers and libraries in the path for the host architecture.
if [ ${MASON_PLATFORM_VERSION} == "cortex_a9" ] || [ ${MASON_PLATFORM_VERSION} == "i686" ]; then
cd $(dirname ${MASON_ROOT})
${MASON_DIR}/mason install zlib_shared ${ZLIB_SHARED_VERSION}
${MASON_DIR}/mason link zlib_shared ${ZLIB_SHARED_VERSION}
MASON_ZLIB_CFLAGS="$(${MASON_DIR}/mason cflags zlib_shared ${ZLIB_SHARED_VERSION})"
MASON_ZLIB_LDFLAGS="-L$(${MASON_DIR}/mason prefix zlib_shared ${ZLIB_SHARED_VERSION})/lib"
fi
}
function mason_compile {
export CFLAGS="${CFLAGS:-} -O3"
export CFLAGS="${CFLAGS:-} ${MASON_ZLIB_CFLAGS} -O3"
export LDFLAGS="${CFLAGS:-} ${MASON_ZLIB_LDFLAGS}"
if [ ${MASON_PLATFORM_VERSION} == "cortex_a9" ] || [ ${MASON_PLATFORM_VERSION} == "i686" ]; then
# XXX: This hack is because libpng does not respect CFLAGS
# for all the files. Bruteforce in the compiler command line.
export CC="${CC:-} ${CFLAGS}"
fi
./configure \
--prefix=${MASON_PREFIX} \
${MASON_HOST_ARG} \
@ -27,7 +51,7 @@ function mason_compile {
--disable-shared \
--disable-dependency-tracking
make install -j${MASON_CONCURRENCY}
V=1 VERBOSE=1 make install -j${MASON_CONCURRENCY}
}
function mason_strip_ldflags {

View File

@ -0,0 +1,45 @@
language: generic
matrix:
include:
- os: osx
osx_image: xcode8.2
compiler: clang
- os: linux
env: MASON_PLATFORM_VERSION=cortex_a9
sudo: false
- os: linux
env: MASON_PLATFORM_VERSION=i686
sudo: false
addons:
apt:
packages: [ 'zlib1g-dev:i386' ]
- os: linux
env: MASON_PLATFORM=linux
compiler: clang
sudo: false
- os: linux
env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5
sudo: false
- os: linux
env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7
sudo: false
- os: linux
env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8
sudo: false
- os: linux
env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86
sudo: false
- os: linux
env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64
sudo: false
- os: linux
env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips
sudo: false
- os: linux
env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64
sudo: false
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

View File

@ -0,0 +1,71 @@
#!/usr/bin/env bash
MASON_NAME=libpng
MASON_VERSION=1.6.28
MASON_LIB_FILE=lib/libpng.a
MASON_PKGCONFIG_FILE=lib/pkgconfig/libpng.pc
# Used when cross compiling to cortex_a9
ZLIB_SHARED_VERSION=1.2.8
. ${MASON_DIR}/mason.sh
function mason_load_source {
mason_download \
http://downloads.sourceforge.net/project/libpng/libpng16/${MASON_VERSION}/libpng-${MASON_VERSION}.tar.gz \
a424121a192420e2fbbea20db1d13dca0c7c99ca
mason_extract_tar_gz
export MASON_BUILD_PATH=${MASON_ROOT}/.build/libpng-${MASON_VERSION}
}
function mason_prepare_compile {
# Install the zlib dependency when cross compiling as usually the host system only
# provides the zlib headers and libraries in the path for the host architecture.
if [ ${MASON_PLATFORM_VERSION} == "cortex_a9" ] || [ ${MASON_PLATFORM_VERSION} == "i686" ]; then
cd $(dirname ${MASON_ROOT})
${MASON_DIR}/mason install zlib_shared ${ZLIB_SHARED_VERSION}
${MASON_DIR}/mason link zlib_shared ${ZLIB_SHARED_VERSION}
MASON_ZLIB_CFLAGS="$(${MASON_DIR}/mason cflags zlib_shared ${ZLIB_SHARED_VERSION})"
MASON_ZLIB_LDFLAGS="-L$(${MASON_DIR}/mason prefix zlib_shared ${ZLIB_SHARED_VERSION})/lib"
fi
}
function mason_compile {
export CFLAGS="${CFLAGS:-} ${MASON_ZLIB_CFLAGS} -O3 -DNDEBUG"
export LDFLAGS="${CFLAGS:-} ${MASON_ZLIB_LDFLAGS}"
if [ ${MASON_PLATFORM_VERSION} == "cortex_a9" ] || [ ${MASON_PLATFORM_VERSION} == "i686" ]; then
# XXX: This hack is because libpng does not respect CFLAGS
# for all the files. Bruteforce in the compiler command line.
export CC="${CC:-} ${CFLAGS}"
fi
./configure \
--prefix=${MASON_PREFIX} \
${MASON_HOST_ARG} \
--enable-static \
--with-pic \
--disable-shared \
--disable-dependency-tracking
V=1 VERBOSE=1 make install -j${MASON_CONCURRENCY}
}
function mason_strip_ldflags {
shift # -L...
shift # -lpng16
echo "$@"
}
function mason_ldflags {
mason_strip_ldflags $(`mason_pkgconfig` --static --libs)
}
function mason_clean {
make clean
}
mason_run "$@"

View File

@ -0,0 +1,13 @@
language: generic
matrix:
include:
- os: osx
osx_image: xcode8.2
compiler: clang
- os: linux
sudo: false
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

View File

@ -0,0 +1,11 @@
--- src/include/pg_config_manual.h 2013-10-07 20:17:38.000000000 -0700
+++ src/include/pg_config_manual.h 2014-03-08 21:29:48.000000000 -0800
@@ -144,7 +144,7 @@
* here's where to twiddle it. You can also override this at runtime
* with the postmaster's -k switch.
*/
-#define DEFAULT_PGSOCKET_DIR "/tmp"
+#define DEFAULT_PGSOCKET_DIR "/var/run/postgresql"
/*
* The random() function is expected to yield values between 0 and

View File

@ -0,0 +1,67 @@
#!/usr/bin/env bash
MASON_NAME=libpq
MASON_VERSION=9.6.1
MASON_LIB_FILE=lib/libpq.a
MASON_PKGCONFIG_FILE=lib/pkgconfig/libpq.pc
. ${MASON_DIR}/mason.sh
function mason_load_source {
mason_download \
http://ftp.postgresql.org/pub/source/v${MASON_VERSION}/postgresql-${MASON_VERSION}.tar.bz2 \
6aef3fb521aaf987a9363a314ff7d5539b6601cd
mason_extract_tar_bz2
export MASON_BUILD_PATH=${MASON_ROOT}/.build/postgresql-${MASON_VERSION}
}
function mason_compile {
if [[ ${MASON_PLATFORM} == 'linux' ]]; then
mason_step "Loading patch"
patch src/include/pg_config_manual.h ${MASON_DIR}/scripts/${MASON_NAME}/${MASON_VERSION}/patch.diff
fi
# note CFLAGS overrides defaults (-Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -Wno-unused-command-line-argument) so we need to add optimization flags back
export CFLAGS="${CFLAGS} -O3 -DNDEBUG -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -Wno-unused-command-line-argument"
./configure \
--prefix=${MASON_PREFIX} \
${MASON_HOST_ARG} \
--enable-thread-safety \
--enable-largefile \
--without-bonjour \
--without-openssl \
--without-pam \
--without-krb5 \
--without-gssapi \
--without-ossp-uuid \
--without-readline \
--without-ldap \
--without-zlib \
--without-libxml \
--without-libxslt \
--without-selinux \
--without-python \
--without-perl \
--without-tcl \
--disable-rpath \
--disable-debug \
--disable-profiling \
--disable-coverage \
--disable-dtrace \
--disable-depend \
--disable-cassert
make -j${MASON_CONCURRENCY} -C src/bin/pg_config install
make -j${MASON_CONCURRENCY} -C src/interfaces/libpq/ install
cp src/include/postgres_ext.h ${MASON_PREFIX}/include/
cp src/include/pg_config_ext.h ${MASON_PREFIX}/include/
rm -f ${MASON_PREFIX}/lib/libpq{*.so*,*.dylib}
}
function mason_clean {
make clean
}
mason_run "$@"

View File

@ -0,0 +1,13 @@
language: generic
matrix:
include:
- os: osx
osx_image: xcode8.2
compiler: clang
- os: linux
sudo: false
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

View File

@ -0,0 +1,62 @@
#!/usr/bin/env bash
MASON_NAME=libtiff
MASON_VERSION=4.0.7
MASON_LIB_FILE=lib/libtiff.a
MASON_PKGCONFIG_FILE=lib/pkgconfig/libtiff-4.pc
. ${MASON_DIR}/mason.sh
function mason_load_source {
mason_download \
http://download.osgeo.org/libtiff/tiff-${MASON_VERSION}.tar.gz \
3ef673aa786929fea2f997439e33473777465927
mason_extract_tar_gz
export MASON_BUILD_PATH=${MASON_ROOT}/.build/tiff-${MASON_VERSION}
}
function mason_prepare_compile {
cd $(dirname ${MASON_ROOT})
${MASON_DIR}/mason install jpeg_turbo 1.5.1
MASON_JPEG=$(${MASON_DIR}/mason prefix jpeg_turbo 1.5.1)
# depends on sudo apt-get install zlib1g-dev
${MASON_DIR}/mason install zlib system
MASON_ZLIB=$(${MASON_DIR}/mason prefix zlib system)
}
function mason_compile {
# note CFLAGS overrides defaults (-g -O2 -Wall -W) so we need to add optimization flags back
export CFLAGS="${CFLAGS} -O3 -DNDEBUG"
./configure --prefix=${MASON_PREFIX} \
${MASON_HOST_ARG} \
--enable-static --disable-shared \
--enable-largefile \
--enable-defer-strile-load \
--enable-chunky-strip-read \
--disable-jpeg12 \
--disable-dependency-tracking \
--disable-cxx \
--with-jpeg-include-dir=${MASON_JPEG}/include \
--with-jpeg-lib-dir=${MASON_JPEG}/lib \
--with-zlib-include-dir=${MASON_ZLIB}/include \
--with-zlib-lib-dir=${MASON_ZLIB}/lib \
--disable-lzma --disable-jbig --disable-mdi \
--without-x --disable-pixarlog --disable-next --disable-old-jpeg --disable-logluv \
--disable-thunder --disable-packbits --disable-ccitt
make -j${MASON_CONCURRENCY} V=1
make install
}
function mason_ldflags {
echo "-ltiff -ljpeg -lz"
}
function mason_clean {
make clean
}
mason_run "$@"

View File

@ -6,6 +6,8 @@ function mason_build {
# copy bin
mkdir -p "${MASON_PREFIX}/bin"
cp "${CLANG_PREFIX}/bin/${MASON_NAME}" "${MASON_PREFIX}/bin/"
cp "${CLANG_PREFIX}/bin/lldb-server" "${MASON_PREFIX}/bin/"
cp "${CLANG_PREFIX}/bin/lldb-argdumper" "${MASON_PREFIX}/bin/"
# copy lib
mkdir -p "${MASON_PREFIX}/lib"
if [[ $(uname -s) == 'Darwin' ]]; then

View File

@ -0,0 +1,13 @@
language: generic
matrix:
include:
- os: osx
osx_image: xcode8.2
compiler: clang
- os: linux
sudo: false
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

View File

@ -0,0 +1,59 @@
#!/usr/bin/env bash
MASON_NAME=llnode
MASON_VERSION=1.4.1
MASON_LIB_FILE=lib/llnode.${MASON_DYNLIB_SUFFIX}
. ${MASON_DIR}/mason.sh
function mason_load_source {
mason_download \
https://github.com/nodejs/llnode/archive/v${MASON_VERSION}.tar.gz \
b7ff83ff4686fdeb15517310b6e048c9c864794a
mason_extract_tar_gz
export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION}
}
function mason_prepare_compile {
LLVM_VERSION=3.9.1
${MASON_DIR}/mason install llvm 3.9.1
LLVM_PATH=$(${MASON_DIR}/mason prefix llvm 3.9.1)
}
function mason_compile {
git clone --depth 1 https://chromium.googlesource.com/external/gyp.git tools/gyp
# ../src/llv8.cc:256:43: error: expected ')'
#snprintf(tmp, sizeof(tmp), " fn=0x%016" PRIx64, fn.raw());
# need to define STDC macros since libc++ adheres to spec: http://en.cppreference.com/w/cpp/types/integer
export CXXFLAGS="-stdlib=libc++ ${CXXFLAGS} -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS"
export LDFLAGS="-stdlib=libc++ ${LDFLAGS}"
# per the llvm package, on linux we statically link libc++ for full portability
# while on osx we use the system libc++
if [[ -f ${LLVM_PATH}/lib/libc++.a ]]; then
export LDFLAGS="-Wl,--whole-archive ${LLVM_PATH}/lib/libc++.a ${LLVM_PATH}/lib/libc++abi.a ${LDFLAGS}"
fi
./gyp_llnode -Dlldb_build_dir=${LLVM_PATH} -Dlldb_dir=${LLVM_PATH}
make -C out/ -j${MASON_CONCURRENCY} V=1
mkdir -p ${MASON_PREFIX}/lib
if [[ $(uname -s) == 'Darwin' ]]; then
cp ./out/Release/llnode* ${MASON_PREFIX}/lib/
else
cp ./out/Release/lib.target/llnode* ${MASON_PREFIX}/lib/
fi
}
function mason_cflags {
:
}
function mason_ldflags {
echo -L${MASON_PREFIX} -llnode
}
function mason_static_libs {
:
}
mason_run "$@"

View File

@ -8,23 +8,23 @@ HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )"
MASON_NAME=$(basename $(dirname $HERE))
# dynamically take the version of the package from directory
MASON_VERSION=$(basename $HERE)
MASON_VERSION=${MASON_VERSION/-libstdcxx/}
export MASON_BASE_VERSION=${MASON_VERSION/-libstdcxx/}
# inherit all functions from llvm base
source ${HERE}/../../${MASON_NAME}/base/common.sh
function setup_release() {
get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/llvm-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/ 6de84b7bb71e49ef2764d364c4318e01fda1e1e3
get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/cfe-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/clang 9a05f9c1c8dc865c064782dedbbbfb533c3909ac
get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/compiler-rt-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/projects/compiler-rt 678cbff6e177a18f4e2d0662901a744163da3347
get_llvm_project "http://llvm.org/releases/${MASON_BASE_VERSION}/llvm-${MASON_BASE_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/ 6de84b7bb71e49ef2764d364c4318e01fda1e1e3
get_llvm_project "http://llvm.org/releases/${MASON_BASE_VERSION}/cfe-${MASON_BASE_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/clang 9a05f9c1c8dc865c064782dedbbbfb533c3909ac
get_llvm_project "http://llvm.org/releases/${MASON_BASE_VERSION}/compiler-rt-${MASON_BASE_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/projects/compiler-rt 678cbff6e177a18f4e2d0662901a744163da3347
if [[ ${BUILD_AND_LINK_LIBCXX} == true ]]; then
get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/libcxx-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/projects/libcxx d15220e86eb8480e58a4378a4c977bbb5463fb79
get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/libcxxabi-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/projects/libcxxabi b7508c64ab8e670062ee57a12ae1e542bcb2bfb4
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_BASE_VERSION}/libcxx-${MASON_BASE_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/projects/libcxx d15220e86eb8480e58a4378a4c977bbb5463fb79
get_llvm_project "http://llvm.org/releases/${MASON_BASE_VERSION}/libcxxabi-${MASON_BASE_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/projects/libcxxabi b7508c64ab8e670062ee57a12ae1e542bcb2bfb4
get_llvm_project "http://llvm.org/releases/${MASON_BASE_VERSION}/libunwind-${MASON_BASE_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/projects/libunwind 90c0184ca72e1999fec304f76bfa10340f038ee5
fi
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}/lldb-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/lldb c8c38fa9ab92f9021067678f1a1c8f07ea75ac93
get_llvm_project "http://llvm.org/releases/${MASON_BASE_VERSION}/lld-${MASON_BASE_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/lld 416c36ded12ead42dc4739d52eabf22267300883
get_llvm_project "http://llvm.org/releases/${MASON_BASE_VERSION}/clang-tools-extra-${MASON_BASE_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/clang/tools/extra ea40e36d54dc8c9bb21cbebcc872a3221a2ed685
get_llvm_project "http://llvm.org/releases/${MASON_BASE_VERSION}/lldb-${MASON_BASE_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/lldb c8c38fa9ab92f9021067678f1a1c8f07ea75ac93
}
mason_run "$@"

View File

@ -0,0 +1,40 @@
## llvm
This is a package of llvm. Multiple packages are based on repackaging the binaries from this one.
### Depends
#### On Linux
- >= Ubuntu precise
- binutils 2.27 from mason for -flto support
#### On OS X
- OS X >= 10.11
- On XCode >= 8 installed to `/Applications/Xcode.app` such that `xcode-select -p` returns `/Applications/Xcode.app/Contents/Developer`
If you don't have Xcode installed in `/Applications` you can still use the clang++ in this package but you need to set:
1) `-isysroot` to point at your Mac SDK (the value returned from `xcrun --show-sdk-path`)
2) Add an include flag to point at your C++ headers which are generally at `ls $(dirname $(xcrun --find clang++))/../include/c++/v1`. For the command line tools this directory is at `/Library/Developer/CommandLineTools/usr/include/c++/v1/`
### Details of builds
- OS X build done on OS X 10.12.1
- Linux build done on Ubuntu precise
Builds (and rebuilds) are done using `utils/rebuild-llvm-tools.sh`
#### OS X details
On MacOS we use the apple system clang++ to compile and link against the apple system libc++.
#### Linux details
On Linux we use Ubuntu Precise in order to ensure that binaries can be run on Ubuntu Precise and newer platforms.
We link clang++ and other llvm c++ tools to libc++ (the one within the build) to avoid clang++ itself depending on a specific libstdc++ version.
The clang++ binary still defaults to building and linking linux programs against libstdc++.

View File

@ -5,7 +5,8 @@ MASON_LIB_FILE=bin/clang
. ${MASON_DIR}/mason.sh
export MAJOR_MINOR=$(echo ${MASON_VERSION} | cut -d '.' -f1-2)
export MASON_BASE_VERSION=${MASON_BASE_VERSION:-${MASON_VERSION}}
export MAJOR_MINOR=$(echo ${MASON_BASE_VERSION} | cut -d '.' -f1-2)
if [[ $(uname -s) == 'Darwin' ]]; then
export BUILD_AND_LINK_LIBCXX=false
@ -72,24 +73,24 @@ function get_llvm_project() {
# Note: override this function to set custom hash
function setup_release() {
get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/llvm-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/
get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/cfe-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/clang
get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/compiler-rt-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/projects/compiler-rt
get_llvm_project "http://llvm.org/releases/${MASON_BASE_VERSION}/llvm-${MASON_BASE_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/
get_llvm_project "http://llvm.org/releases/${MASON_BASE_VERSION}/cfe-${MASON_BASE_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/clang
get_llvm_project "http://llvm.org/releases/${MASON_BASE_VERSION}/compiler-rt-${MASON_BASE_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/projects/compiler-rt
if [[ ${BUILD_AND_LINK_LIBCXX} == true ]]; then
get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/libcxx-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/projects/libcxx
get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/libcxxabi-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/projects/libcxxabi
get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/libunwind-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/projects/libunwind
get_llvm_project "http://llvm.org/releases/${MASON_BASE_VERSION}/libcxx-${MASON_BASE_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/projects/libcxx
get_llvm_project "http://llvm.org/releases/${MASON_BASE_VERSION}/libcxxabi-${MASON_BASE_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/projects/libcxxabi
get_llvm_project "http://llvm.org/releases/${MASON_BASE_VERSION}/libunwind-${MASON_BASE_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/projects/libunwind
fi
get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/lld-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/lld
get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/clang-tools-extra-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/clang/tools/extra
get_llvm_project "http://llvm.org/releases/${MASON_VERSION}/lldb-${MASON_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/lldb
get_llvm_project "http://llvm.org/releases/${MASON_BASE_VERSION}/lld-${MASON_BASE_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/lld
get_llvm_project "http://llvm.org/releases/${MASON_BASE_VERSION}/clang-tools-extra-${MASON_BASE_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/clang/tools/extra
get_llvm_project "http://llvm.org/releases/${MASON_BASE_VERSION}/lldb-${MASON_BASE_VERSION}.src.tar.xz" ${MASON_BUILD_PATH}/tools/lldb
get_llvm_project "https://github.com/include-what-you-use/include-what-you-use/archive/clang_${MAJOR_MINOR}.tar.gz" ${MASON_BUILD_PATH}/tools/clang/tools/include-what-you-use
}
function mason_load_source {
mkdir -p "${MASON_ROOT}/.cache"
cd "${MASON_ROOT}/.cache"
export MASON_BUILD_PATH=${MASON_ROOT}/.build/llvm-${MASON_VERSION}
export MASON_BUILD_PATH=${MASON_ROOT}/.build/llvm-${MASON_BASE_VERSION}
mkdir -p "${MASON_ROOT}/.build"
if [[ -d ${MASON_BUILD_PATH}/ ]]; then
rm -rf ${MASON_BUILD_PATH}/

Some files were not shown because too many files have changed in this diff Show More