March 15, 2013 Re: gdc phobos and druntime automatic import | ||||
---|---|---|---|---|
| ||||
Posted in reply to Iain Buclaw | 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 |
March 15, 2013 Re: gdc phobos and druntime automatic import | ||||
---|---|---|---|---|
| ||||
Posted in reply to Benjamin Thaut Attachments:
| On 15 March 2013 15:21, Benjamin Thaut <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**>> 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? > > 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'; |
March 15, 2013 Re: gdc phobos and druntime automatic import | ||||
---|---|---|---|---|
| ||||
Posted in reply to Iain Buclaw | 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
|
March 15, 2013 Re: gdc phobos and druntime automatic import | ||||
---|---|---|---|---|
| ||||
Posted in reply to Benjamin Thaut | 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. |
March 15, 2013 Re: gdc phobos and druntime automatic import | ||||
---|---|---|---|---|
| ||||
Posted in reply to Daniel Green | Am 15.03.2013 20:00, schrieb Daniel Green:
> 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.
>
Awesome. Thank you very much. It is really nice to hear that you are working on a 4.8.0 mingw port.
|
March 15, 2013 Re: gdc phobos and druntime automatic import | ||||
---|---|---|---|---|
| ||||
Posted in reply to Daniel Green | 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:
> > 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.
>
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.
|
Copyright © 1999-2021 by the D Language Foundation