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…
	
	Add table
		Add a link
		
	
		Reference in a new issue