GN: mac_framework_bundle missing Headers folder |
||||
Issue descriptionThe GN template "mac_framework_bundle" emits a .framework that is missing the Headers directory. This makes it less than ideal for development. The structure of the generated .framework should mirror that on iOS. In fact, It seems to me the same .framework could work for both iOS and macOS, just built with different architectures. For more see https://bugs.chromium.org/p/webrtc/issues/detail?id=6703
,
Nov 14 2016
There shouldn't be. This is a Mac bug/feature request, not iOS. Per kthelgason, the ask in this bug is for the mac_framework_bundle toolchain to output a usable .framework that XCode can directly consume without any further work. Current output is not usable because it does not contain include headers.
,
Nov 16 2016
[mac triage]
,
Nov 16 2016
This is probably the support for public_headers that is not implemented for mac_framework_bundle. The iOS version could probably be used as a base. Removing OS=iOS as iOS is not affected :-)
,
Nov 16 2016
Please note that https://bugs.chromium.org/p/webrtc/issues/detail?id=6703 has been closed as a duplicate of https://bugs.chromium.org/p/webrtc/issues/detail?id=6706. Also, there are a few other pieces missing from the Mac framework besides Headers directory. I have tried to manually cobble together the necessary parts and can get my application to link but it fails at runtime. Hopefully a properly constructed framework using the proper tools can overcome this issue.
,
Nov 16 2016
We originally shared ios_framework_bundle and mac_framework_bundle with a shared template, but we split them because there was divergence around fat builds and iOS-specific linking. I'd prefer to not re-merge them.
I don't think it's strictly necessary to add additional support to mac_framework_bundle for this. Can't you accomplish this with just a bundle_data step going into "{{bundle_root_dir}}/Headers/{{source_file_part}}" ?
,
Nov 21 2016
@rsesek I am not sure if the problem can be fixed by copying the header files. Right now I am experiencing signing issues (don't know where these come from) and an error which says "dyld: Library not loaded". Please see also this bug report starting at comment #22 for more details: https://bugs.chromium.org/p/webrtc/issues/detail?id=6434#c22
,
Nov 21 2016
Thanks @polarapp for responding. I think the issue you're looking for is https://bugs.chromium.org/p/webrtc/issues/detail?id=6703#c9 or https://bugs.chromium.org/p/webrtc/issues/detail?id=6706#c7. @rsesek you responded with https://bugs.chromium.org/p/webrtc/issues/detail?id=6706#c9 but I have not been able to figure out what you mean there.
,
Nov 22 2016
thanks for the clarification rsesek@. It may not be strictly necessary, but is there a good reason not to? Can't the relevant parts of the ios template just be copied over? I can submit a CL if you're okay with this.
,
Nov 22 2016
No, I do not want to add more to the base template unless it's actually necessary. Can you copy the headers using just a bundle_data rule?
,
Nov 22 2016
Sure, that should work also. I will close this issue as wontfix then. |
||||
►
Sign in to add a comment |
||||
Comment 1 by pkl@chromium.org
, Nov 14 2016