D.gnu - gdc phobos and druntime automatic import
- Benjamin Thaut (8/8) Mar 14 2013 I want to use a different version of druntime and phobos with GDC but I
- Iain Buclaw (8/16) Mar 15 2013 The library is installed in /usr/lib, which is part of the LIBRARY_PATH...
- Iain Buclaw (6/21) Mar 15 2013 Will also make mention that druntime is installed in /usr/lib too (
- Benjamin Thaut (9/30) Mar 15 2013 Well I don't want to overwrite the existing version of druntime and
- Iain Buclaw (11/19) Mar 15 2013 You didn't seem to read my first message. :)
- Benjamin Thaut (6/28) Mar 15 2013 I don't fully understand that statement.
- Iain Buclaw (5/44) Mar 15 2013 No, that's -I and -J
- Iain Buclaw (9/54) Mar 15 2013 Use case:
- Benjamin Thaut (6/59) Mar 15 2013 Well but I'm not talking about the linker. If I do
- Iain Buclaw (7/97) Mar 15 2013 -nostdinc should do that. Though the first error thrown would be that
- Benjamin Thaut (11/99) Mar 15 2013 Thats the problem. As soon as I specify -nostdinc a lot of other options...
- Iain Buclaw (6/147) Mar 15 2013 That shouldn't be the case if you are using a recent development version
- Benjamin Thaut (4/143) Mar 15 2013 Well mingw-gdc is quite a bit behind.
- Daniel Green (18/19) Mar 15 2013 I'm working on that.
- Benjamin Thaut (3/22) Mar 15 2013 Awesome. Thank you very much. It is really nice to hear that you are
- Johannes Pfau (5/31) Mar 15 2013 Great! Is there any change gdc changes could be upstreamed to the
I want to use a different version of druntime and phobos with GDC but I don't want to overwrite the default ones. Instead I want to specifiy a different include directory during compile time. I first thought that -nostdinc is the option I want, but -nostdinc seems to do something different. How does GDC know where to import druntime and phobos from, and how do I overwrite it? Kind Regards Benjamin Thaut
Mar 14 2013
On 14 March 2013 19:05, Benjamin Thaut <code benjamin-thaut.de> wrote:I want to use a different version of druntime and phobos with GDC but I don't want to overwrite the default ones. Instead I want to specifiy a different include directory during compile time. I first thought that -nostdinc is the option I want, but -nostdinc seems to do something different. How does GDC know where to import druntime and phobos from, and how do I overwrite it? Kind Regards Benjamin ThautThe 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';
Mar 15 2013
On 15 March 2013 10:03, Iain Buclaw <ibuclaw ubuntu.com> wrote:On 14 March 2013 19:05, Benjamin Thaut <code benjamin-thaut.de> wrote:Will also make mention that druntime is installed in /usr/lib too ( -lgdruntime ) -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';I want to use a different version of druntime and phobos with GDC but I don't want to overwrite the default ones. Instead I want to specifiy a different include directory during compile time. I first thought that -nostdinc is the option I want, but -nostdinc seems to do something different. How does GDC know where to import druntime and phobos from, and how do I overwrite it? Kind Regards Benjamin ThautThe 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.
Mar 15 2013
Am 15.03.2013 11:05, schrieb Iain Buclaw:On 15 March 2013 10:03, Iain Buclaw <ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com>> wrote: On 14 March 2013 19:05, Benjamin Thaut <code benjamin-thaut.de <mailto:code benjamin-thaut.de>> wrote: I want to use a different version of druntime and phobos with GDC but I don't want to overwrite the default ones. Instead I want to specifiy a different include directory during compile time. I first thought that -nostdinc is the option I want, but -nostdinc seems to do something different. How does GDC know where to import druntime and phobos from, and how do I overwrite it? Kind Regards Benjamin Thaut 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. Will also make mention that druntime is installed in /usr/lib too ( -lgdruntime ) -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';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
Mar 15 2013
On 15 March 2013 12:01, Benjamin Thaut <code 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 ThautYou didn't seem to read my first message. :) On 15 March 2013 10:03, Iain Buclaw <ibuclaw ubuntu.com <mailto:ibuclaw 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';
Mar 15 2013
Am 15.03.2013 13:26, schrieb Iain Buclaw:On 15 March 2013 12:01, Benjamin Thaut <code benjamin-thaut.de <mailto:code 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 ubuntu.com <mailto:ibuclaw ubuntu.com> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw 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) ? Kind Regards Benjamin Thaut
Mar 15 2013
On 15 March 2013 13:05, Benjamin Thaut <code benjamin-thaut.de> wrote:Am 15.03.2013 13:26, schrieb Iain Buclaw:No, that's -I and -J -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';On 15 March 2013 12:01, Benjamin Thaut <code benjamin-thaut.de <mailto:code 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 ubuntu.com <mailto:ibuclaw ubuntu.com> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw 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) ?
Mar 15 2013
On 15 March 2013 13:18, Iain Buclaw <ibuclaw ubuntu.com> wrote:On 15 March 2013 13:05, Benjamin Thaut <code benjamin-thaut.de> wrote: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';Am 15.03.2013 13:26, schrieb Iain Buclaw:No, that's -I and -JOn 15 March 2013 12:01, Benjamin Thaut <code benjamin-thaut.de <mailto:code 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 ubuntu.com <mailto:ibuclaw ubuntu.com> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw 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) ?
Mar 15 2013
Am 15.03.2013 14:20, schrieb Iain Buclaw:On 15 March 2013 13:18, Iain Buclaw <ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com>> wrote: On 15 March 2013 13:05, Benjamin Thaut <code benjamin-thaut.de <mailto:code benjamin-thaut.de>> wrote: Am 15.03.2013 13:26, schrieb Iain Buclaw: On 15 March 2013 12:01, Benjamin Thaut <code benjamin-thaut.de <mailto:code benjamin-thaut.de> <mailto:code benjamin-thaut.de <mailto:code 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 ubuntu.com <mailto:ibuclaw ubuntu.com> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com>> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw 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
Mar 15 2013
On 15 March 2013 14:06, Benjamin Thaut <code benjamin-thaut.de> wrote:Am 15.03.2013 14:20, schrieb Iain Buclaw:-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';On 15 March 2013 13:18, Iain Buclaw <ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com>> wrote: On 15 March 2013 13:05, Benjamin Thaut <code benjamin-thaut.de <mailto:code benjamin-thaut.de**>> wrote: Am 15.03.2013 13:26, schrieb Iain Buclaw: On 15 March 2013 12:01, Benjamin Thaut <code benjamin-thaut.de <mailto:code benjamin-thaut.de**> <mailto:code benjamin-thaut.de <mailto:code 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 ubuntu.com <mailto:ibuclaw ubuntu.com> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com>> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw 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
Mar 15 2013
Am 15.03.2013 15:29, schrieb Iain Buclaw:On 15 March 2013 14:06, Benjamin Thaut <code benjamin-thaut.de <mailto:code benjamin-thaut.de>> wrote: Am 15.03.2013 14:20, schrieb Iain Buclaw: On 15 March 2013 13:18, Iain Buclaw <ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com>>> wrote: On 15 March 2013 13:05, Benjamin Thaut <code benjamin-thaut.de <mailto:code benjamin-thaut.de> <mailto:code benjamin-thaut.de <mailto:code benjamin-thaut.de>__>> wrote: Am 15.03.2013 13:26, schrieb Iain Buclaw: On 15 March 2013 12:01, Benjamin Thaut <code benjamin-thaut.de <mailto:code benjamin-thaut.de> <mailto:code benjamin-thaut.de <mailto:code benjamin-thaut.de>__> <mailto:code benjamin-thaut.de <mailto:code benjamin-thaut.de> <mailto:code benjamin-thaut.de <mailto:code 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 ubuntu.com <mailto:ibuclaw ubuntu.com> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com>> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com>>> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com>> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw 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? Kind Regards Benjamin Thaut -- Kind Regards Benjamin Thaut
Mar 15 2013
On 15 March 2013 15:21, Benjamin Thaut <code benjamin-thaut.de> wrote:Am 15.03.2013 15:29, schrieb Iain Buclaw: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';On 15 March 2013 14:06, Benjamin Thaut <code benjamin-thaut.de <mailto:code benjamin-thaut.de**>> wrote: Am 15.03.2013 14:20, schrieb Iain Buclaw: On 15 March 2013 13:18, Iain Buclaw <ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com>>> wrote: On 15 March 2013 13:05, Benjamin Thaut <code benjamin-thaut.de <mailto:code benjamin-thaut.de**> <mailto:code benjamin-thaut.de <mailto:code benjamin-thaut.de**>__>> wrote: Am 15.03.2013 13:26, schrieb Iain Buclaw: On 15 March 2013 12:01, Benjamin Thaut <code benjamin-thaut.de <mailto:code benjamin-thaut.de**> <mailto:code benjamin-thaut.de <mailto:code benjamin-thaut.de**>__> <mailto:code benjamin-thaut.de <mailto:code benjamin-thaut.de**> <mailto:code benjamin-thaut.de <mailto:code 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 ubuntu.com <mailto:ibuclaw ubuntu.com> <mailto:ibuclaw ubuntu.com <mailto: ibuclaw ubuntu.com>> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com>>> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com>> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw 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?
Mar 15 2013
Am 15.03.2013 17:06, schrieb Iain Buclaw:On 15 March 2013 15:21, Benjamin Thaut <code benjamin-thaut.de <mailto:code benjamin-thaut.de>> wrote: Am 15.03.2013 15:29, schrieb Iain Buclaw: On 15 March 2013 14:06, Benjamin Thaut <code benjamin-thaut.de <mailto:code benjamin-thaut.de> <mailto:code benjamin-thaut.de <mailto:code benjamin-thaut.de>__>> wrote: Am 15.03.2013 14:20, schrieb Iain Buclaw: On 15 March 2013 13:18, Iain Buclaw <ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com>> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com>>>> wrote: On 15 March 2013 13:05, Benjamin Thaut <code benjamin-thaut.de <mailto:code benjamin-thaut.de> <mailto:code benjamin-thaut.de <mailto:code benjamin-thaut.de>__> <mailto:code benjamin-thaut.de <mailto:code benjamin-thaut.de> <mailto:code benjamin-thaut.de <mailto:code benjamin-thaut.de>__>__>> wrote: Am 15.03.2013 13:26, schrieb Iain Buclaw: On 15 March 2013 12:01, Benjamin Thaut <code benjamin-thaut.de <mailto:code benjamin-thaut.de> <mailto:code benjamin-thaut.de <mailto:code benjamin-thaut.de>__> <mailto:code benjamin-thaut.de <mailto:code benjamin-thaut.de> <mailto:code benjamin-thaut.de <mailto:code benjamin-thaut.de>__>__> <mailto:code benjamin-thaut.de <mailto:code benjamin-thaut.de> <mailto:code benjamin-thaut.de <mailto:code benjamin-thaut.de>__> <mailto:code benjamin-thaut.de <mailto:code benjamin-thaut.de> <mailto:code benjamin-thaut.de <mailto:code 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 ubuntu.com <mailto:ibuclaw ubuntu.com> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com>> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com>>> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com>> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com>>>> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com>> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com>>> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com>> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw ubuntu.com> <mailto:ibuclaw ubuntu.com <mailto:ibuclaw 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';Well mingw-gdc is quite a bit behind. Kind Regards Benjamin Thaut
Mar 15 2013
On 3/15/2013 11:42 AM, Benjamin Thaut wrote:Well mingw-gdc is quite a bit behind.I'm working on that. C:\MinGW\msys\1.0>/crossdev/gdc/stage/bin/gdc -v Using built-in specs. COLLECT_GCC=/crossdev/gdc/stage/bin/gdc COLLECT_LTO_WRAPPER=c:/crossdev/gdc/stage/bin/../libexec/gcc/i686-pc-mingw32/4.8.0/lto-wrapper.exe Target: i686-pc-mingw32 Configured with: ../configure --prefix=/crossdev/gdc/stage --with-gmp=/crossdev/gdc/deps/gmp --with-mpfr=/crossdev/gdc/deps/mpfr --with-mpc=/crossdev/gdc/deps/mpc --with-cloog=/crossdev/gdc/deps/cloog/ --with-isl=/crossdev/gdc/deps/isl --disable-bootstrap --enable-languages=c,c++,d,lto Thread model: win32 gcc version 4.8.0 20130303 (experimental) (GCC) But in the meantime just modify the code directly. You can find it in d-lang.cc look for VersionCondition::addPredefinedGlobalIdent ("GNU"); and add one for Windows.
Mar 15 2013
Am 15.03.2013 20:00, schrieb Daniel Green:On 3/15/2013 11:42 AM, Benjamin Thaut wrote:Awesome. Thank you very much. It is really nice to hear that you are working on a 4.8.0 mingw port.Well mingw-gdc is quite a bit behind.I'm working on that. C:\MinGW\msys\1.0>/crossdev/gdc/stage/bin/gdc -v Using built-in specs. COLLECT_GCC=/crossdev/gdc/stage/bin/gdc COLLECT_LTO_WRAPPER=c:/crossdev/gdc/stage/bin/../libexec/gcc/i686-pc-mingw32/4.8.0/lto-wrapper.exe Target: i686-pc-mingw32 Configured with: ../configure --prefix=/crossdev/gdc/stage --with-gmp=/crossdev/gdc/deps/gmp --with-mpfr=/crossdev/gdc/deps/mpfr --with-mpc=/crossdev/gdc/deps/mpc --with-cloog=/crossdev/gdc/deps/cloog/ --with-isl=/crossdev/gdc/deps/isl --disable-bootstrap --enable-languages=c,c++,d,lto Thread model: win32 gcc version 4.8.0 20130303 (experimental) (GCC) But in the meantime just modify the code directly. You can find it in d-lang.cc look for VersionCondition::addPredefinedGlobalIdent ("GNU"); and add one for Windows.
Mar 15 2013
Am Fri, 15 Mar 2013 14:00:23 -0500 schrieb Daniel Green <venix1 gmail.com>:On 3/15/2013 11:42 AM, Benjamin Thaut wrote:Great! Is there any change gdc changes could be upstreamed to the official gdc repo when this is finished? Then I could also backport those changes to the gdc-4.7 branch.Well mingw-gdc is quite a bit behind.I'm working on that. C:\MinGW\msys\1.0>/crossdev/gdc/stage/bin/gdc -v Using built-in specs. COLLECT_GCC=/crossdev/gdc/stage/bin/gdc COLLECT_LTO_WRAPPER=c:/crossdev/gdc/stage/bin/../libexec/gcc/i686-pc-mingw32/4.8.0/lto-wrapper.exe Target: i686-pc-mingw32 Configured with: ../configure --prefix=/crossdev/gdc/stage --with-gmp=/crossdev/gdc/deps/gmp --with-mpfr=/crossdev/gdc/deps/mpfr --with-mpc=/crossdev/gdc/deps/mpc --with-cloog=/crossdev/gdc/deps/cloog/ --with-isl=/crossdev/gdc/deps/isl --disable-bootstrap --enable-languages=c,c++,d,lto Thread model: win32 gcc version 4.8.0 20130303 (experimental) (GCC) But in the meantime just modify the code directly. You can find it in d-lang.cc look for VersionCondition::addPredefinedGlobalIdent ("GNU"); and add one for Windows.
Mar 15 2013