summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2014-10-20 18:21:21 +0200
committerKonstantin Käfer <mail@kkaefer.com>2014-10-20 18:21:21 +0200
commit1da471abba1a64b691b8c90ac13bae81daa1c698 (patch)
tree1a85fb5e8ef2697972c64a5511a5c5b9c26aa59f
parent5a87fb337dc034c6d96ff74d20c5c257c0a65b77 (diff)
downloadqtlocation-mapboxgl-1da471abba1a64b691b8c90ac13bae81daa1c698.tar.gz
curl fixes
[skip ci]
-rw-r--r--common/http_request_baton_curl.cpp23
-rw-r--r--linux/mapboxgl-app.gyp2
-rw-r--r--mapboxgl.gyp8
-rwxr-xr-xsetup-libraries-cross.sh62
-rwxr-xr-xsetup-libraries.sh178
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