From a1a5145867e99a688f8754263dc4f7da6ceb21aa Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Wed, 8 Nov 2017 23:28:10 +1100 Subject: [PATCH] 4811. [bug] Revert api changes to use inline macros. Provide a alternative mechanism to turn on the use of inline macros when building BIND. [RT #46520] --- CHANGES | 5 +++++ config.h.in | 3 +++ configure | 18 ++++++++++++++++++ configure.in | 9 +++++++++ lib/isc/include/isc/buffer.h | 13 ++++++------- 5 files changed, 41 insertions(+), 7 deletions(-) diff --git a/CHANGES b/CHANGES index 8aca06cce5..b743ba6d09 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,8 @@ +4811. [bug] Revert api changes to use inline + macros. Provide a alternative mechanism to turn + on the use of inline macros when building BIND. + [RT #46520] + 4810. [test] The chain system test failed if the IPv6 interfaces were not configured. [RT #46508] diff --git a/config.h.in b/config.h.in index 078428626c..03ead78f0a 100644 --- a/config.h.in +++ b/config.h.in @@ -535,6 +535,9 @@ int sigwait(const unsigned int *set, int *sig); /* Define to the sockaddr length type used by getnameinfo(3). */ #undef IRS_GETNAMEINFO_SOCKLEN_T +/* Define if you want to use inline buffers */ +#undef ISC_BUFFER_USEINLINE + /* Define to allow building of objects for dlopen(). */ #undef ISC_DLZ_DLOPEN diff --git a/configure b/configure index 136d531ff6..0b45297233 100755 --- a/configure +++ b/configure @@ -980,6 +980,7 @@ with_gnu_ld with_sysroot enable_libtool_lock enable_libbind +enable_buffer_useinline enable_warn_shadow enable_warn_error enable_developer @@ -1686,6 +1687,9 @@ Optional Features: optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --enable-libbind deprecated + --enable-buffer-useinline + define ISC_BUFFER_USEINLINE when compiling + [[default=yes]] --enable-warn-shadow turn on -Wshadow when compiling --enable-warn-error turn on -Werror when compiling --enable-developer enable developer build settings @@ -11444,6 +11448,20 @@ It is available from http://www.isc.org as a separate download." "$LINENO" 5 ;; esac +# Check whether --enable-buffer_useinline was given. +if test "${enable_buffer_useinline+set}" = set; then : + enableval=$enable_buffer_useinline; if test yes = "${enable}" + then + +$as_echo "#define ISC_BUFFER_USEINLINE 1" >>confdefs.h + + fi +else + $as_echo "#define ISC_BUFFER_USEINLINE 1" >>confdefs.h + +fi + + # Check whether --enable-warn_shadow was given. if test "${enable_warn_shadow+set}" = set; then : enableval=$enable_warn_shadow; diff --git a/configure.in b/configure.in index 81788165b9..9354ff2f16 100644 --- a/configure.in +++ b/configure.in @@ -54,6 +54,15 @@ It is available from http://www.isc.org as a separate download.]) ;; esac +AC_ARG_ENABLE(buffer_useinline, AS_HELP_STRING([--enable-buffer-useinline], + [define ISC_BUFFER_USEINLINE when compiling [[default=yes]]]), + if test yes = "${enable}" + then + AC_DEFINE([ISC_BUFFER_USEINLINE], [1], + [Define if you want to use inline buffers]) + fi, + AC_DEFINE([ISC_BUFFER_USEINLINE], [1])) + AC_ARG_ENABLE(warn_shadow, [ --enable-warn-shadow turn on -Wshadow when compiling]) AC_ARG_ENABLE(warn_error, [ --enable-warn-error turn on -Werror when compiling]) diff --git a/lib/isc/include/isc/buffer.h b/lib/isc/include/isc/buffer.h index a02e0955fb..c9be276227 100644 --- a/lib/isc/include/isc/buffer.h +++ b/lib/isc/include/isc/buffer.h @@ -104,12 +104,11 @@ #include /*! - * To make many functions be inline macros (via \#define) define this to 1. - * To use continue to use them as functions define this to 0. - */ -#ifndef ISC_BUFFER_USEINLINE -#define ISC_BUFFER_USEINLINE 1 -#endif + * To make many functions be inline macros (via \#define) define this. + * If it is undefined, a function will be used. + */ +/* #define ISC_BUFFER_USEINLINE */ + ISC_LANG_BEGINDECLS @@ -1009,7 +1008,7 @@ ISC_LANG_ENDDECLS _cp[3] = (unsigned char)_val2; \ } while (0) -#if ISC_BUFFER_USEINLINE +#if defined(ISC_BUFFER_USEINLINE) #define isc_buffer_init ISC__BUFFER_INIT #define isc_buffer_initnull ISC__BUFFER_INITNULL #define isc_buffer_invalidate ISC__BUFFER_INVALIDATE -- GitLab