Commit Graph

278 Commits

Author SHA1 Message Date
Konstantin Käfer
0fe60d398e [build] add benchmark target 2016-06-06 13:50:55 +02:00
John Firebaugh
a758b41b06 [build] Fix mason submodule initialization 2016-06-03 09:51:39 -07:00
John Firebaugh
a43940afb2 [core] Runtime style layer API 2016-06-02 14:51:39 -07:00
John Firebaugh
8068424f30 [build] Add android-* make targets for specific ABIs 2016-06-01 17:37:01 -07:00
Bruno de Oliveira Abinader
bdeabc492c Revert "[build] Use 'npm update --dev' to install devDependencies"
This reverts commit f4ebda09be.
2016-05-26 16:16:15 +03:00
Bruno de Oliveira Abinader
f4ebda09be [build] Use 'npm update --dev' to install devDependencies 2016-05-26 15:00:55 +03:00
John Firebaugh
45c5b2a66c [core] Share shaders with gl-js 2016-05-25 21:37:58 -07:00
John Firebaugh
2846e2a424 [build] Move express dependency to package.json 2016-05-25 21:37:17 -07:00
John Firebaugh
9732f02422 [build] Switch default BUILDTYPE to Debug 2016-05-24 09:55:13 -07:00
John Firebaugh
fc1c21202a [build] Use test-$(HOST_PLATFORM) as default make target 2016-05-24 09:55:13 -07:00
John Firebaugh
eb03611943 [build] Make gyp commands more consistent 2016-05-24 09:55:13 -07:00
John Firebaugh
a6e0870a3a [build] Add appropriate platform.gyp dependencies 2016-05-24 09:55:13 -07:00
John Firebaugh
35de561bb4 [build] Introduce CONFIG_DEPENDENCIES 2016-05-24 09:55:13 -07:00
John Firebaugh
c02d837a33 [build] Add GYP_DEPENDENCIES to all appropriate targets 2016-05-24 09:55:02 -07:00
Bruno de Oliveira Abinader
6938970dcc [build] Fix Qt build for OS X 2016-05-24 19:32:55 +03:00
John Firebaugh
1f8de2be5c [build] Inline main.mk Android targets into Makefile 2016-05-23 21:33:17 -07:00
John Firebaugh
d5840beb47 [build] Inline main.mk linux and qt targets into Makefile 2016-05-23 20:29:14 -07:00
John Firebaugh
b611a6f5dc [build] Inline main.mk node targets into Makefile 2016-05-23 19:15:03 -07:00
John Firebaugh
d378d1f823 [build] Avoid variable name coupling between main.mk and configure 2016-05-23 17:38:11 -07:00
John Firebaugh
99e2504f8d [build] Move rm -rf node_modules to make distclean 2016-05-20 10:21:37 -07:00
Minh Nguyễn
eb1e6c0f0c [osx] Automate framework packaging
Added a package script and make rule that parallels the iOS SDK package script and make rule, but with far fewer intricacies.
2016-05-10 10:18:23 -07:00
Minh Nguyễn
5616cd2bb1 [osx] Added OS X SDK documentation target
Added a target, script, and make rule for generating OS X SDK documentation with jazzy, along with a docset cover page.

Switched the umbrella header from framework header syntax to user header syntax so SourceKit can find all the headers.

