bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#11538: Decommissioning src/m


From: Paul Eggert
Subject: bug#11538: Decommissioning src/m
Date: Tue, 22 May 2012 00:08:17 -0700
User-agent: Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20120430 Thunderbird/12.0.1

Tags: patch

This email follows up on a thread with an earlier version of this patch
<http://lists.gnu.org/archive/html/emacs-devel/2012-05/msg00398.html>
to remove src/m/* from Emacs.  I am sending this to bug-gnu-emacs
so it gets a proper bug number.)

On 05/21/2012 08:53 AM, Stefan Monnier wrote:
> Please make the comment more explicit about how sizeof can't be used in
> #if, and also point out where we use those macros in #if.

I came up with a better idea, which is to stop using symbols like BITS_PER_LONG
in #if.  The symbols can then be made enums, which is nicer, as
they're visible to debuggers.  Here is a revised patch.
This is tested on 32- and 64- bit x86 GNU/Linux and sparc Solaris
but I want to test it more before it goes in.

=== modified file 'ChangeLog'
--- ChangeLog   2012-05-22 01:19:43 +0000
+++ ChangeLog   2012-05-22 06:52:30 +0000
@@ -1,5 +1,17 @@
 2012-05-22  Paul Eggert  <eggert@cs.ucla.edu>
 
+       Remove src/m/*.
+       * configure.in: Remove all mention of src/m/*.
+       (machine, machfile, M_FILE, config_machfile, and_machfile): Remove.
+       All uses removed.
+       (BITS_PER_CHAR, BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG)
+       (BITS_PER_LONG_LONG): Move to src/lisp.h.
+       * lib/makefile.w32-in: Remove dependencies on
+       $(EMACS_ROOT)/src/m/intel386.h.
+       * make-dist: Don't make links to src/m.
+
+2012-05-22  Paul Eggert  <eggert@cs.ucla.edu>
+
        * Makefile.in (ACLOCAL_INPUTS): Fix up gnulib-comp.m4 name.  (Bug#11529)
        Without this further fix, aclocal was being invoked unnecessarily.
 

=== modified file 'admin/CPP-DEFINES'
--- admin/CPP-DEFINES   2012-05-21 15:36:54 +0000
+++ admin/CPP-DEFINES   2012-05-21 19:37:02 +0000
@@ -63,16 +63,11 @@
 
 ** Replace, the definition is trivial: SWITCH_ENUM_CAST
 
-** Defines from src/m/*.h and src/s/*.h.  Some of these might not be used in 
the code anymore, so they can be removed.  The HAVE_* definitions are probably 
handled by autoconf, so it might be possible to just remove them from 
src/[sm]/*.h.
+** Defines from src/s/*.h.  Some of these might not be used in the code 
anymore, so they can be removed.  The HAVE_* definitions are probably handled 
by autoconf, so it might be possible to just remove them from src/s/*.h.
 
 
 AIX
 AMPERSAND_FULL_NAME
-BITS_PER_EMACS_INT
-BITS_PER_LONG
-BITS_PER_CHAR
-BITS_PER_SHORT
-BITS_PER_INT
 BROKEN_DATAGRAM_SOCKETS
 BROKEN_FIONREAD
 BROKEN_GET_CURRENT_DIR_NAME

=== modified file 'admin/ChangeLog'
--- admin/ChangeLog     2012-05-21 19:04:11 +0000
+++ admin/ChangeLog     2012-05-22 06:52:30 +0000
@@ -1,3 +1,11 @@
+2012-05-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Remove src/m/*.
+       * CPP-DEFINES: Do not mention src/m/*.h.
+       (BITS_PER_EMACS_INT, BITS_PER_LONG, BITS_PER_CHAR)
+       (BITS_PER_SHORT, BITS_PER_INT): Remove.
+       * MAINTAINERS: Remove src/m/.
+
 2012-05-21  Paul Eggert  <eggert@cs.ucla.edu>
 
        Use full name for m4/gnulib-comp.m4.  (Bug#11529)

=== modified file 'admin/MAINTAINERS'
--- admin/MAINTAINERS   2011-12-03 16:25:26 +0000
+++ admin/MAINTAINERS   2012-05-20 16:41:55 +0000
@@ -171,7 +171,6 @@
 src/image.c
 src/lastfile.c
 src/lread.c
-src/m/
 src/macros.c
 src/makefile.w32-in
 src/marker.c
@@ -220,4 +219,3 @@
 src/xrdb.c
 src/xselect.c
 src/xterm.c
-

=== modified file 'configure.in'
--- configure.in        2012-05-21 15:36:54 +0000
+++ configure.in        2012-05-21 19:37:02 +0000
@@ -375,8 +375,8 @@
   *  ) srcdir="`(cd ${srcdir}; pwd)`" ;;
 esac
 
-#### Given the configuration name, set machfile and opsysfile to the
-#### names of the m/*.h and s/*.h files we should use.
+#### Given the configuration name, set opsysfile to the
+#### name of s/*.h file we should use.
 
 ### Canonicalize the configuration name.
 
@@ -396,13 +396,11 @@
 
 ### If you add support for a new configuration, add code to this
 ### switch statement to recognize your configuration name and select
-### the appropriate operating system and machine description files.
+### the appropriate operating system file.
 
-### You would hope that you could choose an m/*.h file pretty much
-### based on the machine portion of the configuration name, and an s/*.h
+### You would hope that you could choose an s/*.h
 ### file based on the operating system portion.  However, it turns out
-### that each m/*.h file is pretty manufacturer-specific - for
-### example mips.h is MIPS
+### that each s/*.h file is pretty manufacturer-specific.
 ### So we basically have to have a special case for each
 ### configuration name.
 ###
@@ -412,82 +410,40 @@
 ### prepared to handle anything reasonably.  If version numbers
 ### matter, be sure /etc/MACHINES says something about it.
 
-machine='' opsys='' unported=no
+opsys='' unported=no
 case "${canonical}" in
 
   ## GNU/Linux and similar ports
   *-*-linux* )
     opsys=gnu-linux
-    case ${canonical} in
-      alpha*)  machine=alpha ;;
-      s390x-*) machine=ibms390x ;;
-      powerpc*)        machine=macppc ;;
-      sparc*)  machine=sparc ;;
-      ia64*)   machine=ia64 ;;
-      m68k*)   machine=m68k ;;
-      x86_64*) machine=amdx86-64 ;;
-    esac
   ;;
 
   ## FreeBSD ports
   *-*-freebsd* )
     opsys=freebsd
-    case "${canonical}" in
-      alpha*)           machine=alpha ;;
-      amd64-*|x86_64-*) machine=amdx86-64 ;;
-      ia64-*)           machine=ia64 ;;
-      i[3456]86-*)      machine=intel386 ;;
-      powerpc-*)        machine=macppc ;;
-      sparc-*)          machine=sparc ;;
-      sparc64-*)        machine=sparc ;;
-    esac
   ;;
 
   ## FreeBSD kernel + glibc based userland
   *-*-kfreebsd*gnu* )
     opsys=gnu-kfreebsd
-    case "${canonical}" in
-      alpha*)           machine=alpha ;;
-      amd64-*|x86_64-*) machine=amdx86-64 ;;
-      ia64-*)           machine=ia64 ;;
-      i[3456]86-*)      machine=intel386 ;;
-      powerpc-*)        machine=macppc ;;
-      sparc-*)          machine=sparc ;;
-      sparc64-*)        machine=sparc ;;
-    esac
   ;;
 
   ## NetBSD ports
   *-*-netbsd* )
     opsys=netbsd
-    case "${canonical}" in
-      alpha*)      machine=alpha ;;
-      x86_64-*)    machine=amdx86-64 ;;
-      i[3456]86-*) machine=intel386 ;;
-      m68k-*)      machine=m68k ;;
-      powerpc-*)   machine=macppc ;;
-      sparc*-)     machine=sparc ;;
-    esac
   ;;
 
   ## OpenBSD ports
   *-*-openbsd* )
     opsys=openbsd
-    case "${canonical}" in
-      alpha*)    machine=alpha ;;
-      x86_64-*)  machine=amdx86-64 ;;
-      i386-*)    machine=intel386 ;;
-      powerpc-*) machine=macppc ;;
-      sparc*)    machine=sparc ;;
-    esac
   ;;
 
   ## Apple Darwin / Mac OS X
   *-apple-darwin* )
     case "${canonical}" in
-      i[3456]86-* )  machine=intel386 ;;
-      powerpc-* )    machine=macppc ;;
-      x86_64-* )     machine=amdx86-64 ;;
+      i[3456]86-* )  ;;
+      powerpc-* )    ;;
+      x86_64-* )     ;;
       * )            unported=yes ;;
     esac
     opsys=darwin
@@ -510,16 +466,16 @@
 
   ## IBM machines
   rs6000-ibm-aix4.[23]* )
-    machine=ibmrs6000 opsys=aix4-2
+    opsys=aix4-2
   ;;
   powerpc-ibm-aix4.[23]*  )
-    machine=ibmrs6000 opsys=aix4-2
+    opsys=aix4-2
   ;;
   rs6000-ibm-aix[56]* )
-    machine=ibmrs6000 opsys=aix4-2
+    opsys=aix4-2
   ;;
   powerpc-ibm-aix[56]*  )
-    machine=ibmrs6000 opsys=aix4-2
+    opsys=aix4-2
   ;;
 
   ## Silicon Graphics machines
@@ -537,9 +493,9 @@
     | i[3456]86-*-solaris2* | i[3456]86-*-sunos5* \
     | x86_64-*-solaris2*    | x86_64-*-sunos5*)
     case "${canonical}" in
-      i[3456]86-*-* )     machine=intel386 ;;
-      amd64-*-*|x86_64-*-*)    machine=amdx86-64 ;;
-      sparc* )         machine=sparc ;;
+      i[3456]86-*-* )   ;;
+      amd64-*-*|x86_64-*-*) ;;
+      sparc* )         ;;
       * )              unported=yes ;;
     esac
     case "${canonical}" in
@@ -571,7 +527,6 @@
 
   ## Intel 386 machines where we don't care about the manufacturer.
   i[3456]86-*-* )
-    machine=intel386
     case "${canonical}" in
       *-cygwin )                opsys=cygwin ;;
       *-darwin* )               opsys=darwin ;;
@@ -610,11 +565,6 @@
 Check `etc/MACHINES' for recognized configuration names.])
 fi
 
-if test -n "$machine"; then
-  machfile="m/${machine}.h"
-else
-  machfile=
-fi
 opsysfile="s/${opsys}.h"
 
 
@@ -758,19 +708,6 @@
 dnl   AC_PROG_RANLIB
 dnl fi
 
-## Although we're running on an amd64 kernel, we're actually compiling for
-## the x86 architecture.  The user should probably have provided an
-## explicit --build to `configure', but if everything else than the kernel
-## is running in i386 mode, we can help them out.
-if test "$machine" = "amdx86-64"; then
-  AC_CHECK_DECL([i386])
-  if test "$ac_cv_have_decl_i386" = "yes"; then
-    canonical=`echo "$canonical" | sed -e 's/^amd64/i386/' -e 
's/^x86_64/i386/'`
-    machine=intel386
-    machfile="m/${machine}.h"
-  fi
-fi
-
 AC_PATH_PROG(INSTALL_INFO, install-info)
 AC_PATH_PROG(INSTALL_INFO, install-info,, /usr/sbin)
 AC_PATH_PROG(INSTALL_INFO, install-info,:, /sbin)
@@ -941,7 +878,8 @@
 
 
 C_SWITCH_MACHINE=
-if test "$machine" = "alpha"; then
+case $canonical in
+ alpha*)
   AC_CHECK_DECL([__ELF__])
   if test "$ac_cv_have_decl___ELF__" = "yes"; then
     ## With ELF, make sure that all common symbols get allocated to in the
@@ -957,7 +895,8 @@
   else
     UNEXEC_OBJ=unexalpha.o
   fi
-fi
+  ;;
+esac
 AC_SUBST(C_SWITCH_MACHINE)
 
 AC_SUBST(UNEXEC_OBJ)
@@ -1642,7 +1581,7 @@
   yes ) HAVE_MENUS=yes ;;
 esac
 
-# Do the opsystem or machine files prohibit the use of the GNU malloc?
+# Does the opsystem file prohibit the use of the GNU malloc?
 # Assume not, until told otherwise.
 GNU_MALLOC=yes
 
@@ -3219,13 +3158,7 @@
 AC_SUBST(CFLAGS)
 ## Used in lwlib/Makefile.in.
 AC_SUBST(X_TOOLKIT_TYPE)
-if test -n "${machfile}"; then
-  M_FILE="\$(srcdir)/${machfile}"
-else
-  M_FILE=
-fi
 S_FILE="\$(srcdir)/${opsysfile}"
-AC_SUBST(M_FILE)
 AC_SUBST(S_FILE)
 AC_SUBST(ns_appdir)
 AC_SUBST(ns_appbindir)
@@ -3238,10 +3171,6 @@
                   [Define to the canonical Emacs configuration name.])
 AC_DEFINE_UNQUOTED(EMACS_CONFIG_OPTIONS, "${ac_configure_args}",
                   [Define to the options passed to configure.])
-if test -n "$machfile"; then
-  AC_DEFINE_UNQUOTED(config_machfile,  "${machfile}",
-                    [Define to the used machine dependent file.])
-fi
 AC_DEFINE_UNQUOTED(config_opsysfile, "${opsysfile}",
                   [Define to the used os dependent file.])
 
@@ -3420,8 +3349,7 @@
    ##   #ifndef LD_SWITCH_SYSTEM
    ##   #if !defined (__GNUC__) && ((defined (BSD_SYSTEM) && !defined (COFF)))
    ## Since all the *bsds define LD_SWITCH_SYSTEM, this simplifies to:
-   ## not using gcc, darwin system not on an alpha (ie darwin, since
-   ## darwin + alpha does not occur).
+   ## not using gcc, darwin.
    ## Because this was done in src/Makefile.in, the resulting part of
    ## LD_SWITCH_SYSTEM was not used in configure (ie, in ac_link).
    ## It therefore seems cleaner to put this in LD_SWITCH_SYSTEM_TEMACS,
@@ -3461,12 +3389,12 @@
   ## will also work on earlier NetBSD releases.
   netbsd|openbsd) LD_FIRSTFLAG="-nostartfiles" ;;
 
-  ## macpcc: NAKAJI Hiroyuki <nakaji@tutrp.tut.ac.jp> says
+  ## powerpc*: NAKAJI Hiroyuki <nakaji@tutrp.tut.ac.jp> says
   ##   MkLinux/LinuxPPC needs this.
-  ## ibms390x only supports opsys = gnu-linux so it can be added here.
+  ## s390x-* only supports opsys = gnu-linux so it can be added here.
   gnu-*)
-    case "$machine" in
-      macppc|ibms390x) LD_FIRSTFLAG="-nostdlib" ;;
+    case "$canonical" in
+      powerpc*|s390x-*) LD_FIRSTFLAG="-nostdlib" ;;
     esac
     ;;
 esac
@@ -3478,7 +3406,7 @@
   AC_DEFINE(ORDINARY_LINK, 1, [Define if the C compiler is the linker.])
 
 ## The system files defining neither ORDINARY_LINK nor LD_FIRSTFLAG are:
-## freebsd, gnu-* not on macppc|ibms390x.
+## freebsd, gnu-* not on powerpc*|s390x*.
 elif test "x$GCC" = "xyes" && test "x$LD_FIRSTFLAG" = "x"; then
 
   ## Versions of GCC >= 2.0 put their library, libgcc.a, in obscure
@@ -3586,11 +3514,8 @@
 
 #define subprocesses
 
-/* Include the os and machine dependent files.  */
+/* Include the os dependent file.  */
 #include config_opsysfile
