summaryrefslogtreecommitdiff
path: root/scripts/osx/package.sh
blob: 79ab3f137712350220a4ecf34982ecd72757a6a5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/usr/bin/env bash

set -e
set -o pipefail
set -u

NAME=Mapbox
OUTPUT=build/osx/pkg
OSX_SDK_VERSION=`xcrun --sdk macosx --show-sdk-version`
LIBUV_VERSION=1.7.5

if [[ ${#} -eq 0 ]]; then # e.g. "make xpackage"
    BUILDTYPE="Release"
    GCC_GENERATE_DEBUGGING_SYMBOLS="YES"
else # e.g. "make xpackage-strip"
    BUILDTYPE="Release"
    GCC_GENERATE_DEBUGGING_SYMBOLS="NO"
fi

function step { >&2 echo -e "\033[1m\033[36m* $@\033[0m"; }
function finish { >&2 echo -en "\033[0m"; }
trap finish EXIT


rm -rf ${OUTPUT}
mkdir -p "${OUTPUT}"/shared


step "Recording library version..."
VERSION="${OUTPUT}"/shared/version.txt
echo -n "https://github.com/mapbox/mapbox-gl-native/commit/" > ${VERSION}
HASH=`git log | head -1 | awk '{ print $2 }' | cut -c 1-10` && true
echo -n "mapbox-gl-native "
echo ${HASH}
echo ${HASH} >> ${VERSION}


step "Creating build files..."
export MASON_PLATFORM=osx
export BUILDTYPE=${BUILDTYPE:-Release}
export HOST=osx
make Xcode/osx

step "Building OS X targets..."
xcodebuild -sdk macosx${OSX_SDK_VERSION} \
    ARCHS="x86_64" \
    ONLY_ACTIVE_ARCH=NO \
    GCC_GENERATE_DEBUGGING_SYMBOLS=${GCC_GENERATE_DEBUGGING_SYMBOLS} \
    -project ./build/osx-x86_64/gyp/osx.xcodeproj \
    -configuration ${BUILDTYPE} \
    -target osxsdk \
    -jobs ${JOBS}

TARGET_BUILD_DIR=gyp/build/${BUILDTYPE}
INFOPLIST_PATH=Mapbox.framework/Versions/Current/Resources/Info.plist

# Uncomment when we're ready to release an official version.
#VERSION=$( git tag | grep ^osx | sed 's/^osx-//' | sort -r | grep -v '\-rc.' | grep -v '\-pre.' | sed -n '1p' | sed 's/^v//' )
#if [ "$VERSION" ]; then
#    plutil \
#        -replace CFBundleShortVersionString -string ${VERSION} \
#        $TARGET_BUILD_DIR/$INFOPLIST_PATH
#    plutil \
#        -replace CFBundleVersion -string ${VERSION} \
#        $TARGET_BUILD_DIR/$INFOPLIST_PATH
#fi

echo $TARGET_BUILD_DIR/Mapbox.framework