aboutsummaryrefslogtreecommitdiffstats
path: root/configure
diff options
context:
space:
mode:
authorPaul Eggert2011-02-22 11:30:07 -0800
committerPaul Eggert2011-02-22 11:30:07 -0800
commitae0d725005539d9259efac6a81ff8fdd45eb69a6 (patch)
treec721b530409b355281537abc7b058bdb2697ee01 /configure
parent8d40723d1e9661840a67ca7be9c5b073526ab421 (diff)
downloademacs-ae0d725005539d9259efac6a81ff8fdd45eb69a6.tar.gz
emacs-ae0d725005539d9259efac6a81ff8fdd45eb69a6.zip
[ChangeLog]
Work around some portability problems with symlinks. * Makefile.in (GNULIB_MODULES): Add lstat, readlink, symlink. * configure.in (lstat, HAVE_LSTAT): Remove special hack. * lib/lstat.c, lib/readlink.c, lib/stat.c, lib/symlink.c: * m4/dos.m4, m4/lstat.m4, m4/readlink.m4, m4/stat.m4, m4/symlink.m4: New files, automatically generated from gnulib. * aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk: * lib/stdlib.in.h, m4/gl-comp.m4, m4/stdlib_h.m4: Regenerate. 2011-02-22 Paul Eggert <eggert@cs.ucla.edu> [src/ChangeLog] Work around some portability problems with symlinks. * fileio.c (Frename_file, Fmake_symbolic_link, Ffile_symlink_p): Simplify the code by assuming that the readlink and symlink calls exist, even if they always fail on this host. (Ffile_readable_p): Likewise, for fifos. * config.in: Regenerate.
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure702
1 files changed, 607 insertions, 95 deletions
diff --git a/configure b/configure
index 70aa60bb1e7..4083c8386c1 100755
--- a/configure
+++ b/configure
@@ -679,38 +679,6 @@ NEXT_AS_FIRST_DIRECTIVE_TIME_H
679NEXT_TIME_H 679NEXT_TIME_H
680NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H 680NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H
681NEXT_SYS_STAT_H 681NEXT_SYS_STAT_H
682REPLACE_UTIMENSAT
683REPLACE_STAT
684REPLACE_MKNOD
685REPLACE_MKFIFO
686REPLACE_MKDIR
687REPLACE_LSTAT
688REPLACE_FUTIMENS
689REPLACE_FSTATAT
690REPLACE_FSTAT
691HAVE_UTIMENSAT
692HAVE_MKNODAT
693HAVE_MKNOD
694HAVE_MKFIFOAT
695HAVE_MKFIFO
696HAVE_MKDIRAT
697HAVE_LSTAT
698HAVE_LCHMOD
699HAVE_FUTIMENS
700HAVE_FSTATAT
701HAVE_FCHMODAT
702GNULIB_UTIMENSAT
703GNULIB_STAT
704GNULIB_MKNODAT
705GNULIB_MKNOD
706GNULIB_MKFIFOAT
707GNULIB_MKFIFO
708GNULIB_MKDIRAT
709GNULIB_LSTAT
710GNULIB_LCHMOD
711GNULIB_FUTIMENS
712GNULIB_FSTATAT
713GNULIB_FCHMODAT
714NEXT_AS_FIRST_DIRECTIVE_STDLIB_H 682NEXT_AS_FIRST_DIRECTIVE_STDLIB_H
715NEXT_STDLIB_H 683NEXT_STDLIB_H
716STDINT_H 684STDINT_H
@@ -758,6 +726,38 @@ GNULIB_TIMEGM
758GNULIB_STRPTIME 726GNULIB_STRPTIME
759GNULIB_NANOSLEEP 727GNULIB_NANOSLEEP
760GNULIB_MKTIME 728GNULIB_MKTIME
729REPLACE_UTIMENSAT
730REPLACE_STAT
731REPLACE_MKNOD
732REPLACE_MKFIFO
733REPLACE_MKDIR
734REPLACE_LSTAT
735REPLACE_FUTIMENS
736REPLACE_FSTATAT
737REPLACE_FSTAT
738HAVE_UTIMENSAT
739HAVE_MKNODAT
740HAVE_MKNOD
741HAVE_MKFIFOAT
742HAVE_MKFIFO
743HAVE_MKDIRAT
744HAVE_LSTAT
745HAVE_LCHMOD
746HAVE_FUTIMENS
747HAVE_FSTATAT
748HAVE_FCHMODAT
749GNULIB_UTIMENSAT
750GNULIB_STAT
751GNULIB_MKNODAT
752GNULIB_MKNOD
753GNULIB_MKFIFOAT
754GNULIB_MKFIFO
755GNULIB_MKDIRAT
756GNULIB_LSTAT
757GNULIB_LCHMOD
758GNULIB_FUTIMENS
759GNULIB_FSTATAT
760GNULIB_FCHMODAT
761LTLIBINTL 761LTLIBINTL
762LIBINTL 762LIBINTL
763GETOPT_H 763GETOPT_H
@@ -874,6 +874,7 @@ GNULIB_DUP2
874GNULIB_CLOSE 874GNULIB_CLOSE
875GNULIB_CHOWN 875GNULIB_CHOWN
876GETLOADAVG_LIBS 876GETLOADAVG_LIBS
877REPLACE_WCTOMB
877REPLACE_UNSETENV 878REPLACE_UNSETENV
878REPLACE_STRTOD 879REPLACE_STRTOD
879REPLACE_SETENV 880REPLACE_SETENV
@@ -881,6 +882,7 @@ REPLACE_REALPATH
881REPLACE_REALLOC 882REPLACE_REALLOC
882REPLACE_PUTENV 883REPLACE_PUTENV
883REPLACE_MKSTEMP 884REPLACE_MKSTEMP
885REPLACE_MBTOWC
884REPLACE_MALLOC 886REPLACE_MALLOC
885REPLACE_CANONICALIZE_FILE_NAME 887REPLACE_CANONICALIZE_FILE_NAME
886REPLACE_CALLOC 888REPLACE_CALLOC
@@ -909,6 +911,7 @@ HAVE_DECL_GETLOADAVG
909HAVE_CANONICALIZE_FILE_NAME 911HAVE_CANONICALIZE_FILE_NAME
910HAVE_ATOLL 912HAVE_ATOLL
911HAVE__EXIT 913HAVE__EXIT
914GNULIB_WCTOMB
912GNULIB_UNSETENV 915GNULIB_UNSETENV
913GNULIB_UNLOCKPT 916GNULIB_UNLOCKPT
914GNULIB_SYSTEM_POSIX 917GNULIB_SYSTEM_POSIX
@@ -927,6 +930,7 @@ GNULIB_MKSTEMP
927GNULIB_MKOSTEMPS 930GNULIB_MKOSTEMPS
928GNULIB_MKOSTEMP 931GNULIB_MKOSTEMP
929GNULIB_MKDTEMP 932GNULIB_MKDTEMP
933GNULIB_MBTOWC
930GNULIB_MALLOC_POSIX 934GNULIB_MALLOC_POSIX
931GNULIB_GRANTPT 935GNULIB_GRANTPT
932GNULIB_GETSUBOPT 936GNULIB_GETSUBOPT
@@ -2956,14 +2960,16 @@ as_fn_append ac_header_list " unistd.h"
2956as_fn_append ac_header_list " sys/param.h" 2960as_fn_append ac_header_list " sys/param.h"
2957gl_getopt_required=GNU 2961gl_getopt_required=GNU
2958as_fn_append ac_header_list " getopt.h" 2962as_fn_append ac_header_list " getopt.h"
2963as_fn_append ac_func_list " lstat"
2959as_fn_append ac_func_list " alarm" 2964as_fn_append ac_func_list " alarm"
2965as_fn_append ac_func_list " readlink"
2960as_fn_append ac_header_list " wchar.h" 2966as_fn_append ac_header_list " wchar.h"
2961as_fn_append ac_header_list " stdint.h" 2967as_fn_append ac_header_list " stdint.h"
2962as_fn_append ac_func_list " tzset" 2968as_fn_append ac_func_list " tzset"
2969as_fn_append ac_func_list " symlink"
2963as_fn_append ac_header_list " sys/stat.h" 2970as_fn_append ac_header_list " sys/stat.h"
2964as_fn_append ac_header_list " sys/time.h" 2971as_fn_append ac_header_list " sys/time.h"
2965as_fn_append ac_func_list " localtime_r" 2972as_fn_append ac_func_list " localtime_r"
2966as_fn_append ac_func_list " lstat"
2967# Check that the precious variables saved in the cache have kept the same 2973# Check that the precious variables saved in the cache have kept the same
2968# value. 2974# value.
2969ac_cache_corrupted=false 2975ac_cache_corrupted=false
@@ -6133,13 +6139,17 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
6133 # Code from module ignore-value: 6139 # Code from module ignore-value:
6134 # Code from module include_next: 6140 # Code from module include_next:
6135 # Code from module intprops: 6141 # Code from module intprops:
6142 # Code from module lstat:
6136 # Code from module mktime: 6143 # Code from module mktime:
6137 # Code from module multiarch: 6144 # Code from module multiarch:
6145 # Code from module readlink:
6146 # Code from module stat:
6138 # Code from module stdbool: 6147 # Code from module stdbool:
6139 # Code from module stddef: 6148 # Code from module stddef:
6140 # Code from module stdint: 6149 # Code from module stdint:
6141 # Code from module stdlib: 6150 # Code from module stdlib:
6142 # Code from module strftime: 6151 # Code from module strftime:
6152 # Code from module symlink:
6143 # Code from module sys_stat: 6153 # Code from module sys_stat:
6144 # Code from module time: 6154 # Code from module time:
6145 # Code from module time_r: 6155 # Code from module time_r:
@@ -13780,6 +13790,7 @@ _ACEOF
13780 GNULIB_GETSUBOPT=0; 13790 GNULIB_GETSUBOPT=0;
13781 GNULIB_GRANTPT=0; 13791 GNULIB_GRANTPT=0;
13782 GNULIB_MALLOC_POSIX=0; 13792 GNULIB_MALLOC_POSIX=0;
13793 GNULIB_MBTOWC=0;
13783 GNULIB_MKDTEMP=0; 13794 GNULIB_MKDTEMP=0;
13784 GNULIB_MKOSTEMP=0; 13795 GNULIB_MKOSTEMP=0;
13785 GNULIB_MKOSTEMPS=0; 13796 GNULIB_MKOSTEMPS=0;
@@ -13798,6 +13809,7 @@ _ACEOF
13798 GNULIB_SYSTEM_POSIX=0; 13809 GNULIB_SYSTEM_POSIX=0;
13799 GNULIB_UNLOCKPT=0; 13810 GNULIB_UNLOCKPT=0;
13800 GNULIB_UNSETENV=0; 13811 GNULIB_UNSETENV=0;
13812 GNULIB_WCTOMB=0;
13801 HAVE__EXIT=1; 13813 HAVE__EXIT=1;
13802 HAVE_ATOLL=1; 13814 HAVE_ATOLL=1;
13803 HAVE_CANONICALIZE_FILE_NAME=1; 13815 HAVE_CANONICALIZE_FILE_NAME=1;
@@ -13826,6 +13838,7 @@ _ACEOF
13826 REPLACE_CALLOC=0; 13838 REPLACE_CALLOC=0;
13827 REPLACE_CANONICALIZE_FILE_NAME=0; 13839 REPLACE_CANONICALIZE_FILE_NAME=0;
13828 REPLACE_MALLOC=0; 13840 REPLACE_MALLOC=0;
13841 REPLACE_MBTOWC=0;
13829 REPLACE_MKSTEMP=0; 13842 REPLACE_MKSTEMP=0;
13830 REPLACE_PUTENV=0; 13843 REPLACE_PUTENV=0;
13831 REPLACE_REALLOC=0; 13844 REPLACE_REALLOC=0;
@@ -13833,6 +13846,7 @@ _ACEOF
13833 REPLACE_SETENV=0; 13846 REPLACE_SETENV=0;
13834 REPLACE_STRTOD=0; 13847 REPLACE_STRTOD=0;
13835 REPLACE_UNSETENV=0; 13848 REPLACE_UNSETENV=0;
13849 REPLACE_WCTOMB=0;
13836 13850
13837 13851
13838 GNULIB_CHOWN=0; 13852 GNULIB_CHOWN=0;
@@ -14492,19 +14506,38 @@ fi
14492 14506
14493 14507
14494 14508
14495 GNULIB_MKTIME=0; 14509 GNULIB_FCHMODAT=0;
14496 GNULIB_NANOSLEEP=0; 14510 GNULIB_FSTATAT=0;
14497 GNULIB_STRPTIME=0; 14511 GNULIB_FUTIMENS=0;
14498 GNULIB_TIMEGM=0; 14512 GNULIB_LCHMOD=0;
14499 GNULIB_TIME_R=0; 14513 GNULIB_LSTAT=0;
14500 HAVE_DECL_LOCALTIME_R=1; 14514 GNULIB_MKDIRAT=0;
14501 HAVE_NANOSLEEP=1; 14515 GNULIB_MKFIFO=0;
14502 HAVE_STRPTIME=1; 14516 GNULIB_MKFIFOAT=0;
14503 HAVE_TIMEGM=1; 14517 GNULIB_MKNOD=0;
14504 REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; 14518 GNULIB_MKNODAT=0;
14505 REPLACE_MKTIME=GNULIB_PORTCHECK; 14519 GNULIB_STAT=0;
14506 REPLACE_NANOSLEEP=GNULIB_PORTCHECK; 14520 GNULIB_UTIMENSAT=0;
14507 REPLACE_TIMEGM=GNULIB_PORTCHECK; 14521 HAVE_FCHMODAT=1;
14522 HAVE_FSTATAT=1;
14523 HAVE_FUTIMENS=1;
14524 HAVE_LCHMOD=1;
14525 HAVE_LSTAT=1;
14526 HAVE_MKDIRAT=1;
14527 HAVE_MKFIFO=1;
14528 HAVE_MKFIFOAT=1;
14529 HAVE_MKNOD=1;
14530 HAVE_MKNODAT=1;
14531 HAVE_UTIMENSAT=1;
14532 REPLACE_FSTAT=0;
14533 REPLACE_FSTATAT=0;
14534 REPLACE_FUTIMENS=0;
14535 REPLACE_LSTAT=0;
14536 REPLACE_MKDIR=0;
14537 REPLACE_MKFIFO=0;
14538 REPLACE_MKNOD=0;
14539 REPLACE_STAT=0;
14540 REPLACE_UTIMENSAT=0;
14508 14541
14509 14542
14510 14543
@@ -14524,6 +14557,93 @@ done
14524 14557
14525 14558
14526 14559
14560 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5
14561$as_echo_n "checking whether lstat correctly handles trailing slash... " >&6; }
14562if ${ac_cv_func_lstat_dereferences_slashed_symlink+:} false; then :
14563 $as_echo_n "(cached) " >&6
14564else
14565 rm -f conftest.sym conftest.file
14566 echo >conftest.file
14567 if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then
14568 if test "$cross_compiling" = yes; then :
14569 # When cross-compiling, be pessimistic so we will end up using the
14570 # replacement version of lstat that checks for trailing slashes and
14571 # calls lstat a second time when necessary.
14572 ac_cv_func_lstat_dereferences_slashed_symlink=no
14573
14574else
14575 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14576/* end confdefs.h. */
14577$ac_includes_default
14578int
14579main ()
14580{
14581struct stat sbuf;
14582 /* Linux will dereference the symlink and fail, as required by
14583 POSIX. That is better in the sense that it means we will not
14584 have to compile and use the lstat wrapper. */
14585 return lstat ("conftest.sym/", &sbuf) == 0;
14586
14587 ;
14588 return 0;
14589}
14590_ACEOF
14591if ac_fn_c_try_run "$LINENO"; then :
14592 ac_cv_func_lstat_dereferences_slashed_symlink=yes
14593else
14594 ac_cv_func_lstat_dereferences_slashed_symlink=no
14595fi
14596rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
14597 conftest.$ac_objext conftest.beam conftest.$ac_ext
14598fi
14599
14600 else
14601 # If the 'ln -s' command failed, then we probably don't even
14602 # have an lstat function.
14603 ac_cv_func_lstat_dereferences_slashed_symlink=no
14604 fi
14605 rm -f conftest.sym conftest.file
14606
14607fi
14608{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_lstat_dereferences_slashed_symlink" >&5
14609$as_echo "$ac_cv_func_lstat_dereferences_slashed_symlink" >&6; }
14610 test $ac_cv_func_lstat_dereferences_slashed_symlink = yes &&
14611
14612cat >>confdefs.h <<_ACEOF
14613#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
14614_ACEOF
14615
14616 if test "x$ac_cv_func_lstat_dereferences_slashed_symlink" = xno; then
14617
14618
14619
14620
14621
14622
14623
14624
14625 gl_LIBOBJS="$gl_LIBOBJS lstat.$ac_objext"
14626
14627 fi
14628
14629
14630 GNULIB_MKTIME=0;
14631 GNULIB_NANOSLEEP=0;
14632 GNULIB_STRPTIME=0;
14633 GNULIB_TIMEGM=0;
14634 GNULIB_TIME_R=0;
14635 HAVE_DECL_LOCALTIME_R=1;
14636 HAVE_NANOSLEEP=1;
14637 HAVE_STRPTIME=1;
14638 HAVE_TIMEGM=1;
14639 REPLACE_LOCALTIME_R=GNULIB_PORTCHECK;
14640 REPLACE_MKTIME=GNULIB_PORTCHECK;
14641 REPLACE_NANOSLEEP=GNULIB_PORTCHECK;
14642 REPLACE_TIMEGM=GNULIB_PORTCHECK;
14643
14644
14645
14646
14527 gl_cv_c_multiarch=no 14647 gl_cv_c_multiarch=no
14528 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 14648 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14529/* end confdefs.h. */ 14649/* end confdefs.h. */
@@ -14565,6 +14685,104 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
14565 fi 14685 fi
14566 14686
14567 14687
14688
14689
14690
14691 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether system is Windows or MSDOS" >&5
14692$as_echo_n "checking whether system is Windows or MSDOS... " >&6; }
14693if ${ac_cv_win_or_dos+:} false; then :
14694 $as_echo_n "(cached) " >&6
14695else
14696
14697 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14698/* end confdefs.h. */
14699
14700int
14701main ()
14702{
14703
14704#if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__ && !defined __CYGWIN__
14705neither MSDOS nor Windows
14706#endif
14707 ;
14708 return 0;
14709}
14710_ACEOF
14711if ac_fn_c_try_compile "$LINENO"; then :
14712 ac_cv_win_or_dos=yes
14713else
14714 ac_cv_win_or_dos=no
14715fi
14716rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
14717
14718fi
14719{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_win_or_dos" >&5
14720$as_echo "$ac_cv_win_or_dos" >&6; }
14721
14722 if test x"$ac_cv_win_or_dos" = xyes; then
14723 ac_fs_accepts_drive_letter_prefix=1
14724 ac_fs_backslash_is_file_name_separator=1
14725 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether drive letter can start relative path" >&5
14726$as_echo_n "checking whether drive letter can start relative path... " >&6; }
14727if ${ac_cv_drive_letter_can_be_relative+:} false; then :
14728 $as_echo_n "(cached) " >&6
14729else
14730
14731 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14732/* end confdefs.h. */
14733
14734int
14735main ()
14736{
14737
14738#if defined __CYGWIN__
14739drive letters are always absolute
14740#endif
14741 ;
14742 return 0;
14743}
14744_ACEOF
14745if ac_fn_c_try_compile "$LINENO"; then :
14746 ac_cv_drive_letter_can_be_relative=yes
14747else
14748 ac_cv_drive_letter_can_be_relative=no
14749fi
14750rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
14751
14752fi
14753{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_drive_letter_can_be_relative" >&5
14754$as_echo "$ac_cv_drive_letter_can_be_relative" >&6; }
14755 if test x"$ac_cv_drive_letter_can_be_relative" = xyes; then
14756 ac_fs_drive_letter_can_be_relative=1
14757 else
14758 ac_fs_drive_letter_can_be_relative=0
14759 fi
14760 else
14761 ac_fs_accepts_drive_letter_prefix=0
14762 ac_fs_backslash_is_file_name_separator=0
14763 ac_fs_drive_letter_can_be_relative=0
14764 fi
14765
14766
14767cat >>confdefs.h <<_ACEOF
14768#define FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX $ac_fs_accepts_drive_letter_prefix
14769_ACEOF
14770
14771
14772
14773
14774
14775cat >>confdefs.h <<_ACEOF
14776#define FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR $ac_fs_backslash_is_file_name_separator
14777_ACEOF
14778
14779
14780
14781cat >>confdefs.h <<_ACEOF
14782#define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE $ac_fs_drive_letter_can_be_relative
14783_ACEOF
14784
14785
14568{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 14786{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5
14569$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; } 14787$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; }
14570if ${ac_cv_header_stdbool_h+:} false; then : 14788if ${ac_cv_header_stdbool_h+:} false; then :
@@ -14824,38 +15042,6 @@ fi
14824 15042
14825 15043
14826 15044
14827 GNULIB_FCHMODAT=0;
14828 GNULIB_FSTATAT=0;
14829 GNULIB_FUTIMENS=0;
14830 GNULIB_LCHMOD=0;
14831 GNULIB_LSTAT=0;
14832 GNULIB_MKDIRAT=0;
14833 GNULIB_MKFIFO=0;
14834 GNULIB_MKFIFOAT=0;
14835 GNULIB_MKNOD=0;
14836 GNULIB_MKNODAT=0;
14837 GNULIB_STAT=0;
14838 GNULIB_UTIMENSAT=0;
14839 HAVE_FCHMODAT=1;
14840 HAVE_FSTATAT=1;
14841 HAVE_FUTIMENS=1;
14842 HAVE_LCHMOD=1;
14843 HAVE_LSTAT=1;
14844 HAVE_MKDIRAT=1;
14845 HAVE_MKFIFO=1;
14846 HAVE_MKFIFOAT=1;
14847 HAVE_MKNOD=1;
14848 HAVE_MKNODAT=1;
14849 HAVE_UTIMENSAT=1;
14850 REPLACE_FSTAT=0;
14851 REPLACE_FSTATAT=0;
14852 REPLACE_FUTIMENS=0;
14853 REPLACE_LSTAT=0;
14854 REPLACE_MKDIR=0;
14855 REPLACE_MKFIFO=0;
14856 REPLACE_MKNOD=0;
14857 REPLACE_STAT=0;
14858 REPLACE_UTIMENSAT=0;
14859 15045
14860{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5 15046{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5
14861$as_echo_n "checking whether stat file-mode macros are broken... " >&6; } 15047$as_echo_n "checking whether stat file-mode macros are broken... " >&6; }
@@ -15768,6 +15954,28 @@ fi
15768 15954
15769 # Code from module include_next: 15955 # Code from module include_next:
15770 # Code from module intprops: 15956 # Code from module intprops:
15957 # Code from module lstat:
15958
15959
15960
15961 if test $ac_cv_func_lstat = yes; then
15962
15963 if test $ac_cv_func_lstat_dereferences_slashed_symlink = no; then
15964 REPLACE_LSTAT=1
15965 fi
15966 # Prerequisites of lib/lstat.c.
15967
15968 else
15969 HAVE_LSTAT=0
15970 fi
15971
15972
15973
15974
15975 GNULIB_LSTAT=1
15976
15977
15978
15771 # Code from module mktime: 15979 # Code from module mktime:
15772 15980
15773 15981
@@ -16025,6 +16233,247 @@ fi
16025 16233
16026 # Code from module multiarch: 16234 # Code from module multiarch:
16027 16235
16236 # Code from module readlink:
16237
16238
16239
16240 if test $ac_cv_func_readlink = no; then
16241 HAVE_READLINK=0
16242
16243
16244
16245
16246
16247
16248
16249
16250 gl_LIBOBJS="$gl_LIBOBJS readlink.$ac_objext"
16251
16252
16253 :
16254
16255 else
16256 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether readlink signature is correct" >&5
16257$as_echo_n "checking whether readlink signature is correct... " >&6; }
16258if ${gl_cv_decl_readlink_works+:} false; then :
16259 $as_echo_n "(cached) " >&6
16260else
16261 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16262/* end confdefs.h. */
16263#include <unistd.h>
16264 /* Cause compilation failure if original declaration has wrong type. */
16265 ssize_t readlink (const char *, char *, size_t);
16266int
16267main ()
16268{
16269
16270 ;
16271 return 0;
16272}
16273_ACEOF
16274if ac_fn_c_try_compile "$LINENO"; then :
16275 gl_cv_decl_readlink_works=yes
16276else
16277 gl_cv_decl_readlink_works=no
16278fi
16279rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16280fi
16281{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_readlink_works" >&5
16282$as_echo "$gl_cv_decl_readlink_works" >&6; }
16283 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether readlink handles trailing slash correctly" >&5
16284$as_echo_n "checking whether readlink handles trailing slash correctly... " >&6; }
16285if ${gl_cv_func_readlink_works+:} false; then :
16286 $as_echo_n "(cached) " >&6
16287else
16288 # We have readlink, so assume ln -s works.
16289 ln -s conftest.no-such conftest.link
16290 ln -s conftest.link conftest.lnk2
16291 if test "$cross_compiling" = yes; then :
16292 gl_cv_func_readlink_works="guessing no"
16293else
16294 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16295/* end confdefs.h. */
16296#include <unistd.h>
16297
16298int
16299main ()
16300{
16301char buf[20];
16302 return readlink ("conftest.lnk2/", buf, sizeof buf) != -1;
16303 ;
16304 return 0;
16305}
16306_ACEOF
16307if ac_fn_c_try_run "$LINENO"; then :
16308 gl_cv_func_readlink_works=yes
16309else
16310 gl_cv_func_readlink_works=no
16311fi
16312rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
16313 conftest.$ac_objext conftest.beam conftest.$ac_ext
16314fi
16315
16316 rm -f conftest.link conftest.lnk2
16317fi
16318{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_readlink_works" >&5
16319$as_echo "$gl_cv_func_readlink_works" >&6; }
16320 if test "$gl_cv_func_readlink_works" != yes; then
16321
16322$as_echo "#define READLINK_TRAILING_SLASH_BUG 1" >>confdefs.h
16323
16324 REPLACE_READLINK=1
16325
16326
16327
16328
16329
16330
16331
16332
16333 gl_LIBOBJS="$gl_LIBOBJS readlink.$ac_objext"
16334
16335 elif test "$gl_cv_decl_readlink_works" != yes; then
16336 REPLACE_READLINK=1
16337
16338
16339
16340
16341
16342
16343
16344
16345 gl_LIBOBJS="$gl_LIBOBJS readlink.$ac_objext"
16346
16347 fi
16348 fi
16349
16350
16351
16352
16353 GNULIB_READLINK=1
16354
16355
16356
16357 # Code from module stat:
16358
16359
16360
16361
16362 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat handles trailing slashes on directories" >&5
16363$as_echo_n "checking whether stat handles trailing slashes on directories... " >&6; }
16364if ${gl_cv_func_stat_dir_slash+:} false; then :
16365 $as_echo_n "(cached) " >&6
16366else
16367 if test "$cross_compiling" = yes; then :
16368 case $host_os in
16369 mingw*) gl_cv_func_stat_dir_slash="guessing no";;
16370 *) gl_cv_func_stat_dir_slash="guessing yes";;
16371 esac
16372else
16373 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16374/* end confdefs.h. */
16375#include <sys/stat.h>
16376
16377int
16378main ()
16379{
16380struct stat st; return stat (".", &st) != stat ("./", &st);
16381 ;
16382 return 0;
16383}
16384_ACEOF
16385if ac_fn_c_try_run "$LINENO"; then :
16386 gl_cv_func_stat_dir_slash=yes
16387else
16388 gl_cv_func_stat_dir_slash=no
16389fi
16390rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
16391 conftest.$ac_objext conftest.beam conftest.$ac_ext
16392fi
16393
16394fi
16395{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_stat_dir_slash" >&5
16396$as_echo "$gl_cv_func_stat_dir_slash" >&6; }
16397 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat handles trailing slashes on files" >&5
16398$as_echo_n "checking whether stat handles trailing slashes on files... " >&6; }
16399if ${gl_cv_func_stat_file_slash+:} false; then :
16400 $as_echo_n "(cached) " >&6
16401else
16402 touch conftest.tmp
16403 # Assume that if we have lstat, we can also check symlinks.
16404 if test $ac_cv_func_lstat = yes; then
16405 ln -s conftest.tmp conftest.lnk
16406 fi
16407 if test "$cross_compiling" = yes; then :
16408 gl_cv_func_stat_file_slash="guessing no"
16409else
16410 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16411/* end confdefs.h. */
16412#include <sys/stat.h>
16413
16414int
16415main ()
16416{
16417int result = 0;
16418 struct stat st;
16419 if (!stat ("conftest.tmp/", &st))
16420 result |= 1;
16421#if HAVE_LSTAT
16422 if (!stat ("conftest.lnk/", &st))
16423 result |= 2;
16424#endif
16425 return result;
16426
16427 ;
16428 return 0;
16429}
16430_ACEOF
16431if ac_fn_c_try_run "$LINENO"; then :
16432 gl_cv_func_stat_file_slash=yes
16433else
16434 gl_cv_func_stat_file_slash=no
16435fi
16436rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
16437 conftest.$ac_objext conftest.beam conftest.$ac_ext
16438fi
16439
16440 rm -f conftest.tmp conftest.lnk
16441fi
16442{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_stat_file_slash" >&5
16443$as_echo "$gl_cv_func_stat_file_slash" >&6; }
16444 case $gl_cv_func_stat_dir_slash in
16445 *no) REPLACE_STAT=1
16446
16447$as_echo "#define REPLACE_FUNC_STAT_DIR 1" >>confdefs.h
16448;;
16449 esac
16450 case $gl_cv_func_stat_file_slash in
16451 *no) REPLACE_STAT=1
16452
16453$as_echo "#define REPLACE_FUNC_STAT_FILE 1" >>confdefs.h
16454;;
16455 esac
16456 if test $REPLACE_STAT = 1; then
16457
16458
16459
16460
16461
16462
16463
16464
16465 gl_LIBOBJS="$gl_LIBOBJS stat.$ac_objext"
16466
16467
16468 fi
16469
16470
16471
16472
16473 GNULIB_STAT=1
16474
16475
16476
16028 # Code from module stdbool: 16477 # Code from module stdbool:
16029 16478
16030 16479
@@ -16929,6 +17378,86 @@ $as_echo "#define my_strftime nstrftime" >>confdefs.h
16929 17378
16930 17379
16931 17380
17381 # Code from module symlink:
17382
17383
17384
17385 if test $ac_cv_func_symlink = no; then
17386 HAVE_SYMLINK=0
17387
17388
17389
17390
17391
17392
17393
17394
17395 gl_LIBOBJS="$gl_LIBOBJS symlink.$ac_objext"
17396
17397 else
17398 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether symlink handles trailing slash correctly" >&5
17399$as_echo_n "checking whether symlink handles trailing slash correctly... " >&6; }
17400if ${gl_cv_func_symlink_works+:} false; then :
17401 $as_echo_n "(cached) " >&6
17402else
17403 if test "$cross_compiling" = yes; then :
17404 gl_cv_func_symlink_works="guessing no"
17405else
17406 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17407/* end confdefs.h. */
17408#include <unistd.h>
17409
17410int
17411main ()
17412{
17413int result = 0;
17414 if (!symlink ("a", "conftest.link/"))
17415 result |= 1;
17416 if (symlink ("conftest.f", "conftest.lnk2"))
17417 result |= 2;
17418 else if (!symlink ("a", "conftest.lnk2/"))
17419 result |= 4;
17420 return result;
17421
17422 ;
17423 return 0;
17424}
17425_ACEOF
17426if ac_fn_c_try_run "$LINENO"; then :
17427 gl_cv_func_symlink_works=yes
17428else
17429 gl_cv_func_symlink_works=no
17430fi
17431rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
17432 conftest.$ac_objext conftest.beam conftest.$ac_ext
17433fi
17434
17435 rm -f conftest.f conftest.link conftest.lnk2
17436fi
17437{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_symlink_works" >&5
17438$as_echo "$gl_cv_func_symlink_works" >&6; }
17439 if test "$gl_cv_func_symlink_works" != yes; then
17440 REPLACE_SYMLINK=1
17441
17442
17443
17444
17445
17446
17447
17448
17449 gl_LIBOBJS="$gl_LIBOBJS symlink.$ac_objext"
17450
17451 fi
17452 fi
17453
17454
17455
17456
17457 GNULIB_SYMLINK=1
17458
17459
17460
16932 # Code from module sys_stat: 17461 # Code from module sys_stat:
16933 17462
16934 17463
@@ -17212,23 +17741,6 @@ $as_echo "$gl_cv_next_unistd_h" >&6; }
17212 17741
17213 17742
17214 17743
17215# Emacs does not care about lstat's behavior on files whose names end in
17216# trailing slashes, so it does not use the gnulib lstat module.
17217# However, Emacs does want the "#define lstat stat" in sys/stat.h
17218# when lstat does not exist, so it pretends to use the lstat module
17219# even though it implements only the lstat-checking part of that module.
17220
17221
17222
17223test $ac_cv_func_lstat = yes || HAVE_LSTAT=0
17224
17225
17226
17227 GNULIB_LSTAT=1
17228
17229
17230
17231
17232# UNIX98 PTYs. 17744# UNIX98 PTYs.
17233for ac_func in grantpt 17745for ac_func in grantpt
17234do : 17746do :