Pregunta

Quiero mi código para compilar con el compilador (s) de Intel o con gcc / g ++ en función de un argumento configure. es posible? ¿Qué necesito para poner en mi archivos Makefile.am configure.ac y para que esto suceda?

¿Fue útil?

Solución

Si desea utilizar un compilador gcc que no sea cuando se compila, pase 'CC = / ruta / a / compilador' como un argumento para configurar. (Es decir, ejecutar ./configure CC = / ruta. No utilice el formulario ./configure CC = / ruta.) Si desea que el compilador por defecto a ser algo distinto de gcc, se puede poner

CC=${CC-/path/to/default/compiler}

en configure.ac antes de la invocación de AC_PROG_CC.

Otros consejos

Me gustaría hacer esto:

AC_PROG_CC([icc gcc])

Esto buscará los compiladores en el orden especificado, a menos que se modifique con un argumento a ./configure

$ ./confgure CC=gcc

Por supuesto que es. Se puede configurar un compilador por defecto en configure.ac y si el usuario quiere usar otro compilador, él (o ella) puede pasar al script ./configure.

Encontrará más sobre esto aquí: Cómo usar autotools .

La parte que puede ser interesante para usted está en el medio de la página:

#if a compiler is not specified by the user use intel compilers
AC_PATH_PROG(CC_PATH, $CC, NO_PATH)
if test "$CC_PATH" = NO_PATH; then
 CC="icc"
fi

Por lo general, sólo se puede ejecutar

bash $ CC=icc ./configure

para utilizar LCC, o cualquier otro compilador como el compilador de C, siempre que el resto del proceso de configuración y construir no utiliza ningún gcc'ism.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top