commit | e673c0c84f1af1a2036b6f315f824e8808ec87b8 | [log] [tgz] |
---|---|---|
author | davg <davg@google.com> | Mon Jul 30 15:23:10 2018 -0400 |
committer | Rein Hillmann <rein@google.com> | Thu Aug 09 20:22:43 2018 -0400 |
tree | 100270f6fcdde4d80c35f91ad591090faf5619cc | |
parent | db7a1266a394d229a323836389b4b7e097cc051e [diff] |
Support multiple remappings for dSYMs When compiling Swift, we automatically enable dSYMs for an improved debugging experience. Previously for dSYMs, we had only one of the following mappings: - ./ -> workspace_root (only for non-Swift with DebugPathNormalization) - bazel_exec_root -> workspace_root (otherwise) We should instead always do the later and optionally do the former if the DebugPathNormalization is enabled. This allows Objective-C compilation to be normalized even if Swift compilation isn't. Note that for non-dSYMs, we only use one of the two path remappings as only one of them should apply (depending of what flags were used to compile the Cxx sources). It appears that trying to use both remappings may not work as lldb does not intelligently handle multiple remappings of the form: BuildRootA => SourceRoot, BuildRootB => SourceRoot inside .lldbinit's target.source-map although dSYM remappings do support them. PiperOrigin-RevId: 206626005
Open src/Tulsi.xcodeproj, and within Xcode, build the TulsiApp.
Run the TulsiApp.
Tulsi-generated Xcode projects use Bazel to build, not Xcode via xcbuild. This means that many common components of an Xcode project are handled differently than you may be used to. Notable differences:
Tulsi projects contain a few settings which control various behaviors during project generation and builds.
build
flags, customizable per compilation mode (dbg
and opt
)build
startup flags, also customizable per compilation modedbg
or opt
, no fastbuild
) used during project generation.dbg
, swap to opt
if you normally build Release builds in Xcode (i.e. profiling your app). Setting this improperly shouldn't break your project although it may potentially worsen generation and build performance.No
, swap to Yes
if your project contains Swift (even in its dependencies). Setting this improperly shouldn't break your project although it may potentially worsen generation and build performance.