-
Notifications
You must be signed in to change notification settings - Fork 1.3k
[WIP] [build] Refactor and simplify build system #4608
Conversation
Thanks for working on this. My understanding is that now each platform is completely self contained. So adding a new platform (i.e. GTK+ or Qt) would be a matter of creating a |
@@ -210,32 +176,14 @@ compdb: | |||
tidy: | |||
$(RUN) tidy | |||
|
|||
.PHONY: clear_xcode_cache | |||
clear_xcode_cache: | |||
ifeq ($(BUILD), osx) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jfirebaugh @1ec5 is it really ok that we will no longer clear the derived data folder for osx builds?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should continue to clear the derived data. (It’s possible to clear out data derived from building core and the SDK without clearing out data derived from gyp project generation.)
However, I don’t think the derived data is being laid down in ~/Library/Developer/Xcode/DerivedData/{mapboxgl-app,osxapp}-* anyways. It seems to be going to ~/Library/Developer/Xcode/DerivedData/osx-* instead, at least when you build inside Xcode. Maybe it goes in ~/Library/Developer/Xcode/DerivedData/{mapboxgl-app,osxapp}-* if you run make run-osx
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
e3bb9ab
to
520ccf2
Compare
4f3a6e5
to
3537323
Compare
76d8fc0
to
85e7d9a
Compare
* 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.
85e7d9a
to
f964e40
Compare
Note that I dropped support for builds such as If you are super dependent on being able to use the curl HTTP implementation or libuv loop implementation on OS X, let's talk. |
@jfirebaugh Is there a recommended method for customizing builds now then? Specifically asking in context of #4638, which will provide an alternate rendering pipeline for Linux machines without a graphics card. |
Fixes #3821
Fixes #3539
Fixes #3452
Fixes #1372
Fixes #4600
Fixes #4582
Fixes #3388