aboutsummaryrefslogtreecommitdiffstats
path: root/m4
diff options
context:
space:
mode:
authorJoakim Verona2013-07-14 11:04:49 +0200
committerJoakim Verona2013-07-14 11:04:49 +0200
commit0bb9bb0841d89fff09820a57369df4cb01b16b43 (patch)
tree832bf9fa8415eef0ce464d22b3ee1300cfa90bb1 /m4
parent3718127221fbbc31f8ebd027ab7c95403dbe9118 (diff)
parent3af1c8684ed6e48fbc21481d129e9aa164752c6e (diff)
downloademacs-0bb9bb0841d89fff09820a57369df4cb01b16b43.tar.gz
emacs-0bb9bb0841d89fff09820a57369df4cb01b16b43.zip
Merge branch 'trunk' into xwidget
Conflicts: src/xdisp.c
Diffstat (limited to 'm4')
-rw-r--r--m4/fcntl.m495
-rw-r--r--m4/getdtablesize.m417
-rw-r--r--m4/gnulib-comp.m455
-rw-r--r--m4/pipe2.m418
-rw-r--r--m4/stdalign.m43
5 files changed, 168 insertions, 20 deletions
diff --git a/m4/fcntl.m4 b/m4/fcntl.m4
new file mode 100644
index 00000000000..5481cae4d80
--- /dev/null
+++ b/m4/fcntl.m4
@@ -0,0 +1,95 @@
1# fcntl.m4 serial 5
2dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7# For now, this module ensures that fcntl()
8# - supports F_DUPFD correctly
9# - supports or emulates F_DUPFD_CLOEXEC
10# - supports F_GETFD
11# Still to be ported to mingw:
12# - F_SETFD
13# - F_GETFL, F_SETFL
14# - F_GETOWN, F_SETOWN
15# - F_GETLK, F_SETLK, F_SETLKW
16AC_DEFUN([gl_FUNC_FCNTL],
17[
18 dnl Persuade glibc to expose F_DUPFD_CLOEXEC.
19 AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
20 AC_REQUIRE([gl_FCNTL_H_DEFAULTS])
21 AC_REQUIRE([AC_CANONICAL_HOST])
22 AC_CHECK_FUNCS_ONCE([fcntl])
23 if test $ac_cv_func_fcntl = no; then
24 gl_REPLACE_FCNTL
25 else
26 dnl cygwin 1.5.x F_DUPFD has wrong errno, and allows negative target
27 dnl haiku alpha 2 F_DUPFD has wrong errno
28 AC_CACHE_CHECK([whether fcntl handles F_DUPFD correctly],
29 [gl_cv_func_fcntl_f_dupfd_works],
30 [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
31#include <fcntl.h>
32#include <errno.h>
33]], [[int result = 0;
34 if (fcntl (0, F_DUPFD, -1) != -1) result |= 1;
35 if (errno != EINVAL) result |= 2;
36 return result;
37 ]])],
38 [gl_cv_func_fcntl_f_dupfd_works=yes],
39 [gl_cv_func_fcntl_f_dupfd_works=no],
40 [# Guess that it works on glibc systems
41 case $host_os in #((
42 *-gnu*) gl_cv_func_fcntl_f_dupfd_works="guessing yes";;
43 *) gl_cv_func_fcntl_f_dupfd_works="guessing no";;
44 esac])])
45 case $gl_cv_func_fcntl_f_dupfd_works in
46 *yes) ;;
47 *) gl_REPLACE_FCNTL
48 AC_DEFINE([FCNTL_DUPFD_BUGGY], [1], [Define this to 1 if F_DUPFD
49 behavior does not match POSIX]) ;;
50 esac
51
52 dnl Many systems lack F_DUPFD_CLOEXEC
53 AC_CACHE_CHECK([whether fcntl understands F_DUPFD_CLOEXEC],
54 [gl_cv_func_fcntl_f_dupfd_cloexec],
55 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
56#include <fcntl.h>
57#ifndef F_DUPFD_CLOEXEC
58choke me
59#endif
60 ]])],
61 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
62#ifdef __linux__
63/* The Linux kernel only added F_DUPFD_CLOEXEC in 2.6.24, so we always replace
64 it to support the semantics on older kernels that failed with EINVAL. */
65choke me
66#endif
67 ]])],
68 [gl_cv_func_fcntl_f_dupfd_cloexec=yes],
69 [gl_cv_func_fcntl_f_dupfd_cloexec="needs runtime check"])],
70 [gl_cv_func_fcntl_f_dupfd_cloexec=no])])
71 if test "$gl_cv_func_fcntl_f_dupfd_cloexec" != yes; then
72 gl_REPLACE_FCNTL
73 dnl No witness macro needed for this bug.
74 fi
75 fi
76 dnl Replace fcntl() for supporting the gnulib-defined fchdir() function,
77 dnl to keep fchdir's bookkeeping up-to-date.
78 m4_ifdef([gl_FUNC_FCHDIR], [
79 gl_TEST_FCHDIR
80 if test $HAVE_FCHDIR = 0; then
81 gl_REPLACE_FCNTL
82 fi
83 ])
84])
85
86AC_DEFUN([gl_REPLACE_FCNTL],
87[
88 AC_REQUIRE([gl_FCNTL_H_DEFAULTS])
89 AC_CHECK_FUNCS_ONCE([fcntl])
90 if test $ac_cv_func_fcntl = no; then
91 HAVE_FCNTL=0
92 else
93 REPLACE_FCNTL=1
94 fi
95])
diff --git a/m4/getdtablesize.m4 b/m4/getdtablesize.m4
new file mode 100644
index 00000000000..8f04b3b8c2a
--- /dev/null
+++ b/m4/getdtablesize.m4
@@ -0,0 +1,17 @@
1# getdtablesize.m4 serial 4
2dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7AC_DEFUN([gl_FUNC_GETDTABLESIZE],
8[
9 AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
10 AC_CHECK_FUNCS_ONCE([getdtablesize])
11 if test $ac_cv_func_getdtablesize != yes; then
12 HAVE_GETDTABLESIZE=0
13 fi
14])
15
16# Prerequisites of lib/getdtablesize.c.
17AC_DEFUN([gl_PREREQ_GETDTABLESIZE], [:])
diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4
index 344b77642b9..d7062e862de 100644
--- a/m4/gnulib-comp.m4
+++ b/m4/gnulib-comp.m4
@@ -41,6 +41,7 @@ AC_DEFUN([gl_EARLY],
41 # Code from module alloca-opt: 41 # Code from module alloca-opt:
42 # Code from module allocator: 42 # Code from module allocator:
43 # Code from module at-internal: 43 # Code from module at-internal:
44 # Code from module binary-io:
44 # Code from module c-ctype: 45 # Code from module c-ctype:
45 # Code from module c-strcase: 46 # Code from module c-strcase:
46 # Code from module careadlinkat: 47 # Code from module careadlinkat:
@@ -63,6 +64,7 @@ AC_DEFUN([gl_EARLY],
63 AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) 64 AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
64 # Code from module extern-inline: 65 # Code from module extern-inline:
65 # Code from module faccessat: 66 # Code from module faccessat:
67 # Code from module fcntl:
66 # Code from module fcntl-h: 68 # Code from module fcntl-h:
67 # Code from module fdatasync: 69 # Code from module fdatasync:
68 # Code from module fdopendir: 70 # Code from module fdopendir:
@@ -70,6 +72,7 @@ AC_DEFUN([gl_EARLY],
70 # Code from module fpending: 72 # Code from module fpending:
71 # Code from module fstatat: 73 # Code from module fstatat:
72 # Code from module fsync: 74 # Code from module fsync:
75 # Code from module getdtablesize:
73 # Code from module getgroups: 76 # Code from module getgroups:
74 # Code from module getloadavg: 77 # Code from module getloadavg:
75 # Code from module getopt-gnu: 78 # Code from module getopt-gnu:
@@ -78,7 +81,6 @@ AC_DEFUN([gl_EARLY],
78 # Code from module gettime: 81 # Code from module gettime:
79 # Code from module gettimeofday: 82 # Code from module gettimeofday:
80 # Code from module group-member: 83 # Code from module group-member:
81 # Code from module ignore-value:
82 # Code from module include_next: 84 # Code from module include_next:
83 # Code from module intprops: 85 # Code from module intprops:
84 # Code from module inttypes-incomplete: 86 # Code from module inttypes-incomplete:
@@ -92,6 +94,7 @@ AC_DEFUN([gl_EARLY],
92 # Code from module nocrash: 94 # Code from module nocrash:
93 # Code from module openat-h: 95 # Code from module openat-h:
94 # Code from module pathmax: 96 # Code from module pathmax:
97 # Code from module pipe2:
95 # Code from module pselect: 98 # Code from module pselect:
96 # Code from module pthread_sigmask: 99 # Code from module pthread_sigmask:
97 # Code from module putenv: 100 # Code from module putenv:
@@ -191,6 +194,11 @@ AC_DEFUN([gl_INIT],
191 fi 194 fi
192 gl_MODULE_INDICATOR([faccessat]) 195 gl_MODULE_INDICATOR([faccessat])
193 gl_UNISTD_MODULE_INDICATOR([faccessat]) 196 gl_UNISTD_MODULE_INDICATOR([faccessat])
197 gl_FUNC_FCNTL
198 if test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1; then
199 AC_LIBOBJ([fcntl])
200 fi
201 gl_FCNTL_MODULE_INDICATOR([fcntl])
194 gl_FCNTL_H 202 gl_FCNTL_H
195 gl_FUNC_FDATASYNC 203 gl_FUNC_FDATASYNC
196 if test $HAVE_FDATASYNC = 0; then 204 if test $HAVE_FDATASYNC = 0; then
@@ -273,6 +281,8 @@ AC_DEFUN([gl_INIT],
273 fi 281 fi
274 gl_TIME_MODULE_INDICATOR([mktime]) 282 gl_TIME_MODULE_INDICATOR([mktime])
275 gl_MULTIARCH 283 gl_MULTIARCH
284 gl_FUNC_PIPE2
285 gl_UNISTD_MODULE_INDICATOR([pipe2])
276 gl_FUNC_PSELECT 286 gl_FUNC_PSELECT
277 if test $HAVE_PSELECT = 0 || test $REPLACE_PSELECT = 1; then 287 if test $HAVE_PSELECT = 0 || test $REPLACE_PSELECT = 1; then
278 AC_LIBOBJ([pselect]) 288 AC_LIBOBJ([pselect])
@@ -364,6 +374,7 @@ AC_DEFUN([gl_INIT],
364 gl_gnulib_enabled_260941c0e5dc67ec9e87d1fb321c300b=false 374 gl_gnulib_enabled_260941c0e5dc67ec9e87d1fb321c300b=false
365 gl_gnulib_enabled_dosname=false 375 gl_gnulib_enabled_dosname=false
366 gl_gnulib_enabled_euidaccess=false 376 gl_gnulib_enabled_euidaccess=false
377 gl_gnulib_enabled_getdtablesize=false
367 gl_gnulib_enabled_getgroups=false 378 gl_gnulib_enabled_getgroups=false
368 gl_gnulib_enabled_be453cec5eecf5731a274f2de7f2db36=false 379 gl_gnulib_enabled_be453cec5eecf5731a274f2de7f2db36=false
369 gl_gnulib_enabled_a9786850e999ae65a836a6041e8e5ed1=false 380 gl_gnulib_enabled_a9786850e999ae65a836a6041e8e5ed1=false
@@ -373,7 +384,6 @@ AC_DEFUN([gl_INIT],
373 gl_gnulib_enabled_stat=false 384 gl_gnulib_enabled_stat=false
374 gl_gnulib_enabled_strtoll=false 385 gl_gnulib_enabled_strtoll=false
375 gl_gnulib_enabled_strtoull=false 386 gl_gnulib_enabled_strtoull=false
376 gl_gnulib_enabled_verify=false
377 gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec=false 387 gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec=false
378 func_gl_gnulib_m4code_260941c0e5dc67ec9e87d1fb321c300b () 388 func_gl_gnulib_m4code_260941c0e5dc67ec9e87d1fb321c300b ()
379 { 389 {
@@ -407,6 +417,18 @@ AC_DEFUN([gl_INIT],
407 fi 417 fi
408 fi 418 fi
409 } 419 }
420 func_gl_gnulib_m4code_getdtablesize ()
421 {
422 if ! $gl_gnulib_enabled_getdtablesize; then
423 gl_FUNC_GETDTABLESIZE
424 if test $HAVE_GETDTABLESIZE = 0; then
425 AC_LIBOBJ([getdtablesize])
426 gl_PREREQ_GETDTABLESIZE
427 fi
428 gl_UNISTD_MODULE_INDICATOR([getdtablesize])
429 gl_gnulib_enabled_getdtablesize=true
430 fi
431 }
410 func_gl_gnulib_m4code_getgroups () 432 func_gl_gnulib_m4code_getgroups ()
411 { 433 {
412 if ! $gl_gnulib_enabled_getgroups; then 434 if ! $gl_gnulib_enabled_getgroups; then
@@ -479,9 +501,6 @@ AC_DEFUN([gl_INIT],
479 if test $REPLACE_STAT = 1; then 501 if test $REPLACE_STAT = 1; then
480 func_gl_gnulib_m4code_pathmax 502 func_gl_gnulib_m4code_pathmax
481 fi 503 fi
482 if test $REPLACE_STAT = 1; then
483 func_gl_gnulib_m4code_verify
484 fi
485 fi 504 fi
486 } 505 }
487 func_gl_gnulib_m4code_strtoll () 506 func_gl_gnulib_m4code_strtoll ()
@@ -508,12 +527,6 @@ AC_DEFUN([gl_INIT],
508 gl_gnulib_enabled_strtoull=true 527 gl_gnulib_enabled_strtoull=true
509 fi 528 fi
510 } 529 }
511 func_gl_gnulib_m4code_verify ()
512 {
513 if ! $gl_gnulib_enabled_verify; then
514 gl_gnulib_enabled_verify=true
515 fi
516 }
517 func_gl_gnulib_m4code_682e609604ccaac6be382e4ee3a4eaec () 530 func_gl_gnulib_m4code_682e609604ccaac6be382e4ee3a4eaec ()
518 { 531 {
519 if ! $gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec; then 532 if ! $gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec; then
@@ -532,6 +545,9 @@ AC_DEFUN([gl_INIT],
532 if test $HAVE_FACCESSAT = 0; then 545 if test $HAVE_FACCESSAT = 0; then
533 func_gl_gnulib_m4code_03e0aaad4cb89ca757653bd367a6ccb7 546 func_gl_gnulib_m4code_03e0aaad4cb89ca757653bd367a6ccb7
534 fi 547 fi
548 if test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1; then
549 func_gl_gnulib_m4code_getdtablesize
550 fi
535 if test $HAVE_FDOPENDIR = 0; then 551 if test $HAVE_FDOPENDIR = 0; then
536 func_gl_gnulib_m4code_260941c0e5dc67ec9e87d1fb321c300b 552 func_gl_gnulib_m4code_260941c0e5dc67ec9e87d1fb321c300b
537 fi 553 fi
@@ -568,19 +584,14 @@ AC_DEFUN([gl_INIT],
568 if { test $HAVE_STRTOIMAX = 0 || test $REPLACE_STRTOIMAX = 1; } && test $ac_cv_type_long_long_int = yes; then 584 if { test $HAVE_STRTOIMAX = 0 || test $REPLACE_STRTOIMAX = 1; } && test $ac_cv_type_long_long_int = yes; then
569 func_gl_gnulib_m4code_strtoll 585 func_gl_gnulib_m4code_strtoll
570 fi 586 fi
571 if test $HAVE_STRTOIMAX = 0 || test $REPLACE_STRTOIMAX = 1; then
572 func_gl_gnulib_m4code_verify
573 fi
574 if test $ac_cv_func_strtoumax = no && test $ac_cv_type_unsigned_long_long_int = yes; then 587 if test $ac_cv_func_strtoumax = no && test $ac_cv_type_unsigned_long_long_int = yes; then
575 func_gl_gnulib_m4code_strtoull 588 func_gl_gnulib_m4code_strtoull
576 fi 589 fi
577 if test $ac_cv_func_strtoumax = no; then
578 func_gl_gnulib_m4code_verify
579 fi
580 m4_pattern_allow([^gl_GNULIB_ENABLED_]) 590 m4_pattern_allow([^gl_GNULIB_ENABLED_])
581 AM_CONDITIONAL([gl_GNULIB_ENABLED_260941c0e5dc67ec9e87d1fb321c300b], [$gl_gnulib_enabled_260941c0e5dc67ec9e87d1fb321c300b]) 591 AM_CONDITIONAL([gl_GNULIB_ENABLED_260941c0e5dc67ec9e87d1fb321c300b], [$gl_gnulib_enabled_260941c0e5dc67ec9e87d1fb321c300b])
582 AM_CONDITIONAL([gl_GNULIB_ENABLED_dosname], [$gl_gnulib_enabled_dosname]) 592 AM_CONDITIONAL([gl_GNULIB_ENABLED_dosname], [$gl_gnulib_enabled_dosname])
583 AM_CONDITIONAL([gl_GNULIB_ENABLED_euidaccess], [$gl_gnulib_enabled_euidaccess]) 593 AM_CONDITIONAL([gl_GNULIB_ENABLED_euidaccess], [$gl_gnulib_enabled_euidaccess])
594 AM_CONDITIONAL([gl_GNULIB_ENABLED_getdtablesize], [$gl_gnulib_enabled_getdtablesize])
584 AM_CONDITIONAL([gl_GNULIB_ENABLED_getgroups], [$gl_gnulib_enabled_getgroups]) 595 AM_CONDITIONAL([gl_GNULIB_ENABLED_getgroups], [$gl_gnulib_enabled_getgroups])
585 AM_CONDITIONAL([gl_GNULIB_ENABLED_be453cec5eecf5731a274f2de7f2db36], [$gl_gnulib_enabled_be453cec5eecf5731a274f2de7f2db36]) 596 AM_CONDITIONAL([gl_GNULIB_ENABLED_be453cec5eecf5731a274f2de7f2db36], [$gl_gnulib_enabled_be453cec5eecf5731a274f2de7f2db36])
586 AM_CONDITIONAL([gl_GNULIB_ENABLED_a9786850e999ae65a836a6041e8e5ed1], [$gl_gnulib_enabled_a9786850e999ae65a836a6041e8e5ed1]) 597 AM_CONDITIONAL([gl_GNULIB_ENABLED_a9786850e999ae65a836a6041e8e5ed1], [$gl_gnulib_enabled_a9786850e999ae65a836a6041e8e5ed1])
@@ -590,7 +601,6 @@ AC_DEFUN([gl_INIT],
590 AM_CONDITIONAL([gl_GNULIB_ENABLED_stat], [$gl_gnulib_enabled_stat]) 601 AM_CONDITIONAL([gl_GNULIB_ENABLED_stat], [$gl_gnulib_enabled_stat])
591 AM_CONDITIONAL([gl_GNULIB_ENABLED_strtoll], [$gl_gnulib_enabled_strtoll]) 602 AM_CONDITIONAL([gl_GNULIB_ENABLED_strtoll], [$gl_gnulib_enabled_strtoll])
592 AM_CONDITIONAL([gl_GNULIB_ENABLED_strtoull], [$gl_gnulib_enabled_strtoull]) 603 AM_CONDITIONAL([gl_GNULIB_ENABLED_strtoull], [$gl_gnulib_enabled_strtoull])
593 AM_CONDITIONAL([gl_GNULIB_ENABLED_verify], [$gl_gnulib_enabled_verify])
594 AM_CONDITIONAL([gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec], [$gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec]) 604 AM_CONDITIONAL([gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec], [$gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec])
595 # End of code from modules 605 # End of code from modules
596 m4_ifval(gl_LIBSOURCES_LIST, [ 606 m4_ifval(gl_LIBSOURCES_LIST, [
@@ -745,6 +755,8 @@ AC_DEFUN([gl_FILE_LIST], [
745 lib/allocator.c 755 lib/allocator.c
746 lib/allocator.h 756 lib/allocator.h
747 lib/at-func.c 757 lib/at-func.c
758 lib/binary-io.c
759 lib/binary-io.h
748 lib/c-ctype.c 760 lib/c-ctype.c
749 lib/c-ctype.h 761 lib/c-ctype.h
750 lib/c-strcase.h 762 lib/c-strcase.h
@@ -764,6 +776,7 @@ AC_DEFUN([gl_FILE_LIST], [
764 lib/execinfo.c 776 lib/execinfo.c
765 lib/execinfo.in.h 777 lib/execinfo.in.h
766 lib/faccessat.c 778 lib/faccessat.c
779 lib/fcntl.c
767 lib/fcntl.in.h 780 lib/fcntl.in.h
768 lib/fdatasync.c 781 lib/fdatasync.c
769 lib/fdopendir.c 782 lib/fdopendir.c
@@ -776,6 +789,7 @@ AC_DEFUN([gl_FILE_LIST], [
776 lib/fsync.c 789 lib/fsync.c
777 lib/ftoastr.c 790 lib/ftoastr.c
778 lib/ftoastr.h 791 lib/ftoastr.h
792 lib/getdtablesize.c
779 lib/getgroups.c 793 lib/getgroups.c
780 lib/getloadavg.c 794 lib/getloadavg.c
781 lib/getopt.c 795 lib/getopt.c
@@ -786,7 +800,6 @@ AC_DEFUN([gl_FILE_LIST], [
786 lib/gettime.c 800 lib/gettime.c
787 lib/gettimeofday.c 801 lib/gettimeofday.c
788 lib/group-member.c 802 lib/group-member.c
789 lib/ignore-value.h
790 lib/intprops.h 803 lib/intprops.h
791 lib/inttypes.in.h 804 lib/inttypes.in.h
792 lib/lstat.c 805 lib/lstat.c
@@ -799,6 +812,7 @@ AC_DEFUN([gl_FILE_LIST], [
799 lib/openat-proc.c 812 lib/openat-proc.c
800 lib/openat.h 813 lib/openat.h
801 lib/pathmax.h 814 lib/pathmax.h
815 lib/pipe2.c
802 lib/pselect.c 816 lib/pselect.c
803 lib/pthread_sigmask.c 817 lib/pthread_sigmask.c
804 lib/putenv.c 818 lib/putenv.c
@@ -870,6 +884,7 @@ AC_DEFUN([gl_FILE_LIST], [
870 m4/extern-inline.m4 884 m4/extern-inline.m4
871 m4/faccessat.m4 885 m4/faccessat.m4
872 m4/fcntl-o.m4 886 m4/fcntl-o.m4
887 m4/fcntl.m4
873 m4/fcntl_h.m4 888 m4/fcntl_h.m4
874 m4/fdatasync.m4 889 m4/fdatasync.m4
875 m4/fdopendir.m4 890 m4/fdopendir.m4
@@ -877,6 +892,7 @@ AC_DEFUN([gl_FILE_LIST], [
877 m4/fpending.m4 892 m4/fpending.m4
878 m4/fstatat.m4 893 m4/fstatat.m4
879 m4/fsync.m4 894 m4/fsync.m4
895 m4/getdtablesize.m4
880 m4/getgroups.m4 896 m4/getgroups.m4
881 m4/getloadavg.m4 897 m4/getloadavg.m4
882 m4/getopt.m4 898 m4/getopt.m4
@@ -897,6 +913,7 @@ AC_DEFUN([gl_FILE_LIST], [
897 m4/nocrash.m4 913 m4/nocrash.m4
898 m4/off_t.m4 914 m4/off_t.m4
899 m4/pathmax.m4 915 m4/pathmax.m4
916 m4/pipe2.m4
900 m4/pselect.m4 917 m4/pselect.m4
901 m4/pthread_sigmask.m4 918 m4/pthread_sigmask.m4
902 m4/putenv.m4 919 m4/putenv.m4
diff --git a/m4/pipe2.m4 b/m4/pipe2.m4
new file mode 100644
index 00000000000..6ccee105239
--- /dev/null
+++ b/m4/pipe2.m4
@@ -0,0 +1,18 @@
1# pipe2.m4 serial 2
2dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7AC_DEFUN([gl_FUNC_PIPE2],
8[
9 AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
10
11 dnl Persuade glibc <unistd.h> to declare pipe2().
12 AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
13
14 AC_CHECK_FUNCS_ONCE([pipe2])
15 if test $ac_cv_func_pipe2 != yes; then
16 HAVE_PIPE2=0
17 fi
18])
diff --git a/m4/stdalign.m4 b/m4/stdalign.m4
index a866ff670b1..20be01aaf20 100644
--- a/m4/stdalign.m4
+++ b/m4/stdalign.m4
@@ -31,7 +31,8 @@ AC_DEFUN([gl_STDALIGN_H],
31 31
32 /* Test _Alignas only on platforms where gnulib can help. */ 32 /* Test _Alignas only on platforms where gnulib can help. */
33 #if \ 33 #if \
34 (__GNUC__ || __IBMC__ || __IBMCPP__ \ 34 ((defined __cplusplus && 201103 <= __cplusplus) \
35 || __GNUC__ || __IBMC__ || __IBMCPP__ || __ICC \
35 || 0x5110 <= __SUNPRO_C || 1300 <= _MSC_VER) 36 || 0x5110 <= __SUNPRO_C || 1300 <= _MSC_VER)
36 struct alignas_test { char c; char alignas (8) alignas_8; }; 37 struct alignas_test { char c; char alignas (8) alignas_8; };
37 char test_alignas[offsetof (struct alignas_test, alignas_8) == 8 38 char test_alignas[offsetof (struct alignas_test, alignas_8) == 8