Der folgende Code aus meiner Datei configuration.ac funktioniert nicht (beachten Sie die verschachtelten eckigen Klammern mit [default = no] ):
%Vor%Wie kann ich diesen Klammern entkommen?
Es gefunden! Aus diesem Lernprogramm:
M4 Argumente werden mit [und] zitiert. Es gibt KEINE Möglichkeit, diesen zu entkommen, aber Sie haben mehrere Optionen, wenn Sie ['s oder]' s einfügen möchten:
- Benutze einen 'Quadrigaph'. @ & lt;: @ gibt dir [und @: & gt; @ gibt dir].
- Stimmen Sie Ihre Angebote ab. M4 dreht [[]] in []. Achten Sie darauf, dies in Argumenten für Makros zu verwenden. Manchmal müssen Sie auch ein Anführungszeichen angeben ([[[]]]).
- Ändern Sie das Zitat mit: changequote (& lt; & lt;, & gt; & gt;), um das Zitat in & lt; & lt; und & gt; & gt ;. Die Autoconf-Dokumentation (zu Recht meiner Meinung nach) warnt vor der (Über-) Nutzung, da sie zu unerwarteten Ergebnissen führen kann.
- Vermeide [und] wo immer es möglich ist. Das ist meine persönliche Entscheidung.
Mein neuer Code lautet daher:
%Vor% Brackets
sind Art von Escape-Zeichen, so wie Sie es für '\'
tun, können Sie die Klammern []
mit Klammern ausschließen, zB:
AC_ARG_ENABLE (debuggen, [--enable-debug build mit Debugging-Unterstützung [ [default = no] ] .], [DEBUG="$ enableval"], [DEBUG="nein"] )
Hinweis: [ [] default = no [] ] funktioniert möglicherweise nicht wie erwartet, da m4 den end_bracket vom Ende aus durchsuchen sollte. Es sollte so auf [ ]default=no[ ]
erweitert werden.