[KDE/Mac] Review Request 128272: support -iframework and -F header search path options

René J.V. Bertin rjvbertin at gmail.com
Tue Jun 21 19:22:29 UTC 2016


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/128272/
-----------------------------------------------------------

Review request for KDE Software on Mac OS X and KDevelop.


Repository: kdevelop


Description
-------

This is a draft implementation for parser support of the `-iframework dir` and `-F dir` compiler arguments. On OS X these are the framework equivalents of `-isystem` and `-I` respectively, telling the compiler and/or linker where to find framework bundles.

I started out making the new code available on OS X only but that introduces a lot of #ifdefs for probably little benefit. On the contrary, clang supports the arguments on Linux too, presumably because clang is a functional cross-compiler that can generate Darwin Mach-O object files on Linux too.

For the 1st approach I propose to parse the framework directories, adding the effective header directories of the individual frameworks as if they were added explicitly. The framework directories are also added to a new list in the result structure. I presume that this is a prerequisite for adding them to the (lib)clang arguments of the clang parser.


Diffs
-----

  projectmanagers/custommake/makefileresolver/makefileresolver.h 22f9dba 
  projectmanagers/custommake/makefileresolver/makefileresolver.cpp ab069bb 
  projectmanagers/custommake/makefileresolver/tests/test_custommake.cpp 368e83e 

Diff: https://git.reviewboard.kde.org/r/128272/diff/


Testing
-------

the unittest works as expected on OS X. It should probably test the new options on Linux too.


Thanks,

René J.V. Bertin

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-mac/attachments/20160621/1b4f05e8/attachment.html>


More information about the kde-mac mailing list