diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2015-01-22 07:02:14 -0800 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2015-02-04 10:49:06 +0100 |
commit | 92a7f73bbe10f817d5c2d607ba07fc69b859593b (patch) | |
tree | 6dfb4734d3b8731e8ec21cd036b192eceb31104b | |
parent | bf629c97db98cc835e324409edfd8729bb3583c2 (diff) | |
download | qtlocation-mapboxgl-92a7f73bbe10f817d5c2d607ba07fc69b859593b.tar.gz |
fixes for linux
-rw-r--r-- | .travis.yml | 1 | ||||
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | include/mbgl/platform/default/headless_view.hpp | 1 | ||||
-rw-r--r-- | include/mbgl/storage/file_cache.hpp | 1 | ||||
-rw-r--r-- | linux/main.cpp | 12 | ||||
-rw-r--r-- | platform/default/asset_request_libuv.cpp | 8 | ||||
-rw-r--r-- | platform/default/http_request_curl.cpp | 6 | ||||
-rwxr-xr-x | scripts/install_node.sh | 4 | ||||
-rwxr-xr-x | scripts/run_tests.sh | 3 | ||||
-rw-r--r-- | src/mbgl/storage/default_file_source.cpp | 16 | ||||
-rw-r--r-- | test/test.gyp | 23 |
11 files changed, 50 insertions, 27 deletions
diff --git a/.travis.yml b/.travis.yml index 9dccffe9e6..ab4d536ec3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -53,6 +53,7 @@ before_install: - if [[ ${TRAVIS_OS_NAME} == "linux" ]]; then sudo service postgresql stop; fi - source ./scripts/local_mason.sh - source ./scripts/travis_helper.sh +- source ./scripts/install_node.sh - source ./scripts/flags.sh - ./scripts/travis_before_install.sh - if [[ ${TRAVIS_OS_NAME} == "linux" && ${MASON_PLATFORM} != "android" ]]; then export LD_LIBRARY_PATH=`mason prefix mesa 10.4.3`/lib; fi @@ -105,8 +105,6 @@ android: test: build/test/Makefile $(MAKE) -C build/test BUILDTYPE=$(BUILDTYPE) V=$(V) test - ./scripts/run_tests.sh - test-%: build/test/Makefile $(MAKE) -C build/test BUILDTYPE=$(BUILDTYPE) V=$(V) test diff --git a/include/mbgl/platform/default/headless_view.hpp b/include/mbgl/platform/default/headless_view.hpp index e29f529f3d..2fad430e6e 100644 --- a/include/mbgl/platform/default/headless_view.hpp +++ b/include/mbgl/platform/default/headless_view.hpp @@ -7,6 +7,7 @@ #define GL_GLEXT_PROTOTYPES #include <mbgl/platform/default/glx.h> #define MBGL_USE_GLX 1 +#undef Status #endif #include <mbgl/map/view.hpp> diff --git a/include/mbgl/storage/file_cache.hpp b/include/mbgl/storage/file_cache.hpp index 38a82cc237..97e75a5d85 100644 --- a/include/mbgl/storage/file_cache.hpp +++ b/include/mbgl/storage/file_cache.hpp @@ -4,6 +4,7 @@ #include <mbgl/util/noncopyable.hpp> #include <functional> +#include <memory> namespace mbgl { diff --git a/linux/main.cpp b/linux/main.cpp index c324e76094..fdcf8baab9 100644 --- a/linux/main.cpp +++ b/linux/main.cpp @@ -4,7 +4,8 @@ #include <mbgl/platform/default/settings_json.hpp> #include <mbgl/platform/default/glfw_view.hpp> #include <mbgl/platform/default/log_stderr.hpp> -#include <mbgl/storage/caching_http_file_source.hpp> +#include <mbgl/storage/default/default_file_source.hpp> +#include <mbgl/storage/default/sqlite_cache.hpp> #include <signal.h> #include <getopt.h> @@ -64,7 +65,9 @@ int main(int argc, char *argv[]) { sigaction(SIGINT, &sigIntHandler, NULL); view = new GLFWView(); - mbgl::CachingHTTPFileSource fileSource(); + + mbgl::SQLiteCache cache("/tmp/mbgl-cache.db"); + mbgl::DefaultFileSource fileSource(&cache); mbgl::Map map(*view, fileSource); // Load settings @@ -78,12 +81,13 @@ int main(int argc, char *argv[]) { if (token == nullptr) { mbgl::Log::Warning(mbgl::Event::Setup, "no access token set. mapbox.com tiles won't work."); } else { - fileSource.setAccessToken(std::string(token)); + map.setAccessToken(std::string(token)); } // Load style - if (style.empty()) + if (style.empty()) { style = std::string("asset://") + std::string("styles/bright-v7.json"); + } map.setStyleURL(style); diff --git a/platform/default/asset_request_libuv.cpp b/platform/default/asset_request_libuv.cpp index 36342bc876..006e573631 100644 --- a/platform/default/asset_request_libuv.cpp +++ b/platform/default/asset_request_libuv.cpp @@ -111,7 +111,11 @@ void AssetRequestImpl::fileStated(uv_fs_t *req) { uv_fs_close(req->loop, req, self->fd, fileClosed); } else { self->response = util::make_unique<Response>(); +#ifdef __APPLE__ self->response->modified = stat->st_mtimespec.tv_sec; +#else + self->response->modified = stat->st_mtime; +#endif self->response->etag = std::to_string(stat->st_ino); const auto size = (unsigned int)(stat->st_size); self->response->data.resize(size); @@ -185,8 +189,8 @@ void AssetRequestImpl::cleanup(uv_fs_t *req) { // ------------------------------------------------------------------------------------------------- -AssetRequest::AssetRequest(DefaultFileSource *source, const Resource &resource) - : SharedRequestBase(source, resource) { +AssetRequest::AssetRequest(DefaultFileSource *source_, const Resource &resource_) + : SharedRequestBase(source_, resource_) { assert(algo::starts_with(resource.url, "asset://")); } diff --git a/platform/default/http_request_curl.cpp b/platform/default/http_request_curl.cpp index 42764e4927..9218563ee4 100644 --- a/platform/default/http_request_curl.cpp +++ b/platform/default/http_request_curl.cpp @@ -9,7 +9,7 @@ #include <queue> #include <map> #include <cassert> - +#include <cstring> void handleError(CURLMcode code) { if (code != CURLM_OK) { @@ -599,8 +599,8 @@ void HTTPRequestImpl::handleResult(CURLcode code) { // ------------------------------------------------------------------------------------------------- -HTTPRequest::HTTPRequest(DefaultFileSource *source, const Resource &resource) - : SharedRequestBase(source, resource) { +HTTPRequest::HTTPRequest(DefaultFileSource *source_, const Resource &resource_) + : SharedRequestBase(source_, resource_) { } HTTPRequest::~HTTPRequest() { diff --git a/scripts/install_node.sh b/scripts/install_node.sh new file mode 100755 index 0000000000..ecb5b88350 --- /dev/null +++ b/scripts/install_node.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +mason install node 0.10.35 +export PATH="`mason prefix node 0.10.35`/bin":"$PATH" diff --git a/scripts/run_tests.sh b/scripts/run_tests.sh index f0582ebed7..e53e9a84a3 100755 --- a/scripts/run_tests.sh +++ b/scripts/run_tests.sh @@ -16,6 +16,9 @@ if [[ ${TRAVIS_OS_NAME} == "linux" ]]; then sysctl kernel.core_pattern fi +# install test server dependencies +(cd test; npm install express@4.11) + RESULT=0 ${CMD} "$@" || RESULT=$? diff --git a/src/mbgl/storage/default_file_source.cpp b/src/mbgl/storage/default_file_source.cpp index 05d87e474b..60633c789e 100644 --- a/src/mbgl/storage/default_file_source.cpp +++ b/src/mbgl/storage/default_file_source.cpp @@ -96,28 +96,28 @@ SharedRequestBase *DefaultFileSource::find(const Resource &resource) { } Request *DefaultFileSource::request(const Resource &resource, uv_loop_t *l, Callback callback) { - auto request = new Request(resource, l, std::move(callback)); + auto req = new Request(resource, l, std::move(callback)); // This function can be called from any thread. Make sure we're executing the actual call in the // file source loop by sending it over the queue. It will be processed in processAction(). - queue->send(AddRequestAction{ request }); - return request; + queue->send(AddRequestAction{ req }); + return req; } void DefaultFileSource::request(const Resource &resource, Callback callback) { - auto request = new Request(resource, nullptr, std::move(callback)); + auto req = new Request(resource, nullptr, std::move(callback)); // This function can be called from any thread. Make sure we're executing the actual call in the // file source loop by sending it over the queue. It will be processed in processAction(). - queue->send(AddRequestAction{ request }); + queue->send(AddRequestAction{ req }); } -void DefaultFileSource::cancel(Request *request) { - request->cancel(); +void DefaultFileSource::cancel(Request *req) { + req->cancel(); // This function can be called from any thread. Make sure we're executing the actual call in the // file source loop by sending it over the queue. It will be processed in processAction(). - queue->send(RemoveRequestAction{ request }); + queue->send(RemoveRequestAction{ req }); } void DefaultFileSource::process(AddRequestAction &action) { diff --git a/test/test.gyp b/test/test.gyp index 9958240d06..0362b8805c 100644 --- a/test/test.gyp +++ b/test/test.gyp @@ -49,6 +49,7 @@ '<@(glfw3_static_libs)', '<@(sqlite3_static_libs)', '<@(zlib_static_libs)', + '<@(curl_static_libs)', ], 'variables': { 'cxxflags': [ @@ -60,16 +61,22 @@ '<@(glfw3_ldflags)', '<@(sqlite3_ldflags)', '<@(zlib_ldflags)', + '<@(curl_ldflags)', ], }, - 'xcode_settings': { - 'OTHER_CFLAGS': [ '<@(cxxflags)' ], - 'OTHER_CPLUSPLUSFLAGS': [ '<@(cxxflags)' ], - 'OTHER_LDFLAGS': [ '<@(ldflags)' ], - }, - 'cflags': [ '<@(cxxflags)' ], - 'cxxflags': [ '<@(cxxflags)' ], - 'ldflags': [ '<@(ldflags)' ], + 'conditions': [ + ['OS == "mac"', { + 'xcode_settings': { + 'OTHER_CFLAGS': [ '<@(cxxflags)' ], + 'OTHER_CPLUSPLUSFLAGS': [ '<@(cxxflags)' ], + 'OTHER_LDFLAGS': [ '<@(ldflags)' ], + }, + }, { + 'cflags': [ '<@(cxxflags)' ], + 'cxxflags': [ '<@(cxxflags)' ], + 'libraries': [ '<@(ldflags)' ], + }], + ], }, ] } |