aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcVariablesExtension.java
Commit message (Collapse)AuthorAge
* Extract logic for dealing with CROSSTOOL values and build variables into ↵Gravatar rosica2018-05-14
| | | | | | | separate class RELNOTES: None. PiperOrigin-RevId: 196517537
* Remove source specific build variables from C++ API.Gravatar plf2017-12-15
| | | | | | | | | | | The only use case was for Objective-C rules so that different set of sources specified in the same rule could be compiled with either ARC or no ARC. To replace source specific build variables, we call into CcLibraryHelper twice for each set of sources. This has led to separating the building of compilation providers and outputs from those related to linking. In the case of Objective-C, the compilation outputs are merged and then passed to a single invocation of linking in CcLibraryHelper. In a later CL, the distinction between compilation and linking will be refined by separating them in different classes. RELNOTES:none PiperOrigin-RevId: 179167102
* Move RuleConfiguredTarget to lib.analysis.configuredtargets.Gravatar gregce2017-09-19
| | | | | | This is a trivial change with a large file footprint. PiperOrigin-RevId: 169169864
* macOS link actions set the correct system framework include pathsGravatar cparsons2017-07-26
| | | | | RELNOTES: None. PiperOrigin-RevId: 163114020
* Route Xcode version information through an implicit dependency instead of ↵Gravatar lberki2017-07-25
| | | | | | | | | | | | | | the configuration. This is part of the crusade to kill package loading in configuration creation. AppleConfiguration still retains the version information for the following reasons: - Some Skylark rules access it that way. The plan is to create an xcode_config_alias() rule that can be an implicit dependency of Skylark rules and to export the version information to Skylark from XcodeVersionsProvider. - The minimum OS version is part of the name of the output directory. The plan for that is simply to remove it. Hopefully we can get away with it. - They allow us to add assertions to make sure the new mechanism works like the old one. RELNOTES: None. PiperOrigin-RevId: 163038724
* Remove unused dsym type info from ObjcVariablesExtension.Gravatar cpeyser2017-04-20
| | | | | WANT_LGTM=all PiperOrigin-RevId: 153584480
* Add bitcode support to objc crosstool linking.Gravatar cpeyser2017-04-18
| | | | PiperOrigin-RevId: 153202296
* Introduce linkmap support for --experimental_objc_crosstool=allGravatar cpeyser2017-04-18
| | | | PiperOrigin-RevId: 153161442
* Implement DSYM generation for the CROSSTOOL rules.Gravatar cpeyser2017-04-04
| | | | PiperOrigin-RevId: 152011915
* CrosstoolCompilationSupport can be used for multi-arch binaries by allowing ↵Gravatar Cal Peyser2017-02-15
| | | | | | | | | | | | | | | | | a configuration to be passed into the cc backend and used to scope output artifacts. Artifacts involved: (1) Object files: see change in CppHelper, CppModel, CppCompileActionBuilder (2) Archive files: see change in CppModel (3) Archive objfile list: see change in ObjcVariablesExtension. Other little things that needed to be cleaned up to enable this: (1) neverlink set on objc archive actions. Without neverlink, colliding solib artifacts are generated from the two archives arising from the multi-arch split. (2) Toolchain selection in CrosstoolCompilationSupport uses passed-in configuration instead of :cc_toolchain attribute. This allows for each of the compiles spawned from apple_binary.srcs to select the correct toolchain based on the child configuration. -- PiperOrigin-RevId: 147550618 MOS_MIGRATED_REVID=147550618
* Avoid putting objc linkopts and copts in Set, as their order and ↵Gravatar Chris Parsons2017-02-15
| | | | | | | | | | duplicate-args need to be preserved. (Example: "-iquote foo -iquote bar" is a legitimate series of flags) -- PiperOrigin-RevId: 147512419 MOS_MIGRATED_REVID=147512419
* Fixing Blaze crashing when using --experimental_objc_crosstool=all with ↵Gravatar Rumou Duan2017-02-03
| | | | | | | | objc_proto_library and objc_import rules. -- PiperOrigin-RevId: 146410669 MOS_MIGRATED_REVID=146410669
* Have the "version_min" build variable be available to Apple C/C++ ↵Gravatar Googler2017-01-13
| | | | | | | | compilation actions. -- PiperOrigin-RevId: 144356912 MOS_MIGRATED_REVID=144356912
* Improve memory footprint of CcToolchainFeatures.Variables.Gravatar Marcel Hlopko2016-11-24
| | | | | -- MOS_MIGRATED_REVID=140131142
* Simplify Crosstool Build Variables contextGravatar Marcel Hlopko2016-11-16
| | | | | | | | | | | | | | This cl merges two classes used to hold build variables context into one. Those classes are (previously top-level) jcgd.build.lib.rules.cpp.Variables, and its inner class View. Both represent a collection of build variables and imo it makes sense to merge them to make the code simpler. Also, I cleaned up the build variables api to use primitive strings or instances of VariableValueBuilders, and I've hidden subclasses of VariableValues. Last but not least, I refactored the code to use immutable collections exclusively. That revealed that 'module_files' variable is sometimes registered twice. I want to clean this eventually ([]). -- MOS_MIGRATED_REVID=139329823
* Implement basic objc executable linking in the CROSSTOOL.Gravatar Cal Peyser2016-11-16
| | | | | | | | | | | | | | The following link features are *not* implemented yet: 1) Objc++ linking semantics 2) Dead stripping 3) --should_prioritize_static_libs 4) DSYM generation 5) Coverage support 6) Swift interop 7) Linkmap -- MOS_MIGRATED_REVID=139232434
* Introduce explicit iterate_over field for flag_group in CrosstoolGravatar Marcel Hlopko2016-11-08
| | | | | | | | | | | | Now flag_group can be marked with iterate_over field, that denotes for which sequence variable the flag_group will be expanded repeatedly. This cl does that in backwards compatible way as before, the iteration happened implicitly when the used variable was found to be sequence at runtime. Because of that it adds some extra code that will be removed once all the crosstools are migrated to the explicit iteration. -- MOS_MIGRATED_REVID=138501033
* experimental_objc_library always creates a module map, to be consistent with ↵Gravatar Cal Peyser2016-09-30
| | | | | | | objc_library. -- MOS_MIGRATED_REVID=134773363
* 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 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
* Implement the fully link action in the OSX crosstool.Gravatar Cal Peyser2016-08-18
-- MOS_MIGRATED_REVID=130547971