-#ifdef config_machfile
-# include config_machfile
-#endif
 
 /* GNUstep needs a bit more pure memory.  Of the existing knobs,
    SYSTEM_PURESIZE_EXTRA seems like the least likely to cause problems.
@@ -3614,34 +3539,6 @@
 #endif
 #endif
 
-/* These default definitions are good for almost all machines.
-   Any exceptions should override them in m/MACHINE.h.
-   They must be usable in preprocessor conditionals.  */
-
-#ifndef BITS_PER_CHAR
-#define BITS_PER_CHAR 8
-#endif
-
-#ifndef BITS_PER_SHORT
-#define BITS_PER_SHORT 16
-#endif
-
-#ifndef BITS_PER_INT
-#define BITS_PER_INT 32
-#endif
-
-#ifndef BITS_PER_LONG
-#ifdef _LP64
-#define BITS_PER_LONG 64
-#else
-#define BITS_PER_LONG 32
-#endif
-#endif
-
-#if !defined BITS_PER_LONG_LONG && HAVE_LONG_LONG_INT
-#define BITS_PER_LONG_LONG 64
-#endif
-
 #include <string.h>
 #include <stdlib.h>
 
@@ -3709,17 +3606,12 @@
   USE_X_TOOLKIT=GTK
 fi
 
