import problems
John Colvin via D.gnu
d.gnu at puremagic.com
Wed Oct 14 16:31:51 PDT 2015
On Wednesday, 14 October 2015 at 22:08:25 UTC, Johannes Pfau
wrote:
> Am Tue, 13 Oct 2015 10:16:11 +0000
> schrieb John Colvin <john.loughran.colvin at gmail.com>:
>
>> On Tuesday, 13 October 2015 at 10:09:03 UTC, John Colvin wrote:
>> > Where does the information
>>
>> sorry, pressed enter by accident.
>>
>> What is the process by which gdc knows what the default import
>> path for object.d is?
>>
>
> It uses all standard C include paths (/usr/inlcude, ...) and
> adds /d
> at the end of the path.
>
> It might additionally add multilib path variants
> (/usr/include/d/32).
>
> (In practice it's more complicated to also support 'relocated'
> compilers. GCC remembers the full path at compilation time but
> if you move the gdc executable it will replace the paths
> prefix. I don't remember how it works exactly.)
>
>> Alternatively, what do I have to change to choose my own
>> location for gdc to install its imports to and have it
>> automatically use that as an import path? I have seen
>
> Can't you just use --prefix when configuring?
That deals with the prefix, but not the suffix.
> Ore use -I or the D_IMPORT_PATH environment variable?
I'm packaging GDC, so those aren't good solutions here.
> Anyway, the code you'll have to look at is here:
> https://github.com/D-Programming-GDC/GDC/blob/master/gcc/d/d-incpath.cc
>
> Look at add_import_paths, called from d_init in d-lang.cc
>
>
>> https://github.com/Dicebot/Arch-PKGBUILDs/blob/master/gdc/folders.diff and followed that example, but of course changing configure.ac is a pain because then you have to have exactly the right version of autoconf to update configure. Also, I couldn't find the relevant lines to change in gcc/d/Make-lang.in
>
> That code was refactored and the patch isn't valid anymore:
> https://github.com/D-Programming-GDC/GDC/commit/5ea9c2a61d548d2edb65401cbb88c88b123aef53?w=0
So the /d suffix is hard-coded in to gdc? Can I just patch it to
be whatever I want before compiling gdc or are there other places
that would also need changing?
>>
>> Currently I tried changing gdc_include_dir in the generated
>> configure, which gets everything installed in the right place,
>> but gdc doesn't import it (and doesn't show any import paths
>> in the error message)
>
> Which error message exactly? Does DMD print the import path for
> these errors?
I don't have the exact ones to hand right now, but it's the usual
complaint about not being able to find object.d. When an import
is missing, the compiler normally spits out a list of the include
paths (same as in dmd, checked also with gdc on archlinux), but
in this case it didn't print any.
More information about the D.gnu
mailing list