GNU Build System - $includedir für C++ Header?!

Enumerator

Mitglied Kamel
Moin!

Bisher habe ich mich nicht darum gekümmert, wohin meine Header-Dateien von automake und Konsorten gepackt werden.
Doch jetzt fällt mir auf, dass es irgendwie nicht möglich ist, C++ Header automatisch richtig einzuordnen - oder liege ich da falsch?

Wenn ich mit
Code:
~/test$ ./configure --prefix=/usr
~/test$ make check && sudo make install
loslege, wandern zwar alle C-Header hübsch nach /usr/include, das gleiche gilt allerdings auch für C++.
Auf meinem Debian z.B. wäre dafür allerdings /usr/include/c++/4.3.2, respektive /usr/include/c++/4.3 angedacht..
Offensichtlich spielt die Dateiendung dabei keine rolle, egal ob mit .h, .hpp oder ohne - alles scheint gleich behandelt zu werden.

Mir ist klar das ich mit
Code:
~/test$ ./configure --prefix=/usr --includedir=/usr/include/c++/4.3
das Verhalten umgehen kann, nur würde ich eine portable Lösung per Makefile.am oder configure.ac vorziehen...
Kann da wer helfen?


Gruß
Enum
 
Zuletzt bearbeitet:
Hi.
Wenn ich mit
Code:
~/test$ ./configure --prefix=/usr
~/test$ make check && sudo make install
loslege, wandern zwar alle C-Header hübsch nach /usr/include, das gleiche gilt allerdings auch für C++.
Auf meinem Debian z.B. wäre dafür allerdings /usr/include/c++/4.3.2, respektive /usr/include/c++/4.3 angedacht..
Das ist ein Irrtum. In dieses Verzeichnis gehören ausschließlich Headerdateien der libstdc++ Bibliothek vom GCC.

Deine eigenen Headerdateien sollten in /usr/local/include installiert werden. (unterhalb von /usr/ werden die von der Paketverwaltung installierten Dateien deponiert).

Headerdateien anderer C++ Bibliotheken werden auch nur ganz normal in /usr/include (bzw. /usr/local/include) optional mit einem Unterverzeichnis installiert. Z.B. Qt Headerdateien sind in /usr/include/qt3, gtkmm Headerdateien in /usr/include/gtkmm usw.

Gruß
 
Zurück