Commit Graph

20 Commits

Author SHA1 Message Date
John Firebaugh
f964e40e7e [build] Refactor and simplify build system
* Main gyp files are now standardized as platform/<platform>/platform.gyp.
* Each platform gyp file defines appropriate loop_lib and headless_lib variables.
* Each platform gyp file includes mbgl.gypi, which defines base targets which may be useful to all platforms.
* CI targets are consistent across platforms: `make $(PLATFORM) && make test-$(PLATFORM)`.
* Renamed the "linux" test app to "glfw". It's now built in OS X CI.
* Android build flakiness is fixed.
* iOS CI builds the bench and iosapp targets.
* Mesa version is now in one place.
* CI scripts use bash "strict mode" and correct error handling.
* All build output goes to the build directory.
* Removed vestigial iOS/OS X/Android Travis scripts.
2016-04-07 18:01:02 -07:00
John Firebaugh
c4c3a19d85 [node] Allow GC in spite of reference loops through the request method
The following produces a reference cycle:

var map = new mbgl.Map({
    request: function () { ... }
});

map has a reference to the request function, which has a reference to
its closure, which has a reference to map.

Storing a the map options in an internal field, rather than a Persistent,
allows V8 to collect the reference cycle when none of its members have
other references.
2015-11-20 16:33:46 -08:00
Mike Morris
dfb36d6231 [core] move mbgl.gyp to gyp directory
So npm won't clobber binding.gyp, refs
https://github.com/npm/npm/issues/10243
2015-11-04 11:34:35 -05:00
Mike Morris
9173589cc0 [node] include node headers in binding.gyp, undef libuv_cflags 2015-10-26 18:02:29 +01:00
Mike Morris
f6af65770d [node] make task for building node via Xcode 2015-10-26 18:02:29 +01:00
Mike Morris
1c5fddab6c drop conditions from binding.gyp 2015-09-01 15:55:03 -04:00
Mike Morris
0e79d56b09 move package.json and binding.gyp to root, drop tiles.tilejson 2015-09-01 15:51:29 -04:00
Mike Morris
6e6387e089 move node-mbgl to platform/node/ directory 2015-08-21 16:22:04 -04:00
Mike Morris
830a9b3972 drop CompressPNG 2015-05-15 13:24:04 -04:00
Mike Morris
2da70779c6 gcc -Wshadow is annoying 2015-05-14 15:39:48 -04:00
Mike Morris
99b37c64f9 compile OS X with --std=c++1y
because Travis uses Apple LLVM 6.0 and full c++14 support landed in 6.1
https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/WhatsNewXcode/WhatsNewXcode.pdf
2015-05-13 12:58:34 -04:00
Mike Morris
1b9f98440a ignore GCC diagnostics for node.h 2015-05-13 12:58:34 -04:00
Mike Morris
1eeb7b65e9 update travis script for https://github.com/mapbox/mapbox-gl-native/pull/1339
refactor mbgl travis scripts

source travis_helper.sh, run setup.sh

pushd/popd

sudo false

travis matrix with c++14 support?

drop setup_mesa.sh

update binding.gyp

language: c

drop thread_object, add async_queue

fix async_queue.hpp includes

std::make_unique

pip install awscli
2015-05-13 12:58:04 -04:00
Mike Morris
8671015119 move node log from backend to observer pattern
back to gl-native master branch
2015-04-17 15:57:22 +02:00
Mike Morris
82317df050 move back to node-mapbox-gl-native 2015-02-24 12:16:21 -05:00
Mike Morris
cc1783298c add node-pre-gyp 2015-02-17 10:48:41 -05:00
Konstantin Käfer
caae73a33a expose log messages to node.js 2015-02-12 13:04:06 -08:00
Konstantin Käfer
8c6f71fdb2 adapt to static-render branch changes [skip ci]
still missing updated tests
2015-02-11 19:35:39 -08:00
Mike Morris
df396d7d89 get tests passing on travis
add iam template with mapbox-gl-testing and mapbox-node-binary permissions
add travis build scripts and .travis.yml
rm -f platform gypi
map.resize is private now, called by view.resize
set stdlib and c++11 per platform, link glfw3 ldflags on linux
pass --clang to node-gyp per https://github.com/mapbox/mapbox-gl-native/pull/364#issuecomment-51735692
2015-02-10 15:24:02 -08:00
Konstantin Käfer
07867edd47 initial version with updated build system 2015-02-04 18:21:39 +01:00