-and_machfile=
-if test -n "$machfile"; then
-  and_machfile=" and \`${machfile}'"
-fi
-
 echo "
 Configured for \`${canonical}'.
 
   Where should the build process find the source code?    ${srcdir}
-  What operating system and machine description files should Emacs use?
-        \`${opsysfile}'${and_machfile}
+  What operating system file should Emacs use?
+        \`${opsysfile}'
   What compiler should emacs be built with?               ${CC} ${CFLAGS}
   Should Emacs use the GNU version of malloc?             
${GNU_MALLOC}${GNU_MALLOC_reason}
   Should Emacs use a relocating allocator for buffers?    ${REL_ALLOC}

=== modified file 'lib-src/ChangeLog'
--- lib-src/ChangeLog   2012-05-22 00:58:17 +0000
+++ lib-src/ChangeLog   2012-05-22 06:52:30 +0000
@@ -1,3 +1,9 @@
+2012-05-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Remove src/m/*.
+       * makefile.w32-in: Remove dependencies on
+       $(EMACS_ROOT)/src/m/intel386.h.
+
 2012-05-22  Glenn Morris  <rgm@gnu.org>
 
        * Makefile.in (install): Remove unneeded chmods.

=== modified file 'lib-src/makefile.w32-in'
--- lib-src/makefile.w32-in     2012-04-07 13:57:36 +0000
+++ lib-src/makefile.w32-in     2012-05-20 16:41:55 +0000
@@ -354,7 +354,6 @@
 $(BLD)/alloca.$(O) : \
        $(SRC)/alloca.c \
        $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
        $(EMACS_ROOT)/src/config.h \
        $(EMACS_ROOT)/src/blockinput.h
 
@@ -363,7 +362,6 @@
        $(EMACS_ROOT)/nt/inc/sys/param.h \
        $(EMACS_ROOT)/nt/inc/sys/stat.h \
        $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
        $(EMACS_ROOT)/lib-src/../src/config.h \
        $(SRC)/ntlib.h \
        $(EMACS_ROOT)/lib/getopt.h
@@ -372,14 +370,12 @@
        $(SRC)/ebrowse.c \
        $(EMACS_ROOT)/lib/min-max.h \
        $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
        $(EMACS_ROOT)/lib-src/../src/config.h
 
 $(BLD)/emacsclient.$(O) : \
        $(SRC)/emacsclient.c \
        $(EMACS_ROOT)/nt/inc/sys/stat.h \
        $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
        $(EMACS_ROOT)/lib-src/../src/config.h
 
 $(BLD)/etags.$(O) : \
@@ -387,7 +383,6 @@
        $(EMACS_ROOT)/nt/inc/sys/param.h \
        $(EMACS_ROOT)/nt/inc/sys/stat.h \
        $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
        $(EMACS_ROOT)/lib-src/../src/config.h \
        $(SRC)/ntlib.h \
        $(EMACS_ROOT)/lib/getopt.h
@@ -395,7 +390,6 @@
 $(BLD)/getdate.$(O) : \
        $(SRC)/getdate.c \
        $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
        $(EMACS_ROOT)/src/config.h \
        $(MSTOOLS_SYS)/types.h
 
@@ -415,7 +409,6 @@
 $(BLD)/movemail.$(O) : \
        $(SRC)/movemail.c \
        $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
        $(EMACS_ROOT)/lib-src/../src/config.h \
        $(EMACS_ROOT)/nt/inc/sys/file.h \
        $(EMACS_ROOT)/nt/inc/sys/stat.h \
@@ -439,7 +432,6 @@
 $(BLD)/profile.$(O) : \
        $(SRC)/profile.c \
        $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
        $(EMACS_ROOT)/lib-src/../src/config.h \
        $(EMACS_ROOT)/lib-src/../src/systime.h
 
@@ -455,7 +447,6 @@
 $(BLD)/timer.$(O) : \
        $(SRC)/timer.c \
        $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
        $(EMACS_ROOT)/lib-src/../src/config.h
 
 # The following dependencies are for supporting parallel builds, where

=== modified file 'lib/makefile.w32-in'
--- lib/makefile.w32-in 2012-04-07 10:19:22 +0000
+++ lib/makefile.w32-in 2012-05-20 16:41:55 +0000
@@ -67,7 +67,6 @@
        $(SRC)/intprops.h \
        $(EMACS_ROOT)/nt/inc/sys/stat.h \
        $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
        $(EMACS_ROOT)/src/config.h
 
 $(BLD)/getopt.$(O) : \
@@ -78,7 +77,6 @@
        $(EMACS_ROOT)/nt/inc/unistd.h \
        $(EMACS_ROOT)/nt/inc/sys/stat.h \
        $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
        $(EMACS_ROOT)/src/config.h
 
 $(BLD)/getopt1.$(O) : \
@@ -87,7 +85,6 @@
        $(SRC)/getopt_int.h \
        $(EMACS_ROOT)/nt/inc/sys/stat.h \
        $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
        $(EMACS_ROOT)/src/config.h
 
 $(BLD)/strftime.$(O) : \
@@ -96,14 +93,12 @@
        $(EMACS_ROOT)/nt/inc/stdbool.h \
        $(EMACS_ROOT)/nt/inc/sys/stat.h \
        $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
        $(EMACS_ROOT)/src/config.h
 
 $(BLD)/time_r.$(O) : \
        $(SRC)/time_r.c \
        $(EMACS_ROOT)/nt/inc/sys/stat.h \
        $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
        $(EMACS_ROOT)/src/config.h
 
 $(BLD)/md5.$(O) : \
@@ -112,7 +107,6 @@
        $(EMACS_ROOT)/nt/inc/stdint.h \
        $(EMACS_ROOT)/nt/inc/sys/stat.h \
        $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
        $(EMACS_ROOT)/src/config.h
 
 $(BLD)/sha1.$(O) : \
@@ -121,7 +115,6 @@
        $(EMACS_ROOT)/nt/inc/stdint.h \
        $(EMACS_ROOT)/nt/inc/sys/stat.h \
        $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
        $(EMACS_ROOT)/src/config.h
 
 $(BLD)/sha256.$(O) : \
@@ -130,7 +123,6 @@
        $(EMACS_ROOT)/nt/inc/stdint.h \
        $(EMACS_ROOT)/nt/inc/sys/stat.h \
        $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
        $(EMACS_ROOT)/src/config.h
 
 $(BLD)/sha512.$(O) : \
@@ -139,7 +131,6 @@
        $(EMACS_ROOT)/nt/inc/stdint.h \
        $(EMACS_ROOT)/nt/inc/sys/stat.h \
        $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
        $(EMACS_ROOT)/src/config.h
 
 $(BLD)/filemode.$(O) : \
@@ -147,7 +138,6 @@
        $(SRC)/filemode.h \
        $(EMACS_ROOT)/nt/inc/sys/stat.h \
        $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
        $(EMACS_ROOT)/src/config.h
 
 # The following dependencies are for supporting parallel builds, where

=== modified file 'make-dist'
--- make-dist   2012-05-21 20:40:55 +0000
+++ make-dist   2012-05-22 06:48:34 +0000
@@ -293,7 +293,7 @@
              leim leim/CXTERM-DIC leim/MISC-DIC \
              leim/SKK-DIC leim/ja-dic leim/quail \
              build-aux build-aux/snippet \
-             src src/m src/s src/bitmaps lib lib-src oldXMenu lwlib \
+             src src/s src/bitmaps lib lib-src oldXMenu lwlib \
              nt nt/inc nt/inc/sys nt/inc/arpa nt/inc/netinet nt/icons \
              `find etc lisp admin -type d` \
              doc doc/emacs doc/misc doc/man doc/lispref doc/lispintro \
@@ -370,10 +370,6 @@
 (cd src/bitmaps
  ln README *.xbm ../../${tempdir}/src/bitmaps)
 
-echo "Making links to \`src/m'"
-(cd src/m
- ln README [a-zA-Z0-9]*.h ../../${tempdir}/src/m)
-
 echo "Making links to \`src/s'"
 (cd src/s
  ln README [a-zA-Z0-9]*.h ../../${tempdir}/src/s)

=== modified file 'msdos/ChangeLog'
--- msdos/ChangeLog     2012-05-19 18:04:49 +0000
+++ msdos/ChangeLog     2012-05-22 06:52:30 +0000
@@ -1,3 +1,8 @@
+2012-05-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Remove src/m/*.
+       * mainmake.v2 (TAGS tags): Don't look at $(CURDIR)/src/m/intel386.h.
+
 2012-05-19  Paul Eggert  <eggert@cs.ucla.edu>
 
        * sed2v2.inp (HAVE_MBLEN): Remove.

=== modified file 'msdos/mainmake.v2'
--- msdos/mainmake.v2   2012-01-19 07:21:25 +0000
+++ msdos/mainmake.v2   2012-05-20 16:41:55 +0000
@@ -162,7 +162,7 @@
        ../bin/etags --include=../lisp/TAGS \
         --regex='/[    ]*DEFVAR_[A-Z_  (]+"\([^"]+\)"/' \
         $(CURDIR)/src/*.c $(CURDIR)/src/*.h \
-         $(CURDIR)/src/s/msdos.h $(CURDIR)/src/m/intel386.h
+         $(CURDIR)/src/s/msdos.h
        cd ..
        ./bin/etags --include=src/TAGS
 
@@ -299,4 +299,3 @@
 bootstrap: bootstrap-clean FRC
        command.com /e:2048 /c config msdos
        $(MAKE) $(MFLAGS) info all
-

=== modified file 'nt/ChangeLog'
--- nt/ChangeLog        2012-05-19 18:04:49 +0000
+++ nt/ChangeLog        2012-05-22 05:54:31 +0000
@@ -1,3 +1,11 @@
+2012-05-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Remove src/m/*.
+       * config.nt: Do not include "m/intel386.h"; file was removed.
+       (BITS_PER_CHAR, BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG):
+       Move to src/lisp.h.
+       (EMACS_INT_MAX): New macro.
+
 2012-05-19  Paul Eggert  <eggert@cs.ucla.edu>
 
        * config.nt (HAVE_GETDOMAINNAME, HAVE_XSETWMPROTOCOLS)

=== modified file 'nt/config.nt'
--- nt/config.nt        2012-05-19 18:04:49 +0000
+++ nt/config.nt        2012-05-22 05:54:31 +0000
@@ -421,17 +421,6 @@
 #undef config_opsysfile
 #include "s/ms-w32.h"
 
-/* The configuration script defines machfile to be the name of the
-   m/MACHINE.h file that describes the machine you are using.  The file is
-   chosen based on the configuration name you give.
-
-   See the file ../etc/MACHINES for a list of machines and the
-   configuration names to use for them.
-
-   See m/template.h for documentation on writing m/MACHINE.h files.  */
-#undef config_machfile
-#include "m/intel386.h"
-
 /* Define `subprocesses' should be defined if you want to
    have code for asynchronous subprocesses
    (as used in M-x compile and M-x shell).
