Installation 如何使用automake安装d库的.d文件?

Installation 如何使用automake安装d库的.d文件?,installation,libraries,d,automake,Installation,Libraries,D,Automake,使用Makefile.am安装(系统范围)D库(至少在GNU系统上)的正确方法是什么 以下是我安装静态库和共享库的代码: install-data-local: install librdf_dlang.a librdf_dlang.so $(libdir) 剩下的问题是如何为开发人员安装.d文件以使用我的库 特别是,.d文件的安装目录应该是什么 在“类似linux/unix的系统”上看起来很适合。特别见: 从历史上看,严格按照标准,/usr/local用于必须存储在本地主机上

使用
Makefile.am
安装(系统范围)D库(至少在GNU系统上)的正确方法是什么

以下是我安装静态库和共享库的代码:

install-data-local:
        install librdf_dlang.a librdf_dlang.so $(libdir)
剩下的问题是如何为开发人员安装
.d
文件以使用我的库

特别是,
.d
文件的安装目录应该是什么

在“类似linux/unix的系统”上看起来很适合。特别见:

从历史上看,严格按照标准,/usr/local用于必须存储在本地主机上的数据(与/usr相反,后者可以跨网络装载)。大多数情况下,/usr/local用于安装不属于标准操作系统发行版的软件/数据(在这种情况下,/usr将只包含属于标准操作系统发行版的软件/数据)。FHS标准有可能在未来进行修改,以反映这一事实上的惯例


我不知道Windows。

如果您正在系统范围内安装D库和源代码(我猜是接口文件),那么最常见的位置是
/usr/include/
/usr/local/include/
,只要它不与存储头文件的现有C/C++项目冲突。一些D程序员更喜欢
/usr/include/D/
/usr/local/include/D/

例如,我使用
/usr/di
(D imports)实现此目的,我的库项目的所有接口文件都在那里。我将解释为什么我不喜欢在那里有单独的项目目录

无论选择哪个目录,都需要更新编译器搜索路径

以下是我的dmd.conf的一部分:

[Environment64]
DFLAGS=-I/usr/include/dmd/phobos -I/usr/include/dmd/druntime/import -I/usr/di -L-L/usr/lib64 -L--export-dynamic -fPIC
,并且ldc2.conf看起来像:

    // default switches appended after all explicit command-line switches
    post-switches = [
        "-I/usr/include/d/ldc",
        "-I/usr/include/d",
        "-I/usr/di",
        "-L-L/usr/lib64",
    ];

如果您希望每个项目都有一个单独的目录,那么最终每个项目都会有
-I
。-我真的不喜欢这种方法。但是,它在开发人员中非常流行,因此如何组织D导入文件实际上取决于您。我知道开发人员非常不喜欢使用Java方法处理
domain.product.packages
,但这很好地适应了所有D接口文件的单一位置,最重要的是没有冲突,因为域/产品部分…

不是
/include
只针对C头文件吗?我查看了一些Ubuntu D包。他们使用的
include/d
@porton
/include
是for,并且与语言无关。C头文件只是一个(尽管是最常见的)示例。
    // default switches appended after all explicit command-line switches
    post-switches = [
        "-I/usr/include/d/ldc",
        "-I/usr/include/d",
        "-I/usr/di",
        "-L-L/usr/lib64",
    ];