Page MenuHomePhabricator

[LLDB] Add utility to streamline Xcode project generation.
AbandonedPublic

Authored by JDevlieghere on Jul 22 2019, 2:15 PM.

Details

Summary

This is a follow-up to D65109 which removes the Xcode project. It seems that the script to generate the Xcode project was the most controversial, so I've split it off into a separate review.

From the original patch:

I created a new script to streamline the process: it creates two build directories in the current directory. The first directory is for LLVM and Clang which uses Ninja to build. The second directory is for LLBD, which configures a standalone build using the Xcode generator.

Diff Detail

Repository
rLLDB LLDB

Event Timeline

JDevlieghere created this revision.Jul 22 2019, 2:15 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 22 2019, 2:15 PM
Herald added a subscriber: teemperor. · View Herald Transcript

Currently outstanding questions are:

@clayborg

Not sure why we need two different build directories? Can we just use the mono-repo style build and use "cmake -G Xcode"? Or is this just to appease the Apple build process?

@lanza

This could probably be just a 10 line make file that you just make -f lldb/utils/xcode.mk. Not sure if you guys are a fan of this method, but we tend to find it to be much more manageable than custom python scripts.

labath added a subscriber: labath.Jul 22 2019, 11:52 PM
labath added inline comments.
lldb/utils/xcode.py
33

You can get rid of the chdir stuff by just running cmake -S$SOURCE_DIR -B$BUILD_DIR && ninja -C $BUILD_DIR.

sgraenitz resigned from this revision.Jul 23 2019, 7:54 AM

Can we just use the mono-repo style build and use "cmake -G Xcode"?

Yes you can, but then you have all of llvm/clang/libcxx/lldb in one project. For LLDB development that's usually not necessary. (And also, for Xcode it's a bit overwhelming.)

I've included a new script to streamline the process

It's not so much of my business and we may disagree, but I am not sure it's a good idea to add an automation layer on-top of a meta-build-system. Remember build-script.

JDevlieghere abandoned this revision.Jul 30 2019, 9:43 AM

It's been a week and so far I haven't seen any complaints. Also I think the documentation Stefan added on lldb.llvm.org look good enough that we may not need a script.