@@ -465,28 +454,6 @@
 
 #endif /* EMACS_CONFIG_H */
 
-/* These default definitions are good for almost all machines.
-   The exceptions override them in m/MACHINE.h.  */
-
-#ifndef BITS_PER_CHAR
-#define BITS_PER_CHAR 8
-#endif
-
-#ifndef BITS_PER_SHORT
-#define BITS_PER_SHORT 16
-#endif
-
-/* Note that lisp.h uses this in a preprocessor conditional, so it
-   would not work to use sizeof.  That being so, we do all of them
-   without sizeof, for uniformity's sake.  */
-#ifndef BITS_PER_INT
-#define BITS_PER_INT 32
-#endif
-
-#ifndef BITS_PER_LONG
-#define BITS_PER_LONG 32
-#endif
-
 #if defined (__MINGW32__) || _MSC_VER >= 1400
 
 /* Define to 1 if the system has the type `long long int'. */
@@ -505,7 +472,7 @@
 
 /* Use pre-C99-style 64-bit integers.  */
 # define EMACS_INT __int64
-# define BITS_PER_EMACS_INT 64
+# define EMACS_INT_MAX _I64_MAX
 # define pI "I64"
 
 # endif

=== modified file 'src/ChangeLog'
--- src/ChangeLog       2012-05-21 15:36:54 +0000
+++ src/ChangeLog       2012-05-22 07:03:51 +0000
@@ -1,3 +1,35 @@
+2012-05-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Remove src/m/*.
+       This directory predates autoconf and is no longer needed nowadays.
+       Move its few remaining bits of functionality to where they're needed.
+       * m/README, m/alpha.h, m/amdx86-64.h, m/ia64.h, m/ibmrs6000.h:
+       * m/ibms390x.h, m/intel386.h, m/m68k.h, m/macppc.h, m/sparc.h:
+       * m/template.h: Remove.
+       * Makefile.in (M_FILE): Remove.  All uses removed.
+       * alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS):
+       * lisp.h (USE_LSB_TAG):
+       * mem-limits.h (EXCEEDS_LISP_PTR):
+       Use VAL_MAX, not VALBITS, in #if.
+       * lisp.h (EMACS_INT_MAX): New macro, useful in #if.
+       (EMACS_UINT): Define unconditionally now.
+       (BITS_PER_CHAR, BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG)
+       (BITS_PER_EMACS_INT): New constants, replacing
+       what used to be in config.h, but not useful in #if.
+       (GCTYPEBITS, VALBITS): Define unconditionally, since m/* files don't
+       define them any more.
+       (VAL_MAX): New macro.
+       (VALMASK): Use it.
+       * puresize.h (PURESIZE_RATIO): Use EMACS_INT_MAX, not
+       BITS_PER_EMACS_INT, in #if.
+       * s/aix4-2.h (BROKEN_FIONREAD, BROKEN_SIGAIO, BROKEN_SIGPTY)
+       (BROKEN_SIGPOLL): Move here from m/ibmrs6000.h, which was removed.
+       * s/gnu-linux.h (ULIMIT_BREAK_VALUE) [__i386__]:
+       * s/ms-w32.h (DATA_START):
+       Move here from removed file m/intel386.h.
+       * s/gnu.h (NLIST_STRUCT): Remove undef; 'configure' does this.
+       * s/irix6-5.h (_LP64): Remove; lisp.h no longer needs this.
+
 2012-05-21  Paul Eggert  <eggert@cs.ucla.edu>
 
        Assume C89 or later.

=== modified file 'src/Makefile.in'
--- src/Makefile.in     2012-05-12 00:57:48 +0000
+++ src/Makefile.in     2012-05-20 16:41:55 +0000
@@ -56,9 +56,8 @@
 lispdir = ../lisp
 
 # Configuration files for .o files to depend on.
-M_FILE = @M_FILE@
 S_FILE = @S_FILE@
-config_h = config.h $(M_FILE) $(S_FILE)
+config_h = config.h $(S_FILE)
 
 bootstrap_exe = $(abs_builddir)/bootstrap-emacs$(EXEEXT)
 
@@ -534,10 +533,10 @@
 ctagsfiles1 = [xyzXYZ]*.[hcm]
 ctagsfiles2 = [a-wA-W]*.[hcm]
 
-TAGS: $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(M_FILE) $(S_FILE)
+TAGS: $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(S_FILE)
        ../lib-src/etags --include=TAGS-LISP --include=$(lwlibdir)/TAGS \
          --regex='/[   ]*DEFVAR_[A-Z_  (]+"\([^"]+\)"/' \
-         $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(M_FILE) $(S_FILE)
+         $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(S_FILE)
 frc:
 TAGS-LISP: frc
        $(MAKE) -f $(lispdir)/Makefile TAGS-LISP ETAGS=../lib-src/etags

=== modified file 'src/alloc.c'
--- src/alloc.c 2012-05-21 15:36:54 +0000
+++ src/alloc.c 2012-05-22 05:54:31 +0000
@@ -4297,8 +4297,8 @@
    wider than a pointer might allocate a Lisp_Object in non-adjacent halves.
    If USE_LSB_TAG, the bottom half is not a valid pointer, but it should
    suffice to widen it to to a Lisp_Object and check it that way.  */
