summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml25
-rw-r--r--Makefile17
-rw-r--r--README.md8
m---------ios/mapbox-gl-cocoa0
-rw-r--r--mapboxgl.gyp1
-rwxr-xr-xsetup-libraries.sh37
6 files changed, 55 insertions, 33 deletions
diff --git a/.travis.yml b/.travis.yml
index d2d77a43bb..a2bf164c62 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,16 +1,23 @@
language: cpp
-os:
- - linux
- - osx
-
-compiler:
- - clang
+matrix:
+ exclude:
+ - os: linux
+ include:
+ - os: linux
+ env: BUILDTYPE=Release
+ compiler: clang
+ - os: linux
+ env: BUILDTYPE=Debug
+ compiler: clang
+ - os: linux
+ env: BUILDTYPE=Release
+ compiler: gcc
+ - os: osx
+ env: BUILDTYPE=Debug
+ compiler: clang
env:
- matrix:
- - BUILDTYPE=Release
- - BUILDTYPE=Debug
global:
- secure: "bG4YYWMfl9API0MSRgmOaJrlGLv06tRg9KJNawBieZvBJbITPpxVGJZT3/l/SEJ+Rl15e2dRex4k+MGQlmT2SqPQxTEYWv1qxNigKPPcla7IWeNmWWqW8uVvFjdglojgBOK2k/xErVQtA4zDfi3mwSXH4DKwquXWsoEKmX2SV7M="
- secure: "Cbvap9ubVKgjPe3hUhI6JGeDZzBXHpOG9RaYKh+SdoIPhKnlJiNOYm1egomi+e4uqJInlFKuVHTw7Ng9Cun6Zm0jIxpkSchv1GpsR7hmB3UGnGed19Dw8121FwuUaktN+4YnbVlsyd+u8EHD3+h58t4eELrLrZolM4rS7DL6caA="
diff --git a/Makefile b/Makefile
index d5d7136130..b7aa397e1a 100644
--- a/Makefile
+++ b/Makefile
@@ -9,6 +9,12 @@ setup: config.gypi
config.gypi:
./setup-libraries.sh
+xlibs:
+ @./mapnik-packaging/osx/darwin_configure.sh osx
+
+ilibs:
+ @./mapnik-packaging/osx/darwin_configure.sh ios
+
# Builds the regular library
mbgl: config.gypi mapboxgl.gyp node
deps/run_gyp mapboxgl.gyp --depth=. -Goutput_dir=.. --generator-output=./build/mbgl -f make
@@ -37,7 +43,7 @@ xtest: config.gypi clear_xcode_cache node
##### Makefile builds ##########################################################
-# Builds the linux app with make. This is also used by Travis CI
+# Builds the linux app with make.
linux: config.gypi linux/mapboxgl-app.gyp node
deps/run_gyp linux/mapboxgl-app.gyp --depth=. -Goutput_dir=.. --generator-output=./build/linux -f make
$(MAKE) -C build/linux BUILDTYPE=$(BUILDTYPE) V=$(V) linuxapp
@@ -71,14 +77,14 @@ clear_xcode_cache:
fi
# build Mac OS X project for Xcode
-xproj-cli: config.gypi macosx/mapboxgl-app.gyp clear_xcode_cache node
+xproj-cli: config.gypi xlibs macosx/mapboxgl-app.gyp clear_xcode_cache node
deps/run_gyp macosx/mapboxgl-app.gyp --depth=. --generator-output=./build -f xcode
xproj: xproj-cli
open ./build/macosx/mapboxgl-app.xcodeproj
# build iOS project for Xcode
-iproj-cli: config.gypi ios/mapbox-gl-cocoa/app/mapboxgl-app.gyp clear_xcode_cache node
+iproj-cli: config.gypi ilibs ios/mapbox-gl-cocoa/app/mapboxgl-app.gyp clear_xcode_cache node
deps/run_gyp ios/mapbox-gl-cocoa/app/mapboxgl-app.gyp --depth=. --generator-output=./build -f xcode
iproj: iproj-cli
@@ -98,7 +104,8 @@ clean: clear_xcode_cache
-rm -rf ./config.gypi
distclean: clean
- -rm -rf ./config.gypi
- -rm -rf ./mapnik-packaging/osx/out/
+ -rm -rf ./mapnik-packaging/osx/out/build-*
+ -rm -rf ./mapnik-packaging/osx/out/universal
+ -find ./mapnik-packaging/osx/out/packages -type d ! -name 'packages' -maxdepth 1 -exec rm -rf {} \;
.PHONY: mbgl test linux
diff --git a/README.md b/README.md
index 3eda502102..82ad7966e9 100644
--- a/README.md
+++ b/README.md
@@ -53,6 +53,8 @@ To create projects, you can run:
and settings storage. This is what is also being built on Linux.
- `make linux`: Builds the Linux GLFW application with `make`.
+Note that if you are doing iOS development as well, to toggle from iOS back to OS X, you will need to `make xproj` again.
+
Target OS: 10.9+
## iOS
@@ -74,6 +76,8 @@ This downloads all required dependencies, builds them and creates universal libr
Lastly, `make iproj` to create and open an Xcode project with an iOS-specific view controller housing.
+Note that if you are doing OS X development as well, to toggle from OS X back to iOS, you will need to `make iproj` again.
+
Target devices: iPhone 4 and above (4S, 5, 5c, 5s) and iPad 2 and above (3, 4, mini and/or retina).
Target OS: 7.0+
@@ -85,9 +89,9 @@ Set the environment variable `MAPBOX_ACCESS_TOKEN` to your token.
Ensure you have git and other build essentials:
sudo apt-get update
- sudo apt-get install git build-essential zlib1g-dev automake libtool xutils-dev make cmake pkg-config nodejs-legacy curl
+ sudo apt-get install git build-essential zlib1g-dev automake libtool xutils-dev make cmake pkg-config nodejs-legacy curl libuv-dev
-Install a `-std=c++11` capable compiler
+If you are running Ubuntu 13.10 or older, install a `-std=c++11` capable compiler:
sudo add-apt-repository --yes ppa:ubuntu-toolchain-r/test
sudo apt-get update
diff --git a/ios/mapbox-gl-cocoa b/ios/mapbox-gl-cocoa
-Subproject 8a315662b365566cb37b3c9f13da6d6730d0abd
+Subproject 461024ae406fd98b7a27d3297298cf68284e32a
diff --git a/mapboxgl.gyp b/mapboxgl.gyp
index f389e7d48d..dcd89f3a76 100644
--- a/mapboxgl.gyp
+++ b/mapboxgl.gyp
@@ -196,6 +196,7 @@
'xcode_settings': {
'SDKROOT': 'iphoneos',
'SUPPORTED_PLATFORMS':['iphonesimulator','iphoneos'],
+ 'ARCHS': [ "armv7", "armv7s", "arm64", "i386", "x86_64" ],
'TARGETED_DEVICE_FAMILY': '1,2',
'CODE_SIGN_IDENTITY': 'iPhone Developer',
'IPHONEOS_DEPLOYMENT_TARGET': '7.0',
diff --git a/setup-libraries.sh b/setup-libraries.sh
index 7d205ac4ec..7947efe494 100755
--- a/setup-libraries.sh
+++ b/setup-libraries.sh
@@ -51,7 +51,7 @@ set -u
NODE=$(which node)
NPM=$(which npm)
-MP_HASH="8239a894fecdfc001016a4669bc5ca289763048f"
+MP_HASH="c0fc970e52950a6f16e3172f1114e5a4ae1e0aa9"
DIR_HASH=$(echo `pwd` | git hash-object --stdin)
if [ ! -d 'mapnik-packaging/' ]; then
git clone https://github.com/mapnik/mapnik-packaging.git
@@ -67,9 +67,13 @@ export CXX11=true
if [ ${UNAME} = 'Darwin' ]; then
if [ ! -z "${TRAVIS:-}" ]; then
- if aws s3 cp s3://${AWS_S3_BUCKET}/dependencies/build-cpp11-libcpp-universal_${MP_HASH}_${DIR_HASH}.tar.gz ./out/ ; then
- rm -rf out/build-cpp11-libcpp-universal
- tar -xzf out/build-cpp11-libcpp-universal_${MP_HASH}_${DIR_HASH}.tar.gz
+ if aws s3 cp s3://${AWS_S3_BUCKET}/dependencies/build-cpp11-libcpp-osx_${MP_HASH}_${DIR_HASH}.tar.gz ./out/ ; then
+ if aws s3 cp s3://${AWS_S3_BUCKET}/dependencies/build-cpp11-libcpp-ios_${MP_HASH}_${DIR_HASH}.tar.gz ./out/ ; then
+ rm -rf out/build-cpp11-libcpp-x86_64-macosx
+ rm -rf out/build-cpp11-libcpp-universal
+ tar -xzf out/build-cpp11-libcpp-osx_${MP_HASH}_${DIR_HASH}.tar.gz
+ tar -xzf out/build-cpp11-libcpp-ios_${MP_HASH}_${DIR_HASH}.tar.gz
+ fi
fi
fi
@@ -99,12 +103,10 @@ export LIBUV_VERSION=0.10.28
if [ ! -f out/build-cpp11-libcpp-i386-iphonesimulator/lib/libuv.a ] ; then ./scripts/build_libuv.sh ; fi
echo ' ...done'
-# libs conflict with MacOSX build
-# TODO: need to break apart targets
-#source iPhoneSimulator64.sh
-# if [ ! -f out/build-cpp11-libcpp-x86_64-iphonesimulator/lib/libpng.a ] ; then ./scripts/build_png.sh ; fi
-# if [ ! -f out/build-cpp11-libcpp-x86_64-iphonesimulator/lib/libuv.a ] ; then ./scripts/build_libuv.sh ; fi
-# echo ' ...done'
+source iPhoneSimulator64.sh
+ if [ ! -f out/build-cpp11-libcpp-x86_64-iphonesimulator/lib/libpng.a ] ; then ./scripts/build_png.sh ; fi
+ if [ ! -f out/build-cpp11-libcpp-x86_64-iphonesimulator/lib/libuv.a ] ; then ./scripts/build_libuv.sh ; fi
+ echo ' ...done'
source MacOSX.sh
export LIBUV_VERSION=0.10.28
@@ -116,21 +118,22 @@ export LIBUV_VERSION=0.10.28
if [ ! -d out/build-cpp11-libcpp-x86_64-macosx/include/boost ] ; then ./scripts/build_boost.sh `pwd`/../../src/ `pwd`/../../include/ `pwd`/../../linux/ `pwd`/../../common/ ; fi
echo ' ...done'
+# setup iOS universal libs
./scripts/make_universal.sh
if [ ! -z "${AWS_ACCESS_KEY_ID}" ] && [ ! -z "${AWS_SECRET_ACCESS_KEY}" ] ; then
- tar -zcf out/build-cpp11-libcpp-universal_${MP_HASH}_${DIR_HASH}.tar.gz out/build-cpp11-libcpp-universal
- aws s3 cp --acl public-read out/build-cpp11-libcpp-universal_${MP_HASH}_${DIR_HASH}.tar.gz s3://${AWS_S3_BUCKET}/dependencies/
+ tar -zcf out/build-cpp11-libcpp-ios_${MP_HASH}_${DIR_HASH}.tar.gz out/build-cpp11-libcpp-universal
+ aws s3 cp --acl public-read out/build-cpp11-libcpp-ios_${MP_HASH}_${DIR_HASH}.tar.gz s3://${AWS_S3_BUCKET}/dependencies/
+ tar -zcf out/build-cpp11-libcpp-osx_${MP_HASH}_${DIR_HASH}.tar.gz out/build-cpp11-libcpp-x86_64-macosx
+ aws s3 cp --acl public-read out/build-cpp11-libcpp-osx_${MP_HASH}_${DIR_HASH}.tar.gz s3://${AWS_S3_BUCKET}/dependencies/
fi
fi
cd ../../
-./configure \
---pkg-config-root=`pwd`/mapnik-packaging/osx/out/build-cpp11-libcpp-universal/lib/pkgconfig \
---boost=`pwd`/mapnik-packaging/osx/out/build-cpp11-libcpp-universal \
---npm=$NPM \
---node=$NODE
+
+# default to OS X build product symlinking
+./mapnik-packaging/osx/darwin_configure.sh osx
elif [ ${UNAME} = 'Linux' ]; then