gdc phobos and druntime automatic import

Iain Buclaw ibuclaw at ubuntu.com
Fri Mar 15 09:06:07 PDT 2013


On 15 March 2013 15:21, Benjamin Thaut <code at benjamin-thaut.de> wrote:

> Am 15.03.2013 15:29, schrieb Iain Buclaw:
>
>> On 15 March 2013 14:06, Benjamin Thaut <code at benjamin-thaut.de
>>
>> <mailto:code at benjamin-thaut.de**>> wrote:
>>
>>     Am 15.03.2013 14:20, schrieb Iain Buclaw:
>>
>>         On 15 March 2013 13:18, Iain Buclaw <ibuclaw at ubuntu.com
>>         <mailto:ibuclaw at ubuntu.com>
>>
>>         <mailto:ibuclaw at ubuntu.com <mailto:ibuclaw at ubuntu.com>>> wrote:
>>
>>              On 15 March 2013 13:05, Benjamin Thaut
>>         <code at benjamin-thaut.de <mailto:code at benjamin-thaut.de**>
>>              <mailto:code at benjamin-thaut.de
>>         <mailto:code at benjamin-thaut.de**>__>> wrote:
>>
>>                  Am 15.03.2013 13:26, schrieb Iain Buclaw:
>>
>>                      On 15 March 2013 12:01, Benjamin Thaut
>>                      <code at benjamin-thaut.de
>>         <mailto:code at benjamin-thaut.de**> <mailto:code at benjamin-thaut.de
>>         <mailto:code at benjamin-thaut.de**>__>
>>
>>                      <mailto:code at benjamin-thaut.de
>>         <mailto:code at benjamin-thaut.de**>
>>
>>                      <mailto:code at benjamin-thaut.de
>>         <mailto:code at benjamin-thaut.de**>__>__>> wrote:
>>
>>
>>                           Well I don't want to overwrite the existing
>>         version of
>>                      druntime and
>>                           phobos. I want to be ablte to specifiy via a
>>         compiler
>>                      option to use
>>                           a different version of them. In some projects
>>         I use the
>>                      original
>>                           druntime + phobos and in other projects I use
>>         my custom
>>                      version.
>>                           With dmd this is possible via a custom sc.ini
>>         file. So
>>                      is there a
>>                           option to just remove druntime/phobos from
>>                      LIBRARY_PATH? (and keep
>>                           everything else)
>>
>>                           Kind Regards
>>                           Benjamin Thaut
>>
>>
>>                      You didn't seem to read my first message. :)
>>
>>                      On 15 March 2013 10:03, Iain Buclaw
>>         <ibuclaw at ubuntu.com <mailto:ibuclaw at ubuntu.com>
>>                      <mailto:ibuclaw at ubuntu.com <mailto:
>> ibuclaw at ubuntu.com>>
>>                      <mailto:ibuclaw at ubuntu.com
>>         <mailto:ibuclaw at ubuntu.com> <mailto:ibuclaw at ubuntu.com
>>         <mailto:ibuclaw at ubuntu.com>>>
>>                      <mailto:ibuclaw at ubuntu.com
>>         <mailto:ibuclaw at ubuntu.com> <mailto:ibuclaw at ubuntu.com
>>         <mailto:ibuclaw at ubuntu.com>>
>>                      <mailto:ibuclaw at ubuntu.com
>>         <mailto:ibuclaw at ubuntu.com> <mailto:ibuclaw at ubuntu.com
>>         <mailto:ibuclaw at ubuntu.com>>>>**> wrote:
>>
>>                            The library is installed in /usr/lib,  which
>>         is part
>>                      of the
>>                            LIBRARY_PATH.   The static library itself is a
>>                      combination of
>>                            druntime and phobos together, not separate at
>> the
>>                      moment.  To
>>                            specify a different standard library, use
>>         -defaultlib
>>                      switch.
>>
>>
>>
>>                      --
>>                      Iain Buclaw
>>
>>                      *(p < e ? p++ : p) = (c & 0x0f) + '0';
>>
>>
>>                  I don't fully understand that statement.
>>                  So the -defaultlib switch gives the location for the
>> import
>>                  files .di/.d and not for the actual library (.a) ?
>>
>>
>>              No,  that's -I and -J
>>
>>
>>
>>         Use case:
>>
>>         gdc foo.d -defaultlib tango2
>>
>>
>>         This will invoke the driver to add -ltango2 to the linker options,
>>         instead of -lgphobos2
>>
>>         Regards
>>         --
>>         Iain Buclaw
>>
>>         *(p < e ? p++ : p) = (c & 0x0f) + '0';
>>
>>
>>     Well but I'm not talking about the linker. If I do
>>
>>     import std.stdio;
>>
>>     I want to have a error message that std.stdio does not exist.
>>
>>     Kind Regards
>>     Benjamin Thaut
>>
>>
>>
>> -nostdinc should do that.  Though the first error thrown would be that
>> object.di cannot be found, which is correct behaviour,  you need to
>> specify where the new object.di is using -I
>>
>>
>> --
>> Iain Buclaw
>>
>> *(p < e ? p++ : p) = (c & 0x0f) + '0';
>>
>
> Thats the problem. As soon as I specify -nostdinc a lot of other options
> get missing to. For example gdc no longer includes the contents of
> version(Windows) statements.
> Is it possible that the phobos-ver-syms files have something to do with
> that?
>
>
That shouldn't be the case if you are using a recent development version
(see patch-versym-os-4.8.x where there is a builtin define for Windows)

-- 
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/d.gnu/attachments/20130315/6876b619/attachment.html>


More information about the D.gnu mailing list