libmicrohttpd2

HTTP server C library (MHD 2.x, alpha)
Log | Files | Refs | README | LICENSE

commit e289d5d8bee2bb62a182ef83d9b8ed76028f8e0b
parent 7f329a7ad1d011e1cd6250417c862d767106c58f
Author: Evgeny Grin (Karlson2k) <k2k@drgrin.dev>
Date:   Mon, 13 Apr 2026 14:50:53 +0200

configure: moved LTO flags handling earlier

Diffstat:
Mconfigure.ac | 94++++++++++++++++++++++++++++++++++++++++----------------------------------------
1 file changed, 47 insertions(+), 47 deletions(-)

diff --git a/configure.ac b/configure.ac @@ -289,6 +289,53 @@ AC_SYS_LARGEFILE ] ) AC_FUNC_FSEEKO + +AS_VAR_IF([enable_lto],["no"],[use_lto="no"], + [ + CFLAGS="${CFLAGS_ac} ${user_CFLAGS}" + LDFLAGS="${LDFLAGS_ac} ${user_LDFLAGS}" + lto_CFLAGS="" + lto_LDFLAGS="" + use_lto="" + MHD_CHECK_CC_IS_CLANG([MHD_CHECK_ADD_CC_LDFLAG([-fuse-ld=lld],[lto_LDFLAGS])]) + LDFLAGS="${lto_LDFLAGS} ${LDFLAGS_ac} ${user_LDFLAGS}" + MHD_FIND_ADD_CC_CFLAG_IFELSE( + [ + use_lto="yes" + MHD_PREPEND_FLAG_TO_VAR([lto_LDFLAGS],[$mhd_cc_found_flag]) + ],[use_lto="no"],[lto_CFLAGS], + [-flto=auto],[-flto=full],[-flto] + ) + LDFLAGS="${lto_LDFLAGS} ${LDFLAGS_ac} ${user_LDFLAGS}" + AS_VAR_IF([use_lto],["yes"], + [ + MHD_CHECK_ADD_CC_CFLAG([-ffat-lto-objects],[lto_CFLAGS], + [], + [ + test "X${enable_static}" = "Xyes" && test "X${enable_lto}" = "Xauto" && use_lto="no" + ] + ) + ] + ) + AS_VAR_IF([use_lto],["yes"], + [MHD_FIND_ADD_CC_CFLAG([lto_CFLAGS],[-flto-partition=one],[-flto-partition=none])] + ) + AS_VAR_IF([use_lto],["yes"], + [ + MHD_PREPEND_FLAG_TO_VAR([CFLAGS_ac],[${lto_CFLAGS}]) + MHD_PREPEND_FLAG_TO_VAR([LDFLAGS_ac],[${lto_LDFLAGS}]) + ], + [ + AS_VAR_IF([enable_lto],["yes"], + [AC_MSG_ERROR([LTO cannot be enabled, but requested by --enable-lto])] + ) + ] + ) + LDFLAGS="${LDFLAGS_ac} ${user_LDFLAGS}" + CFLAGS="${CFLAGS_ac} ${user_CFLAGS}" + ] +) + LT_INIT([win32-dll]) LT_LANG([Windows Resource]) @@ -783,53 +830,6 @@ MHD_CHECK_CC_CFLAG([-Wc++-compat],[CFLAGS_ac], CFLAGS="${CFLAGS_ac} ${user_CFLAGS}" # Additional flags are checked and added at the end of 'configure' -AS_VAR_IF([enable_lto],["no"],[use_lto="no"], - [ - CFLAGS="${CFLAGS_ac} ${user_CFLAGS}" - LDFLAGS="${LDFLAGS_ac} ${user_LDFLAGS}" - lto_CFLAGS="" - lto_LDFLAGS="" - use_lto="" - MHD_CHECK_CC_IS_CLANG([MHD_CHECK_ADD_CC_LDFLAG([-fuse-ld=lld],[lto_LDFLAGS])]) - LDFLAGS="${lto_LDFLAGS} ${LDFLAGS_ac} ${user_LDFLAGS}" - MHD_FIND_ADD_CC_CFLAG_IFELSE( - [ - use_lto="yes" - MHD_PREPEND_FLAG_TO_VAR([lto_LDFLAGS],[$mhd_cc_found_flag]) - ],[use_lto="no"],[lto_CFLAGS], - [-flto=auto],[-flto=full],[-flto] - ) - LDFLAGS="${lto_LDFLAGS} ${LDFLAGS_ac} ${user_LDFLAGS}" - AS_VAR_IF([use_lto],["yes"], - [ - MHD_CHECK_ADD_CC_CFLAG([-ffat-lto-objects],[lto_CFLAGS], - [], - [ - test "X${enable_static}" = "Xyes" && test "X${enable_lto}" = "Xauto" && use_lto="no" - ] - ) - ] - ) - AS_VAR_IF([use_lto],["yes"], - [MHD_FIND_ADD_CC_CFLAG([lto_CFLAGS],[-flto-partition=one],[-flto-partition=none])] - ) - AS_VAR_IF([use_lto],["yes"], - [ - MHD_PREPEND_FLAG_TO_VAR([CFLAGS_ac],[${lto_CFLAGS}]) - MHD_PREPEND_FLAG_TO_VAR([LDFLAGS_ac],[${lto_LDFLAGS}]) - ], - [ - AS_VAR_IF([enable_lto],["yes"], - [AC_MSG_ERROR([LTO cannot be enabled, but requested by --enable-lto])] - ) - ] - ) - LDFLAGS="${LDFLAGS_ac} ${user_LDFLAGS}" - CFLAGS="${CFLAGS_ac} ${user_CFLAGS}" - ] -) - - # Check for headers that are ALWAYS required AC_CHECK_HEADERS_ONCE([stdio.h string.h stdint.h stdarg.h errno.h limits.h fcntl.h], [], [AC_MSG_ERROR([Compiling libmicrohttpd requires standard C and POSIX headers files])], [AC_INCLUDES_DEFAULT])