aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java
Commit message (Collapse)AuthorAge
* Use correct platform for Swift stdlib actions.Gravatar Dmitry Shevchenko2016-08-30
| | | | | -- MOS_MIGRATED_REVID=131625616
* Adds a flag to generate LLVM coverage symbols.Gravatar Erik Abair2016-08-23
| | | | | | | | | This change adds a new --experimental_use_llvm_covmap flag which may be used in conjunction with the --collect_code_coverage flag to generate LLVM style coverage symbols instead of gcov. -- MOS_MIGRATED_REVID=131065609
* Implement the fully link action in the OSX crosstool.Gravatar Cal Peyser2016-08-18
| | | | | -- MOS_MIGRATED_REVID=130547971
* Add copts and objccopts to experimental_objc_library.Gravatar Cal Peyser2016-08-16
| | | | | -- MOS_MIGRATED_REVID=130114142
* Implement objc archiving in the crosstool. This involves a few steps:Gravatar Cal Peyser2016-08-12
| | | | | | | | | | | 1) In ExperimentalObjcLibrary, if static linking is required, signal CcLibraryHelper to create a static link action and pass in the necessary variables/link action input. 2) Add a new link type (Link.LinkTargetType.OBJC_STATIC_LIBRARY). This involves changes to Link and LinkCommandLine. 3) For this new link type, implement static linking the OSX CROSSTOOL. Also add tools in the crosstool package that point at libtool, which performs the archiving. -- MOS_MIGRATED_REVID=130022410
* Experimental java annotation support with unpredictable action ↵Gravatar Rumou Duan2016-07-28
| | | | | | | | | inputs/outputs in j2objc_library behind flag --experimental_j2objc_annotation_processing Also added flag --experimental_zip_tree_artifact to switch on and off the zipping implementation of tree artifact generation. -- MOS_MIGRATED_REVID=128586669
* Pass the coverage environment into tests using a nested set collected from ↵Gravatar Lukacs Berki2016-07-27
| | | | | | | the transitive closure instead of having a global environment in the configuration. -- MOS_MIGRATED_REVID=128559756
* When building ObjectiveC++, pass the flag -std=gnu++11.Gravatar Googler2016-07-07
| | | | | | | | | | | | | | This is a rollback of a rollback, with the change that gnu++11 is used instead of c++11. A [] with this change was run, and the resulting handful of compile errors were addressed. Modified: blaze objc target handling, osx CROSSTOOL and mock osx CROSSTOOL. RELNOTES: When building ObjectiveC++, pass the flag -std=gnu++11. -- MOS_MIGRATED_REVID=126700947
* Refactor how coverage support files get to test actions.Gravatar Lukacs Berki2016-06-29
| | | | | | | | | Previously we used labels in each configuration fragment that then got added to every test action. Instead, we now have a filegroup under //tools/test for coverage files that truly need to be on the inputs of every test action and collect language-specific support files in InstrumentedFilesProvider. This makes configuration creation simpler and makes it possible to turn --crosstool_top into something else other than a filegroup (previously, it was that filegroup that got added to every test action) -- MOS_MIGRATED_REVID=126170241
* Filter out non-headers from module maps generated by objc_ rules.Gravatar Dmitry Shevchenko2016-06-29
| | | | | -- MOS_MIGRATED_REVID=126104957
* Dedupe input artifacts when adding them to a filelist to be passed to ↵Gravatar Chris Parsons2016-06-22
| | | | | | | apple's clang -- MOS_MIGRATED_REVID=125520039
* Make module maps generation conditional for native Swift rules.Gravatar Dmitry Shevchenko2016-06-22
| | | | | | | | | | | | * This fixes a crash when a target has both a bridging header and a * module map RELNOTES: Native Swift rules no longer pull in module maps unconditionally. Use --experimental_objc_enable_module_maps for that. -- MOS_MIGRATED_REVID=125491042
* Remove --objc_generate_debug_symbols flagGravatar Dmitry Shevchenko2016-06-21
| | | | | -- MOS_MIGRATED_REVID=125354844
* Wrap inputs to ObjcLink (via clang) invocations in an objlist, and pass the ↵Gravatar Chris Parsons2016-06-20
| | | | | | | | | | | args as a -filelist arg. This prevents certain many-arg actions from making clang unhappy. Also ensures that no -force_load artifacts are present in the filelist. Clang seems to not dedupe artifacts present in both a filelist and -force_load, causing duplicate symbol errors. -- MOS_MIGRATED_REVID=125170226
* Rollback of commit 021dc4e1d25827f0e68a9b6a09ff5f79aa18f8a4.Gravatar Googler2016-06-17
| | | | | | | | | | | | | | | *** Reason for rollback *** Breaks some builds, e.g. googlemac/iPhone/Applecrisp/Shared/DocosLib:DocosLib *** Original change description *** When building ObjectiveC++, pass the flag -std=c++11 in addition to -stdlib=libc++. RELNOTES: When building ObjectiveC++, pass the flag -std=c++11 in addition to -stdlib=libc++. -- MOS_MIGRATED_REVID=125095396
* Remove one instance of -F interspersing with framework linking.Gravatar Chris Parsons2016-06-17
| | | | | | | Previously we were interspersing these doubly, resulting in constructs like "-F -F -F FrameworkPath" -- MOS_MIGRATED_REVID=125071017
* 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
* When building ObjectiveC++, pass the flag -std=c++11 in addition to ↵Gravatar Googler2016-06-15
| | | | | | | | | -stdlib=libc++. RELNOTES: When building ObjectiveC++, pass the flag -std=c++11 in addition to -stdlib=libc++. -- MOS_MIGRATED_REVID=124867581
* Rollback of commit bbab724f9c3600952a65a90febf50e1118568a96.Gravatar Peter Schmitt2016-06-14
| | | | | | | | | | | | | | *** Reason for rollback *** Breaks linking for all objc targets. *** Original change description *** Wrap inputs to ObjcLink (via clang) invocations in an objlist, and pass the args as a -filelist arg. This prevents certain many-arg actions from making clang unhappy. -- MOS_MIGRATED_REVID=124781451
* Always register module map actions.Gravatar Dmitry Shevchenko2016-06-09
| | | | | | | | | | | | | * Makes it so module map generation action will be registered for all targets that should provide module maps. This allows other rules to depend directly on modulemap artifacts without turning on --experimental_objc_enable_module_maps for all builds. * Disabled module maps for apple_binary because of a bug. * objc_proto_library targets will register module map generation even with experimental union flag so that its modules can be imported by the dependent targets (even though the compilation is happening much later in the linking target). RELNOTES: -- MOS_MIGRATED_REVID=124386048
* 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
* Wrap inputs to ObjcLink (via clang) invocations in an objlist, and pass the ↵Gravatar Chris Parsons2016-06-09
| | | | | | | | | args as a -filelist arg. This prevents certain many-arg actions from making clang unhappy. -- MOS_MIGRATED_REVID=124367172
* Separates the proto compilation action from the other linking sources, to ↵Gravatar Sergio Campama2016-06-06
| | | | | | | isolate them from the linking target's defines and copts flags. Refactors CompilationAttributes into its own class with the Builder pattern. -- MOS_MIGRATED_REVID=124137672
* 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
* Adds "jre_deps" attribute to j2objc_library and the "--explicit_jre_deps" flagGravatar Googler2016-05-30
| | | | | | | | | which requires users to specify their JRE dependencies. RELNOTES: Adds "jre_deps" attribute to j2objc_library. -- MOS_MIGRATED_REVID=123414037
* Support for gathering all the protos seen in the transitive closure of ↵Gravatar Sergio Campama2016-05-25
| | | | | | | dependencies through the ObjcProtoAspect, compiling and linking the generated protos at the final linking target. This is only enabled for objc_proto_libraries using the portable_proto_filters attribute, and guarded with the "--experimental_auto_top_level_union_objc_protos" flag. This prevents duplicate symbol errors as the generated sources are only linked once. -- MOS_MIGRATED_REVID=123144532
* libtool wrapper script to isolate the unfortunate hacks we must make to get ↵Gravatar Chris Parsons2016-05-24
| | | | | | | around apple's buggy libtool tool -- MOS_MIGRATED_REVID=123024674
* Frameworks are propagated through host apps to search paths in tests, but ↵Gravatar Cal Peyser2016-05-24
| | | | | | | are not actually linked into test bundles. -- MOS_MIGRATED_REVID=123021058
* Allow use of Exceptions to exit early out of configured-target creation, ↵Gravatar Chris Parsons2016-05-24
| | | | | | | | | | instead of passing and checking null in all helpers. Demonstrates this pattern usage in a few select rules (e.g. AndroidBinary) where this was particularly egregious. There are many places which can benefit from this pattern -- this change doesn't try to fix them all at once. -- MOS_MIGRATED_REVID=123012378
* Add framework support to ExperimentalObjcLibrary.Gravatar Cal Peyser2016-05-23
| | | | | -- MOS_MIGRATED_REVID=122988772
* Allow imports of dylib frameworks.Gravatar Peter Schmitt2016-05-19
| | | | | | | RELNOTES: objc_framework now supports dynamic frameworks. -- MOS_MIGRATED_REVID=122728042
* Reconcile cc and objc default compiler flags in the crosstool.Gravatar Cal Peyser2016-05-11
| | | | | -- MOS_MIGRATED_REVID=122035585
* Support alwayslink cc_library dependencies in objc binaries.Gravatar Googler2016-05-09
| | | | | | | RELNOTES: Support alwayslink cc_library dependencies in objc binaries. -- MOS_MIGRATED_REVID=121717739
* apple_binary builds without implicit requirement of cc-relevant flags.Gravatar Chris Parsons2016-05-06
| | | | | | | | | Notable changes: - Obtain J2Objc providers from deps attribute of the current rule, even if "deps" is not Mode.TARGET. It is up to the rule implementation to correctly obtain and propagate these providers. - "srcs" on apple_binary no longer has a split transition. These are files, not labels. -- MOS_MIGRATED_REVID=121625691
* Adds a new flag for generation of dSYMs for all apple rules.Gravatar Dmitry Shevchenko2016-05-03
| | | | | | | | * This flag forces -g and enables dSYM bundle actions. * All instances of breakpad generation are now gated by the old --objc_generate_debug_symbols option. -- MOS_MIGRATED_REVID=121304681
* Adds an "otherFlags" field to ObjcCommon.Gravatar Googler2016-04-28
| | | | | | | | | Adds -fno-strict-overflow for compiling all J2ObjC generated sources. RELNOTES: Fixes integer overflow in J2ObjC sources to be Java-compatible. -- MOS_MIGRATED_REVID=120929114
* Introduce apple_binary, which links together one or more c-family libraries ↵Gravatar Chris Parsons2016-04-27
| | | | | | | and produces a potentially multi-architecture binary, controlled by the --ios_multi_cpus flag -- MOS_MIGRATED_REVID=120874805
* Turn on -g by default for dbg builds.Gravatar Dmitry Shevchenko2016-04-27
| | | | | | | | | | * Adds a flag to Objective-C copts set. * Adds a method to get Swift compilation flags, these are slightly different from ObjC clang. RELNOTES:Generate debug symbols (-g) is enabled for all dbg builds of objc_ rules. -- MOS_MIGRATED_REVID=120845678
* Refactor CompilationSupport.registerFullyLinkedAction to be the ↵Gravatar Chris Parsons2016-04-26
| | | | | | | | | | responsibility of the caller to invoke, instead of creating the fully linked artifact by default It makes more sense for the caller rule to opt-in to creating its own implicit output. This also makes it easier for classes to use CompilationSupport without generating this artifact. -- MOS_MIGRATED_REVID=120764517
* Split ActionMetadata into ActionAnalysisMetadata and ActionExecutionMetadata.Gravatar Rumou Duan2016-04-26
| | | | | | | Except in action execution logic (ActionExecutionFunction, SkyframeActionExecutor, etc.), switch Action interface references to either ActionAnalysisMetadata if possible or ActionExecutionMetadata. -- MOS_MIGRATED_REVID=120723431
* Refactor CompilationSupport and IntermediateArtifacts to optionally take a ↵Gravatar Chris Parsons2016-04-20
| | | | | | | BuildConfiguration that is not the current rule context's configuration. -- MOS_MIGRATED_REVID=120271518
* Review a number of action subclasses and update them according to the spec.Gravatar Ulf Adams2016-04-19
| | | | | | | | | | Second pass. Consists of adding @Immutable annotations, adding final modifiers, and changing the types of fields to immutable types. -- MOS_MIGRATED_REVID=120216592
* Do not collide intermediate and final output dsym artifacts.Gravatar Peter Schmitt2016-04-14
| | | | | -- MOS_MIGRATED_REVID=119848254
* *_test rules now return an .xctest.dSYM bundle.Gravatar Googler2016-04-01
| | | | | -- MOS_MIGRATED_REVID=118786316
* Allow .o files as sources for objc builds.Gravatar Cal Peyser2016-04-01
| | | | | -- MOS_MIGRATED_REVID=118727286
* Add support for objc_generate_linkmap argument that controls whether a link ↵Gravatar Dave MacLachlan2016-03-31
| | | | | | | | | map is generated. R_FUTURE=cparsons -- MOS_MIGRATED_REVID=118631953
* Set -fmodules-cache-path to be rooted in the genfiles directory whenever ↵Gravatar Chris Parsons2016-03-31
| | | | | | | | | modules are enabled. Also warn when -fmodules-cache-path is explicitly set by the user (either in configuration or rule attributes) -- MOS_MIGRATED_REVID=118590843
* Rollback of commit d6dcde6bbf074b42f89b0feb6980e124c076863a.Gravatar Klaus Aehlig2016-03-30
| | | | | | | | | | | | | | | *** Reason for rollback *** Broke bazel http://ci.bazel.io/job/Bazel/417/JAVA_VERSION=1.8,PLATFORM_NAME=linux-x86_64/console by using a Guava 20 feature, while Gauva 20 is not yet released. *** Original change description *** Set -fmodules-cache-path to be rooted in the genfiles directory whenever modules are enabled. Also warn when -fmodules-cache-path is explicitly set by the user (either in configuration or rule attributes) -- MOS_MIGRATED_REVID=118555994
* Fix strip for ios_framework_binary by passing -x to strip.Gravatar Googler2016-03-30
| | | | | -- MOS_MIGRATED_REVID=118523482
* Set -fmodules-cache-path to be rooted in the genfiles directory whenever ↵Gravatar Chris Parsons2016-03-30
| | | | | | | | | modules are enabled. Also warn when -fmodules-cache-path is explicitly set by the user (either in configuration or rule attributes) -- MOS_MIGRATED_REVID=118478856