summaryrefslogtreecommitdiff
path: root/configure
blob: e9436905136d1ba39c6794db9f13af8c69864293 (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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#!/usr/bin/env bash

set -e
set -o pipefail

CONFIG_FILE=${1:-config.gypi}

. ~/.nvm/nvm.sh
nvm use 0.10

case $MASON_PLATFORM in
    'ios')
        SQLITE_VERSION=system
        LIBPNG_VERSION=1.6.13
        LIBUV_VERSION=0.10.28
        ZLIB_VERSION=system
        ;;
    *)
        GLFW_VERSION=a21f2377
        SQLITE_VERSION=system
        LIBPNG_VERSION=system
        LIBCURL_VERSION=system
        LIBUV_VERSION=0.10.28
        ZLIB_VERSION=system
        ;;
esac

if [ -z "${BOOST_ROOT}" ]; then
    if [ -d '/usr/local/include/boost' ]; then
        BOOST_ROOT='/usr/local'
    elif [ -d '/usr/include/boost' ]; then
        BOOST_ROOT='/usr'
    else
        >&2 echo -e "\033[1m\033[31mCannot find Boost\033[0m";
        exit 1
    fi
fi

if [ ! -d "${BOOST_ROOT}/include/boost" ]; then
    >&2 echo -e "\033[1m\033[31mCannot find Boost at ${BOOST_ROOT}\033[0m";
    exit 1
else
    >&2 echo -e "\033[1m\033[32m* Using Boost installation at ${BOOST_ROOT}\033[0m";
fi


function quote_flags {
    python -c "import sys, re; print re.split('(?<!-framework)\s+', ' '.join(sys.argv[1:]))" "$@"
}

LN=$'\n'

CONFIG="# Do not edit. Generated by the configure script.
{
  'target_defaults': {
    'cflags': [],
    'default_configuration': 'Release',
    'defines': [],
    'include_dirs': [],
    'libraries': []
  },
  'variables': {
    'node': '$(which node)',
    'npm': '$(which npm)',
    'python': '$(which python)',
    'boost_root': '${BOOST_ROOT}',
"

if [ ! -z ${LIBCURL_VERSION} ]; then
    mason install libcurl ${LIBCURL_VERSION}
    CONFIG+=$"    'curl_cflags': $(quote_flags $(mason cflags libcurl ${LIBCURL_VERSION})),"$LN
    CONFIG+=$"    'curl_libraries': $(quote_flags $(mason ldflags libcurl ${LIBCURL_VERSION})),"$LN
fi

if [ ! -z ${GLFW_VERSION} ]; then
    mason install glfw ${GLFW_VERSION}
    CONFIG+=$"    'glfw3_cflags': $(quote_flags $(mason cflags glfw ${GLFW_VERSION})),"$LN
    CONFIG+=$"    'glfw3_libraries': $(quote_flags $(mason ldflags glfw ${GLFW_VERSION})),"$LN
fi

if [ ! -z ${LIBPNG_VERSION} ]; then
    mason install libpng ${LIBPNG_VERSION}
    CONFIG+=$"    'png_cflags': $(quote_flags $(mason cflags libpng ${LIBPNG_VERSION})),"$LN
    CONFIG+=$"    'png_libraries': $(quote_flags $(mason ldflags libpng ${LIBPNG_VERSION})),"$LN
fi

if [ ! -z ${SQLITE_VERSION} ]; then
    mason install sqlite ${SQLITE_VERSION}
    CONFIG+=$"    'sqlite3_cflags': $(quote_flags $(mason cflags sqlite ${SQLITE_VERSION})),"$LN
    CONFIG+=$"    'sqlite3_libraries': $(quote_flags $(mason ldflags sqlite ${SQLITE_VERSION})),"$LN
fi

if [ ! -z ${LIBUV_VERSION} ]; then
    mason install libuv ${LIBUV_VERSION}
    CONFIG+=$"    'uv_cflags': $(quote_flags $(mason cflags libuv ${LIBUV_VERSION})),"$LN
    CONFIG+=$"    'uv_libraries': $(quote_flags $(mason ldflags libuv ${LIBUV_VERSION})),"$LN
fi

if [ ! -z ${ZLIB_VERSION} ]; then
    mason install zlib ${ZLIB_VERSION}
    CONFIG+=$"    'zlib_cflags': $(quote_flags $(mason cflags zlib ${ZLIB_VERSION})),"$LN
    CONFIG+=$"    'zlib_libraries': $(quote_flags $(mason ldflags zlib ${ZLIB_VERSION})),"$LN
fi

CONFIG+="  }
}
"

echo "${CONFIG}" > config.gypi

cat config.gypi