New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 665091 link

Starred by 5 users

Issue metadata

Status: WontFix
Owner:
Closed: Nov 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 3
Type: Bug



Sign in to add a comment

GN: mac_framework_bundle missing Headers folder

Project Member Reported by kthelgason@chromium.org, Nov 14 2016

Issue description

The 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
 

Comment 1 by pkl@chromium.org, Nov 14 2016

Cc: michaeldo@chromium.org
Is there anything relevant here for Chrome for iOS? I don't think so.

Comment 2 by tkchin@webrtc.org, 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.

Comment 3 by tapted@chromium.org, Nov 16 2016

Owner: rsesek@chromium.org
Status: Assigned (was: Untriaged)
[mac triage]
Labels: -OS-iOS
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 :-)
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.

Comment 6 by rsesek@chromium.org, 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}}" ?
@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
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.
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.
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?
Status: WontFix (was: Assigned)
Sure, that should work also. I will close this issue as wontfix then.

Sign in to add a comment