So verwenden Sie die Autotools-nobes- und nodist-Präfixe zusammen auf include_HEADERS

8

Ich habe einige Header-Dateien in einem Unterverzeichnis, das in ein gleichnamiges Unterverzeichnis in meinem Include-Verzeichnis kopiert werden muss. Ich kann das nobase-Präfix verwenden, um dies zu ermöglichen (ich arbeite mit Heimdal-Code, fyi):

%Vor%

Aber einige dieser Header-Dateien werden während des Build-Prozesses generiert (da Heimdal erstellt werden muss, bevor diese Header-Dateien existieren), also muss ich das Nodist-Präfix verwenden, damit das dist nicht stirbt.

Ich fand einen Artikel , der sagte, ich könnte sie beide zusammen verwenden, und lieferte sogar ein ähnliches Beispiel, also tat ich es das:

%Vor%

Ich habe keine Warnungen oder Fehler bemerkt, aber diese Header-Dateien werden NICHT in mein Include-Verzeichnis kopiert. Mache ich etwas falsch oder gibt es einen Fehler in Autotools?

Interessant, wenn ich die Präfixe umkehre, erhalte ich diesen Fehler:

%Vor%

Der Grund für diesen Fehler wird hier in der Automake-Dokumentation erläutert:

  

'nobase_' sollte zuerst angegeben werden, wenn es in Verbindung mit 'dist_' oder 'nodist _'

verwendet wird

Ich habe auch nodist_include_HEADERS definiert (was funktioniert). Vielleicht verursachen die beiden Definitionen eine Art Konflikt?

Ich habe gerade versucht, die nodist_include_HEADERS zu entfernen und alle meine Header unter die Zeile nobase_nodist_include_HEADERS zu setzen, aber jetzt werden KEINE meiner Header installiert.

Automake und Systeminfo: automake (GNU automake) 1.13.4 openSUSE 13.2 (x86_64)

    
David 27.04.2016, 20:40
quelle

1 Antwort

3

Wenn die Header von einem Programm generiert wurden, sollten Sie sie mit BUILT_SOURCES markieren, damit automake nicht verwirrt wird, um sie als dist zu installieren.

Zweitens ist es für Header-Dateien, die nicht installiert werden sollen, besser, SOURCES directive zu verwenden, als HEADERS . Versuchen Sie Folgendes:

%Vor%     
fluter 09.05.2016, 08:06
quelle

Tags und Links