Tengo un proyecto simple Autotools C (no C++).Dónde agregar un CFLAG, como -std = gnu99, en un proyecto de autotools
CFLAG (por inspección) parecen ser -g -O2
.
Quiero que todos los archivos make generados también tengan -std=gnu99
anexados a los CFLAG, porque utilizo for (int i = 0; i < MAX; i++)
y similares.
Obviamente, puedo hackear el archivo MAKE, pero esto se sobrescribe en ./configure
.
¿Dónde está el lugar correcto para agregar (o cambiar) los CFLAG que requiere el código (en lugar de los CFLAG que el usuario podría querer cambiar)?
(Tenga en cuenta que esto es duplicado parcial de Where to add a CFLAG, such as -std=gnu99, into an (Eclipse CDT) autotools project ya que llegaba respuestas Eclipse-específicos que yo no quería.)
@ respuesta de DevSolar no ha ayudado todavía. Un archivo configure.ac
(a continuación) genera el script configure
(también a continuación).
configure.ac:
dnl Process this file with autoconf to produce a configure script.
CFLAGS="$CFLAGS -std=gnu99"
AC_PREREQ(2.59)
AC_INIT(tuntest, 1.0)
AC_CANONICAL_SYSTEM
AM_INIT_AUTOMAKE()
AC_PROG_CC
AC_CONFIG_FILES(Makefile src/Makefile)
AC_OUTPUT
$ CFLAGS grep configurar
CFLAGS
CFLAGS
To assign environment variables (e.g., CC, CFLAGS...), specify them as
CFLAGS C compiler flags
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
CFLAGS="-g"
CFLAGS=""
CFLAGS="-g"
if test "$ac_test_CFLAGS" = set; then
CFLAGS=$ac_save_CFLAGS
CFLAGS="-g -O2"
CFLAGS="-g"
CFLAGS="-O2"
CFLAGS=
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
Quizás desee establecer 'CFLAGS' cuando configure, por ejemplo:' ./configure CFLAGS = "- g -O2 -std = gnu99" '. –
Sí, eso es lo que estoy haciendo actualmente. El CFLAG que deseo agregar '-std = gnu99' es esencial, por lo tanto, quiero que no sea algo que el usuario deba configurar. El código no se compilará sin él, por lo que siempre debe estar allí, de ahí la pregunta. – fadedbee
Entonces, ¿qué tal './configure CC =" gcc -std = gnu99 "'? –