You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Filip Maj (JIRA)" <ji...@apache.org> on 2013/07/02 19:15:27 UTC

[jira] [Commented] (CB-3967) Add compiler-flags attribute to source-file tag

    [ https://issues.apache.org/jira/browse/CB-3967?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13697995#comment-13697995 ] 

Filip Maj commented on CB-3967:
-------------------------------

[~shazron] are there any iOS plugins out in the wild that need particular flags? I'm basically looking for test cases.

Also: as an XCode noob, if I am playing around with source files in xcode, where abouts do I set compiler flags on a per-file basis? My flow here is:

 - Create a new cordova-ios app
 - Add a random plugin to it
 - Check the whole app into source control
 - Fire up xcode
 - Set the appropriate compiler flags on one of the source files
 - Save the project, quit xcode
 - Diff in source control to see how the pbxproj file changes

Once I understand how that works I can add the functionality to node-xcode.
                
> Add compiler-flags attribute to source-file tag
> -----------------------------------------------
>
>                 Key: CB-3967
>                 URL: https://issues.apache.org/jira/browse/CB-3967
>             Project: Apache Cordova
>          Issue Type: New Feature
>          Components: Plugman
>            Reporter: Shazron Abdullah
>            Assignee: Filip Maj
>             Fix For: 3.0.0
>
>
> Proposed for 3.0.0.
> ML thread: http://markmail.org/thread/3n5cogkp6yrx4ina
> *Summary:*
> Add a *compiler-flags* attribute (hyphenated instead of camel-cased to conform to the spec style) to the *<source-file>* tag.
> *Scenarios:*
> - Adding third-party code (with lots of files) that are not ARC enabled, and including them in an ARC project (3.0.0 will be ARC), you need to add the *"-fno-objc-arc"* compiler flag to each non-ARC file
> - Adding third-party code (with lots of files) that are ARC enabled, and including them in an non-ARC project (2.9.0 and below are non-ARC), you need to add the *"-fobjc-arc"* compiler flag to each ARC file
> Plugins can be upgraded using the *__has_feature(objc_arc)* if they are small, but this is problematic if you had to include the source files for the Facebook SDK, for example (lots of files, maintenance nightmare if you were to modify them). Pre-compiled binaries are unaffected.
> Example usage:
> {code}
> <source-file src="FooBar.m" compiler-flags="-fno-objc-arc" />
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira