{ "id": "111760", "key": "TIMOB-13228", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [], "resolution": { "id": "2", "description": "The problem described is an issue which will never be fixed.", "name": "Won't Fix" }, "resolutiondate": "2017-07-27T21:09:40.000+0000", "created": "2013-03-27T12:52:08.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [ "build", "cb-tooling", "ios" ], "versions": [], "issuelinks": [ { "id": "27036", "type": { "id": "10001", "name": "Cloners", "inward": "is cloned into", "outward": "is cloned from" }, "outwardIssue": { "id": "64895", "key": "TIMOB-3802", "fields": { "summary": "Problem with multiple modules and OTHER_LDFLAGS", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "Medium", "id": "3" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-07-27T21:09:40.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "The following issue was reported by a customer:\r\n\r\nWhen building an app that includes multiple modules and each module has OTHER_LDFLAGS defined in their module.xcconfig file, the compiler will combine the OTHER_LDFLAGS entries into a single OTHER_LDFLAGS definition in order to work around a known issue with XCode (see TIMOB-3802). However, if any module's module.xcconfig file contains a space before the equal (=) sign on the OTHER_LDFLAGS definition, it will not be combined with the others. This causes the build to fail because only the last OTHER_LDFLAGS definition is processed by XCode. Removing any spaces before the equal (=) sign in the OTHER_LDFLAGS entry resolves the issue, but this should not be required.\r\n\r\nReproduction steps:\r\n\r\n1. Create a new Titanium application\r\n2. Add multiple modules that include OTHER_LDFLAGS definitions in their module.xcconfig file (Eg. ti.magtek, ti.urbanairship, and ti.barcode)\r\n3. Build the application\r\n4. Open the generated module.xcconfig file in the build folder of the application. The generated OTHER_LDFLAGS entry should be correct:\r\n{code}\r\n// this is a generated file - DO NOT EDIT\r\n\r\nTI_BARCODE_OTHER_LDFLAGS=$(inherited) -liconv\r\n\r\nTI_MAGTEK_OTHER_LDFLAGS=$(inherited) -framework Security\r\nTI_MAGTEK_OTHER_CFLAGS=$(inherited) -DDEBUG\r\n\r\nTI_URBANAIRSHIP_OTHER_LDFLAGS=$(inherited) -F$(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks/ -framework GraphicsServices\r\n\r\nOTHER_CFLAGS=$(inherited) $(TI_MAGTEK_OTHER_CFLAGS) \r\nOTHER_LDFLAGS=$(inherited) $(TI_BARCODE_OTHER_LDFLAGS) $(TI_MAGTEK_OTHER_LDFLAGS) $(TI_URBANAIRSHIP_OTHER_LDFLAGS) \r\n\r\n{code}\r\n5. Edit one of those module's module.xcconfig file and insert a space before the equal (=) sign of the OTHER_LDFLAGS definition\r\n6. Clean the project\r\n7. Build the application (the build may fail due to a missing framework reference -- that's not important as we are only interested in the generated module.xcconfig file)\r\n8. Open the generated module.xcconfig file in the build folder of the application. The generated OTHER_LDFLAGS entry should be incorrect:\r\n{code}\r\n// this is a generated file - DO NOT EDIT\r\n\r\nTI_BARCODE_OTHER_LDFLAGS=$(inherited) -liconv\r\n\r\nTI_MAGTEK_OTHER_LDFLAGS=$(inherited) -framework Security\r\nTI_MAGTEK_OTHER_CFLAGS=$(inherited) -DDEBUG\r\n\r\nTI_URBANAIRSHIP_OTHER_LDFLAGS=$(inherited) -F$(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks/ -framework GraphicsServices\r\n\r\nOTHER_LDFLAGS =$(inherited) $(TI_BARCODE_OTHER_LDFLAGS) \r\nOTHER_CFLAGS=$(inherited) $(TI_MAGTEK_OTHER_CFLAGS) \r\nOTHER_LDFLAGS=$(inherited) $(TI_MAGTEK_OTHER_LDFLAGS) $(TI_URBANAIRSHIP_OTHER_LDFLAGS) \r\n{code}\r\n\r\nNotice that there are two OTHER_LDFLAGS entries in the generated module.xcconfig file (lines 10 and 12). Only the last entry will be used by XCode.\r\n", "attachment": [], "flagged": false, "summary": "OTHER_LDFLAGS processing does not consider spaces", "creator": { "name": "jenglish", "key": "jenglish", "displayName": "Jeff English", "active": true, "timeZone": "America/Chicago" }, "subtasks": [], "reporter": { "name": "jenglish", "key": "jenglish", "displayName": "Jeff English", "active": true, "timeZone": "America/Chicago" }, "environment": "Titanium SDK version 2.1.3.GA\r\nXCode 4.6.1", "comment": { "comments": [ { "id": "424990", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing due to inactivity. If this issue still exists, please raise a new ticket.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-07-27T21:09:40.000+0000", "updated": "2017-07-27T21:09:40.000+0000" } ], "maxResults": 1, "total": 1, "startAt": 0 } } }