Thread overview | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
October 16, 2012 Re: make install; where do .di files go? | ||||
---|---|---|---|---|
| ||||
On 16 October 2012 14:41, Manu <turkeyman@gmail.com> wrote: > I'm trying to make an installer. > Easy for C, headers go in /usr/[local/]include. > Where do D's imports go? I can't find a place that DMD and GDC agree on... > surely there should be one standard location so packages can write > installers? /usr/[local/]include/d is the standard path. Each compiler tends to have it's own subfolder here anyway... Hmm... for GDC you can set $DPATH environment variable and it will adhere to it (add directories to list of include paths). -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0'; |
October 16, 2012 Re: make install; where do .di files go? | ||||
---|---|---|---|---|
| ||||
Attachments:
| so are subfolders in include/d normal? it should I just install my package in include/d directly?
On 16 October 2012 17:01, Iain Buclaw <ibuclaw@ubuntu.com> wrote:
> On 16 October 2012 14:41, Manu <turkeyman@gmail.com> wrote:
> > I'm trying to make an installer.
> > Easy for C, headers go in /usr/[local/]include.
> > Where do D's imports go? I can't find a place that DMD and GDC agree
> on...
> > surely there should be one standard location so packages can write installers?
>
> /usr/[local/]include/d is the standard path. Each compiler tends to have it's own subfolder here anyway...
>
> Hmm... for GDC you can set $DPATH environment variable and it will adhere to it (add directories to list of include paths).
>
>
> --
> Iain Buclaw
>
> *(p < e ? p++ : p) = (c & 0x0f) + '0';
>
|
October 16, 2012 Re: make install; where do .di files go? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Iain Buclaw | On 2012-10-16 16:01, Iain Buclaw wrote: > /usr/[local/]include/d is the standard path. Each compiler tends to > have it's own subfolder here anyway... DMD doesn't look anywhere outside of its folder by default. -- /Jacob Carlborg |
October 16, 2012 Re: make install; where do .di files go? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jacob Carlborg Attachments:
| On 16 October 2012 18:09, Jacob Carlborg <doob@me.com> wrote:
> On 2012-10-16 16:01, Iain Buclaw wrote:
>
> /usr/[local/]include/d is the standard path. Each compiler tends to
>> have it's own subfolder here anyway...
>>
>
> DMD doesn't look anywhere outside of its folder by default.
Well, that's obviously crap. What is the approach most people take when
they want to install their library?
I'll just do what's considered standard...
Can DMD just be fixed to include [local/]/include/d in it's default search paths? I presume GDC and LDC already look there?
|
October 16, 2012 Re: make install; where do .di files go? | ||||
---|---|---|---|---|
| ||||
Al 16/10/12 17:17, En/na Manu ha escrit: > On 16 October 2012 18:09, Jacob Carlborg <doob@me.com <mailto:doob@me.com>> wrote: > > On 2012-10-16 16:01, Iain Buclaw wrote: > > /usr/[local/]include/d is the standard path. Each compiler tends to > have it's own subfolder here anyway... > > > DMD doesn't look anywhere outside of its folder by default. > > > Well, that's obviously crap. What is the approach most people take when they want to install their library? I'll just do what's considered standard... Linux dmd deb/rpm packages installs "/etc/dmd.conf" file which contains the modules/interfaces paths. The easiest way to add another path for your library in Linux is to create a "pkg-config" file. There are some D libraries deb packages containing a "pkg-config" file (.pc) on the apt repository https://code.google.com/p/d-apt/ > > Can DMD just be fixed to include [local/]/include/d in it's default search paths? I presume GDC and LDC already look there? Linux dmd will not include /usr/include/d path by default to avoid conflicts with ldc1 (tango) "object.di" incompatibility, and I recommend you to not use this path for that reason. -- Jordi Sayol |
October 16, 2012 Re: make install; where do .di files go? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Manu | On Tuesday, 16 October 2012 at 15:17:20 UTC, Manu wrote:
> Can DMD just be fixed to include [local/]/include/d in it's default search
> paths? I presume GDC and LDC already look there?
Just add -L-L/usr/local/include to your dmd.conf. LDC also doesn't look there by default, and I see little reason to change this.
David
|
October 16, 2012 Re: make install; where do .di files go? | ||||
---|---|---|---|---|
| ||||
Posted in reply to David Nadlinger | On Tuesday, 16 October 2012 at 16:08:35 UTC, David Nadlinger wrote:
> Just add -L-L/usr/local/include to your dmd.conf. LDC also doesn't look there by default, and I see little reason to change this.
Just to clarify: For LDC, -L-L$PREFIX/include/d _is_ included in the default configuration file, but the compiler doesn't automatically add the path internally.
The reason for this is simple: In some situations, you do _not_ want your compiler to go looking in some hard-coded directory, so we would have to add an extra switch to disable that behavior. And with two versions of D being around, and $PREFIX often being what a D1/Tango installation defaults to as well, those situations aren't as uncommon as one might think at first.
David
|
October 16, 2012 Re: make install; where do .di files go? | ||||
---|---|---|---|---|
| ||||
Posted in reply to David Nadlinger Attachments:
| On 16 October 2012 19:20, David Nadlinger <see@klickverbot.at> wrote:
> On Tuesday, 16 October 2012 at 16:08:35 UTC, David Nadlinger wrote:
>
>> Just add -L-L/usr/local/include to your dmd.conf. LDC also doesn't look there by default, and I see little reason to change this.
>>
>
> Just to clarify: For LDC, -L-L$PREFIX/include/d _is_ included in the default configuration file, but the compiler doesn't automatically add the path internally.
>
> The reason for this is simple: In some situations, you do _not_ want your compiler to go looking in some hard-coded directory, so we would have to add an extra switch to disable that behavior. And with two versions of D being around, and $PREFIX often being what a D1/Tango installation defaults to as well, those situations aren't as uncommon as one might think at first.
Okay, I don't feel like my question is any clearer...
Why wouldn't you want a standard shared include path?
/usr/include works great for C, I don't see why there wouldn't be something
like that for D for compiler-agnostic 3rd party libs.
But my question is, where do I install includes? I'm not really a linux user, I just want someone to tell me where to put it :) .. and if there isn't a direct answer, then perhaps that's a problem that needs to be addressed?
|
October 16, 2012 Re: make install; where do .di files go? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Manu | On 2012-10-16 17:17, Manu wrote: > Well, that's obviously crap. What is the approach most people take when > they want to install their library? > I'll just do what's considered standard... I mostly only build from source using git submodules. I have one or two libraries placed in the DMD directory. > Can DMD just be fixed to include [local/]/include/d in it's default > search paths? I presume GDC and LDC already look there? Preferably I would like a package manager to handle this. -- /Jacob Carlborg |
October 16, 2012 Re: make install; where do .di files go? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jacob Carlborg Attachments:
| On 16 October 2012 19:59, Jacob Carlborg <doob@me.com> wrote: > On 2012-10-16 17:17, Manu wrote: > > Well, that's obviously crap. What is the approach most people take when >> they want to install their library? >> I'll just do what's considered standard... >> > > I mostly only build from source using git submodules. I have one or two libraries placed in the DMD directory. Okay, well I'll stick with that for now I guess. Can DMD just be fixed to include [local/]/include/d in it's default >> search paths? I presume GDC and LDC already look there? >> > > Preferably I would like a package manager to handle this. Well, a solution I can use now would be nice. Nominating a directory at least until such an established package manager emerges might be a convenient intermediary. |
Copyright © 1999-2021 by the D Language Foundation