
Wenn ich eine Bibliothek für eine C-inkompatible Sprache (wie D) schreiben würde, wo wäre der beste Ort, um meine „Header-Dateien“ zu installieren?
usr/include
scheint keine gute Idee zu sein, da es laut FHS für „von C-Programmen eingebundene Header-Dateien“ gedacht ist.
Antwort1
Sie definieren Ihre eigenen Konventionen, aber ich würde mich tatsächlich davon fernhalten /usr/include
.
/usr/lib/<lang>
scheint hier für interpretierte Sprachen beliebt zu sein (ich habe zumindest /usr/lib/python
und /usr/lib/perl
mit /usr/lib/ruby
Varianten für die Handhabung versionsspezifischer Dinge). Ich denke, dass es /usr/share/<lang>
vom FHS aus angemessener ist (ich habe auch /usr/share/tcl
mit einem symbolischen Link von /usr/lib/tcl
), wenn dort keine Binärdaten vorhanden sind (oder zumindest nur architekturunabhängige Binärdaten).
Immer noch im Sinne von FHS würde ich dazu neigen, /opt/<lang>/share
oder zu verwenden /opt/<lang>/lib
und gleichzeitig dem Installationsprogramm (oder der Distribution) eine einfache Möglichkeit zur Verwendung von /usr/share/<lang>
oder bereitzustellen /usr/lib/<lang>
.
Antwort2
Ich würde sagen, /usr/local/include/
für Ihre eigenen Ergänzungen.Linux-Dateisystemhierarchiestandard