[CDRIVER-2800] Restructure install file layout to prepare for darwin frameworks Created: 22/Aug/18 Updated: 28/Oct/23 Resolved: 07/Sep/18 |
|
| Status: | Closed |
| Project: | C Driver |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 1.13.0 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Henrik Edin | Assignee: | Henrik Edin |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Description |
|
A Darwin framework is really a magic directory/file structure that XCode understand and can use at compile and link time with the magic –F and –framework options. mongoc.framework/mongoc (the dylib with no file ending) When compiling C/C++ XCode treats “mongoc.framework/Headers” as a special directory that is accessed under “mongoc/” (the framework name). Therefore we should change the source include paths so includes have to be included under mongoc/ or bson/. Our two main headers will be included by:
or
To not break any backwards compatibility we will also install forwarding headers at the root of the library so current user applications continue to work as they have includes in the following format:
or
These forwarding headers will just forward to the header in the directory. |
| Comments |
| Comment by Githook User [ 08/Sep/18 ] |
|
Author: {'name': 'Roberto C. Sánchez', 'email': 'roberto@connexer.com', 'username': 'rcsanchez97'}Message: |
| Comment by Githook User [ 05/Sep/18 ] |
|
Author: {'name': 'Henrik Edin', 'email': 'henrik.edin@mongodb.com', 'username': 'henrikedin'}Message: |
| Comment by Githook User [ 24/Aug/18 ] |
|
Author: {'name': 'Henrik Edin', 'email': 'henrik.edin@mongodb.com', 'username': 'henrikedin'}Message: All mongoc headers are under mongoc/ and all bson headers are under Preparation work to be able to create darwin style frameworks. |