mirror of
				https://gitlab.gnome.org/GNOME/glib.git
				synced 2025-10-25 06:22:15 +02: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:
		
				
					committed by
					
						 Christoph Reiter
						Christoph Reiter
					
				
			
			
				
	
			
			
			
						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]) | ||||
|  | ||||
| # Checks for library functions. | ||||
| AC_FUNC_ALLOCA | ||||
| AC_CHECK_FUNCS(mmap posix_memalign memalign valloc fsync pipe2 issetugid) | ||||
| AC_CHECK_FUNCS(timegm gmtime_r posix_spawn) | ||||
| 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([linux/magic.h]) | ||||
| AC_CHECK_HEADERS([termios.h]) | ||||
| AC_CHECK_HEADERS([alloca.h]) | ||||
|  | ||||
| # Some versions of MSC lack these | ||||
| 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 | ||||
| # for a hint. | ||||
|  | ||||
| if test "x${ac_cv_working_alloca_h+set}" = xset ; then | ||||
|   glib_header_alloca_h="$ac_cv_working_alloca_h" | ||||
| else | ||||
|   glib_header_alloca_h="$ac_cv_header_alloca_h" | ||||
| if test x$ac_cv_header_alloca_h = xyes ; then | ||||
|   glib_header_alloca_h=yes | ||||
| fi | ||||
|  | ||||
| if test x$enable_included_printf = xyes ; then | ||||
|   | ||||
| @@ -84,8 +84,8 @@ meson --cross_file cross_file.txt builddir | ||||
|            overridden by setting the | ||||
|            <literal>have_<replaceable>function</replaceable></literal> property | ||||
|            to <constant>true</constant> or <constant>false</constant>. | ||||
|            For example <programlisting>Checking for function "alloca" : YES</programlisting> | ||||
|            can be overridden by setting <programlisting>have_alloca = false</programlisting> | ||||
|            For example <programlisting>Checking for function "fsync" : YES</programlisting> | ||||
|            can be overridden by setting <programlisting>have_fsync = false</programlisting> | ||||
|         </para> | ||||
|       </formalpara> | ||||
|       <formalpara> | ||||
|   | ||||
| @@ -55,7 +55,9 @@ | ||||
| #ifndef VASNPRINTF | ||||
| # include <config.h> | ||||
| #endif | ||||
| /* galloca.h also defines alloca and HAVE_ALLOCA makes the code below use it */ | ||||
| #include "glib/galloca.h" | ||||
| #define HAVE_ALLOCA 1 | ||||
|  | ||||
| #include "g-gnulib.h" | ||||
|  | ||||
|   | ||||
| @@ -386,7 +386,6 @@ if host_system == 'windows' | ||||
| endif | ||||
|  | ||||
| functions = [ | ||||
|   'alloca', | ||||
|   'endmntent', | ||||
|   'endservent', | ||||
|   'fallocate', | ||||
|   | ||||
		Reference in New Issue
	
	Block a user