configure: Replace --enable-minimial-flags with standard --disable-debug
This commit is contained in:
		
							parent
							
								
									b10f94d5f6
								
							
						
					
					
						commit
						c5aa91a836
					
				
					 3 changed files with 198 additions and 9 deletions
				
			
		
							
								
								
									
										14
									
								
								configure.ac
									
										
									
									
									
								
							
							
						
						
									
										14
									
								
								configure.ac
									
										
									
									
									
								
							|  | @ -13,6 +13,9 @@ AC_CONFIG_MACRO_DIR([m4]) | |||
| AM_INIT_AUTOMAKE([1.11 dist-bzip2 subdir-objects no-define foreign]) | ||||
| AM_SILENT_RULES([yes]) | ||||
| 
 | ||||
| AX_IS_RELEASE([minor-version]) | ||||
| AX_CHECK_ENABLE_DEBUG([yes]) | ||||
| 
 | ||||
| AC_USE_SYSTEM_EXTENSIONS | ||||
| AM_MAINTAINER_MODE([enable]) | ||||
| AC_PROG_CC | ||||
|  | @ -152,10 +155,6 @@ AC_ARG_ENABLE(isocodes, | |||
| 	[AS_HELP_STRING([--disable-isocodes],[disable iso-codes with spell-check])], | ||||
|         isocodes=$enableval, isocodes=yes) | ||||
| 
 | ||||
| AC_ARG_ENABLE(minimal-flags, | ||||
| 	[AS_HELP_STRING([--enable-minimal-flags],[only add those CFLAGS that are really needed or not intrusive (default: no)])], | ||||
|         minimalflags=$enableval, minimalflags=no) | ||||
| 
 | ||||
| AC_ARG_ENABLE(static-analysis, | ||||
| 	[AS_HELP_STRING([--enable-static-analysis],[if using clang run static analysis during build (default: no)])], | ||||
|         analyze=$enableval, analyze=no) | ||||
|  | @ -611,11 +610,6 @@ dnl ********************************************************************* | |||
| dnl ** CFLAGS *********************************************************** | ||||
| dnl ********************************************************************* | ||||
| 
 | ||||
| dnl these flags might be unwanted | ||||
| if test x$minimalflags != xyes; then | ||||
| 	CC_CHECK_FLAGS_APPEND([CFLAGS], [CFLAGS], [-g]) | ||||
| fi | ||||
| 
 | ||||
