Feature #40

Base SDK 3.0 / GCC-4.2 / UB armv6/armv7

Added by Mathieu Garcia about 1 year ago. Updated about 1 year ago.

Status:Closed Start:06/23/2009
Priority:Urgent Due date:
Assigned to:Sebastien Metrot % Done:

90%

Category:Other...
Target version:Version 3.0 Estimated time:2.00 hours
Resolution:fixed

Description

Hello !

With the recent release of the iPhone 3GS along with the iPhone OS 3.0, these improvements to nuiE should be considered,
as they are required for any submission of 3.0-compatible applications:

  • Base SDK should be set to iPhone Device 3.0 (Currently 2.2)
  • Default compiler should be set to GCC-4.2 (Currently 4.0)
  • Base architecture should be set to Optimized, having armv6 and armv7 targets. (Currently Standard / armv6)
    Apple just introduced iPhone Universal Binairies for this purpose. Build for current target only shall be set only
    for the debug target.

Currently any XCode projects having mixed armv6/armv7 can't link due to the nuiE dependency. ('lipo' can't link
2 binary objects of the same architecture).

I can provide a patch accordingly.

Cheers,
Mathieu Garcia

nui3.0-gcc4.2-UB.patch - [PATCH] Base SDK 3.0 / GCC-4.2 / UB armv6/armv7 (354.2 KB) Mathieu Garcia, 06/26/2009 06:53 pm

History

Updated by Mathieu Garcia about 1 year ago

Note: Base archivecture is NOT a requirement for fully 3.0 compatible, but would be highly appreciated.

Updated by Mathieu Garcia about 1 year ago

iPhone OS Universal Binary (armv6+armv7), with otool, patched nuiE:

Fat headers
fat_magic 0xcafebabe
nfat_arch 2
architecture 0
    cputype 12
    cpusubtype 6
    capabilities 0x0
    offset 4096
    size 13650912
    align 2^12 (4096)
architecture 1
    cputype 12
    cpusubtype 9
    capabilities 0x0
    offset 13656064
    size 13642704
    align 2^12 (4096)

Updated by Sebastien Metrot about 1 year ago

  • Priority changed from High to Urgent

I think the best option would be to create two diferent targets in nuiE:
- one for 2.x phones that is not UB
- one for 3.0 UB

In the same idea I would love to see nuiE merged in the main nui.xcodeproj project file for Mac.
I don't have much time to work on that right now but you seem to understand the issues quite well so would you like to do it? ;-)

Cheers

Updated by Mathieu Garcia about 1 year ago

Hello !

Yes, the best solution would be to have 2 targets in nuiE.
I can modify my current patch and send it back to you.

The inclusion of nuiE targets in nui targets is also a great idea, however I'd prefer to begin
with the nuiE-only patch, for now.

Thank you,
Cheers !

Updated by Mathieu Garcia about 1 year ago

Hi,

I have the patch ready, tested it against various projects that required 3.0 UB nuiE dependency.
I also ensured the initial targets (2.2-ish) were still working.

Further testing might help ensuring this patch is 100% safe to apply.

Cheers !
Mathieu Garcia

Updated by Sebastien Metrot about 1 year ago

  • Status changed from New to Resolved
  • Estimated time set to 2.00
  • Resolution set to fixed

Applied! Thanks Matthieu!

Updated by Sebastien Metrot about 1 year ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF