View Issue Details

IDProjectCategoryView StatusLast Update
0000735Ecere SDKide:buildsystempublic2013-08-07 03:33
Reporterjerome Assigned Toredj  
PriorityimmediateSeverityblockReproducibilityhave not tried
Status closedResolutionfixed 
Product Version0.44 Ryoan-ji 
Target Version0.44.08Fixed in Version0.44.08 
Summary0000735: Libraries order and platform specific libraries
DescriptionWhen 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)
TagsNo tags attached.

Relationships

related to 0000557 closedredj ide: makefile generation: Additional libraries in config: order in makefile doesn't match order in ListBox 

Activities

jerome

2012-04-04 20:00

administrator   ~0000574

Last edited: 2012-04-04 20:01

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.

redj

2012-04-05 14:42

administrator   ~0000582

Last edited: 2012-04-06 05:37

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)

jerome

2012-06-01 14:47

administrator   ~0000603

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.

jerome

2013-04-24 02:44

administrator   ~0000690

This was fixed along with related issue 0000557

Issue History

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