[lldb-dev] Fixing messed-up include lines
Greg Clayton
gclayton at apple.com
Wed Jun 9 16:42:10 PDT 2010
On Jun 9, 2010, at 4:29 PM, Bobby Powers wrote:
> On Wed, Jun 9, 2010 at 1:41 PM, Jean-Daniel Dupas
> <devlists at shadowlab.org> wrote:
>>
>> Le 9 juin 2010 à 20:13, Greg Clayton a écrit :
>>
>> On Jun 9, 2010, at 9:43 AM, Jean-Daniel Dupas wrote:
>>
>>
>> Le 9 juin 2010 à 09:02, Eric Christopher a écrit :
>>
>>
>> On Jun 9, 2010, at 12:00 AM, Jason Molenda wrote:
>>
>>
>> On Jun 8, 2010, at 11:56 PM, Jean-Daniel Dupas wrote:
>>
>>
>> Le 9 juin 2010 à 08:41, Eric Christopher a écrit :
>>
>>
>> On Jun 8, 2010, at 11:40 PM, Jason Molenda wrote:
>>
>> Hi Eli,
>>
>> This patch is fine. If it breaks the Xcode build I'll fix it.
>>
>> Looks like Driver.cpp needs the include directory but that's it.
>>
>>
>> Yes, as it would be for all projects that would like to use the LLDB
>> framework. This is unfortunate as this is not the way it works with
>> frameworks on OS X :-(
>>
>> Yeah, lldb builds an LLDB.framework which probably explains the #include
>> <LLDB/...> pathnames. We'll see if it still builds with more traditional
>> pathnames Eli checked in. I'm waiting for the 42MB llvm.zip file to
>> download to my computer right now. :)
>>
>> Yeah, it doesn't :)
>>
>> Since you're looking though I'll let you worry. :)
>>
>> Just a though, but as the OS X syntax is only useful when working with the
>> framework, one way to workaround this problem may be to add a new "script
>> build step" after the "Copy Headers" step in the Xcode framework target to
>> patch the installed headers.
>>
>> A sed script like the following one should do the trick:
>>
>> sed -e 's/\(#include[ ]*\)"lldb\/\(API\/\)\{0,1\}\(.*\)"/\1 <LLDB\/\3>/1'
>> *.h
>>
>> Thanks for that Jean-Daniel, I will work this into the Xcode project for the
>> framework build.
>>
>> Thanks. Just in case, in the previous command, I meant "sed -i '' " not "sed
>> -e".
>> sed -i '' 's/\(#include[ ]*\)"lldb\/\(API\/\)\{0,1\}\(.*\)"/\1 <LLDB\/\3>/1'
>> "$(TARGET_BUILD_DIR)/$(PUBLIC_HEADERS_FOLDER_PATH)/*.h"
>> And as I'm not a sed expert, this script may possibly be improved ;-)
>> -- Jean-Daniel
>>
>
> if you add this as a step in the build process, and someone's build
> and source directories are the same, won't that make subversion want
> to commit the xCode compatible headers?
>
No, it will be acting upon the header files which have already been copied into the build folder that contains LLDB.framework (which contains a copy of the header files).
So no harm should come to the original headers.
More information about the lldb-dev
mailing list