-#if defined USE_LSB_TAG || UINTPTR_MAX >> VALBITS != 0
-# if !defined USE_LSB_TAG && UINTPTR_MAX >> VALBITS >> GCTYPEBITS != 0
+#if defined USE_LSB_TAG || VAL_MAX < UINTPTR_MAX
+# if !defined USE_LSB_TAG && VAL_MAX < UINTPTR_MAX >> GCTYPEBITS
   /* If tag bits straddle pointer-word boundaries, neither mark_maybe_pointer
      nor mark_maybe_object can follow the pointers.  This should not occur on
      any practical porting target.  */

=== modified file 'src/lisp.h'
--- src/lisp.h  2012-05-21 15:36:54 +0000
+++ src/lisp.h  2012-05-22 05:54:31 +0000
@@ -41,25 +41,36 @@
    Build with CFLAGS='-DWIDE_EMACS_INT' to try them out.  */
 /* #undef WIDE_EMACS_INT */
 
-/* These are default choices for the types to use.  */
+/* EMACS_INT - signed integer wide enough to hold an Emacs value
+   EMACS_INT_MAX - maximum value of EMACS_INT; can be used in #if
+   pI - printf length modifier for EMACS_INT
+   EMACS_UINT - unsigned variant of EMACS_INT */
 #ifndef EMACS_INT