| CC_CHECK_FLAGS_APPEND([CFLAGS], [CFLAGS], [ \ | ||||
| 	-pipe \ | ||||
| 	-funsigned-char \ | ||||
|  | @ -765,6 +759,8 @@ echo Do At ................. : $doat | |||
| echo FiSHLiM ............... : $fishlim | ||||
| echo SysInfo ............... : $sysinfo | ||||
| echo | ||||
| echo Debug mode ............ : $enable_debug | ||||
| echo | ||||
| echo The binary will be installed in $prefix/bin | ||||
| echo | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										124
									
								
								m4/ax_check_enable_debug.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										124
									
								
								m4/ax_check_enable_debug.m4
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,124 @@ | |||
| # =========================================================================== | ||||
| #   http://www.gnu.org/software/autoconf-archive/ax_check_enable_debug.html | ||||
| # =========================================================================== | ||||
| # | ||||
| # SYNOPSIS | ||||
| # | ||||
| #   AX_CHECK_ENABLE_DEBUG([enable by default=yes/info/profile/no], [ENABLE DEBUG VARIABLES ...], [DISABLE DEBUG VARIABLES NDEBUG ...], [IS-RELEASE]) | ||||
| # | ||||
| # DESCRIPTION | ||||
| # | ||||
| #   Check for the presence of an --enable-debug option to configure, with | ||||
| #   the specified default value used when the option is not present.  Return | ||||
| #   the value in the variable $ax_enable_debug. | ||||
| # | ||||
| #   Specifying 'yes' adds '-g -O0' to the compilation flags for all | ||||
| #   languages. Specifying 'info' adds '-g' to the compilation flags. | ||||
| #   Specifying 'profile' adds '-g -pg' to the compilation flags and '-pg' to | ||||
| #   the linking flags. Otherwise, nothing is added. | ||||
| # | ||||
| #   Define the variables listed in the second argument if debug is enabled, | ||||
| #   defaulting to no variables.  Defines the variables listed in the third | ||||
| #   argument if debug is disabled, defaulting to NDEBUG.  All lists of | ||||
| #   variables should be space-separated. | ||||
| # | ||||
| #   If debug is not enabled, ensure AC_PROG_* will not add debugging flags. | ||||
| #   Should be invoked prior to any AC_PROG_* compiler checks. | ||||
| # | ||||
| #   IS-RELEASE can be used to change the default to 'no' when making a | ||||
| #   release.  Set IS-RELEASE to 'yes' or 'no' as appropriate. By default, it | ||||
| #   uses the value of $ax_is_release, so if you are using the AX_IS_RELEASE | ||||
| #   macro, there is no need to pass this parameter. | ||||
| # | ||||
| #     AX_IS_RELEASE([git-directory]) | ||||
| #     AX_CHECK_ENABLE_DEBUG() | ||||
| # | ||||
| # LICENSE | ||||
| # | ||||
| #   Copyright (c) 2011 Rhys Ulerich <rhys.ulerich@gmail.com> | ||||
| #   Copyright (c) 2014, 2015 Philip Withnall <philip@tecnocode.co.uk> | ||||
| # | ||||
| #   Copying and distribution of this file, with or without modification, are | ||||
| #   permitted in any medium without royalty provided the copyright notice | ||||
| #   and this notice are preserved. | ||||
| 
 | ||||
| #serial 5 | ||||
| 
 | ||||
| AC_DEFUN([AX_CHECK_ENABLE_DEBUG],[ | ||||
|     AC_BEFORE([$0],[AC_PROG_CC])dnl | ||||
|     AC_BEFORE([$0],[AC_PROG_CXX])dnl | ||||
|     AC_BEFORE([$0],[AC_PROG_F77])dnl | ||||
|     AC_BEFORE([$0],[AC_PROG_FC])dnl | ||||
| 
 | ||||
|     AC_MSG_CHECKING(whether to enable debugging) | ||||
| 
 | ||||
|     ax_enable_debug_default=m4_tolower(m4_normalize(ifelse([$1],,[no],[$1]))) | ||||
|     ax_enable_debug_is_release=m4_tolower(m4_normalize(ifelse([$4],, | ||||
|                                                               [$ax_is_release], | ||||
|                                                               [$4]))) | ||||
| 
 | ||||
|     # If this is a release, override the default. | ||||
|     AS_IF([test "$ax_enable_debug_is_release" = "yes"], | ||||
|       [ax_enable_debug_default="no"]) | ||||
| 
 | ||||
|     m4_define(ax_enable_debug_vars,[m4_normalize(ifelse([$2],,,[$2]))]) | ||||
|     m4_define(ax_disable_debug_vars,[m4_normalize(ifelse([$3],,[NDEBUG],[$3]))]) | ||||
| 
 | ||||
|     AC_ARG_ENABLE(debug, | ||||
| 	[AS_HELP_STRING([--enable-debug=]@<:@yes/info/profile/no@:>@,[compile with debugging])], | ||||
| 	[],enable_debug=$ax_enable_debug_default) | ||||
| 
 | ||||
|     # empty mean debug yes | ||||
|     AS_IF([test "x$enable_debug" = "x"], | ||||
|       [enable_debug="yes"]) | ||||
| 
 | ||||
|     # case of debug | ||||
|     AS_CASE([$enable_debug], | ||||
|       [yes],[ | ||||
| 	AC_MSG_RESULT(yes) | ||||
| 	CFLAGS="${CFLAGS} -g -O0" | ||||
| 	CXXFLAGS="${CXXFLAGS} -g -O0" | ||||
| 	FFLAGS="${FFLAGS} -g -O0" | ||||
| 	FCFLAGS="${FCFLAGS} -g -O0" | ||||
| 	OBJCFLAGS="${OBJCFLAGS} -g -O0" | ||||
|       ], | ||||
|       [info],[ | ||||
| 	AC_MSG_RESULT(info) | ||||
| 	CFLAGS="${CFLAGS} -g" | ||||
| 	CXXFLAGS="${CXXFLAGS} -g" | ||||
| 	FFLAGS="${FFLAGS} -g" | ||||
| 	FCFLAGS="${FCFLAGS} -g" | ||||
| 	OBJCFLAGS="${OBJCFLAGS} -g" | ||||
|       ], | ||||
|       [profile],[ | ||||
| 	AC_MSG_RESULT(profile) | ||||
| 	CFLAGS="${CFLAGS} -g -pg" | ||||
| 	CXXFLAGS="${CXXFLAGS} -g -pg" | ||||
| 	FFLAGS="${FFLAGS} -g -pg" | ||||
| 	FCFLAGS="${FCFLAGS} -g -pg" | ||||
| 	OBJCFLAGS="${OBJCFLAGS} -g -pg" | ||||
| 	LDFLAGS="${LDFLAGS} -pg" | ||||
|       ], | ||||
|       [ | ||||
| 	AC_MSG_RESULT(no) | ||||
| 	dnl Ensure AC_PROG_CC/CXX/F77/FC/OBJC will not enable debug flags | ||||
| 	dnl by setting any unset environment flag variables | ||||
| 	AS_IF([test "x${CFLAGS+set}" != "xset"], | ||||
| 	  [CFLAGS=""]) | ||||
| 	AS_IF([test "x${CXXFLAGS+set}" != "xset"], | ||||
| 	  [CXXFLAGS=""]) | ||||
| 	AS_IF([test "x${FFLAGS+set}" != "xset"], | ||||
| 	  [FFLAGS=""]) | ||||
| 	AS_IF([test "x${FCFLAGS+set}" != "xset"], | ||||
| 	  [FCFLAGS=""]) | ||||
| 	AS_IF([test "x${OBJCFLAGS+set}" != "xset"], | ||||
| 	  [OBJCFLAGS=""]) | ||||
|       ]) | ||||
| 
 | ||||
|     dnl Define various variables if debugging is disabled. | ||||
|     dnl assert.h is a NOP if NDEBUG is defined, so define it by default. | ||||
|     AS_IF([test "x$enable_debug" = "xyes"], | ||||
|       [m4_map_args_w(ax_enable_debug_vars, [AC_DEFINE(], [,,[Define if debugging is enabled])])], | ||||
|       [m4_map_args_w(ax_disable_debug_vars, [AC_DEFINE(], [,,[Define if debugging is disabled])])]) | ||||
|     ax_enable_debug=$enable_debug | ||||
| ]) | ||||
							
								
								
									
										69
									
								
								m4/ax_is_release.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								m4/ax_is_release.m4
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,69 @@ | |||
| # =========================================================================== | ||||
| #       http://www.gnu.org/software/autoconf-archive/ax_is_release.html | ||||
| # =========================================================================== | ||||
| # | ||||
| # SYNOPSIS | ||||
| # | ||||
| #   AX_IS_RELEASE(POLICY) | ||||
| # | ||||
| # DESCRIPTION | ||||
| # | ||||
| #   Determine whether the code is being configured as a release, or from | ||||
| #   git. Set the ax_is_release variable to 'yes' or 'no'. | ||||
| # | ||||
| #   If building a release version, it is recommended that the configure | ||||
| #   script disable compiler errors and debug features, by conditionalising | ||||
| #   them on the ax_is_release variable.  If building from git, these | ||||
| #   features should be enabled. | ||||
| # | ||||
| #   The POLICY parameter specifies how ax_is_release is determined. It can | ||||
| #   take the following values: | ||||
| # | ||||
| #    * git-directory:  ax_is_release will be 'no' if a '.git' directory exists | ||||
| #    * minor-version:  ax_is_release will be 'no' if the minor version number | ||||
| #                      in $PACKAGE_VERSION is odd; this assumes | ||||
| #                      $PACKAGE_VERSION follows the 'major.minor.micro' scheme | ||||
| #    * micro-version:  ax_is_release will be 'no' if the micro version number | ||||
| #                      in $PACKAGE_VERSION is odd; this assumes | ||||
| #                      $PACKAGE_VERSION follows the 'major.minor.micro' scheme | ||||
| #    * always:         ax_is_release will always be 'yes' | ||||
| #    * never:          ax_is_release will always be 'no' | ||||
| # | ||||
| #   Other policies may be added in future. | ||||
| # | ||||
| # LICENSE | ||||
| # | ||||
| #   Copyright (c) 2015 Philip Withnall <philip@tecnocode.co.uk> | ||||
| # | ||||
| #   Copying and distribution of this file, with or without modification, are | ||||
| #   permitted in any medium without royalty provided the copyright notice | ||||
| #   and this notice are preserved. | ||||
| 
 | ||||
| #serial 3 | ||||
| 
 | ||||
| AC_DEFUN([AX_IS_RELEASE],[ | ||||
|     AC_BEFORE([AC_INIT],[$0]) | ||||
| 
 | ||||
|     m4_case([$1], | ||||
|       [git-directory],[ | ||||
|         # $is_release = (.git directory does not exist) | ||||
|         AS_IF([test -d .git],[ax_is_release=no],[ax_is_release=yes]) | ||||
|       ], | ||||
|       [minor-version],[ | ||||
|         # $is_release = ($minor_version is even) | ||||
|         minor_version=`echo "$PACKAGE_VERSION" | sed 's/[[^.]][[^.]]*.\([[^.]][[^.]]*\).*/\1/'` | ||||
|         AS_IF([test "$(( $minor_version % 2 ))" -ne 0], | ||||
|               [ax_is_release=no],[ax_is_release=yes]) | ||||
|       ], | ||||
|       [micro-version],[ | ||||
|         # $is_release = ($micro_version is even) | ||||
|         micro_version=`echo "$PACKAGE_VERSION" | sed 's/[[^.]]*\.[[^.]]*\.\([[^.]]*\).*/\1/'` | ||||
|         AS_IF([test "$(( $micro_version % 2 ))" -ne 0], | ||||
|               [ax_is_release=no],[ax_is_release=yes]) | ||||
|       ], | ||||
|       [always],[ax_is_release=yes], | ||||
|       [never],[ax_is_release=no], | ||||
|       [ | ||||
|         AC_MSG_ERROR([Invalid policy. Valid policies: git-directory, minor-version.]) | ||||
|       ]) | ||||
| ]) | ||||
		Loading…
	
	Add table
		
		Reference in a new issue