www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - I think we need to standardize where D headers are to be installed

reply =?ISO-8859-1?Q?Alex_R=F8nne_Petersen?= <alex lycus.org> writes:
It seems it's very inconsistent where D headers are installed across 
various systems/distros. Some use $PREFIX/include/d/, some use 
$PREFIX/include/<d compiler>/, $PREFIX/include/<target triple>/d/, etc...

Can people who are familiar with how some particular system does it 
weigh in here? I think that first of all, we need to figure out how it's 
done and then figure out how we want it to be done. C has always used 
$PREFIX/include, so we need some kind of standard, too.

FWIW I think $PREFIX/include/d/ would be sane enough, where particular 
projects could install their headers to $PREFIX/include/d/<project>/.

-- 
Alex Rønne Petersen
alex lycus.org
http://lycus.org
Sep 28 2012
next sibling parent 1100110 <0b1100110 gmail.com> writes:
On Fri, 28 Sep 2012 08:02:21 -0500, Alex R=C3=B8nne Petersen <alex lycus=
.org>  =

wrote:

 It seems it's very inconsistent where D headers are installed across  =
 various systems/distros. Some use $PREFIX/include/d/, some use  =
 $PREFIX/include/<d compiler>/, $PREFIX/include/<target triple>/d/, etc=
...
 Can people who are familiar with how some particular system does it  =
 weigh in here? I think that first of all, we need to figure out how it=
's =
 done and then figure out how we want it to be done. C has always used =
=
 $PREFIX/include, so we need some kind of standard, too.

 FWIW I think $PREFIX/include/d/ would be sane enough, where particular=
=
 projects could install their headers to $PREFIX/include/d/<project>/.
I have given it quite a bit of thought regarding package management, and= = such. I think you are correct. The ideal would be a single -I/path/to/include= /d = so that any program could then import deimos.ncurses, or gtkd.widget. IMO the easiest way to standardize would be to add -I$PREFIX/include/d t= o = the standard install config file. Then we would have a sane standard that exists by default. my dmd.conf =E2=94=95[1100110]=E2=94=81>cat /etc/dmd.conf [Environment] DFLAGS=3D-I/usr/include/d -I~/Code/vibe.d/source = -I/usr/include/d/druntime/import -L-L/usr/lib -L-L/usr/lib32 = -L-L/usr/lib64 -L--no-warn-search-mismatch I don't know if it is in there by default or not, but the first -I is a = = lifesaver.
Sep 28 2012
prev sibling parent "jerro" <a a.com> writes:
On Friday, 28 September 2012 at 13:01:48 UTC, Alex Rønne 
Petersen wrote:
 It seems it's very inconsistent where D headers are installed 
 across various systems/distros. Some use $PREFIX/include/d/, 
 some use $PREFIX/include/<d compiler>/, $PREFIX/include/<target 
 triple>/d/, etc...

 Can people who are familiar with how some particular system 
 does it weigh in here? I think that first of all, we need to 
 figure out how it's done and then figure out how we want it to 
 be done. C has always used $PREFIX/include, so we need some 
 kind of standard, too.

 FWIW I think $PREFIX/include/d/ would be sane enough, where 
 particular projects could install their headers to 
 $PREFIX/include/d/<project>/.
I agree that we should standardize D headers location and that $PREFIX/include/d/ is a good option.
Sep 28 2012