Konfigurations - Include Datei für den Compiler ersetzen

Gast #6481941
Lesenswert?

Hallo

ich würde gerne eine Open Source SW einbinden.
Dazu clone ich in ein Verzeichnis über Git-Submodul die Quelltexte.

jetzt ist im Source Verzeichnis auch gleich die Konfiguration in einer 
Include Datei der SW abgelegt (ähnlich zu FreeRtosConfig.h)

wie kann ich nun erreichen, das genau diese Datei aus einem anderen 
Verzeichnis
in dem die Projekt spezifischen Einstellungen gemacht werden, vom 
Comiler benutzt wird.

die Suche nach Inkludes beginnt der Compiler ja immer in dem Verzeichnis 
wo auch der C- Quelltext liegt.

ich möchte nicht die Konfigurations - Datei im Submodul Verzeichnis 
abändern

das einzige was mir da einfällt ist von den "erwünschten" Dateien eine 
Kopie in ein anderen Verzeichnis zu erstellen und diese von dort aus zu 
übersetzen.
#6482269
Lesenswert?

Jörg W. schrieb:
> Blume schrieb:
>> die Suche nach Inkludes beginnt der Compiler ja immer in dem Verzeichnis
>> wo auch der C- Quelltext liegt.
>
> Nur bei #include "dateiname", bei #include <dateiname> dagegen nicht.

Was man natürlich nicht beeinflussen kann wenn in den geklonten Source 
Datein der Header via "" inkludiert wird.

Ich würde wohl via Buildtool (z.B. CMake) die Dateien nach dem klonen 
kopieren.
Moderator Persönliche Seite #6482278
Lesenswert?

Vincent H. schrieb:
> Ich würde wohl via Buildtool (z.B. CMake) die Dateien nach dem klonen
> kopieren.

IMHO sind lokale Kopien Mist, weil sie dazu tendieren, dass man im Falle 
des Falles die falsche Datei modifiziert. Dann lieber die "" durch <> 
ersetzen und entweder einen lokalen Branch machen, oder vielleicht auch 
gleich vorschlagen, dass das im Projekt so geändert wird mit der 
Begründung, dass es auf diese Weise einfacher ist, einen Override für 
die Konfiguration im Buildsystem vorzunehmen.
Gast #6482349
Lesenswert?

Ta

Jörg W. schrieb:
> IMHO sind lokale Kopien Mist, weil sie dazu tendieren, ...

das stimmt bestimmt aber ich will ja gerade an den zugelieferten 
Quelltexten gar nix ändern. Deshalb kämen die dann in das build 
Verzeichnis

Jörg W. schrieb:
>
> Nur bei #include "dateiname", bei #include <dateiname> dagegen nicht.

hab ich getestet, würde funktionieren. Vielen Dank

Wenn das in den orginal Quelltexten gemacht wurde, dann würden alle 
anderen Benutzer darunter leiden.

Es geht um die FatFS von

http://elm-chan.org/fsw/ff/00index_e.html

und dort um die datei ffconf.h diese wird in ff.h inkludiert aber mit "

Er selber pflegt wohl kein Repository wenn ich das richtig sehen?
#6485193
Lesenswert?

Wenn du es eh in einem git speicherst, wäre eine Möglichkeit, das über 
separate Branches zu erledigen - eine, in der der Originalcode steht und 
eine mit deinen Modifikationen. Wenn du das Original aktualisieren 
willst, checkst du das in die entsprechende Branch ein und mergst das in 
deine Entwicklungsbranch.
Die hier machen das wohl auch so: https://github.com/RIOT-OS/FatFS

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren