aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/apple/AppleToolchain.java
Commit message (Collapse)AuthorAge
* Remove Swift support from native rulesGravatar Dmitry Shevchenko2016-11-24
| | | | | -- MOS_MIGRATED_REVID=140068224
* 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
* Use correct platform for Swift stdlib actions.Gravatar Dmitry Shevchenko2016-08-30
| | | | | -- MOS_MIGRATED_REVID=131625616
* 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
* Expose platform frameworks dir to Skylark.Gravatar Dmitry Shevchenko2016-05-03
| | | | | | | | * Adds a new method to get Xcode's developer frameworks dir. * Removes platform_dir() as it cannot be used in Skylark as-is - there's no way to get the platform name it requires. -- MOS_MIGRATED_REVID=121275439
* Set --xcode_version_config=@bazel_tools//tools/objc:host_xcodes by default inGravatar Luis Fernando Pino Duque2016-04-27
| | | | | | | and delete the reference to Constants.TOOLS_REPOSITORY in AppleCommandLineOptions. -- MOS_MIGRATED_REVID=120918479
* Rename LateBoundLabel#getDefault(Rule, AttributeMap, T) to #resolve().Gravatar Lukacs Berki2016-04-19
| | | | | | | Its old name was confusing because resolve() and getDefault() do radically different things: getDefault() returns a good enough lie for when BuildConfiguration is not available, and resolve() resolves the dependency when we do have a BuildConfiguration. -- MOS_MIGRATED_REVID=120212630
* Make ObjcProvider keys accessible to skylark. This is necessary to allowGravatar Cal Peyser2016-04-14
| | | | | | | skylark native access to ObjcProvider instances. -- MOS_MIGRATED_REVID=119782586
* Expose AppleToolchain to skylark.Gravatar Cal Peyser2016-04-05
| | | | | -- MOS_MIGRATED_REVID=118943054
* Start adding support for passing in SDK versions for Mac OS, Watch OS, TV OS.Gravatar Dave MacLachlan2016-03-01
| | | | | -- MOS_MIGRATED_REVID=116020389
* Add Watch and TV to list of platforms.Gravatar Dave MacLachlan2016-02-26
| | | | | -- MOS_MIGRATED_REVID=115577068
* Implement TODO from: ↵Gravatar Greg Estren2016-02-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://github.com/bazelbuild/bazel/blo[]fbbd6a32b95ba746f09dae1eaeaccf675cd5b3/src/main/java/com/google/devtools/build/lib/packages/Attribute.java#L1045 This allows the default value computation for latebound attributes to consider the values of configurable attributes. This is most directly useful for user-definable Skylark defaults, which have full access to the values of all non-latebound attributes. Without this change, this kind of scenario crashes Bazel. For example: ------------------ select_rules.bzl: ------------------ def _impl(ctx): ctx.file_action( output=ctx.outputs.out_file, content=ctx.attr.string_value, ) return struct() # Bug does not manifest without using this as a default. def _derived_value(attrs, _): return Label("//some:dep") selector_rule = rule( implementation=_impl, attrs={ "string_value": attr.string(default=""), "out_file": attr.output(), "_derived": attr.label(default=_derived_value), }, output_to_genfiles=True, ) def selector_macro(name, out_file="", string_value=""): # This will fail with selectors. selector_rule( name="%s_skylark" % name, string_value=string_value, out_file=out_file + ".skylark", ) # This does not. native.genrule( name="%s_genrule" % name, cmd="echo '" + string_value + "' > $@", outs=[out_file + ".genrule"], ) native.filegroup( name=name, srcs=[":%s_genrule" % name, "%s_skylark" % name], ) ------------------ BUILD.bzl: ------------------ config_setting( name = "selector", values = {"compilation_mode": "opt"}, ) selector_macro( name = "this_rule", string_value = """soup? """ + select({ ":selector": "no, thank you.", "//conditions:default": "yes, please!!", }), out_file = "this_rule.txt", ) -- MOS_MIGRATED_REVID=114326474
* Move ObjC compilation actions for J2ObjC-translated code from binary level ↵Gravatar Rumou Duan2016-02-05
| | | | | | | | | | | | to the edges (J2ObjcAspect and J2ObjcProtoAspect). RELNOTES[INC]: ObjC compile actions for J2ObjC-translated code now only has access to headers from the java deps of the associated original java rule. These compile actions no longer takes the compiler options specified in "copts" attribute on objc_binary/ios_test rules. J2ObjC dead code removal (enabled through flag "--j2objc_dead_code_removal") now happens *after* ObjC compilation. -- MOS_MIGRATED_REVID=113910545
* 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
* Use xcode_config build target for actions which need to resolve an xcode ↵Gravatar Chris Parsons2016-01-13
| | | | | | | version. -- MOS_MIGRATED_REVID=111978539
* Find frameworks in System/ instead of in Developer/ for ios sdks 9.0 and laterGravatar Chris Parsons2015-12-08
| | | | | -- MOS_MIGRATED_REVID=109715685
* 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