View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000735 | Ecere SDK | ide:buildsystem | public | 2012-04-04 19:52 | 2013-08-07 03:33 |
Reporter | jerome | Assigned To | redj | ||
Priority | immediate | Severity | block | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Product Version | 0.44 Ryoan-ji | ||||
Target Version | 0.44.08 | Fixed in Version | 0.44.08 | ||
Summary | 0000735: Libraries order and platform specific libraries | ||||
Description | When specifying libraries in both common and in a platform, the libraries order showing up in the EditBox does not match the actual order they get linked in in the Makefile. Right now, libraries defined in 'common' will be linked in FIRST (Although they will appear at the end of the EditBox) and then the platform libraries will be linked in at the end (Although they show up first in the EditBox) Because the libraries order is (stupidly) important for the linker, when one library depends on symbols in another, this is a major problem. "If any library A depends on symbols defined in library B, then library A should appear first in the list supplied to the linker" (http://stackoverflow.com/questions/45135/linker-order-gcc) At the very least we need to fix the edit box to show the libraries in the order they get linked in. We could also try to think of a way to allow a user to add platform-specific libraries which go 'before' the common libraries. (e.g. reordering the libraries in the 'final' platform editbox could do something special, another LIBS+= section that goes before adding the common libraries) | ||||
Tags | No tags attached. | ||||
|
Although they probably go together in one line in the Makefile, the config specific libraries should be verified that they are linked in in the same order as advertised. |
|
the order displayed in the project settings dialog is not correct the way that information is stored in the project file seems buggy (i.e.: the common libraries seem to be repeated along with config-specific libraries) |
|
There are 4 spots where a list of libraries can be set: - Project - Config (Common platform) - Platform (Common config) - Config X Platform it shall be known henceforth that Config replaces (must repeat to keep) the list of libraries specified in project... As well, Config X Platform replaces the list of libraries specified in Platform (Common config). All other lists shall merge. ------------------------------------------------------------------ This had to be decided this way in order to get the how Project Settings dialog presents and modifies the configurations, to match with how the Build system implements it. It also provides a way to override in platform the common platform order. Its drawback is it sometimes require a lot of repeating. |
|
This was fixed along with related issue 0000557 |
Date Modified | Username | Field | Change |
---|---|---|---|
2012-04-04 19:52 | jerome | New Issue | |
2012-04-04 19:52 | jerome | Status | new => assigned |
2012-04-04 19:52 | jerome | Assigned To | => redj |
2012-04-04 19:52 | jerome | Relationship added | related to 0000557 |
2012-04-04 20:00 | jerome | Note Added: 0000574 | |
2012-04-04 20:01 | jerome | Note Edited: 0000574 | |
2012-04-05 14:42 | redj | Note Added: 0000582 | |
2012-04-05 15:01 | redj | Note Edited: 0000582 | |
2012-04-06 05:37 | jerome | Note Edited: 0000582 | |
2012-06-01 14:47 | jerome | Note Added: 0000603 | |
2013-04-24 02:44 | jerome | Status | assigned => resolved |
2013-04-24 02:44 | jerome | Fixed in Version | => 0.44.01 |
2013-04-24 02:44 | jerome | Resolution | open => fixed |
2013-04-24 02:44 | jerome | Note Added: 0000690 | |
2013-05-22 20:35 | jerome | Status | resolved => closed |
2013-08-07 03:33 | jerome | Fixed in Version | 0.44.01 => 0.44.08 |
2013-08-07 03:33 | jerome | Target Version | 0.44.10 64 => 0.44.08 |