Commit Graph

331 Commits

Author SHA1 Message Date
Konstantin Käfer
2fccdecfb1 [build] add script to generate a standalone version of Mapbox GL 2018-09-11 11:43:54 +02:00
Konstantin Käfer
4a3c4edb59 [android] add support for gnustl 2018-09-11 11:43:54 +02:00
Konstantin Käfer
30e570aae7 [core] add polyfill for codecvt for STLs that don't have it yet 2018-09-11 11:43:54 +02:00
Ander Conselvan de Oliveira
536652ca20 [build] Disable implicit fallthrough warnings for sqlite3 (#12855)
The sqlite3 source code has a lot of implicit fallthroughs in case
statements. They are documented with comments but even though gcc
provides options to use these comments to suppress the warnings, that's
not always reliable. For instance, it may fail if an #ifdef follows the
comment or if the comment is within a block scope used for a case.

With gcc version '(Ubuntu 7.3.0-16ubuntu3) 7.3.0' I get warnings similar
to the below:

../../../vendor/sqlite/src/sqlite3.c: In function ‘sqlite3_db_status’:
../../../vendor/sqlite/src/sqlite3.c:20251:10: error: this statement may fall through [-Werror=implicit-fallthrough=]
       op = SQLITE_DBSTATUS_CACHE_WRITE+1;

So disable the implicit falltrhough warnings for that library. Note that
-Wno-error=implicit-fallthrough is not used to keep the build silent
since this is vendor library.
2018-09-11 12:18:26 +03:00
John Firebaugh
79bf0e8af6 [android] jni.hpp 4.0.0 2018-09-07 09:44:12 -07:00
John Firebaugh
53c3c327f0 [android] Upgrade to latest jni.hpp 2018-09-07 09:44:12 -07:00
Konstantin Käfer
e51eb0fc23 [build] use vendored version of ICU 2018-09-05 12:26:15 +02:00
Konstantin Käfer
679d66f36d [build] use vendored SQLite for LTO benefits + custom compile flags 2018-09-05 12:26:15 +02:00
Molly Lloyd
d197fc7d8d [core] simplify dependency layout process and refactor data structures 2018-08-31 13:08:47 -07:00
Molly Lloyd
2cdbe934c2 [windows, qt] fix windows compiler errors, remove tao + tuple polyfill 2018-08-31 13:08:47 -07:00
Molly Lloyd
4a5dc37245 [core] Implement CrossFadedDataDrivenProperty to add support for feature expressions in *-pattern properties 2018-08-31 13:08:47 -07:00
Asheem Mamoowala
48381efa11 SQL Statements to merge an attached database with name 'side' into the main database.
Co-authored-by: kkaefer <mail@kkaefer.com>
2018-08-28 07:14:54 -07:00
Konstantin Käfer
1e454642c8 [build] allow WITH_EGL for macOS as well (SwiftShader) and enable EGL for GLFW 2018-08-27 14:07:40 -07:00
Mikhail Pozdnyakov
fb5afd34b9 [core] Add line-gradient property
Porting of https://github.com/mapbox/mapbox-gl-js/pull/6303
See the link above for the description of the feature and
its limitations).