-# if BITS_PER_LONG < BITS_PER_LONG_LONG && defined WIDE_EMACS_INT
+# if LONG_MAX < LLONG_MAX && defined WIDE_EMACS_INT
 #  define EMACS_INT long long
-#  define BITS_PER_EMACS_INT BITS_PER_LONG_LONG
+#  define EMACS_INT_MAX LLONG_MAX
 #  define pI "ll"
-# elif BITS_PER_INT < BITS_PER_LONG
+# elif INT_MAX < LONG_MAX
 #  define EMACS_INT long
-#  define BITS_PER_EMACS_INT BITS_PER_LONG
+#  define EMACS_INT_MAX LONG_MAX
 #  define pI "l"
 # else
 #  define EMACS_INT int
-#  define BITS_PER_EMACS_INT BITS_PER_INT
+#  define EMACS_INT_MAX INT_MAX
 #  define pI ""
 # endif
 #endif
-#ifndef EMACS_UINT
-# define EMACS_UINT unsigned EMACS_INT
-#endif
+#define EMACS_UINT unsigned EMACS_INT
+
+/* Number of bits in some machine integer types.  */
+enum
+  {
+    BITS_PER_CHAR      = CHAR_BIT,
+    BITS_PER_SHORT     = CHAR_BIT * sizeof (short),
+    BITS_PER_INT       = CHAR_BIT * sizeof (int),
+    BITS_PER_LONG      = CHAR_BIT * sizeof (long int),
+    BITS_PER_EMACS_INT = CHAR_BIT * sizeof (EMACS_INT)
+  };
 
 /* printmax_t and uprintmax_t are types for printing large integers.
    These are the widest integers that are supported for printing.
@@ -164,13 +175,13 @@
    variable VAR of type TYPE with the added requirement that it be
    TYPEBITS-aligned.  */
 
-#ifndef GCTYPEBITS
 #define GCTYPEBITS 3
-#endif
-
-#ifndef VALBITS
 #define VALBITS (BITS_PER_EMACS_INT - GCTYPEBITS)
-#endif
+
+/* The maximum value that can be stored in a EMACS_INT, assuming all
+   bits other than the type bits contribute to a nonnegative signed value.
+   This can be used in #if, e.g., '#if VAL_MAX < UINTPTR_MAX' below.  */
+#define VAL_MAX (EMACS_INT_MAX >> (GCTYPEBITS - 1))
 
 #ifndef NO_DECL_ALIGN
 # ifndef DECL_ALIGN
@@ -195,12 +206,12 @@
      || defined DARWIN_OS || defined __sun)
 /* We also need to be able to specify mult-of-8 alignment on static vars.  */
 # if defined DECL_ALIGN
-/* On hosts where VALBITS is greater than the pointer width in bits,
+/* On hosts where pointers-as-ints do not exceed VAL_MAX,
    USE_LSB_TAG is:
     a. unnecessary, because the top bits of an EMACS_INT are unused, and
     b. slower, because it typically requires extra masking.
    So, define USE_LSB_TAG only on hosts where it might be useful.  */
-#  if UINTPTR_MAX >> VALBITS != 0
+#  if VAL_MAX < UINTPTR_MAX
 #   define USE_LSB_TAG
 #  endif
 # endif
@@ -479,7 +490,7 @@
 
 #else  /* not USE_LSB_TAG */
 
-#define VALMASK ((((EMACS_INT) 1) << VALBITS) - 1)
+#define VALMASK VAL_MAX
 
 /* One need to override this if there must be high bits set in data space
    (doing the result of the below & ((1 << (GCTYPE + 1)) - 1) would work

=== removed directory 'src/m'
=== removed file 'src/m/README'
--- src/m/README        1999-09-29 22:08:57 +0000
+++ src/m/README        1970-01-01 00:00:00 +0000
@@ -1,7 +0,0 @@
-This directory contains C header files containing machine-specific
-definitions.  Each file describes a particular machine.  The emacs
-configuration script edits ../config.h to include the appropriate one of
-these files, and then each emacs source file includes config.h.
-
-template.h is a generic template for machine descriptions; it
-describes the parameters a machine file can specify.

=== removed file 'src/m/alpha.h'
--- src/m/alpha.h       2012-01-19 07:21:25 +0000
+++ src/m/alpha.h       1970-01-01 00:00:00 +0000
@@ -1,53 +0,0 @@
-/* Machine description file for the alpha chip.
-
-Copyright (C) 1994, 1997, 1999, 2001-2012  Free Software Foundation, Inc.
-
-Author: Rainer Schoepf
-(according to authors.el)
-
-This file is part of GNU Emacs.
-
-GNU Emacs is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-GNU Emacs is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-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/>.  */
-
-#ifndef _LP64
-#define _LP64 /* This doesn't appear to be necessary on OSF 4/5  -- fx.  */
-#endif
-
-/* Now define a symbol for the cpu type, if your compiler
-   does not define it automatically.  */
-/* __alpha defined automatically */
-
-
-#ifdef __ELF__
-
-#if !defined (GNU_LINUX) && !defined (__NetBSD__)
-#define DATA_START    0x140000000
-#endif
-
-#else  /* not __ELF__ */
-
-/* Describe layout of the address space in an executing process.  */
-#define DATA_START    0x140000000
-
-#endif /* __ELF__ */
-
-/* On the Alpha it's best to avoid including TERMIO since struct
-   termio and struct termios are mutually incompatible.  */
-#define NO_TERMIO
-
-/* Many Alpha implementations (e.g. gas 2.8) can't handle DBL_MIN:
-   they generate code that uses a signaling NaN instead of DBL_MIN.
-   Define DBL_MIN_REPLACEMENT to be the next value larger than DBL_MIN:
-   this avoids the assembler bug.  */
-#define DBL_MIN_REPLACEMENT 2.2250738585072019e-308

