autoconf: Allow overriding CFLAGS/CXXFLAGS from outside.
As is normal for autoconf-based projects. For example, it is a common use case to do ./configure CXXFLAGS=-O0 This did not work for nix until now, because the `CXXFLAGS=` declaration would unconditionally erase what the user had specified. The custom `OPTIMIZE` flag is removed, but the default `-O3` is retained; autoconf would default to `-g -O2` by default otherwise as documented on: https://www.gnu.org/software/autoconf/manual/autoconf-2.60/html_node/C-Compiler.html https://www.gnu.org/software/autoconf/manual/autoconf-2.60/html_node/C_002b_002b-Compiler.html
This commit is contained in:
parent
20129bd83d
commit
717e821b99
4 changed files with 8 additions and 18 deletions
7
Makefile
7
Makefile
|
@ -19,11 +19,4 @@ GLOBAL_CXXFLAGS += -g -Wall -include config.h
|
||||||
|
|
||||||
-include Makefile.config
|
-include Makefile.config
|
||||||
|
|
||||||
OPTIMIZE = 1
|
|
||||||
|
|
||||||
ifeq ($(OPTIMIZE), 1)
|
|
||||||
GLOBAL_CFLAGS += -O3
|
|
||||||
GLOBAL_CXXFLAGS += -O3
|
|
||||||
endif
|
|
||||||
|
|
||||||
include mk/lib.mk
|
include mk/lib.mk
|
||||||
|
|
|
@ -50,8 +50,10 @@ AC_DEFINE_UNQUOTED(SYSTEM, ["$system"], [platform identifier ('cpu-os')])
|
||||||
test "$localstatedir" = '${prefix}/var' && localstatedir=/nix/var
|
test "$localstatedir" = '${prefix}/var' && localstatedir=/nix/var
|
||||||
|
|
||||||
|
|
||||||
CFLAGS=
|
# Set default flags for nix (as per AC_PROG_CC/CXX docs),
|
||||||
CXXFLAGS=
|
# while still allowing the user to override them from the command line.
|
||||||
|
: ${CFLAGS="-O3"}
|
||||||
|
: ${CXXFLAGS="-O3"}
|
||||||
AC_PROG_CC
|
AC_PROG_CC
|
||||||
AC_PROG_CXX
|
AC_PROG_CXX
|
||||||
AC_PROG_CPP
|
AC_PROG_CPP
|
||||||
|
|
|
@ -4,11 +4,4 @@ GLOBAL_CXXFLAGS += -g -Wall
|
||||||
|
|
||||||
-include Makefile.config
|
-include Makefile.config
|
||||||
|
|
||||||
OPTIMIZE = 1
|
|
||||||
|
|
||||||
ifeq ($(OPTIMIZE), 1)
|
|
||||||
GLOBAL_CFLAGS += -O3
|
|
||||||
GLOBAL_CXXFLAGS += -O3
|
|
||||||
endif
|
|
||||||
|
|
||||||
include mk/lib.mk
|
include mk/lib.mk
|
||||||
|
|
|
@ -2,8 +2,10 @@ AC_INIT(nix-perl, m4_esyscmd([bash -c "echo -n $(cat ../.version)$VERSION_SUFFIX
|
||||||
AC_CONFIG_SRCDIR(MANIFEST)
|
AC_CONFIG_SRCDIR(MANIFEST)
|
||||||
AC_CONFIG_AUX_DIR(../config)
|
AC_CONFIG_AUX_DIR(../config)
|
||||||
|
|
||||||
CFLAGS=
|
# Set default flags for nix (as per AC_PROG_CC/CXX docs),
|
||||||
CXXFLAGS=
|
# while still allowing the user to override them from the command line.
|
||||||
|
: ${CFLAGS="-O3"}
|
||||||
|
: ${CXXFLAGS="-O3"}
|
||||||
AC_PROG_CC
|
AC_PROG_CC
|
||||||
AC_PROG_CXX
|
AC_PROG_CXX
|
||||||
AX_CXX_COMPILE_STDCXX_11
|
AX_CXX_COMPILE_STDCXX_11
|
||||||
|
|
Loading…
Reference in a new issue