[fpc-devel] The (near) future of strings

Florian Klämpfl florian at freepascal.org
Mon Mar 7 20:00:02 CET 2016


Am 07.03.2016 um 19:16 schrieb Michael Van Canneyt:
> 
> 
> On Mon, 7 Mar 2016, Marco van de Voort wrote:
> 
>> In our previous episode, Michael Van Canneyt said:
>>>>
>>>> However in Michael's scheme with Sysutils using Ansi and System.Sysutils
>>>> using unicodestring this will fail.
>>>
>>> Why would this fail ? All we need to do is introduce -NS ?
>>
>> If you have a mix of generations (as is currently possible with Delphi), how
>> do you avoid linking in two different sysutils?
>>
>>> And obviously the 2 RTLs cannot be mixed.
>>
>> Correct. And if they only differ in name, dotted or not, and you can
>> set namespaces to override the dots, how do you keep them apart?
> 
> We probably agree that trying to mix both approaches (dotted, non-dotted) is a recipe for disaster.
> 
> So, different directories, and different compiler configs must be used, obviously.
> 
> I never had the intention of having all this in 1 directory.
> 
> i.e. we distribute
> 
> /usr/local/lib/fpc/4.0.0/x86_64-linux/XYZ
> 
> /usr/local/lib/fpc/4.0.0/x86_64-linux/dotted/XYZ
> 
> But only one is referenced in fpc.cfg :
> 
> #IFDEF NAMESPACED
> /usr/local/lib/fpc/4.0.0/x86_64-linux/dotted/XYZ
> #ELSE
> /usr/local/lib/fpc/4.0.0/x86_64-linux/XYZ
> #ENDIF
> 
> where the -NS switch defines NAMESPACED

I hope somebody implements this in fpmake :) My "subarch" directory approach needed by several
targets is already on hold for years as I do not owe to touch fpmake regarding this.

I also do not see any use in split directories for dotted and non-dotted: people messing with the
default namespaces can also mess with -Fu. And messing with two variables (default namespaces and
-Fu) is normally even worse than having only one variable.



More information about the fpc-devel mailing list