Move GNU_LIBRARY_PENDING_OUTPUT_COUNT from src/s to configure
* configure.ac (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Move here from src/s. * src/s/gnu.h, src/s/gnu-linux.h: Move GNU_LIBRARY_PENDING_OUTPUT_COUNT to configure.
This commit is contained in:
parent
b41253a389
commit
c8add24e86
5 changed files with 72 additions and 36 deletions
|
@ -1,3 +1,8 @@
|
|||
2012-07-11 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* configure.ac (GNU_LIBRARY_PENDING_OUTPUT_COUNT):
|
||||
Move here from src/s.
|
||||
|
||||
2012-07-11 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Assume rename, strerror.
|
||||
|
|
70
configure.ac
70
configure.ac
|
@ -3163,19 +3163,14 @@ dnl Used in sound.c
|
|||
AC_DEFINE_UNQUOTED(DEFAULT_SOUND_DEVICE, "$sound_device",
|
||||
[Name of the default sound device.])
|
||||
|
||||
dnl Used in vm-limit.c
|
||||
AH_TEMPLATE(DATA_START, [Address of the start of the data segment.])
|
||||
dnl Used in lisp.h, emacs.c, mem-limits.h
|
||||
dnl NEWS.18 describes this as "a number which contains
|
||||
dnl the high bits to be inclusive or'ed with pointers that are unpacked."
|
||||
AH_TEMPLATE(DATA_SEG_BITS, [Extra bits to be or'd in with any pointers
|
||||
stored in a Lisp_Object.])
|
||||
dnl if Emacs uses fewer than 32 bits for the value field of a LISP_OBJECT.
|
||||
|
||||
dnl Used in dispnew.c
|
||||
AH_TEMPLATE(PENDING_OUTPUT_COUNT, [Number of chars of output in the
|
||||
buffer of a stdio stream.])
|
||||
|
||||
dnl FIXME just PENDING_OUTPUT_COUNT should suffice.
|
||||
AH_TEMPLATE(GNU_LIBRARY_PENDING_OUTPUT_COUNT, [Value of
|
||||
PENDING_OUTPUT_COUNT if using the GNU C library.])
|
||||
|
||||
case $opsys in
|
||||
cygwin | darwin | freebsd | netbsd | openbsd )
|
||||
AC_DEFINE(PENDING_OUTPUT_COUNT(FILE), [((FILE)->_p - (FILE)->_bf._base)])
|
||||
|
@ -3185,6 +3180,63 @@ case $opsys in
|
|||
AC_DEFINE(PENDING_OUTPUT_COUNT(FILE), [((FILE)->__ptr - (FILE)->__base)])
|
||||
;;
|
||||
|
||||
gnu | gnu-linux | gnu-kfreebsd )
|
||||
AC_MSG_CHECKING([for style of pending output formalism])
|
||||
dnl In autoconf 2.67 (?) and later, we could use a single test
|
||||
dnl since the preprocessed output is accessible in "conftest.i".
|
||||
AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[
|
||||
#include <stdio.h>
|
||||
#if !defined (_IO_STDIO_H) && !defined (_STDIO_USES_IOSTREAM)
|
||||
# error "stdio definitions not found"
|
||||
#endif
|
||||
]], [[]])], emacs_pending_output=new, emacs_pending_output=unknown)
|
||||
|
||||
if test $emacs_pending_output = unknown; then
|
||||
case $opsys in
|
||||
gnu-linux | gnu-kfreebsd)
|
||||
AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[
|
||||
#include <stdio.h>
|
||||
#ifndef __UCLIBC__
|
||||
# error "not using uclibc"
|
||||
#endif
|
||||
]], [[]])], emacs_pending_output=uclibc, emacs_pending_output=old)
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
AC_MSG_RESULT([$emacs_pending_output])
|
||||
|
||||
case $emacs_pending_output in
|
||||
new)
|
||||
dnl New C libio names.
|
||||
AC_DEFINE(GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE),
|
||||
[((FILE)->_IO_write_ptr - (FILE)->_IO_write_base)])
|
||||
;;
|
||||
uclibc)
|
||||
dnl Using the uClibc library.
|
||||
AC_DEFINE(GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE),
|
||||
[((FILE)->__bufpos - (FILE)->__bufstart)])
|
||||
;;
|
||||
old)
|
||||
dnl Old C++ iostream names.
|
||||
AC_DEFINE(GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE),
|
||||
[((FILE)->_pptr - (FILE)->_pbase)])
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
dnl Used in vm-limit.c
|
||||
AH_TEMPLATE(DATA_START, [Address of the start of the data segment.])
|
||||
dnl Used in lisp.h, emacs.c, mem-limits.h
|
||||
dnl NEWS.18 describes this as "a number which contains
|
||||
dnl the high bits to be inclusive or'ed with pointers that are unpacked."
|
||||
AH_TEMPLATE(DATA_SEG_BITS, [Extra bits to be or'd in with any pointers
|
||||
stored in a Lisp_Object.])
|
||||
dnl if Emacs uses fewer than 32 bits for the value field of a LISP_OBJECT.
|
||||
|
||||
case $opsys in
|
||||
gnu)
|
||||
dnl libc defines data_start.
|
||||
AC_DEFINE(DATA_START, [({ extern int data_start; (char *) &data_start; })])
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2012-07-11 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* s/gnu.h, s/gnu-linux.h:
|
||||
Move GNU_LIBRARY_PENDING_OUTPUT_COUNT to configure.
|
||||
|
||||
2012-07-11 John Wiegley <johnw@newartisans.com>
|
||||
|
||||
* alloc.c (mark_memory): Guard the "no_address_safety_analysis"
|
||||
|
|
|
@ -92,25 +92,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
your system and must be used only through an encapsulation
|
||||
(Which you should place, by convention, in sysdep.c). */
|
||||
|
||||
/* This is needed for dispnew.c:update_frame. */
|
||||
#ifdef emacs
|
||||
#include <stdio.h> /* Get the definition of _IO_STDIO_H. */
|
||||
#if defined (_IO_STDIO_H) || defined (_STDIO_USES_IOSTREAM)
|
||||
/* New C libio names. */
|
||||
#define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \
|
||||
((FILE)->_IO_write_ptr - (FILE)->_IO_write_base)
|
||||
#elif defined (__UCLIBC__)
|
||||
/* Using the uClibc library. */
|
||||
#define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \
|
||||
((FILE)->__bufpos - (FILE)->__bufstart)
|
||||
#else /* !_IO_STDIO_H && ! __UCLIBC__ */
|
||||
/* Old C++ iostream names. */
|
||||
#define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \
|
||||
((FILE)->_pptr - (FILE)->_pbase)
|
||||
#endif /* !_IO_STDIO_H && ! __UCLIBC__ */
|
||||
|
||||
#define INTERRUPT_INPUT
|
||||
#endif /* emacs */
|
||||
#endif
|
||||
|
||||
#define POSIX /* affects getpagesize.h and systty.h */
|
||||
|
||||
|
|
10
src/s/gnu.h
10
src/s/gnu.h
|
@ -20,13 +20,3 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
|
||||
/* Get most of the stuff from bsd-common */
|
||||
#include "bsd-common.h"
|
||||
|
||||
/* It would be harmless to drop the ifdef emacs test. */
|
||||
#ifdef emacs
|
||||
#include <stdio.h> /* Get the definition of _IO_STDIO_H. */
|
||||
#if defined (_IO_STDIO_H) || defined (_STDIO_USES_IOSTREAM)
|
||||
/* new C libio names */
|
||||
#define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \
|
||||
((FILE)->_IO_write_ptr - (FILE)->_IO_write_base)
|
||||
#endif /* !_IO_STDIO_H */
|
||||
#endif /* emacs */
|
||||
|
|
Loading…
Add table
Reference in a new issue