-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Update module.modulemap for Xcode 7.3 #379
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Imports the SDK based on current architecture. Fixes incompatibility problems for Xcode 7.3. Also includes link flag for convenience.
Please test it in your environment. This works for my project which lives in a similar environment. |
Seems not to be backward compatible with Xcode 7.2.1 |
I've just missed arm64 compatibility. Works now fine with Xcode 7.2.1
I missed to add arm64, works now with Xcode 7.2.1 too. Backward compatibility should work back to Xcode 6.x |
@fuxx Nice solution! Looks like additional architectures may need to be added, though. Mac builds don't appear to work. Haven't had time to check tvOS/watchOS. |
tvOS seems to fail, too. I quickly tried adding |
@stephencelis i will try it out and i will make another commit. This was a quick shot from my results when i fixed the problem for my framework. i386 should be x86. i like the solution as it does not require to maintain multiple module maps as you could do in the cocoa pods specs. |
@fuxx Much appreciated! You solution is definitely more elegant than the multiple module map approach! Module maps in general are a brittle solution to this problem, though, so I hope CocoaPods adds support for better alternatives in the future. |
@stephencelis - When this PR get's approved and merged... what are the chances of it making it into your SQLCipher.swift repo? |
@gblotter The SQLCipher repo is unfortunately still a WIP. I'm happy to help contributors along to get it up and running (let me know if you're interested!), but won't have enough time to dedicate to release myself. |
@stephencelis fair enough. I think at the very least I'll submit a PR for a pod file... in hopes that that allows it to get traction with others using it. Thanks for the response! |
@fuxx I was able to work around the issue with a combination of your solution and multiple module maps: spec.ios.module_map = 'podstuff/ios.modulemap'
spec.osx.module_map = '…'
spec.tvos.module_map = '…' Not ideal, but the cleanest approach I've found so far. I'll merge this in soon with the additional files unless you have a better solution! |
@stephencelis unfortunately my solution will not work as standalone. As module maps do not allow branching, so i cant control the system platform. Even requiring the existence of different CPU instructions (like SSE or AES) per module wont work here, because the simulator on OS X would match that requirement for OS X too. :( i will close the pull request, sorry ;( |
Who ever is interested into possible restrictions in module maps could take a look here. Line 62. Target options are supported cpu instructions e.g. AES, SSE, SSE2, MMX etc. |
@fuxx I'll be merging in the beginning of your work soon! I've modified it so that CocoaPods should pick the right module map per platform. Please take a look at https://github.com/stephencelis/SQLite.swift/compare/cocoapods-xcode-7-3 and let me know if I'm missing anything! |
You should remove line 5 (requires keyword) from osx module map. The rest looks fine for me. |
Don't know how that slipped in! Thanks! |
Imports the SDK based on current architecture. Fixes incompatibility problems for Xcode 7.3.
Also includes link flag for convenience.