diff options
-rw-r--r-- | common/http_request_baton_curl.cpp | 23 | ||||
-rw-r--r-- | linux/mapboxgl-app.gyp | 2 | ||||
-rw-r--r-- | mapboxgl.gyp | 8 | ||||
-rwxr-xr-x | setup-libraries-cross.sh | 62 | ||||
-rwxr-xr-x | setup-libraries.sh | 178 |
5 files changed, 18 insertions, 255 deletions
diff --git a/common/http_request_baton_curl.cpp b/common/http_request_baton_curl.cpp index 772aeb86e1..d4753266c0 100644 --- a/common/http_request_baton_curl.cpp +++ b/common/http_request_baton_curl.cpp @@ -52,7 +52,7 @@ // Handles the request thread + messaging to the thread. static uv_once_t once; -static uv_loop_t loop; +static uv_loop_t *loop = nullptr; static uv_messenger_t start_messenger; static uv_messenger_t stop_messenger; static uv_thread_t thread; @@ -228,7 +228,7 @@ int handle_socket(CURL *handle, curl_socket_t sockfd, int action, void *, void * context->sockfd = sockfd; assert(!context->poll_handle); context->poll_handle = new uv_poll_t; - uv_poll_init_socket(&loop, context->poll_handle, sockfd); + uv_poll_init_socket(loop, context->poll_handle, sockfd); context->poll_handle->data = context; curl_multi_assign(multi, sockfd, context); } @@ -253,7 +253,11 @@ int handle_socket(CURL *handle, curl_socket_t sockfd, int action, void *, void * return 0; } +#if UV_VERSION_MAJOR == 0 && UV_VERSION_MINOR <= 10 +void on_timeout(uv_timer_t *, int = 0) { +#else void on_timeout(uv_timer_t *) { +#endif int running_handles; CURLMcode error = curl_multi_socket_action(multi, CURL_SOCKET_TIMEOUT, 0, &running_handles); if (error != CURLM_OK) { @@ -275,7 +279,7 @@ void thread_init(void *) { #endif thread_id = uv_thread_self(); - uv_timer_init(&loop, &timeout); + uv_timer_init(loop, &timeout); CURLSHcode share_error; share = curl_share_init(); @@ -305,7 +309,7 @@ void thread_init(void *) { } // Main event loop. This will not return until the request loop is terminated. - uv_run(&loop, UV_RUN_DEFAULT); + uv_run(loop, UV_RUN_DEFAULT); curl_multi_cleanup(multi); multi = nullptr; @@ -442,9 +446,14 @@ void stop_request(void *const ptr) { void create_thread() { uv_mutex_init(&share_mutex); - uv_loop_init(&loop); - uv_messenger_init(&loop, &start_messenger, start_request); - uv_messenger_init(&loop, &stop_messenger, stop_request); +#if UV_VERSION_MAJOR == 0 && UV_VERSION_MINOR <= 10 + loop = uv_loop_new(); +#else + loop = new uv_loop_t; + uv_loop_init(loop); +#endif + uv_messenger_init(loop, &start_messenger, start_request); + uv_messenger_init(loop, &stop_messenger, stop_request); uv_thread_create(&thread, thread_init, nullptr); } diff --git a/linux/mapboxgl-app.gyp b/linux/mapboxgl-app.gyp index dac1934d31..05716dd11c 100644 --- a/linux/mapboxgl-app.gyp +++ b/linux/mapboxgl-app.gyp @@ -33,6 +33,7 @@ ], 'OTHER_LDFLAGS': [ '<@(glfw3_libraries)', + '<@(curl_libraries)', ], } }, @@ -46,6 +47,7 @@ 'link_settings': { 'libraries': [ '<@(glfw3_libraries)', + '<@(curl_libraries)', '-lboost_regex' ], }, diff --git a/mapboxgl.gyp b/mapboxgl.gyp index 68434bf2ba..05569d82cb 100644 --- a/mapboxgl.gyp +++ b/mapboxgl.gyp @@ -139,7 +139,6 @@ 'OTHER_CPLUSPLUSFLAGS': [ '<@(png_cflags)', '<@(uv_cflags)', - '<@(curl_cflags)', '<@(sqlite3_cflags)', '-I<(boost_root)/include', ], @@ -151,7 +150,6 @@ 'cflags': [ '<@(png_cflags)', '<@(uv_cflags)', - '<@(curl_cflags)', '<@(sqlite3_cflags)', '-I<(boost_root)/include', ], @@ -166,26 +164,22 @@ 'xcode_settings': { 'OTHER_CPLUSPLUSFLAGS': [ '<@(uv_cflags)', - '<@(curl_cflags)', '-I<(boost_root)/include', ], 'OTHER_LDFLAGS': [ '<@(png_libraries)', '<@(uv_libraries)', - '<@(curl_libraries)', '<@(sqlite3_libraries)', ] } }, { 'cflags': [ '<@(uv_cflags)', - '<@(curl_cflags)', '-I<(boost_root)/include', ], 'libraries': [ '<@(png_libraries)', '<@(uv_libraries)', - '<@(curl_libraries)', '<@(sqlite3_libraries)', ] }] @@ -222,7 +216,6 @@ 'OTHER_CPLUSPLUSFLAGS': [ '<@(png_cflags)', '<@(uv_cflags)', - '<@(curl_cflags)', '<@(sqlite3_cflags)', '-I<(boost_root)/include', ], @@ -238,7 +231,6 @@ 'OTHER_LDFLAGS': [ '<@(png_libraries)', '<@(uv_libraries)', - '<@(curl_libraries)', '<@(sqlite3_libraries)', ], 'OTHER_CPLUSPLUSFLAGS': [ diff --git a/setup-libraries-cross.sh b/setup-libraries-cross.sh deleted file mode 100755 index 4f3a5bfbea..0000000000 --- a/setup-libraries-cross.sh +++ /dev/null @@ -1,62 +0,0 @@ -#!/bin/bash -set -e -u - -UNAME=$(uname -s); - -MISSING_DEPS="" - -function ensure_dep { - if [[ ! `which $1` ]]; then - MISSING_DEPS="$MISSING_DEPS $1" - fi -} - -ensure_dep aclocal -ensure_dep cmake -ensure_dep automake -ensure_dep autoconf -ensure_dep pkg-config -ensure_dep node -ensure_dep libtool -ensure_dep gccmakedep - -if [[ $MISSING_DEPS != "" ]]; then - if [ ${UNAME} = 'Darwin' ]; then - echo "Missing build deps: ${MISSING_DEPS}" - echo 'Please run "brew install autoconf automake libtool makedepend cmake pkg-config node"' - echo 'and then re-run ./setup-libraries.sh' - elif [ ${UNAME} = 'Linux' ]; then - echo "Missing build deps: ${MISSING_DEPS}" - echo 'Please run "sudo apt-get install git build-essential zlib1g-dev automake libtool xutils-dev make cmake pkg-config nodejs-legacy libxi-dev libglu1-mesa-dev x11proto-randr-dev x11proto-xext-dev libxrandr-dev x11proto-xf86vidmode-dev libxxf86vm-dev libxcursor-dev"' - echo 'and then re-run ./setup-libraries.sh' - fi - exit 1 -fi - -export SYSROOT=`pwd`/../rootfs -export SDK_PATH=`pwd`/../arm-linux-gnueabi-linaro_4.8.3-2014.04 -export V=1 - -if [ ! -d 'mapnik-packaging/.git' ]; then - git clone --depth=1 https://github.com/mapnik/mapnik-packaging.git -fi - -cd mapnik-packaging/osx/ -# git pull - -export CXX11=true - -source Linaro-softfp.sh - if [ ! -f out/build-cpp11-libstdcpp-gcc-arm-linux-gnueabi-linaro-softfp/lib/libglfw3.a ] ; then ./scripts/build_glfw.sh ; fi - if [ ! -f out/build-cpp11-libstdcpp-gcc-arm-linux-gnueabi-linaro-softfp/lib/libpng.a ] ; then ./scripts/build_png.sh ; fi - if [ ! -f out/build-cpp11-libstdcpp-gcc-arm-linux-gnueabi-linaro-softfp/lib/libuv.a ] ; then ./scripts/build_libuv.sh ; fi - if [ ! -f out/build-cpp11-libstdcpp-gcc-arm-linux-gnueabi-linaro-softfp/lib/libssl.a ] ; then ./scripts/build_openssl.sh ; fi - if [ ! -f out/build-cpp11-libstdcpp-gcc-arm-linux-gnueabi-linaro-softfp/lib/libcurl.a ] ; then ./scripts/build_curl.sh ; fi - if [ ! -f out/build-cpp11-libstdcpp-gcc-arm-linux-gnueabi-linaro-softfp/lib/libboost_regex.a ] ; then ./scripts/build_boost.sh --with-regex ; fi - -cd ../../ -./configure \ ---pkg-config-root=`pwd`/mapnik-packaging/osx/out/build-cpp11-libstdcpp-gcc-arm-linux-gnueabi-linaro-softfp/lib/pkgconfig \ ---boost=`pwd`/mapnik-packaging/osx/out/build-cpp11-libstdcpp-gcc-arm-linux-gnueabi-linaro-softfp \ ---node=`which node` - diff --git a/setup-libraries.sh b/setup-libraries.sh deleted file mode 100755 index c049e88a1e..0000000000 --- a/setup-libraries.sh +++ /dev/null @@ -1,178 +0,0 @@ -#!/bin/bash -set -e -u - -UNAME=$(uname -s); - -MISSING_DEPS="" - -function ensure_dep { - if [[ ! `which $1` ]]; then - MISSING_DEPS="$MISSING_DEPS $1" - fi -} - -ensure_dep aclocal -ensure_dep cmake -ensure_dep automake -ensure_dep autoconf -ensure_dep pkg-config -if [ ${UNAME} = 'Darwin' ]; then - ensure_dep makedepend - if [[ ! `which libtool` ]] && [[ ! `which glibtool` ]]; then - MISSING_DEPS="$MISSING_DEPS libtool" - fi -elif [ ${UNAME} = 'Linux' ]; then - ensure_dep libtool - ensure_dep gccmakedep -fi - -if [[ $MISSING_DEPS != "" ]]; then - if [ ${UNAME} = 'Darwin' ]; then - echo "Missing build deps: ${MISSING_DEPS}" - echo 'Please run "brew install autoconf automake libtool makedepend cmake pkg-config"' - echo 'and then re-run ./setup-libraries.sh' - elif [ ${UNAME} = 'Linux' ]; then - echo "Missing build deps: ${MISSING_DEPS}" - echo 'Please run "sudo apt-get install git build-essential zlib1g-dev automake libtool xutils-dev make cmake pkg-config libxi-dev libglu1-mesa-dev x11proto-randr-dev x11proto-xext-dev libxrandr-dev x11proto-xf86vidmode-dev libxxf86vm-dev libxcursor-dev"' - echo 'and then re-run ./setup-libraries.sh' - fi - exit 1 -fi - -# bootstrap node install -if [[ ! -d ~/.nvm ]]; then - git clone --depth 1 https://github.com/creationix/nvm.git ~/.nvm -fi -set +u -source ~/.nvm/nvm.sh -nvm install 0.10 -set -u - -NODE=$(which node) -NPM=$(which npm) - -MP_HASH="f543fecbeb0982983593aa0847715d26c323b990" -DIR_HASH=$(echo `pwd` | git hash-object --stdin) - -if [ ! -d 'mapnik-packaging/' ]; then - git clone https://github.com/mapnik/mapnik-packaging.git -fi - -cd mapnik-packaging -git fetch -git checkout ${MP_HASH} -cd ./osx/ - -export CXX11=true - -if [ ${UNAME} = 'Darwin' ]; then - -if [[ -n ${TRAVIS:-} ]]; then - if aws s3 cp s3://mapbox-gl-testing/dependencies/build-cpp11-libcpp-osx_${MP_HASH}_${DIR_HASH}.tar.gz ./out/ ; then - if aws s3 cp s3://mapbox-gl-testing/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 - -if test -z "${TRAVIS:-}" || ! test -d out/build-cpp11-libcpp-universal; then - -source iPhoneOS.sh - if [ ! -f out/build-cpp11-libcpp-armv7-iphoneos/lib/libpng.a ] ; then ./scripts/build_png.sh ; fi - if [ ! -f out/build-cpp11-libcpp-armv7-iphoneos/lib/libuv.a ] ; then ./scripts/build_libuv.sh ; fi - if [ ! -f out/build-cpp11-libcpp-armv7-iphoneos/lib/libcurl.a ] ; then ./scripts/build_curl.sh ; fi - if [ ! -f out/build-cpp11-libcpp-armv7-iphoneos/lib/libsqlite3.a ] ; then ./scripts/build_sqlite.sh ; fi - echo ' ...done' - -source iPhoneOSs.sh - if [ ! -f out/build-cpp11-libcpp-armv7s-iphoneoss/lib/libpng.a ] ; then ./scripts/build_png.sh ; fi - if [ ! -f out/build-cpp11-libcpp-armv7s-iphoneoss/lib/libuv.a ] ; then ./scripts/build_libuv.sh ; fi - if [ ! -f out/build-cpp11-libcpp-armv7s-iphoneoss/lib/libcurl.a ] ; then ./scripts/build_curl.sh ; fi - if [ ! -f out/build-cpp11-libcpp-armv7s-iphoneoss/lib/libsqlite3.a ] ; then ./scripts/build_sqlite.sh ; fi - echo ' ...done' - -source iPhoneOS64.sh - if [ ! -f out/build-cpp11-libcpp-arm64-iphoneos64/lib/libpng.a ] ; then ./scripts/build_png.sh ; fi - if [ ! -f out/build-cpp11-libcpp-arm64-iphoneos64/lib/libuv.a ] ; then ./scripts/build_libuv.sh ; fi - if [ ! -f out/build-cpp11-libcpp-arm64-iphoneos64/lib/libcurl.a ] ; then ./scripts/build_curl.sh ; fi - if [ ! -f out/build-cpp11-libcpp-arm64-iphoneos64/lib/libsqlite3.a ] ; then ./scripts/build_sqlite.sh ; fi - echo ' ...done' - -source iPhoneSimulator.sh - if [ ! -f out/build-cpp11-libcpp-i386-iphonesimulator/lib/libpng.a ] ; then ./scripts/build_png.sh ; fi - if [ ! -f out/build-cpp11-libcpp-i386-iphonesimulator/lib/libuv.a ] ; then ./scripts/build_libuv.sh ; fi - if [ ! -f out/build-cpp11-libcpp-i386-iphonesimulator/lib/libcurl.a ] ; then ./scripts/build_curl.sh ; fi - if [ ! -f out/build-cpp11-libcpp-i386-iphonesimulator/lib/libsqlite3.a ] ; then ./scripts/build_sqlite.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 - if [ ! -f out/build-cpp11-libcpp-x86_64-iphonesimulator/lib/libcurl.a ] ; then ./scripts/build_curl.sh ; fi - if [ ! -f out/build-cpp11-libcpp-x86_64-iphonesimulator/lib/libsqlite3.a ] ; then ./scripts/build_sqlite.sh ; fi - echo ' ...done' - -source MacOSX.sh - if [ ! -f out/build-cpp11-libcpp-x86_64-macosx/lib/libpng.a ] ; then ./scripts/build_png.sh ; fi - if [ ! -f out/build-cpp11-libcpp-x86_64-macosx/lib/libglfw3.a ] ; then ./scripts/build_glfw.sh ; fi - if [ ! -f out/build-cpp11-libcpp-x86_64-macosx/lib/libuv.a ] ; then ./scripts/build_libuv.sh ; fi - if [ ! -f out/build-cpp11-libcpp-x86_64-macosx/lib/libsqlite3.a ] ; then ./scripts/build_sqlite.sh ; fi - if [ ! -f out/build-cpp11-libcpp-x86_64-macosx/lib/libssl.a ] ; then ./scripts/build_openssl.sh ; fi - if [ ! -f out/build-cpp11-libcpp-x86_64-macosx/lib/libcurl.a ] ; then ./scripts/build_curl.sh ; fi - 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 -patch -p0 --forward < patches/curl-ios.diff || true -echo "NOTE: One patch FAILURE is expected. The other should have been applied or ignored." - -if [[ ${TRAVIS:-} && ${AWS_ACCESS_KEY_ID:-} && ${AWS_SECRET_ACCESS_KEY:-} ]] ; then - 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://mapbox-gl-testing/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://mapbox-gl-testing/dependencies/ -fi - -fi - -cd ../../ - -# default to OS X build product symlinking -./mapnik-packaging/osx/darwin_configure.sh osx - -elif [ ${UNAME} = 'Linux' ]; then - -if [[ ${TRAVIS:-} ]]; then - if aws s3 cp s3://mapbox-gl-testing/dependencies/build-cpp11-libstdcpp-gcc-x86_64-linux.tar.gz ./out/ ; then - rm -rf out/build-cpp11-libstdcpp-gcc-x86_64-linux - tar -xzf out/build-cpp11-libstdcpp-gcc-x86_64-linux.tar.gz - fi -fi - -source Linux.sh - if [ ! -f out/build-cpp11-libstdcpp-gcc-x86_64-linux/lib/libglfw3.a ] ; then ./scripts/build_glfw.sh ; fi - if [ ! -f out/build-cpp11-libstdcpp-gcc-x86_64-linux/lib/libpng.a ] ; then ./scripts/build_png.sh ; fi - if [ ! -f out/build-cpp11-libstdcpp-gcc-x86_64-linux/lib/libuv.a ] ; then ./scripts/build_libuv.sh ; fi - if [ ! -f out/build-cpp11-libstdcpp-gcc-x86_64-linux/lib/libsqlite3.a ] ; then ./scripts/build_sqlite.sh ; fi - if [ ! -f out/build-cpp11-libstdcpp-gcc-x86_64-linux/lib/libssl.a ] ; then ./scripts/build_openssl.sh ; fi - if [ ! -f out/build-cpp11-libstdcpp-gcc-x86_64-linux/lib/libcurl.a ] ; then ./scripts/build_curl.sh ; fi - if [ ! -f out/build-cpp11-libstdcpp-gcc-x86_64-linux/lib/libboost_regex.a ] ; then ./scripts/build_boost.sh --with-regex ; fi - -if [[ ${TRAVIS:-} && ${AWS_ACCESS_KEY_ID:-} && ${AWS_SECRET_ACCESS_KEY:-} ]] ; then - if ! tar --compare -zf out/build-cpp11-libstdcpp-gcc-x86_64-linux.tar.gz ; then - tar -zcf out/build-cpp11-libstdcpp-gcc-x86_64-linux.tar.gz out/build-cpp11-libstdcpp-gcc-x86_64-linux - aws s3 cp --acl public-read out/build-cpp11-libstdcpp-gcc-x86_64-linux.tar.gz s3://mapbox-gl-testing/dependencies/ - fi -fi - -cd ../../ -./configure \ ---pkg-config-root=`pwd`/mapnik-packaging/osx/out/build-cpp11-libstdcpp-gcc-x86_64-linux/lib/pkgconfig \ ---boost=`pwd`/mapnik-packaging/osx/out/build-cpp11-libstdcpp-gcc-x86_64-linux \ ---npm=$NPM \ ---node=$NODE -fi |