autoconf guardar ./configurar línea de comando en config.h

autoconf guardar ./configurar línea de comando en config.h

Algunos binarios guardan la línea de comando utilizada para configurarlos dentro del binario (no recuerdo ninguno que lo haga, de lo contrario verificaría la fuente). ¿Hay alguna forma de obtener la línea de comando utilizada como macro en configure.ac?

Por ejemplo, si compilo mi código con

./configure --foo bar CXX=g++

me gustaria guardar--foo barra CXX=g++a una macro en config.h para que pueda ser generado por el binario usando una bandera

./myprogram -V
Version 1.0, compiled using: "./configure --foo bar CXX=g++"

Respuesta1

configureEs esencialmente un script de shell arrancado desde macros M4, por lo que puede usarlo $*para capturar todos los argumentos de ./configure. segúnel manual de configuración automáticadeberías hacer esto justo después AC_INIT, por ejemplo:

AC_INIT([My Program], 1.0, ...)
config_flags="$*"
AC_DEFINE_UNQUOTED([CONFIG_FLAGS],["$config_flags"],[Flags passed to configure])

Esto estará #define CONFIG_FLAGSen config.h.

información relacionada