Code::Blocks Forums
Developer forums (C::B DEVELOPMENT STRICTLY!) => Plugins development => Topic started by: Jan van den Borst on April 25, 2007, 02:13:07 pm
-
LS,
I'm having problems having an empy lib prefix in the gcc compiler (I use a arm realview compiler so I made a copy of the gcc compiler).
When I set the prefix to "aaaa" in the advanced compiler options dialog (others) I see that an entry is created in the default.conf of:
<LIBPREFIX>
<str>
<![CDATA[aaaa]]>
</str>
</LIBPREFIX>
If I modify it to
<LIBPREFIX>
<str>
<![CDATA[]]>
</str>
</LIBPREFIX>
codeblocks seems to remove the entry after a restart and use the default lib prefix "lib".
How can I have an empty libprefix?
Jan
-
What happens if set a space as prefix? Does it detect that too and removes it?
-
No a space is added to the lib name so "lib.ext" --> " lib.ext"
-
I see that when I enter a space as libprefix the libprefix key in the default.conf file is preserved and not deleted after a restart:
<LIBPREFIX>
<str>
<![CDATA[ ]]>
</str>
</LIBPREFIX>
-
HI all,
I tracked down the problem to sc/sdk/compiler.cpp line 408
In my opinion this line:
cfg->Write(tmp + _T("/switches/libPrefix"), m_Switches.libPrefix, true);
should be changed into
cfg->Write(tmp + _T("/switches/libPrefix"), m_Switches.libPrefix, false);
Jan
-
I tracked down the problem to sc/sdk/compiler.cpp line 408
Yes, the problem is not that I don't know where it skips saving empty values :), but rather how to handle this situation.
The problem here is that an empty lib prefix means "use default lib prefix for platform". So it's not a matter of saving it as empty or not but how to correctly distinguish between the "use default" value and a string set as empty on purpose.
-
Hi mandrav
When you change the code as I proposed there is no change in functional behavior of the compiler.
I think if you allow the prefix to be changed (in the advance option dialog) it must be possible to change it basically to anything including leaving it empty.
Changing an empty string back to "lib" is confusing. I think if the config file contains a field libprefix codeblocks should take this value.
Kind regards
Jan