* unexnext.c:
[bpt/emacs.git] / src / s / hpux10-20.h
similarity index 60%
rename from src/s/hpux.h
rename to src/s/hpux10-20.h
index 785fff1..8ea24fc 100644 (file)
@@ -1,7 +1,6 @@
-/* Definitions file for GNU Emacs running on HPUX release 7.0.
-   Based on AT&T System V.2.
-   Copyright (C) 1985, 1986, 1999, 2001, 2002, 2003, 2004, 2005, 2006,
-                 2007, 2008  Free Software Foundation, Inc.
+/* System description file for hpux version 10.20.
+   Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+     2008  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -19,6 +18,8 @@ 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 RUN_TIME_REMAP
+
 /*
  *     Define symbols to identify the version of Unix this is.
  *     Define all the symbols that apply correctly.
@@ -68,13 +69,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #define HAVE_SOCKETS
 
-/*
- *     Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
- *      The 4.2 opendir, etc., library functions.
- */
-
-/* #define NONSYSTEM_DIR_LIBRARY */
-
 /* Define this symbol if your system has the functions bcopy, etc.
  * s800 and later versions of s300 (s200) kernels have equivalents
  * of the BSTRING functions of BSD.  If your s200 kernel doesn't have
@@ -113,10 +107,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #define CLASH_DETECTION
 
-/* The file containing the kernel's symbol table is called /hp-ux.  */
-
-#define KERNEL_FILE "/hp-ux"
-
 /* The symbol in the kernel where the load average is found
    depends on the cpu type, so we let the m- files define LDAV_SYMBOL.  */
 
@@ -143,11 +133,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 /* Use the system provided termcap(3) library */
 #define TERMINFO
 
-/* The 48-bit versions are more winning for Emacs;
-   the ordinary ones don't give even 32 bits.  */
-#define random lrand48
-#define srandom srand48
-
 /* In hpux, the symbol SIGIO is defined, but the feature
    doesn't work in the way Emacs needs it to.  */
 
@@ -165,16 +150,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* #define static  */
 
-/* Define extra libraries to load.
-   This should have -lBSD, but that library is said to make
-   `signal' fail to work.  */
-
-#ifdef HPUX_NET
-#define LIBS_SYSTEM -ln
-#else
-#define LIBS_SYSTEM
-#endif
-
 /* Some additional system facilities exist.  */
 
 #define HAVE_PERROR  /* Delete this line for version 6.  */
@@ -182,16 +157,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 /* The following maps shared exec file to demand loaded exec.
    Don't do this as demand loaded exec is broken in hpux.  */
 
-#if 0
-
-/* Adjust a header field for the executable file about to be dumped.  */
-
-#define ADJUST_EXEC_HEADER   \
-  hdr.a_magic = ((ohdr.a_magic.file_type == OLDMAGIC.file_type) ?  \
-                NEWMAGIC : ohdr.a_magic);
-
-#endif
-
 /* Baud-rate values in tty status have nonstandard meanings.  */
 
 #define BAUD_CONVERT  \
@@ -209,10 +174,97 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 /* This triggers a conditional in xfaces.c.  */
 #define XOS_NEEDS_TIME_H
 
-#ifndef HPUX8
-/* It's possible that HPUX 7 has sys/wait.h but it does not work right.  */
-#undef HAVE_SYS_WAIT_H
+/* Don't use shared libraries.  unexec doesn't handle them.
+   Note GCC automatically passes -a archive to ld, and it has its own
+   conflicting -a.  */
+#ifdef __GNUC__
+
+#define LD_SWITCH_SYSTEM_TEMACS
+
+#else /* not __GNUC__ */
+/* Note, -a only works for hpux ld, not cc.  And "cc LD_SWITCH_SYSTEM"
+   is used in configure's $ac_link to do various autoconf checks.
+   Since we only need -a when unexec'ing, only pass in -a to
+   "ld temacs" (ghazi@caip.rutgers.edu  7/10/97).  */
+#if (defined(hp9000s700) || defined(__hp9000s700))
+#define LD_SWITCH_SYSTEM_TEMACS -L/lib/pa1.1
+#else /* not (defined(hp9000s700) || defined(__hp9000s700)) */
+#define LD_SWITCH_SYSTEM_TEMACS
+#endif /* not (defined(hp9000s700) || defined(__hp9000s700)) */
+#endif /* not __GNUC__ */
+
+/* Some hpux 8 machines seem to have TIOCGWINSZ,
+   and none have sioctl.h, so might as well define this.  */
+#define NO_SIOCTL_H
+
+#ifndef HAVE_LIBXMU
+/* HP-UX doesn't supply Xmu.  */
+#define LIBXMU
+
 #endif
 
-/* arch-tag: 75c1239f-fedb-4f64-8f86-7893e75699e8
+/* Assar Westerlund <assar@sics.se> says this is necessary for
+   HP-UX 10.20, and that it works for HP-UX 0 as well.  */
+#define NO_EDITRES
+
+/* Tested in getloadavg.c.  */
+#define HAVE_PSTAT_GETDYNAMIC
+
+/* Eric Backus <ericb@lsid.hp.com> says, HP-UX 9.x on HP 700 machines
+   has a broken `rint' in some library versions including math library
+   version number A.09.05.
+
+   You can fix the math library by installing patch number PHSS_4630.
+   But we can fix it more reliably for Emacs like this. */
+#undef HAVE_RINT
+
+/* 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
+   tries to redeclare what was once srandom to be srand48.  So we go
+   with HAVE_LRAND48 being defined.  */
+#undef srandom
+#undef random
+#undef HAVE_RANDOM
+
+#define FORCE_ALLOCA_H
+
+/* AlainF 20-Jul-1996 says this is right.  */
+#define KERNEL_FILE "/stand/vmunix"
+
+#ifdef HPUX_NET
+#define LIBS_SYSTEM -ln -l:libdld.sl
+#else
+#define LIBS_SYSTEM -l:libdld.sl
+#endif
+
+/* Rainer Malzbender <rainer@displaytech.com> says definining
+   HAVE_XRMSETDATABASE allows Emacs to compile on HP-UX 10.20
+   using GCC.  */
+
+#ifndef HAVE_XRMSETDATABASE
+#define HAVE_XRMSETDATABASE
+#endif
+
+/* Make sure we get select from libc rather than from libcurses
+   because libcurses on HPUX 10.10 has a broken version of select.
+   We used to use -lc -lcurses, but this may be cleaner.  */
+#define LIBS_TERMCAP -ltermcap
+
+/* However, HPUX 10 puts Xaw and Xmu in a strange place
+   (if you install them at all).  So search that place.  */
+#define C_SWITCH_X_SYSTEM  -I/usr/include/X11R6 -I/usr/include/X11R5 -I/usr/include/Motif1.2 -I/usr/contrib/X11R6/include -I/usr/contrib/X11R5/include
+#define LD_SWITCH_X_DEFAULT -L/usr/lib/X11R6 -L/usr/lib/X11R5 -L/usr/lib/Motif1.2 -L/usr/contrib/X11R5/lib
+
+/* 2000-11-21: Temporarily disable Unix 98 large file support found by
+   configure.  It fails on HPUX 11, at least, because it enables
+   header sections which lose when `static' is defined away, as it is
+   on HP-UX.  (You get duplicate symbol errors on linking). */
+
+#undef _FILE_OFFSET_BITS
+
+/* otherwise sigunblock wont be defined */
+#define POSIX_SIGNALS
+
+/* arch-tag: 8d8dcbf1-ca9b-48a1-94be-b750de18a5c6
    (do not change this comment) */