summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2015-01-22 07:02:14 -0800
committerKonstantin Käfer <mail@kkaefer.com>2015-02-04 10:49:06 +0100
commit92a7f73bbe10f817d5c2d607ba07fc69b859593b (patch)
tree6dfb4734d3b8731e8ec21cd036b192eceb31104b
parentbf629c97db98cc835e324409edfd8729bb3583c2 (diff)
downloadqtlocation-mapboxgl-92a7f73bbe10f817d5c2d607ba07fc69b859593b.tar.gz
fixes for linux
-rw-r--r--.travis.yml1
-rw-r--r--Makefile2
-rw-r--r--include/mbgl/platform/default/headless_view.hpp1
-rw-r--r--include/mbgl/storage/file_cache.hpp1
-rw-r--r--linux/main.cpp12
-rw-r--r--platform/default/asset_request_libuv.cpp8
-rw-r--r--platform/default/http_request_curl.cpp6
-rwxr-xr-xscripts/install_node.sh4
-rwxr-xr-xscripts/run_tests.sh3
-rw-r--r--src/mbgl/storage/default_file_source.cpp16
-rw-r--r--test/test.gyp23
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
diff --git a/Makefile b/Makefile
index bf0666812d..7a61e72c6b 100644
--- a/Makefile
+++ b/Makefile
@@ -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)' ],
+ }],
+ ],
},
]
}