=== removed file 'src/m/amdx86-64.h'
--- src/m/amdx86-64.h   2012-01-19 07:21:25 +0000
+++ src/m/amdx86-64.h   1970-01-01 00:00:00 +0000
@@ -1,35 +0,0 @@
-/* machine description file for AMD x86-64.
-
-Copyright (C) 2002-2012  Free Software Foundation, Inc.
-
-This file is part of GNU Emacs.
-
-GNU Emacs is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-GNU Emacs is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-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 BITS_PER_LONG           64
-#define BITS_PER_EMACS_INT      64
-
-/* Now define a symbol for the cpu type, if your compiler
-   does not define it automatically:
-   Ones defined so far include vax, m68000, ns16000, pyramid,
-   orion, tahoe, APOLLO and many others */
-/* __x86_64 defined automatically.  */
-
-/* Define the type to use.  */
-#define EMACS_INT               long
-#define pI                     "l"
-#define EMACS_UINT              unsigned long
-
-/* Define XPNTR to avoid or'ing with DATA_SEG_BITS */
-#undef DATA_SEG_BITS

=== removed file 'src/m/ia64.h'
--- src/m/ia64.h        2012-04-16 01:10:42 +0000
+++ src/m/ia64.h        1970-01-01 00:00:00 +0000
@@ -1,32 +0,0 @@
-/* machine description file for the IA-64 architecture.
-
-Copyright (C) 2000-2012  Free Software Foundation, Inc.
-
-     Contributed by David Mosberger <davidm@hpl.hp.com>
-
-This file is part of GNU Emacs.
-
-GNU Emacs is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-GNU Emacs is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-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 BITS_PER_LONG          64
-#define BITS_PER_EMACS_INT     64
-
-/* Now define a symbol for the cpu type, if your compiler
-   does not define it automatically.  */
-/* __ia64__ defined automatically */
-
-/* Define the type to use.  */
-#define EMACS_INT              long
-#define pI                     "l"
-#define EMACS_UINT             unsigned long

=== removed file 'src/m/ibmrs6000.h'
--- src/m/ibmrs6000.h   2012-01-19 07:21:25 +0000
+++ src/m/ibmrs6000.h   1970-01-01 00:00:00 +0000
@@ -1,46 +0,0 @@
-/* R2 AIX machine/system dependent defines
-
-Copyright (C) 1988, 2001-2012  Free Software Foundation, Inc.
-
-This file is part of GNU Emacs.
-
-GNU Emacs is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-GNU Emacs is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-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/>.  */
-
-
-/* The data segment in this machine always starts at address 0x20000000.
-   An address of data cannot be stored correctly in a Lisp object;
-   we always lose the high bits.  We must tell XPNTR to add them back.  */
-#define DATA_START 0x20000000
-#define DATA_SEG_BITS 0x20000000
-
-#ifndef NLIST_STRUCT
-/* AIX supposedly doesn't use this interface, but on the RS/6000
-   it apparently does.  */
-#define NLIST_STRUCT
-#endif
-
-#undef ADDR_CORRECT
-#define ADDR_CORRECT(x) ((int)(x))
-
-/*** BUILD 9008 - FIONREAD problem still exists in X-Windows. ***/
-#define BROKEN_FIONREAD
-/* As we define BROKEN_FIONREAD, SIGIO will be undefined in systty.h.
-   But, on AIX, SIGAIO, SIGPTY, and SIGPOLL are defined as SIGIO,
-   which causes compilation error at init_signals in sysdep.c.  So, we
-   define these macros so that syssignal.h detects them and undefine
-   SIGAIO, SIGPTY and SIGPOLL.  */
-#define BROKEN_SIGAIO
-#define BROKEN_SIGPTY
-#define BROKEN_SIGPOLL
-

=== removed file 'src/m/ibms390x.h'
--- src/m/ibms390x.h    2012-01-19 07:21:25 +0000
+++ src/m/ibms390x.h    1970-01-01 00:00:00 +0000
@@ -1,32 +0,0 @@
-/* Machine description file for IBM S390 in 64-bit mode
-
-Copyright (C) 2002-2012  Free Software Foundation, Inc.
-
-This file is part of GNU Emacs.
-
-GNU Emacs is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-GNU Emacs is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-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 BITS_PER_LONG 64
-#define BITS_PER_EMACS_INT 64
-
-/* Define the type to use.  */
-#define EMACS_INT long
-#define pI "l"
-#define EMACS_UINT unsigned long
-
-/* On the 64 bit architecture, we can use 60 bits for addresses */
-#define VALBITS         60
-
-/* Define XPNTR to avoid or'ing with DATA_SEG_BITS */
-#define XPNTR(a) XUINT (a)

=== removed file 'src/m/intel386.h'
--- src/m/intel386.h    2012-01-19 07:21:25 +0000
+++ src/m/intel386.h    1970-01-01 00:00:00 +0000
@@ -1,29 +0,0 @@
-/* Machine description file for intel 386.
-
-Copyright (C) 1987, 2001-2012  Free Software Foundation, Inc.
-
-This file is part of GNU Emacs.
-
-GNU Emacs is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-GNU Emacs is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-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/>.  */
-
-
-#ifdef WINDOWSNT
-#define DATA_START     get_data_start ()
-#endif
-
-#ifdef GNU_LINUX
-/* libc-linux/sysdeps/linux/i386/ulimit.c says that due to shared library, */
-/* we cannot get the maximum address for brk */
-#define ULIMIT_BREAK_VALUE (32*1024*1024)
-#endif

=== removed file 'src/m/m68k.h'
--- src/m/m68k.h        2012-01-19 07:21:25 +0000
+++ src/m/m68k.h        1970-01-01 00:00:00 +0000
@@ -1,32 +0,0 @@
-/* Machine description file for generic Motorola 68k.
-
-Copyright (C) 1985, 1995, 2001-2012  Free Software Foundation, Inc.
-
-This file is part of GNU Emacs.
-
-GNU Emacs is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-GNU Emacs is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-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/>.  */
-
-/* Now define a symbol for the cpu type, if your compiler
-   does not define it automatically.  */
-#ifndef m68k
-#define m68k
-#endif
-
-#ifdef GNU_LINUX
-#ifdef __ELF__
-#define DATA_SEG_BITS 0x80000000
-#endif
-
-#endif
-

=== removed file 'src/m/macppc.h'
--- src/m/macppc.h      2012-01-19 07:21:25 +0000
+++ src/m/macppc.h      1970-01-01 00:00:00 +0000
@@ -1,24 +0,0 @@
-/* machine description file For the powerpc Macintosh.
-
-Copyright (C) 1994, 2001-2012  Free Software Foundation, Inc.
-
-This file is part of GNU Emacs.
-
-GNU Emacs is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-GNU Emacs is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-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/>.  */
-
-#ifdef _ARCH_PPC64
-#ifndef _LP64
-#define _LP64
-#endif
-#endif

