aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/apple/AppleConfiguration.java
Commit message (Collapse)AuthorAge
* Fills out some macOS support needed for the bundler.Gravatar Googler2017-02-02
| | | | | | | | | | | | | | | | | | This CL also changes some names from "MacOSX" to "macOS", such as the command line options, internal constants/enum values, and platform constants that are accessible from Skylark but are not let being used. It also adds some flags that are needed for completeness, like macos_minimum_os and macos_cpus. This change intentionally omits a few reference (such as "default_macosx_sdk_version" in "xcode_version") that are currently used in BUILD files in order to prevent those from breaking--I'll try to attack those later. This CL also does *not* add compiling/linking support for macOS. -- PiperOrigin-RevId: 146250799 MOS_MIGRATED_REVID=146250799
* Remove apple_dynamic_library rule.Gravatar Chris Parsons2017-02-01
| | | | | | -- PiperOrigin-RevId: 146150539 MOS_MIGRATED_REVID=146150539
* When the apple crosstool transition is being used (set with ↵Gravatar Cal Peyser2017-01-30
| | | | | | | | --apple_crosstool_transition), the APPLE_CROSSTOOL distinguisher does not modify output directory. -- PiperOrigin-RevId: 145999133 MOS_MIGRATED_REVID=145999133
* Set defaults for xcode_version and *_sdk_version flags based on the ↵Gravatar Chris Parsons2017-01-26
| | | | | | | | information available in the xcode config -- PiperOrigin-RevId: 145597372 MOS_MIGRATED_REVID=145597372
* Introduces --apple_crosstool_transition, which turns controls the activation ofGravatar Cal Peyser2017-01-20
| | | | | | | | the AppleCrosstoolTransition. -- PiperOrigin-RevId: 145006581 MOS_MIGRATED_REVID=145006581
* Set correct ENV variables for macOS builds.Gravatar Dmitry Shevchenko2017-01-19
| | | | | | | | * This allows xcrunwrapper to set the correct SDKROOT when building darwin targets. -- PiperOrigin-RevId: 144874291 MOS_MIGRATED_REVID=144874291
* AppleCrosstoolTransition is also applied to any incoming edge to a rule classGravatar Cal Peyser2017-01-13
| | | | | | | | | | | that may contain objc source. This only works with dynamic configurations turned on. This ensures that objc dependencies of non-objc targets use the apple crosstool. -- PiperOrigin-RevId: 144384483 MOS_MIGRATED_REVID=144384483
* Manually add periods to documentation strings where needed.Gravatar John Cater2017-01-03
| | | | | | | | -- Change-Id: I9ec3209a69ba5a51943b334f278ba93d67d4f9f4 Reviewed-on: https://cr.bazel.build/8090 PiperOrigin-RevId: 143470915 MOS_MIGRATED_REVID=143470915
* Expose apple.xcode_version() to skylark.Gravatar Chris Parsons2016-12-28
| | | | | | -- PiperOrigin-RevId: 143036358 MOS_MIGRATED_REVID=143036358
* Introduce --apple_crosstool_top, which sets the crosstool for sources in ↵Gravatar Cal Peyser2016-12-23
| | | | | | | | objc_*/apple_*/ios_* targets and their dependencies. -- PiperOrigin-RevId: 142793925 MOS_MIGRATED_REVID=142793925
* Rollback of commit 87fd5baeaa3f983bbec0c0dbc7b16eb52cf2267f.Gravatar Tobias Werth2016-12-22
| | | | | | -- PiperOrigin-RevId: 142758502 MOS_MIGRATED_REVID=142758502
* Introduce --apple_crosstool_top, which sets the crosstool for sources in ↵Gravatar Cal Peyser2016-12-22
| | | | | | | | objc_*/apple_*/ios_* targets and their dependencies. -- PiperOrigin-RevId: 142702735 MOS_MIGRATED_REVID=142702735
* Rollback AppleCrosstoolChangeGravatar Cal Peyser2016-12-22
| | | | | | -- PiperOrigin-RevId: 142692398 MOS_MIGRATED_REVID=142692398
* Introduce --apple_crosstool_top, which sets the crosstool for sources in ↵Gravatar Cal Peyser2016-12-22
| | | | | | | | objc_*/apple_*/ios_* targets and their dependencies. -- PiperOrigin-RevId: 142673622 MOS_MIGRATED_REVID=142673622
* Remove --experimental_disable_native_swift_rules flag.Gravatar Dmitry Shevchenko2016-12-21
| | | | | | -- PiperOrigin-RevId: 142666176 MOS_MIGRATED_REVID=142666176
* Pad apple SDK version number strings to ensure there are at least two ↵Gravatar Chris Parsons2016-11-02
| | | | | | | | | components. In other words, ensure that a version number such as "10" is always padded as "10.0" when describing an apple sdk version number. -- MOS_MIGRATED_REVID=137836480
* Roll forward of commit deeeb31f8ba0f196fbc9ca2a177d59d57ea50b32.Gravatar Dmitry Shevchenko2016-10-05
| | | | | | | | | | | | | | | | | | | | | | * Fixed breakage in shell tools with an old bazel binary. Rollback of commit deeeb31f8ba0f196fbc9ca2a177d59d57ea50b32. *** Reason for rollback *** Breaks builds with current blaze *** Original change description *** Add a way to select non-default Xcode toolchain * Adds a flag --xcode_toolchain which sets TOOLCHAINS env variable for xcrun. * Updates swift_library to work with this flag when selecting Swift runtime location. * By default the flag has a null value and is not set in env. -- MOS_MIGRATED_REVID=135238820
* Rollback of commit deeeb31f8ba0f196fbc9ca2a177d59d57ea50b32.Gravatar Dmitry Shevchenko2016-10-04
| | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks builds with current blaze *** Original change description *** Add a way to select non-default Xcode toolchain * Adds a flag --xcode_toolchain which sets TOOLCHAINS env variable for xcrun. * Updates swift_library to work with this flag when selecting Swift runtime location. * By default the flag has a null value and is not set in env. -- MOS_MIGRATED_REVID=135053864
* Add a way to select non-default Xcode toolchainGravatar Dmitry Shevchenko2016-10-04
| | | | | | | | | * Adds a flag --xcode_toolchain which sets TOOLCHAINS env variable for xcrun. * Updates swift_library to work with this flag when selecting Swift runtime location. * By default the flag has a null value and is not set in env. -- MOS_MIGRATED_REVID=135033093
* Use minimum OS flags for watchOS and tvOS actions.Gravatar Chris Parsons2016-09-30
| | | | | | | | | | | | Also: - Move minimum os information into AppleConfiguration - Update watchos and tvos minimum version defaulting behavior such that, if unspecified in flags, the minimum OS is equal to the SDK version. - Expose Apple Platform to apple_common in skylark -- MOS_MIGRATED_REVID=134712763
* Add a flag to disable native Swift support.Gravatar Dmitry Shevchenko2016-09-29
| | | | | | | | * When set, this flag will cause any objc_library or objc_binary rule with Swift sources to error out. The native functionality is deprecated. -- MOS_MIGRATED_REVID=134583636
* Expose AppleBitcodeMode to SkylarkGravatar Dmitry Shevchenko2016-09-23
| | | | | -- MOS_MIGRATED_REVID=134011406
* Add minimum OS, simulator version, and simulator device flags for tvOS and ↵Gravatar Googler2016-09-20
| | | | | | | | | | | watchOS. Currently, the minimum watchOS version is always fixed to the SDK version being used, which may not always be desired (for example, building with the 3.0 SDK but support running on 2.2). The watch flags aren't being used yet (nor are the tvOS flags), but will pave the way for us to fix that. The necessary CROSSTOOL support is in unknown commit. -- MOS_MIGRATED_REVID=133602832
* Expose PlatformType and supporting methods to Skylark.Gravatar Dmitry Shevchenko2016-08-25
| | | | | -- MOS_MIGRATED_REVID=131311014
* Expose single and multi-architecture platform retrieval methods ↵Gravatar Chris Parsons2016-08-23
| | | | | | | (AppleConfiguration) to skylark. -- MOS_MIGRATED_REVID=130960948
* Allow Skyframe graph lookups and value retrievals to throw InterruptedException.Gravatar Janak Ramakrishnan2016-08-16
| | | | | | | The only place we now don't handle InterruptedException is in the action graph created after analysis, since I'm not sure that will be around for that much longer. -- MOS_MIGRATED_REVID=130327770
* Reorganize Skylark Reference documentation.Gravatar Dmitry Lomov2016-06-29
| | | | | -- MOS_MIGRATED_REVID=126081020
* Support for platform_type="watchos" on apple_binary.Gravatar Chris Parsons2016-06-16
| | | | | | | | | This builds all dependencies linked against watch SDKs instead of iOS SDKs, and builds for the architectures specified in --watchos_multi_cpus RELNOTES: apple_binary supports a new platform_type attribute, which, if set to "watchos", will build dependencies for Apple's watchOS2. -- MOS_MIGRATED_REVID=124980029
* More refactor work on single-/multi- architecture accessor methods of ↵Gravatar Chris Parsons2016-06-09
| | | | | | | | | | | | | | | | | | | | | | AppleConfiguration. Additionally, tweak single-architecture ios-platform logic such that ios_multi_cpus is checked before ios_cpu. There are two contexts to note: 1. Single-architecture logic, (generally post-split), unaware of its own platform type aside from configuration. This retrieves platform type from the --apple_platform_type configuration value. a. getSingleArchPlatform() for Platform retrieval b. getSingleArchitecture() for architecture retrieval 2. Multi-architecture logic, which should be aware of its own platform type, and passes it into configuration accessors. a. getMultiArchPlatform(PlatformType) b. getMultiArchitectures(PlatformType) All callers are migrated to these methods, though some still pass IOS platform type even though they may need to be refactored to support additional platform types later. -- MOS_MIGRATED_REVID=124370652
* Refactoring of Apple Platform detection and usage, to pave the way for ↵Gravatar Chris Parsons2016-05-30
| | | | | | | | | non-IOS Platforms. There are still various places which infer IOS platform type which need to be fixed, but this ensures switching to other platform types is as easy as changing an argument. -- MOS_MIGRATED_REVID=123444548
* Refactor ios_split_cpu to be apple_split_cpu, in preparation for using it to ↵Gravatar Chris Parsons2016-05-11
| | | | | | | | | specify platform mutli_cpu splits other than on ios_multi_cpu (such as a split on watchos) No users should be manually specifying this flag, so this shouldn't break anyone... -- MOS_MIGRATED_REVID=122037152
* Use SplitTransitionProvider to provide apple_binary's split transitionsGravatar Chris Parsons2016-05-11
| | | | | -- MOS_MIGRATED_REVID=121974561
* ios_device attribute "xcode", which takes an "xcode_version" target to ↵Gravatar Chris Parsons2016-04-08
| | | | | | | | | select a specific xcode. RELNOTES: ios_device attribute "xcode", for declaring a specific xcode to use when selecting iOS simulators. -- MOS_MIGRATED_REVID=119317344
* Extend support for AppleConfiguration in Skylark. Add support for ↵Gravatar Cal Peyser2016-03-31
| | | | | | | DottedVersion and Platform types in Skylark. -- MOS_MIGRATED_REVID=118593554
* Refactor spawnXcrunActionBuilder to take an explicit apple platform.Gravatar Chris Parsons2016-03-24
| | | | | | | | | This both starts to clean up the code (making it clearer which platform each action is targeted to, caller by caller), as well as allows callers to issue certain actions for platforms which are not implicitly ios. We'll still need to migrate callers onto the new method signature. -- MOS_MIGRATED_REVID=117982741
* Implement default_{tvos,watchos,macosx}_sdk_version attributes for the ↵Gravatar Chris Parsons2016-03-23
| | | | | | | | | xcode_version rule. --{tvos,watchos,macosx}_sdk_version flags may be used to override defaults specified in these attributes. -- MOS_MIGRATED_REVID=117869146
* Add default_ios_sdk_version attribute to xcode_version rules.Gravatar Chris Parsons2016-03-17
| | | | | | | This will set the default value for the iOS SDK version configuration value. Users can override this by specifying ios_sdk_version themselves. -- MOS_MIGRATED_REVID=117377043
* Start adding support for passing in SDK versions for Mac OS, Watch OS, TV OS.Gravatar Dave MacLachlan2016-03-01
| | | | | -- MOS_MIGRATED_REVID=116020389
* Expose AppleConfiguration to skylark as fragment "apple", along with a ↵Gravatar Chris Parsons2016-02-15
| | | | | | | callable method apple_host_system_env to return environment variables needed for various commands on apple hosts. -- MOS_MIGRATED_REVID=114550659
* Contractually document BuildConfiguration.Fragment as immutable and strengthenGravatar Greg Estren2016-02-01
| | | | | | | | | | | | | | | the immutability interfaces of existing implementations. Eventually we want all implementations to comply, but right now CppConfiguration is a glaring exception due to FDO/LIPO support. We don't want more exceptions to arise. This is prep work for pre-trimming ConfigurationFragment.key's BuildOptions input to just the options needed by the fragment. That implies fragments can be shared across configurations, so that needs to be safe. -- MOS_MIGRATED_REVID=113408041
* Redesign xcode_config rule to be evaluated at the level of configuration ↵Gravatar Chris Parsons2016-02-01
| | | | | | | instead of target depss -- MOS_MIGRATED_REVID=113398355
* Basic implementation for the build flag apple_bitcode, to propagate bitcode ↵Gravatar Chris Parsons2016-01-15
| | | | | | | | | | | build flags to clang based on a specified mode. This handles the very basic case of objc_* rule compilation which does not depend on non-objc targets. Until we support passing bitcode flags for cc compilation, such builds will be broken if bitcode is enabled (one may be able to get around this by propagating the appropriate bitcode flag to --copt, but we'll want to do this as part of the apple_bitcode flag). Additionally, we will want to use apple_bitcode to pass bitcode-enabling properties to generated xcode projects. -- MOS_MIGRATED_REVID=112192290
* Use xcode_config build target for actions which need to resolve an xcode ↵Gravatar Chris Parsons2016-01-13
| | | | | | | version. -- MOS_MIGRATED_REVID=111978539
* Use Bazel Preconditions variant which avoids varargs array creationGravatar Mark Schaller2015-12-10
| | | | | | | Reduces garbage. -- MOS_MIGRATED_REVID=109914243
* Implementation for xcode_version and xcode_config rules.Gravatar Chris Parsons2015-11-25
| | | | | -- MOS_MIGRATED_REVID=108659943
* Propagate apple platform environment variables for CppCompileActionGravatar Chris Parsons2015-11-19
| | | | | -- MOS_MIGRATED_REVID=108182745
* Add launch_storyboard for iOS bundles (apps, extensions).Gravatar Peter Schmitt2015-11-18
| | | | | | | | | | Also introduces DottedVersion, a way to parse, represent and most of all compare Apple's version identifiers. RELNOTES: iOS apps and extensions now have launch_storyboard -- MOS_MIGRATED_REVID=108060328
* Rename Platform.forArch to Platform.forIosArch, as it is truly doing the latter.Gravatar Chris Parsons2015-11-18
| | | | | -- MOS_MIGRATED_REVID=108057030
* Create AppleConfiguration and AppleCommandLineOptions, and move a few items ↵Gravatar Chris Parsons2015-11-10
of configuration over to the apple package. This moves a small number of configuration items over. Future changes will mostly likely follow to move yet more items. The split here is necessary as it is not only objc-related rules which require information about apple platforms and configuration -- cc rules will need this information as well to pass appropriate args to clang. -- MOS_MIGRATED_REVID=107396114