From: Glenn Morris Date: Fri, 13 Jul 2012 02:34:05 +0000 (-0700) Subject: Move "system type" macros from src/s to configure X-Git-Tag: emacs-24.2.90~1199^2~22 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=983188fd542cdf5704929b27f5c17acb30b6f1ad;p=emacs.git Move "system type" macros from src/s to configure * configure.ac (BSD4_2, BSD_SYSTEM, USG, USG5, _AIX, CYGWIN) (DARWIN_OS, GNU_LINUX, HPUX, IRIX6_5, SOLARIS2): Move "system type" macros here from src/s. (BSD_SYSTEM_AHB): New hack macro. (AH_BOTTOM): Set BSD_SYSTEM, using BSD_SYSTEM_AHB. * src/s/usg5-4-common.h (USG, USG5): * src/s/template.h (USG5, USG, HPUX, BSD4_2, BSD_SYSTEM): * src/s/sol2-6.h (SOLARIS2): * src/s/irix6-5.h (IRIX6_5): * src/s/hpux10-20.h (USG, USG5, HPUX): * src/s/gnu-linux.h (USG, GNU_LINUX): * src/s/freebsd.h (BSD_SYSTEM): * src/s/darwin.h (BSD4_2, BSD_SYSTEM, DARWIN_OS): * src/s/cygwin.h (CYGWIN): * src/s/bsd-common.h (BSD_SYSTEM, BSD4_2): * src/s/aix4-2.h (USG, USG5, _AIX): Move "system type" macros to configure. --- diff --git a/ChangeLog b/ChangeLog index 2902ec882ed..27a65e562e4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2012-07-13 Glenn Morris + * configure.ac (BSD4_2, BSD_SYSTEM, USG, USG5, _AIX, CYGWIN) + (DARWIN_OS, GNU_LINUX, HPUX, IRIX6_5, SOLARIS2): + Move "system type" macros here from src/s. + (BSD_SYSTEM_AHB): New hack macro. + (AH_BOTTOM): Set BSD_SYSTEM, using BSD_SYSTEM_AHB. + * configure.ac (NSIG_MINIMUM, ULIMIT_BREAK_VALUE): Move here from src/s. diff --git a/configure.ac b/configure.ac index 6b3642766d4..35866fd40a2 100644 --- a/configure.ac +++ b/configure.ac @@ -3481,7 +3481,7 @@ case $opsys in 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 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 @@ -3595,6 +3595,87 @@ case $opsys in esac +dnl Define symbols to identify the version of Unix this is. +dnl Define all the symbols that apply correctly. +AH_TEMPLATE(BSD4_2, [Define if the system is compatible with BSD 4.2.]) +AH_TEMPLATE(BSD_SYSTEM, [Define if the system is compatible with BSD 4.2.]) +AH_TEMPLATE(USG, [Define if the system is compatible with System III.]) +AH_TEMPLATE(USG5, [Define if the system is compatible with System V.]) + +case $opsys in + aix4-2) + AC_DEFINE(USG, []) + AC_DEFINE(USG5, []) + dnl This symbol should be defined on AIX Version 3 ??????? + AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[ +#ifndef _AIX +# error "_AIX not defined" +#endif + ]], [[]])], [], AC_DEFINE(_AIX, [], [Define if the system is AIX.])) + ;; + + cygwin) + AC_DEFINE(CYGWIN, 1, [Define if the system is Cygwin.]) + ;; + + darwin) + dnl BSD4_3 and BSD4_4 are already defined in sys/param.h. + AC_DEFINE(BSD4_2, []) + AC_DEFINE(BSD_SYSTEM, []) + dnl More specific than the above two. We cannot use __APPLE__ as this + dnl may not be defined on non-OSX Darwin, and we cannot define DARWIN + dnl here because Panther and lower CoreFoundation.h uses DARWIN to + dnl distinguish OS X from pure Darwin. + AC_DEFINE(DARWIN_OS, [], [Define if the system is Darwin.]) + ;; + + freebsd) + AC_DEFINE(BSD4_2, []) + dnl Hack to avoid calling AC_PREPROC_IFELSE multiple times. + dnl Would not be needed with autoconf >= 2.67, where the + dnl preprocessed output is accessible in "conftest.i". + AC_DEFINE(BSD_SYSTEM_AHB, 1, [Define if AH_BOTTOM should change BSD_SYSTEM.]) + ;; + + gnu | netbsd | openbsd ) + AC_DEFINE(BSD4_2, []) + AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[ +#ifndef BSD_SYSTEM +# error "BSD_SYSTEM not defined" +#endif + ]], [[]])], [], AC_DEFINE(BSD_SYSTEM, 43) ) + ;; + + gnu-linux | gnu-kfreebsd ) + AC_DEFINE(USG, []) + AC_DEFINE(GNU_LINUX, [], [Define if ths system is compatible with GNU/Linux.]) + ;; + + hpux*) + AC_DEFINE(USG, []) + AC_DEFINE(USG5, []) + AC_DEFINE(HPUX, [], [Define if the system is HPUX.]) + ;; + + irix6-5) + AC_DEFINE(USG, []) + AC_DEFINE(USG5, []) + AC_DEFINE(IRIX6_5, [], [Define if the system is IRIX.]) + ;; + + sol2*) + AC_DEFINE(USG, []) + AC_DEFINE(USG5, []) + AC_DEFINE(SOLARIS2, [], [Define if the system is Solaris.]) + ;; + + unixware) + AC_DEFINE(USG, []) + AC_DEFINE(USG5, []) + ;; +esac + + case $opsys in dnl Emacs supplies its own malloc, but glib (part of Gtk+) calls dnl memalign and on Cygwin, that becomes the Cygwin-supplied memalign. @@ -4035,6 +4116,19 @@ AH_BOTTOM([ # error "alloca not available on this machine" #endif +/* This silences a few compilation warnings on FreeBSD. */ +#ifdef BSD_SYSTEM_AHB +#undef BSD_SYSTEM_AHB +#undef BSD_SYSTEM +#if __FreeBSD__ == 1 +#define BSD_SYSTEM 199103 +#elif __FreeBSD__ == 2 +#define BSD_SYSTEM 199306 +#elif __FreeBSD__ >= 3 +#define BSD_SYSTEM 199506 +#endif +#endif + /* Define AMPERSAND_FULL_NAME if you use the convention that & in the full name stands for the login id. */ /* Turned on June 1996 supposing nobody will mind it. */ diff --git a/src/ChangeLog b/src/ChangeLog index 8a0142eb2b8..8baa986fc5c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,17 @@ +2012-07-13 Glenn Morris + + * s/usg5-4-common.h (USG, USG5): + * s/template.h (USG5, USG, HPUX, BSD4_2, BSD_SYSTEM): + * s/sol2-6.h (SOLARIS2): + * s/irix6-5.h (IRIX6_5): + * s/hpux10-20.h (USG, USG5, HPUX): + * s/gnu-linux.h (USG, GNU_LINUX): + * s/freebsd.h (BSD_SYSTEM): + * s/darwin.h (BSD4_2, BSD_SYSTEM, DARWIN_OS): + * s/cygwin.h (CYGWIN): + * s/bsd-common.h (BSD_SYSTEM, BSD4_2): + * s/aix4-2.h (USG, USG5, _AIX): Move "system type" macros to configure. + 2012-07-13 BT Templeton (tiny change) * nsfont.m (ns_charset_covers): Don't abort if no bitmap (Bug#11853). diff --git a/src/s/aix4-2.h b/src/s/aix4-2.h index 55000f6f279..debc9f78c16 100644 --- a/src/s/aix4-2.h +++ b/src/s/aix4-2.h @@ -16,19 +16,6 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see . */ -/* Define symbols to identify the version of Unix this is. - Define all the symbols that apply correctly. */ -#define USG /* System III, System V, etc */ -#define USG5 - -/* This symbol should be defined on AIX Version 3 ??????? */ -#ifndef _AIX -#define _AIX -#endif - - -/* Special items needed to make Emacs run on this system. */ - /* Perry Smith says these are correct. */ #undef sigmask diff --git a/src/s/bsd-common.h b/src/s/bsd-common.h index 681f6599010..9e8c9ba4726 100644 --- a/src/s/bsd-common.h +++ b/src/s/bsd-common.h @@ -18,21 +18,3 @@ You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see . */ -/* Define symbols to identify the version of Unix this is. - Define all the symbols that apply correctly. */ - -/* We give these symbols the numeric values found in to - avoid warnings about redefined macros. */ - -/* Nothing in Emacs uses this any more. - ifndef BSD4_3 - define BSD4_3 1 - endif -*/ - -#ifndef BSD_SYSTEM -#define BSD_SYSTEM 43 -#endif /* BSD_SYSTEM */ - -/* For mem-limits.h. */ -#define BSD4_2 diff --git a/src/s/cygwin.h b/src/s/cygwin.h index 7c32fd3f90d..1295083cd8e 100644 --- a/src/s/cygwin.h +++ b/src/s/cygwin.h @@ -17,5 +17,4 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see . */ -/* Used in various places to enable cygwin-specific code changes. */ -#define CYGWIN 1 + diff --git a/src/s/darwin.h b/src/s/darwin.h index 8b46113a720..20d576e4986 100644 --- a/src/s/darwin.h +++ b/src/s/darwin.h @@ -17,19 +17,6 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see . */ - -/* Define symbols to identify the version of Unix this is. - Define all the symbols that apply correctly. */ -#define BSD4_2 -/* BSD4_3 and BSD4_4 are already defined in sys/param.h */ -#define BSD_SYSTEM - -/* More specific than the above two. We cannot use __APPLE__ as this - may not be defined on non-OSX Darwin, and we cannot define DARWIN - here because Panther and lower CoreFoundation.h uses DARWIN to - distinguish OS X from pure Darwin. */ -#define DARWIN_OS - /* Definitions for how to compile & link. */ #ifdef emacs #define malloc unexec_malloc diff --git a/src/s/freebsd.h b/src/s/freebsd.h index 8200238bf1f..f5838266143 100644 --- a/src/s/freebsd.h +++ b/src/s/freebsd.h @@ -23,16 +23,6 @@ along with GNU Emacs. If not, see . */ /* Get most of the stuff from bsd-common */ #include "bsd-common.h" -/* This silences a few compilation warnings. */ -#undef BSD_SYSTEM -#if __FreeBSD__ == 1 -#define BSD_SYSTEM 199103 -#elif __FreeBSD__ == 2 -#define BSD_SYSTEM 199306 -#elif __FreeBSD__ >= 3 -#define BSD_SYSTEM 199506 -#endif - /* Tell that garbage collector that setjmp is known to save all registers relevant for conservative garbage collection in the jmp_buf. */ #define GC_SETJMP_WORKS 1 diff --git a/src/s/gnu-linux.h b/src/s/gnu-linux.h index 30bdf0407be..6c20c788150 100644 --- a/src/s/gnu-linux.h +++ b/src/s/gnu-linux.h @@ -20,18 +20,6 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see . */ -/* Define symbols to identify the version of Unix this is. - Define all the symbols that apply correctly. */ -#define USG -#define GNU_LINUX - -/* Here, on a separate page, add any special hacks needed - to make Emacs work on this system. For example, - you might define certain system call names that don't - exist on your system, or that do different things on - your system and must be used only through an encapsulation - (Which you should place, by convention, in sysdep.c). */ - #ifdef __ia64__ #define GC_MARK_SECONDARY_STACK() \ do { \ diff --git a/src/s/hpux10-20.h b/src/s/hpux10-20.h index 6115565e9d0..c913062701a 100644 --- a/src/s/hpux10-20.h +++ b/src/s/hpux10-20.h @@ -17,15 +17,6 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see . */ - -/* Define symbols to identify the version of Unix this is. - Define all the symbols that apply correctly. */ -#define USG /* System III, System V, etc */ -#define USG5 -#define HPUX - -/* Special hacks needed to make Emacs run on this system. */ - /* We have to go this route, rather than hpux9's approach of renaming the functions via macros. The system's stdlib.h has fully prototyped declarations, which yields a conflicting definition of srand48; it diff --git a/src/s/irix6-5.h b/src/s/irix6-5.h index a8923d230d2..a7365a76a91 100644 --- a/src/s/irix6-5.h +++ b/src/s/irix6-5.h @@ -17,8 +17,6 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see . */ - -#define IRIX6_5 /* used in m/iris4d */ #include "usg5-4-common.h" #undef _longjmp /* use system versions, not conservative aliases */ diff --git a/src/s/sol2-6.h b/src/s/sol2-6.h index ff6cfc277cc..78d13f2063d 100644 --- a/src/s/sol2-6.h +++ b/src/s/sol2-6.h @@ -19,6 +19,4 @@ along with GNU Emacs. If not, see . */ #include "usg5-4-common.h" -#define SOLARIS2 - #define GC_SETJMP_WORKS 1 diff --git a/src/s/template.h b/src/s/template.h index f14890bc292..e6f43896aac 100644 --- a/src/s/template.h +++ b/src/s/template.h @@ -19,16 +19,6 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see . */ - -/* Define symbols to identify the version of Unix this is. - Define all the symbols that apply correctly. */ - -/* #define USG5 */ -/* #define USG */ -/* #define HPUX */ -/* #define BSD4_2 */ -/* #define BSD_SYSTEM */ - /* subprocesses should be undefined if you do NOT want to have code for asynchronous subprocesses (as used in M-x compile and M-x shell). diff --git a/src/s/usg5-4-common.h b/src/s/usg5-4-common.h index 883d0b5dc21..93a05ebec54 100644 --- a/src/s/usg5-4-common.h +++ b/src/s/usg5-4-common.h @@ -20,13 +20,6 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see . */ -/* Use the SysVr3 file for at least base configuration. */ -#define USG /* System III, System V, etc */ - -#define USG5 -/* Nothing in Emacs use this any more. */ -/* #define USG5_4 */ - /* setjmp and longjmp can safely replace _setjmp and _longjmp, but they will run slower. */ #define _setjmp setjmp