summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2012-07-12 19:34:05 -0700
committerGlenn Morris <rgm@gnu.org>2012-07-12 19:34:05 -0700
commit983188fd542cdf5704929b27f5c17acb30b6f1ad (patch)
tree50fa2a6a01e1a62ecbfeb9ccaff27e4d8eb5c298
parentd1e6866717a2951394c9779870db56b863ef40a1 (diff)
downloademacs-983188fd542cdf5704929b27f5c17acb30b6f1ad.tar.gz
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.
-rw-r--r--ChangeLog6
-rw-r--r--configure.ac96
-rw-r--r--src/ChangeLog14
-rw-r--r--src/s/aix4-2.h13
-rw-r--r--src/s/bsd-common.h18
-rw-r--r--src/s/cygwin.h3
-rw-r--r--src/s/darwin.h13
-rw-r--r--src/s/freebsd.h10
-rw-r--r--src/s/gnu-linux.h12
-rw-r--r--src/s/hpux10-20.h9
-rw-r--r--src/s/irix6-5.h2
-rw-r--r--src/s/sol2-6.h2
-rw-r--r--src/s/template.h10
-rw-r--r--src/s/usg5-4-common.h7
14 files changed, 116 insertions, 99 deletions
diff --git a/ChangeLog b/ChangeLog
index 2902ec882ed..27a65e562e4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2012-07-13 Glenn Morris <rgm@gnu.org>
+ * 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 <stdio.h>
@@ -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 <rgm@gnu.org>
+
+ * 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 <bpt@hcoop.net> (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 <http://www.gnu.org/licenses/>. */
-/* 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 <pedz@ddivt1.austin.ibm.com> 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 <http://www.gnu.org/licenses/>. */
-/* 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 <sys/param.h> 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 <http://www.gnu.org/licenses/>. */
-/* 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 <http://www.gnu.org/licenses/>. */
-
-/* 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 <http://www.gnu.org/licenses/>. */
/* 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 <http://www.gnu.org/licenses/>. */
-/* 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 <http://www.gnu.org/licenses/>. */
-
-/* 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 <http://www.gnu.org/licenses/>. */
-
-#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 <http://www.gnu.org/licenses/>. */
#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 <http://www.gnu.org/licenses/>. */
-
-/* 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 <http://www.gnu.org/licenses/>. */
-/* 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