2010-11-28 18 views
5

Dado:Creación de depuración de construcción de fuente acumulación autotools'

  • tar.gz. fuente
  • yo sepa, configurar ¿Apoya depuración de construcción (configure --help no muestra --enable -debug)

Preguntas:

  • ¿Es seguro utilizar la compilación de depuración si los autores del paquete no la proporcionaron en primer lugar?
  • Si la respuesta a la pregunta pre.v es sí, ¿cómo puedo producir la creación de depuración? ¿Debo parchear configure.ac?

Gracias

+0

También ver https://stackoverflow.com/questions/4553735/gnu -autotools-debug-release-targets. No estoy seguro de si es un tonto. – sashoalm

Respuesta

10

Un proyecto Autotools adecuadamente elaborado compatible con los indicadores del compilador y enlazador suministrados por el usuario. Algunos autores optan por proporcionar --enable-debug para simplificar la creación de compilaciones de depuración, pero su ausencia no significa que no se puede hacer. Lo primero que recomiendo que intente es especificar indicadores de compilador y enlazador que sean adecuados para sus necesidades de depuración. Si está utilizando gcc en Linux, que podría ser

./configure CFLAGS="-ggdb3 -O0" CXXFLAGS="-ggdb3 -O0" LDFLAGS="-ggdb3" 

Se recomienda especificar las variables como parámetros para configurar, como se muestra, en lugar de como variables de entorno. Al hacerlo de esta manera, las Autotools mantendrán esta configuración cuando realice cambios que activen una reconfiguración automática.

Si eso no produce el resultado deseado, sí, puede ser necesario piratear el sistema de compilación.

+1

Observación: Incluso si especifica los parámetros como variables de entorno ('CFLAGS = -foo./Configure'), se guardarán en' config.status' y se pasarán correctamente cuando se requiera una reconfiguración automática. –

+0

@Jack Kelly, siempre pensé que el manual de autoconf decía en alguna parte que ese no era específicamente el caso. No puedo encontrarlo ahora ¿Ha sido cambiado esto? – ptomato

+0

@ptomato: Acabo de probar con un 'configure.ac' mínimo y funciona, con o sin' -C' pasado a 'configure'. –

1

alias configuredebug = 'CPPFLAGS = -DDEBUG CFLAGS = "- g -O0" CXXFLAGS = "- g -O0" ./configure'

Cuestiones relacionadas