=== removed file 'src/m/sparc.h'
--- src/m/sparc.h       2012-01-19 07:21:25 +0000
+++ src/m/sparc.h       1970-01-01 00:00:00 +0000
@@ -1,30 +0,0 @@
-/* machine description file for Sun 4 SPARC.
-
-Copyright (C) 1987, 2001-2012  Free Software Foundation, Inc.
-
-This file is part of GNU Emacs.
-
-GNU Emacs is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-GNU Emacs is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-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/>.  */
-
-/* __sparc__ is defined by the compiler by default.  */
-
-#ifdef __arch64__              /* GCC, 64-bit ABI.  */
-
-#define BITS_PER_LONG 64
-
-#ifndef _LP64
-#define _LP64 /* Done on Alpha -- not sure if it should be here.  -- fx */
-#endif
-
-#endif  /* __arch64__ */

=== removed file 'src/m/template.h'
--- src/m/template.h    2012-01-19 07:21:25 +0000
+++ src/m/template.h    1970-01-01 00:00:00 +0000
@@ -1,34 +0,0 @@
-/* machine description file template.
-
-Copyright (C) 1985-1986, 2001-2012  Free Software Foundation, Inc.
-
-This file is part of GNU Emacs.
-
-GNU Emacs is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-GNU Emacs is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-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/>.  */
-
-/* Now define a symbol for the cpu type, if your compiler
-   does not define it automatically.
-   Ones defined so far include m68k and many others */
-
-/* After adding support for a new machine, modify the large case
-   statement in configure.in to recognize reasonable
-   configuration names, and add a description of the system to
-   `etc/MACHINES'.
-
-   Check for any tests of $machine in configure.in, and add an entry
-   for the new machine if needed.
-
-   If you've just fixed a problem in an existing configuration file,
-   you should also check `etc/MACHINES' to make sure its descriptions
-   of known problems in that configuration should be updated.  */

=== modified file 'src/mem-limits.h'
--- src/mem-limits.h    2012-02-20 23:09:58 +0000
+++ src/mem-limits.h    2012-05-22 05:54:31 +0000
@@ -34,7 +34,7 @@
 #endif
 
 extern char *start_of_data (void);
-#if defined USE_LSB_TAG || UINTPTR_MAX >> VALBITS == 0
+#if defined USE_LSB_TAG || UINTPTR_MAX <= VAL_MAX
 #define EXCEEDS_LISP_PTR(ptr) 0
 #elif defined DATA_SEG_BITS
 #define EXCEEDS_LISP_PTR(ptr) \

=== modified file 'src/puresize.h'
--- src/puresize.h      2012-01-19 07:21:25 +0000
+++ src/puresize.h      2012-05-22 05:54:31 +0000
@@ -45,7 +45,7 @@
 
 /* Increase BASE_PURESIZE by a ratio depending on the machine's word size.  */
 #ifndef PURESIZE_RATIO
-#if BITS_PER_EMACS_INT > 32
+#if EMACS_INT_MAX >> 31 != 0
 #define PURESIZE_RATIO 10/6    /* Don't surround with `()'. */
 #else
 #define PURESIZE_RATIO 1

=== modified file 'src/s/aix4-2.h'
--- src/s/aix4-2.h      2012-04-14 06:18:49 +0000
+++ src/s/aix4-2.h      2012-05-20 16:41:55 +0000
@@ -76,6 +76,17 @@
    to avoid a crash just use the Emacs implementation for that function.  */
 #define BROKEN_GET_CURRENT_DIR_NAME 1
 
+/*** BUILD 9008 - FIONREAD problem still exists in X-Windows. ***/
+#define BROKEN_FIONREAD
+/* As we define BROKEN_FIONREAD, SIGIO will be undefined in systty.h.
+   But, on AIX, SIGAIO, SIGPTY, and SIGPOLL are defined as SIGIO,
+   which causes compilation error at init_signals in sysdep.c.  So, we
+   define these macros so that syssignal.h detects them and undefine
+   SIGAIO, SIGPTY and SIGPOLL.  */
+#define BROKEN_SIGAIO
+#define BROKEN_SIGPTY
+#define BROKEN_SIGPOLL
+
 /* Conservative garbage collection has not been tested, so for now
    play it safe and stick with the old-fashioned way of marking.  */
 #define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE

=== modified file 'src/s/gnu-linux.h'
--- src/s/gnu-linux.h   2012-04-14 06:18:49 +0000
+++ src/s/gnu-linux.h   2012-05-20 16:41:55 +0000
@@ -157,3 +157,9 @@
 #else
 #define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE
 #endif
+
+#ifdef __i386__
+/* libc-linux/sysdeps/linux/i386/ulimit.c says that due to shared library, */
+/* we cannot get the maximum address for brk */
+# define ULIMIT_BREAK_VALUE (32*1024*1024)
+#endif

=== modified file 'src/s/gnu.h'
--- src/s/gnu.h 2012-04-14 06:18:49 +0000
+++ src/s/gnu.h 2012-05-20 16:41:55 +0000
@@ -24,8 +24,6 @@
 #undef SYSTEM_TYPE
 #define SYSTEM_TYPE "gnu"
 
-#undef NLIST_STRUCT
-
 #define SIGNALS_VIA_CHARACTERS
 
 /* libc defines data_start.  */

=== modified file 'src/s/irix6-5.h'
--- src/s/irix6-5.h     2012-04-14 06:18:49 +0000
+++ src/s/irix6-5.h     2012-05-20 16:41:55 +0000
@@ -85,10 +85,6 @@
 
 #define NARROWPROTO 1
 
-#if _MIPS_SZLONG == 64         /* -mabi=64 (gcc) or -64 (MIPSpro) */
-#define _LP64                  /* lisp.h takes care of the rest */
-#endif /* _MIPS_SZLONG */
-
 #undef SA_RESTART
 
 #undef TIOCSIGSEND             /* defined in usg5-4-common.h */

=== modified file 'src/s/ms-w32.h'
--- src/s/ms-w32.h      2012-05-19 18:04:49 +0000
+++ src/s/ms-w32.h      2012-05-20 16:41:55 +0000
@@ -381,6 +381,8 @@
 /* We need a little extra space, see ../../lisp/loadup.el.  */
 #define SYSTEM_PURESIZE_EXTRA 50000
 
+#define DATA_START     get_data_start ()
+
 /* For unexec to work on Alpha systems, we need to put Emacs'
    initialized data into a separate section from the CRT initialized
    data (because the Alpha linker freely reorders data variables, even





reply via email to

[Prev in Thread] Current Thread [Next in Thread]