Fixes #4871.
2016-05-10 09:59:04 -07:00
Dane Springmeyer
522ebb08ef Respect V arg to make to disable xcpretty (#4881) 2016-04-27 18:03:36 -07:00
Bruno de Oliveira Abinader
a083fcbd77 [Qt] Added qt-qml-app example 2016-04-27 17:36:35 +03:00
Mike Morris
64fe75b011 node-v3.1.2 2016-04-26 11:48:02 -04:00
Minh Nguyễn
57f0a21125 [ios] Only convert encoding of files generated by genstrings
Followup to #4783: fixed an issue causing make genstrings to reconvert a UTF-8-encoded file from UTF-16 to UTF-8, garbling it.
2016-04-24 20:57:13 -07:00
Minh Nguyễn
f85f4f4105 [ios] Streamlined resource bundling
Added a target that produces Mapbox.bundle.

Replaced $BUNDLE_RESOURCES and $PLACE_RESOURCE_BUNDLES_OUTSIDE_FRAMEWORK with a single variable, $SELF_CONTAINED, that determines whether the output static framework is self-contained – that is, whether it contains Mapbox.bundle, Settings.bundle, and LICENSE.md. Eliminated the ability to produce a static framework that has the same layout as a dynamic framework. Now, resources are always in Mapbox.bundle; self-containment only determines where that bundle resides.

Added a separate source Info.plist to be placed in both the static framework and its resource bundle, but only after we give the build system a chance to expand variables within it. Now nearly all the Info.plist keys are filled in by the build system rather than using plutil in package.sh.
2016-04-24 16:18:23 -07:00
Minh Nguyễn
95613bd7dd [ios, osx] Made OS X SDK localizable
Replaced the iOS-specific ilocalize make rule with a genstrings make rule that creates iOS, OS X, and shared strings files. Moved the override English .stringsdict file under darwin/resources/. Made the default OS X callout view XIB localizable. Made some hard-coded strings in the OS X SDK source localizable.
2016-04-24 16:18:23 -07:00
Minh Nguyễn
f1200d47db [ios, osx] Made localizable strings unique; unlocalized iosapp
Assigned unique IDs to localizable English strings in code.

Made iosapp non-localizable. For the time being, it isn’t worth the trouble to localize more strings for this demo application than for the SDK itself.
2016-04-24 16:17:43 -07:00
Minh Nguyễn
e4752912da [ios, osx] Corrected clock, coordinate formats
Long unit style isn’t intended to be spelled out, so the clock and coordinate direction formatters now use numerals for long unit style, differing from medium unit style in less drastic ways. The locale no longer needs to be exposed, since it’ll always match the overall string’s locale. Added support to the coordinate formatter for different unit styles. Made minutes and seconds of arc optional.

Maintain strings for darwin/ formatter classes in a separate Foundation strings table that can be shared between the iOS and OS X SDKs. Added an English .stringsdict override that correctly pluralizes units.

Capitalize osxapp window titles, now that they spell out the directions.
2016-04-24 16:13:54 -07:00
Minh Nguyễn
6c9ca4be50 [ios] Made SDK and iosapp localizable
Made storyboards and strings throughout the SDK and iosapp localizable. Replaced the compass image with an unlabeled image. Draw a localizable string atop it at runtime.

Redefined NSLocalizedString() and NSLocalizedStringFromTable() macros to look at the SDK bundle rather than the main application bundle. This redefinition has no effect on the host application, because it’s in an internal header. That header must be included in all files that contain localizable strings. See NSBundle+MGLAdditions.h for a full explanation.

Added a make rule that runs genstrings and ensures UTF-8 output (since genstrings insists on UTF-16).

Use MGLCoordinateFormatter in iosapp for dropped pin callouts. Rely on subclasses of MGLPointAnnotation instead of annotation titles to distinguish between different kinds of point annotations.
2016-04-24 16:13:08 -07:00
Minh Nguyễn
a421028481 [ios] Only build static framework for Fabric 2016-04-24 11:35:50 -07:00
John Firebaugh
a7527d6986 [build] Depend on directories, so that projects are regenerated when files are added or removed (#4810) 2016-04-22 15:07:57 -07:00
Thiago Marcos P. Santos
c8c69f1d2a [Qt] Build the Qt port 2016-04-20 20:55:51 +03:00
Minh Nguyễn
6069647076 [ios, osx] Override user workspace settings 2016-04-19 16:28:30 -07:00
John Firebaugh
4bc4d35c60 [ios] Build output goes to build/ios 2016-04-19 16:28:30 -07:00
John Firebaugh
a883ac9253 [osx] Build output goes to build/osx 2016-04-19 16:28:30 -07:00
John Firebaugh
2d33ae5ed7 [ios, osx] Eliminate use of main.mk 2016-04-19 16:28:30 -07:00
John Firebaugh
fe894ef95e [build] make clean can now remove build directory wholesale 2016-04-18 10:42:41 -07:00
Minh Nguyễn
15769537c3 [osx] Moved SDK from gyp into Xcode project
Added a new Cocoa dynamic framework target target to the main OS X Xcode project. The target is based on the template provided by Xcode. It contains headers and source files in the darwin/ and osx/ subdirectories. Headers are explicitly marked public or project-internal instead of implicitly by subdirectory. Removed the osxsdk target from platform.gypi.

The SDK target has a few dependencies that are managed by mason. Transform the config.gypi generated by configure into an .xcconfig file that Xcode uses to fill in compiler and linker flags.

Added a CI scheme that builds the All aggregate target generated by gyp and the osxapp and SDK test targets.
2016-04-16 22:46:56 -07:00
Minh Nguyễn
7054f808bc [osx] Added Xcode project for osxapp
osx.xcodeproj is an ordinary Xcode project with an ordinary Xcode target for osxapp, contained in an ordinary Xcode workspace that happens to also reference the gyp-generated platform.xcodeproj. The osxapp target links to and embeds Mapbox.framework, which is a product of the gyp-generated platform.xcodeproj.

Moved XIBs into Base.lproj and icons into an asset catalog.

Shared an Objective-C exception breakpoint, disabled by default.
2016-04-16 22:46:26 -07:00
Minh Nguyễn
f83c7a8b81 [ios] Force workspace-relative DerivedData
A workspace places derived data under ~/Library/ by default. We need it to live under build/ for all users. Instead of a legacy-style build products directory, force a workspace-relative DerivedData directory that matches the standard Xcode 4+ layout. Share the workspace settings file that forces the setting. Note that Xcode places its build and index output one level deeper than xcodebuild does.

Also fixed make ipackage-sim by conditionalizing anything related to the .dSYM file, which isn’t generated in the Debug configuration.
2016-04-16 22:46:26 -07:00
Minh Nguyễn
61c9faaf99 [ios] Build for 64-bit simulator 2016-04-16 22:46:25 -07:00
Minh Nguyễn
ab9b4b9171 [ios] Specify simulator device
The default is iPhone 4 running iOS 8.1, which doesn’t seem to be the intended device.
2016-04-16 22:46:25 -07:00
Minh Nguyễn
85b01eed5b [ios] Fixed make test-ios
For some reason, the SDK tests are less accurate when run on the command line than when run in Xcode or on OS X.

Also fixed unused variable warnings in the tests.
2016-04-16 22:46:25 -07:00
Minh Nguyễn
20b1c19b63 [ios] Run SDK tests on CI
Added SDK tests to make test-ios rule. Disabled code coverage.
2016-04-16 22:46:24 -07:00
Minh Nguyễn
4175a09b4b [ios] Build CI-specific scheme in CI
The new scheme builds both the All aggregate target generated by gyp and the iosapp target.
2016-04-16 22:46:23 -07:00
Minh Nguyễn
b8c39667ff [ios] Moved SDK from gyp into Xcode project
Added a new Cocoa Touch dynamic framework target and Cocoa Touch static library target to the main iOS Xcode project. The targets are based on the templates provided by Xcode. They contain headers and source files in the darwin/ and ios/ subdirectories. Headers are explicitly marked public or project-internal instead of implicitly by subdirectory.

The SDK targets have a few dependencies that are managed by mason. Transform the config.gypi generated by configure into an .xcconfig file that Xcode uses to fill in compiler and linker flags.

Removed the iossdk target from platform.gypi and pared down the platform-lib target. make iproj opens the overall Xcode workspace instead of just the core project.

Resolved some warnings that are only now appearing because we’re using the standard warning and error flags instead of the pedantic and somewhat inappropriate flags that were forced by the gyp configuration files. Removed a console message informing developers of a long-ago deleted delegate method; the message was triggering a “selector not found” warning. Conditionalized some deprecated symbol usage that’s still needed for the static framework but not the dynamic framework, due to differing minimum deployment targets.

Added a build phase to the static library target that copies headers for use with the static library itself. This would allow us to potentially include a header in the dynamic framework but not the static library and vice-versa.

Updated the changelog to note that unused SVG files have been removed from the distribution.
2016-04-16 22:45:59 -07:00
John Firebaugh
23a0e2a84e [osx] Yet another attempt at getting crash traces 2016-04-12 11:55:10 -07:00
John Firebaugh
88ea342580 [ios] Build only i386 2016-04-11 21:21:36 -07:00