mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-09 12:25:48 +01:00
build: simplify alloca checks. See #1313
The goal of this commit is to reduce differences between the autotools and meson build. With autotools AC_FUNC_ALLOCA was used which defines HAVE_ALLOCA_H, HAVE_ALLOCA, C_ALLOCA. meson tried to replicate that with has_function() but alloca can be a macro and and is named _alloca under Windows. Since we require a working alloca anyway and only need to know if the header exists replace AC_FUNC_ALLOCA with a simple AC_CHECK_HEADERS. There is still one user of HAVE_ALLOCA in the embedded gnulib, but since alloca is always provided through galloca.h just force define HAVE_ALLOCA there and add a comment. The docs were mentioning alloca as an example for cross compiling. Since that variable no longer exists now replace it with another one.
This commit is contained in:
parent
ec4da774e5
commit
11fcc2f1ac
@ -477,7 +477,6 @@ AS_IF([test "$glib_native_win32" = "yes"], [
|
|||||||
AM_CONDITIONAL(OS_WIN32_AND_DLL_COMPILATION, [test x$glib_native_win32 = xyes -a x$glib_win32_static_compilation != xyes])
|
AM_CONDITIONAL(OS_WIN32_AND_DLL_COMPILATION, [test x$glib_native_win32 = xyes -a x$glib_win32_static_compilation != xyes])
|
||||||
|
|
||||||
# Checks for library functions.
|
# Checks for library functions.
|
||||||
AC_FUNC_ALLOCA
|
|
||||||
AC_CHECK_FUNCS(mmap posix_memalign memalign valloc fsync pipe2 issetugid)
|
AC_CHECK_FUNCS(mmap posix_memalign memalign valloc fsync pipe2 issetugid)
|
||||||
AC_CHECK_FUNCS(timegm gmtime_r posix_spawn)
|
AC_CHECK_FUNCS(timegm gmtime_r posix_spawn)
|
||||||
AC_FUNC_STRERROR_R()
|
AC_FUNC_STRERROR_R()
|
||||||
@ -648,6 +647,7 @@ AC_CHECK_HEADERS([sys/vfs.h sys/vmount.h sys/statfs.h sys/statvfs.h sys/filio.h
|
|||||||
AC_CHECK_HEADERS([mntent.h sys/mnttab.h sys/vfstab.h sys/mntctl.h fstab.h])
|
AC_CHECK_HEADERS([mntent.h sys/mnttab.h sys/vfstab.h sys/mntctl.h fstab.h])
|
||||||
AC_CHECK_HEADERS([linux/magic.h])
|
AC_CHECK_HEADERS([linux/magic.h])
|
||||||
AC_CHECK_HEADERS([termios.h])
|
AC_CHECK_HEADERS([termios.h])
|
||||||
|
AC_CHECK_HEADERS([alloca.h])
|
||||||
|
|
||||||
# Some versions of MSC lack these
|
# Some versions of MSC lack these
|
||||||
AC_CHECK_HEADERS([dirent.h sys/time.h])
|
AC_CHECK_HEADERS([dirent.h sys/time.h])
|
||||||
@ -2998,10 +2998,8 @@ _______EOF
|
|||||||
# on variable expansion in case labels. Look at the generated config.status
|
# on variable expansion in case labels. Look at the generated config.status
|
||||||
# for a hint.
|
# for a hint.
|
||||||
|
|
||||||
if test "x${ac_cv_working_alloca_h+set}" = xset ; then
|
if test x$ac_cv_header_alloca_h = xyes ; then
|
||||||
glib_header_alloca_h="$ac_cv_working_alloca_h"
|
glib_header_alloca_h=yes
|
||||||
else
|
|
||||||
glib_header_alloca_h="$ac_cv_header_alloca_h"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test x$enable_included_printf = xyes ; then
|
if test x$enable_included_printf = xyes ; then
|
||||||
|
@ -84,8 +84,8 @@ meson --cross_file cross_file.txt builddir
|
|||||||
overridden by setting the
|
overridden by setting the
|
||||||
<literal>have_<replaceable>function</replaceable></literal> property
|
<literal>have_<replaceable>function</replaceable></literal> property
|
||||||
to <constant>true</constant> or <constant>false</constant>.
|
to <constant>true</constant> or <constant>false</constant>.
|
||||||
For example <programlisting>Checking for function "alloca" : YES</programlisting>
|
For example <programlisting>Checking for function "fsync" : YES</programlisting>
|
||||||
can be overridden by setting <programlisting>have_alloca = false</programlisting>
|
can be overridden by setting <programlisting>have_fsync = false</programlisting>
|
||||||
</para>
|
</para>
|
||||||
</formalpara>
|
</formalpara>
|
||||||
<formalpara>
|
<formalpara>
|
||||||
|
@ -55,7 +55,9 @@
|
|||||||
#ifndef VASNPRINTF
|
#ifndef VASNPRINTF
|
||||||
# include <config.h>
|
# include <config.h>
|
||||||
#endif
|
#endif
|
||||||
|
/* galloca.h also defines alloca and HAVE_ALLOCA makes the code below use it */
|
||||||
#include "glib/galloca.h"
|
#include "glib/galloca.h"
|
||||||
|
#define HAVE_ALLOCA 1
|
||||||
|
|
||||||
#include "g-gnulib.h"
|
#include "g-gnulib.h"
|
||||||
|
|
||||||
|
@ -386,7 +386,6 @@ if host_system == 'windows'
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
functions = [
|
functions = [
|
||||||
'alloca',
|
|
||||||
'endmntent',
|
'endmntent',
|
||||||
'endservent',
|
'endservent',
|
||||||
'fallocate',
|
'fallocate',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user