aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--autogen/config.in23
-rwxr-xr-xautogen/configure95
2 files changed, 103 insertions, 15 deletions
diff --git a/autogen/config.in b/autogen/config.in
index ba1594aced6..5f5052c5205 100644
--- a/autogen/config.in
+++ b/autogen/config.in
@@ -155,6 +155,17 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
155/* Define this to check for short string overrun. */ 155/* Define this to check for short string overrun. */
156#undef GC_CHECK_STRING_OVERRUN 156#undef GC_CHECK_STRING_OVERRUN
157 157
158/* Mark a secondary stack, like the register stack on the ia64. */
159#undef GC_MARK_SECONDARY_STACK
160
161/* Define to GC_USE_GCPROS_AS_BEFORE if conservative garbage collection is not
162 known to work. */
163#undef GC_MARK_STACK
164
165/* Define if setjmp is known to save all registers relevant for conservative
166 garbage collection in the jmp_buf. */
167#undef GC_SETJMP_WORKS
168
158/* Define to 1 if the `getpgrp' function requires zero arguments. */ 169/* Define to 1 if the `getpgrp' function requires zero arguments. */
159#undef GETPGRP_VOID 170#undef GETPGRP_VOID
160 171
@@ -1229,6 +1240,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
1229/* Define if process.c:child_setup should not call setpgrp. */ 1240/* Define if process.c:child_setup should not call setpgrp. */
1230#undef SETPGRP_RELEASES_CTTY 1241#undef SETPGRP_RELEASES_CTTY
1231 1242
1243/* How to set up a slave PTY, if needed. */
1244#undef SETUP_SLAVE_PTY
1245
1232/* Make process_send_signal work by "typing" a signal character on the pty. */ 1246/* Make process_send_signal work by "typing" a signal character on the pty. */
1233#undef SIGNALS_VIA_CHARACTERS 1247#undef SIGNALS_VIA_CHARACTERS
1234 1248
@@ -1658,15 +1672,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
1658#undef noinline 1672#undef noinline
1659#endif 1673#endif
1660 1674
1661/* These won't be used automatically yet. We also need to know, at least,
1662 that the stack is continuous. */
1663#ifdef __GNUC__
1664# ifndef GC_SETJMP_WORKS
1665 /* GC_SETJMP_WORKS is nearly always appropriate for GCC. */
1666# define GC_SETJMP_WORKS 1
1667# endif
1668#endif
1669
1670#endif /* EMACS_CONFIG_H */ 1675#endif /* EMACS_CONFIG_H */
1671 1676
1672/* 1677/*
diff --git a/autogen/configure b/autogen/configure
index 4423b06b095..a3199365f01 100755
--- a/autogen/configure
+++ b/autogen/configure
@@ -22843,20 +22843,25 @@ $as_echo "#define UNIX98_PTYS 1" >>confdefs.h
22843 ;; 22843 ;;
22844 22844
22845 sol2* ) 22845 sol2* )
22846 $as_echo "#define FIRST_PTY_LETTER 'z'" >>confdefs.h 22846 $as_echo "#define PTY_TTY_NAME_SPRINTF { char *ptsname (int), *ptyname; sigblock (sigmask (SIGCLD)); if (grantpt (fd) == -1) { emacs_close (fd); return -1; } sigunblock (sigmask (SIGCLD)); if (unlockpt (fd) == -1) { emacs_close (fd); return -1; } if (!(ptyname = ptsname (fd))) { emacs_close (fd); return -1; } snprintf (pty_name, sizeof pty_name, \"%s\", ptyname); } " >>confdefs.h
22847 22847
22848 $as_echo "#define PTY_NAME_SPRINTF strcpy (pty_name, \"/dev/ptmx\"); " >>confdefs.h 22848 ;;
22849 22849
22850 $as_echo "#define PTY_TTY_NAME_SPRINTF { char *ptsname (int), *ptyname; sigblock (sigmask (SIGCLD)); if (grantpt (fd) == -1) { emacs_close (fd); return -1; } sigunblock (sigmask (SIGCLD)); if (unlockpt (fd) == -1) { emacs_close (fd); return -1; } if (!(ptyname = ptsname (fd))) { emacs_close (fd); return -1; } snprintf (pty_name, sizeof pty_name, \"%s\", ptyname); } " >>confdefs.h 22850 unixware )
22851 $as_echo "#define PTY_TTY_NAME_SPRINTF { char *ptsname (int), *ptyname; sigblock(sigmask(SIGCLD)); if (grantpt(fd) == -1) fatal(\"could not grant slave pty\"); sigunblock(sigmask(SIGCLD)); if (unlockpt(fd) == -1) fatal(\"could not unlock slave pty\"); if (!(ptyname = ptsname(fd))) fatal (\"could not enable slave pty\"); snprintf (pty_name, sizeof pty_name, \"%s\", ptyname); } " >>confdefs.h
22851 22852
22852 ;; 22853 ;;
22854esac
22855
22853 22856
22854 unixware ) 22857case $opsys in
22855 $as_echo "#define FIRST_PTY_LETTER 'z'" >>confdefs.h 22858 sol2* | unixware )
22859 $as_echo "#define FIRST_PTY_LETTER 'z'" >>confdefs.h
22856 22860
22857 $as_echo "#define PTY_NAME_SPRINTF strcpy (pty_name, \"/dev/ptmx\"); " >>confdefs.h 22861 $as_echo "#define PTY_NAME_SPRINTF strcpy (pty_name, \"/dev/ptmx\"); " >>confdefs.h
22858 22862
22859 $as_echo "#define PTY_TTY_NAME_SPRINTF { char *ptsname (int), *ptyname; sigblock(sigmask(SIGCLD)); if (grantpt(fd) == -1) fatal(\"could not grant slave pty\"); sigunblock(sigmask(SIGCLD)); if (unlockpt(fd) == -1) fatal(\"could not unlock slave pty\"); if (!(ptyname = ptsname(fd))) fatal (\"could not enable slave pty\"); snprintf (pty_name, sizeof pty_name, \"%s\", ptyname); } " >>confdefs.h 22863
22864$as_echo "#define SETUP_SLAVE_PTY if (ioctl (xforkin, I_PUSH, \"ptem\") == -1) fatal (\"ioctl I_PUSH ptem\"); if (ioctl (xforkin, I_PUSH, \"ldterm\") == -1) fatal (\"ioctl I_PUSH ldterm\"); if (ioctl (xforkin, I_PUSH, \"ttcompat\") == -1) fatal (\"ioctl I_PUSH ttcompat\");" >>confdefs.h
22860 22865
22861 ;; 22866 ;;
22862esac 22867esac
@@ -23056,6 +23061,28 @@ if ac_fn_c_try_cpp "$LINENO"; then :
23056 23061
23057fi 23062fi
23058rm -f conftest.err conftest.$ac_ext 23063rm -f conftest.err conftest.$ac_ext
23064
23065 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
23066/* end confdefs.h. */
23067
23068#ifndef __ia64__
23069# error "not ia64"
23070#endif
23071
23072int
23073main ()
23074{
23075
23076 ;
23077 return 0;
23078}
23079_ACEOF
23080if ac_fn_c_try_cpp "$LINENO"; then :
23081
23082$as_echo "#define GC_MARK_SECONDARY_STACK() do { extern void *__libc_ia64_register_backing_store_base; __builtin_ia64_flushrs (); mark_memory (__libc_ia64_register_backing_store_base, __builtin_ia64_bsp ());} while (0)" >>confdefs.h
23083
23084fi
23085rm -f conftest.err conftest.$ac_ext
23059 ;; 23086 ;;
23060 23087
23061 hpux*) 23088 hpux*)
@@ -23071,6 +23098,62 @@ $as_echo "#define RUN_TIME_REMAP 1" >>confdefs.h
23071esac 23098esac
23072 23099
23073 23100
23101
23102
23103
23104
23105
23106case $opsys in
23107 aix4-2 | hpux* | unixware)
23108 $as_echo "#define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE" >>confdefs.h
23109
23110 ;;
23111
23112 gnu-linux | gnu-kfreebsd )
23113 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
23114/* end confdefs.h. */
23115
23116#if defined __i386__ || defined __sparc__ || defined __mc68000__ \
23117 || defined __alpha__ || defined __mips__ || defined __s390__ \
23118 || defined __arm__ || defined __powerpc__ || defined __amd64__ \
23119 || defined __ia64__ || defined __sh__
23120/* ok */
23121#else
23122# error "setjmp not known to work on this arch"
23123#endif
23124
23125int
23126main ()
23127{
23128
23129 ;
23130 return 0;
23131}
23132_ACEOF
23133if ac_fn_c_try_cpp "$LINENO"; then :
23134 $as_echo "#define GC_SETJMP_WORKS 1" >>confdefs.h
23135
23136else
23137 $as_echo "#define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE" >>confdefs.h
23138
23139fi
23140rm -f conftest.err conftest.$ac_ext
23141 ;;
23142esac
23143
23144
23145if test x$GCC = xyes; then
23146 $as_echo "#define GC_SETJMP_WORKS 1" >>confdefs.h
23147
23148else
23149 case $opsys in
23150 freebsd | netbsd | openbsd | irix6-5 | sol2* )
23151 $as_echo "#define GC_SETJMP_WORKS 1" >>confdefs.h
23152
23153 ;;
23154 esac
23155fi
23156
23074case $opsys in 23157case $opsys in
23075 hpux* | sol2* ) 23158 hpux* | sol2* )
23076 23159