Based on patch from @lbud (Lauren Budorick).
2018-08-23 19:01:40 +03:00
Konstantin Käfer
52275f835a [build] add plain text file lists for iOS/macOS 2018-08-23 14:09:48 +02:00
Bryan Haber
31bdb74f48 [build] fixed typo in list of configuration types; RelWithDebugInfo should be RelWithDebInfo
- added missing linker flags for Sanitize configuration type
- changed mason's download to use cmake's built-in support instead of directly calling curl
2018-08-20 21:24:12 +02:00
Konstantin Käfer
bded6c65d5 [build] use plain text files for file lists to simplify integration with other build systems 2018-08-20 19:11:31 +02:00
Konstantin Käfer
036a75037a [build] also generate debugging symbols for Release builds in Xcode 2018-08-20 17:50:46 +02:00
Konstantin Käfer
112bbc7ab2 [core] make style/conversion.hpp implementation private 2018-08-19 13:09:16 +02:00
John Firebaugh
19325b0293 [build] More diagnostics for npm install failures 2018-08-16 11:08:48 -07:00
Konstantin Käfer
9d72bf8a1a [build] make sure we're also updating the mapbox-ios-events submodule 2018-08-14 17:03:46 -07:00
Konstantin Käfer
6e06e55b95 WIP: use expected<T, E> for passing on errors 2018-08-14 17:03:46 -07:00
Konstantin Käfer
fa7b70945f [core] harden OfflineDatabase 2018-08-14 17:03:46 -07:00
John Firebaugh
58202eaf80 [core] Optimize generated set{Paint,Layout}Property code 2018-08-13 12:39:44 -07:00
John Firebaugh
b2f60a4bf2 [core] Eliminate setProperty & co. 2018-08-13 12:39:44 -07:00
John Firebaugh
b500577bfa [android, linux] Upgrade to SQLite 3.24.0, compiled to minimize binary size 2018-08-10 08:49:18 -07:00
Vladimir Kondrashov
070f50d6b0 Update mbgl.cmake 2018-08-10 09:20:52 -04:00
John Firebaugh
7fb2aade96 [build] Update gl-js 2018-08-08 08:58:15 -07:00
Bruno de Oliveira Abinader
3952ff5c34 [core] Replace unique_any with peer from mapbox-bindgen 2018-08-08 14:14:34 +03:00
Mikhail Pozdnyakov
15a2623147 [core] Add lineMetrics to GeoJSONOptions
This patch also bumps geojson-vt-cpp version to 6.6.0,
which enables the `lineMetrics` option.
2018-08-08 12:53:32 +03:00
Anand Thakker
d25e1a1e7f Relax typing for comparison operators (#12537)
* Relax typing for comparison operators

Ports https://github.com/mapbox/mapbox-gl-js/pull/6961

* Review comments

* Lint fixes
2018-08-02 13:48:47 -04:00
John Firebaugh
9e3a4a2646 [ios, macos] Enable link-time optimization for iOS release builds (#12502) 2018-07-31 15:35:17 -07:00
John Firebaugh
9bdd765a02 [core] Merge DataDrivenPropertyValue into PropertyValue (#12513) 2018-07-31 14:21:47 -07:00
John Firebaugh
9a1bb1ad14 [core] Tweak conversions to reduce binary size
* return {} → return nullopt
* error = { "..." } → error.message = "..."
2018-07-30 17:17:38 -07:00
Sudarsana Babu Nagineni
9561b6c115 Update geometry, geojsonvt and vector-tile modules
Update mason modules geometry, geojsonvt and vector-tile
to latest.
2018-07-30 12:38:24 +03:00
John Firebaugh
10e4ea0f28 [core] Compress all shader source as a single corpus 2018-07-25 11:39:05 -07:00
Bruno de Oliveira Abinader
31cace784e [build] Bump benchmark to v1.4.1 2018-07-23 19:39:47 +03:00
John Firebaugh
7e5b054566 [build] See what happened when npm install fails 2018-07-20 13:22:25 -07:00
John Firebaugh
a3d988ab85 [core] Move expression.cpp to expression directory 2018-07-20 11:56:30 -07:00
John Firebaugh
c8edbb0500 [core] Replace {Source,Camera,Composite}Function with PropertyExpression 2018-07-20 11:56:30 -07:00
Konstantin Käfer
1985b893b7 [build] vendor Google Test 2018-07-20 10:58:50 -04:00
Konstantin Käfer
93d37282d9 [build] organize CMake targets in folders for IDEs 2018-07-17 18:36:17 +02:00
Konstantin Käfer
77894f0586 [core] treat parsedate as C++ file to remove C build rules
It is already wrapped with #ifdef __cplusplus extern "C", so we can safely compile it as C++ but retain C linkage
2018-07-16 18:25:09 +02:00
Konstantin Käfer
561e55eb6c [core] make the offline DB schema a regular include file 2018-07-16 18:24:51 +02:00
John Firebaugh
a6727921fc [core] Convert legacy functions directly to expressions 2018-07-13 13:37:27 -07:00
John Firebaugh
ca9ba9cb43 [build] Move all mason_use statements to a single file
So its checksum can be used in a CI cache key name.
2018-07-13 11:50:39 -07:00
Konstantin Käfer
cde7096e1c [build] add Node as executable for profiling action
This is now the same as the Run action
2018-07-06 16:00:43 +02:00
Mikhail Pozdnyakov
514485502d Rename HeatmapColorPropertyValue to ColorRampPropertyValue
Based on patch from @lbud (Lauren Budorick).

Give `HeatmapColorPropertyValue` a more generic name,
since the same value type will be used for both `heatmap-color`
and `line-gradient` properties.
2018-07-05 15:11:14 +03:00
Anand Thakker
cfd436c287 [core] Avoid blocking in Thread<Object> constructor (#12151)
* Introduce AspiringActor, EstablishedActor

This pair of objects represents the two-phase (parent-thread /
child-thread) construction that's needed to support constructing
Thread<Object> without blocking until the child thread is up and
running.

An `AspiringActor<O>` is responsible for:
 - ownership of the actor's `Mailbox`
 - allocating the memory for (but *not* constructing) the target object `O`

Using these two pieces--the mailbox and a stable address for `O`--an
`AspiringActor<O>` can accept messages for the target object, or provide
`ActorRef<O>`s that do so, before the object has actually been
constructed by the corresponding `EstablishedActor<O>`.  (Such messages
are queued in the mailbox until after the object is constructed.)

This allows for an `AspiringActor<O>` to be created and safely used by a
thread other than the one on which the target object will (eventually)
live.

An `EstablishedActor<O>` is responsible for managing the lifetime of the
target object `O` and the open/closed state of the parent's `mailbox`.

The `O` object's lifetime is contained by that of its owning
`EstablishedActor<O>`: the `EstablishedActor` constructor executes the
`O` constructor via "placement new", constructing it at the address
provided by the parent `AspiringActor`, and the `~EstablishedActor`
destructor similarly executes the `~O` destructor (after closing the
mailbox). `EstablishedActor` should therefore live entirely on the
thread intended to own `O`.

* Remove Actor#{invoke,ask}
2018-07-03 17:17:39 -04:00
Chris Loer
9ff5d34ef2 [core] Introduce "collator" expressions
Cross platform parsing and evaluation code.
2018-07-03 10:03:05 -07:00