From 34374650303af0e59ab406b516b91f13d7eb28d3 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 22 May 2012 09:20:27 -0700 Subject: [PATCH] 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. * admin/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. * admin/MAINTAINERS: Remove src/m/. * lib-src/makefile.w32-in: Remove dependencies on $(EMACS_ROOT)/src/m/intel386.h. * msdos/mainmake.v2 (TAGS tags): Don't look at $(CURDIR)/src/m/intel386.h. * nt/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. This directory predates autoconf and is no longer needed nowadays. Move its few remaining bits of functionality to where they're needed. * src/m/README, src/m/alpha.h, src/m/amdx86-64.h, src/m/ia64.h, src/m/ibmrs6000.h: * src/m/ibms390x.h, src/m/intel386.h, src/m/m68k.h, src/m/macppc.h: * src/m/sparc.h, src/m/template.h: Remove. * src/Makefile.in (M_FILE): Remove. All uses removed. * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): * src/lisp.h (USE_LSB_TAG): * src/mem-limits.h (EXCEEDS_LISP_PTR): Use VAL_MAX, not VALBITS, in #if. * src/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. * src/puresize.h (PURESIZE_RATIO): Use EMACS_INT_MAX, not BITS_PER_EMACS_INT, in #if. * src/s/aix4-2.h (BROKEN_FIONREAD, BROKEN_SIGAIO, BROKEN_SIGPTY) (BROKEN_SIGPOLL): Move here from m/ibmrs6000.h, which was removed. * src/s/gnu-linux.h (ULIMIT_BREAK_VALUE) [__i386__]: * src/s/ms-w32.h (DATA_START): Move here from removed file m/intel386.h. * src/s/gnu.h (NLIST_STRUCT): Remove undef; 'configure' does this. * src/s/irix6-5.h (_LP64): Remove; lisp.h no longer needs this. --- ChangeLog | 12 ++++ admin/CPP-DEFINES | 7 +- admin/ChangeLog | 8 +++ admin/MAINTAINERS | 2 - configure.in | 168 +++++++++--------------------------------------- lib-src/ChangeLog | 6 ++ lib-src/makefile.w32-in | 9 --- lib/makefile.w32-in | 10 --- make-dist | 6 +- msdos/ChangeLog | 5 ++ msdos/mainmake.v2 | 3 +- nt/ChangeLog | 8 +++ nt/config.nt | 35 +--------- src/ChangeLog | 32 +++++++++ src/Makefile.in | 7 +- src/alloc.c | 4 +- src/lisp.h | 45 ++++++++----- src/m/README | 7 -- src/m/alpha.h | 53 --------------- src/m/amdx86-64.h | 35 ---------- src/m/ia64.h | 32 --------- src/m/ibmrs6000.h | 46 ------------- src/m/ibms390x.h | 32 --------- src/m/intel386.h | 29 --------- src/m/m68k.h | 32 --------- src/m/macppc.h | 24 ------- src/m/sparc.h | 30 --------- src/m/template.h | 34 ---------- src/mem-limits.h | 2 +- src/puresize.h | 2 +- src/s/aix4-2.h | 11 ++++ src/s/gnu-linux.h | 6 ++ src/s/gnu.h | 2 - src/s/irix6-5.h | 4 -- src/s/ms-w32.h | 2 + 35 files changed, 159 insertions(+), 591 deletions(-) delete mode 100644 src/m/README delete mode 100644 src/m/alpha.h delete mode 100644 src/m/amdx86-64.h delete mode 100644 src/m/ia64.h delete mode 100644 src/m/ibmrs6000.h delete mode 100644 src/m/ibms390x.h delete mode 100644 src/m/intel386.h delete mode 100644 src/m/m68k.h delete mode 100644 src/m/macppc.h delete mode 100644 src/m/sparc.h delete mode 100644 src/m/template.h diff --git a/ChangeLog b/ChangeLog index f70731e0e67..9da0a32d568 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,17 @@ 2012-05-22 Paul Eggert + 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 + * Makefile.in (ACLOCAL_INPUTS): Fix up gnulib-comp.m4 name. (Bug#11529) Without this further fix, aclocal was being invoked unnecessarily. diff --git a/admin/CPP-DEFINES b/admin/CPP-DEFINES index d736f2354f7..c03bf6156ab 100644 --- a/admin/CPP-DEFINES +++ b/admin/CPP-DEFINES @@ -63,16 +63,11 @@ USER_FULL_NAME If defined, overrides the default pw->pw_gecos for getting at t ** 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 diff --git a/admin/ChangeLog b/admin/ChangeLog index 5ee31127006..c9e9d4a1acc 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog @@ -1,3 +1,11 @@ +2012-05-22 Paul Eggert + + 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 Use full name for m4/gnulib-comp.m4. (Bug#11529) diff --git a/admin/MAINTAINERS b/admin/MAINTAINERS index bfac347eb15..86d319d65d5 100644 --- a/admin/MAINTAINERS +++ b/admin/MAINTAINERS @@ -171,7 +171,6 @@ src/insdel.c 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/xmenu.c src/xrdb.c src/xselect.c src/xterm.c - diff --git a/configure.in b/configure.in index eb5e8482e9b..3a7e42965e8 100644 --- a/configure.in +++ b/configure.in @@ -375,8 +375,8 @@ case "${srcdir}" in * ) 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 @@ dnl quotation begins ### 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 @@ dnl quotation begins ### 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 @@ case "${canonical}" in ## 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 @@ case "${canonical}" in | 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 @@ case "${canonical}" in ## 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 @@ if test $unported = yes; then 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 if test "x$RANLIB" = x; then 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 @@ esac 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 @@ if test "$machine" = "alpha"; then else UNEXEC_OBJ=unexalpha.o fi -fi + ;; +esac AC_SUBST(C_SWITCH_MACHINE) AC_SUBST(UNEXEC_OBJ) @@ -1642,7 +1581,7 @@ case ${HAVE_X11} in 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(GNUSTEP_CFLAGS) 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 @@ AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "${canonical}", [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 @@ case "$opsys" in ## #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 @@ case "$opsys" in ## will also work on earlier NetBSD releases. netbsd|openbsd) LD_FIRSTFLAG="-nostartfiles" ;; - ## macpcc: NAKAJI Hiroyuki says + ## powerpc*: NAKAJI Hiroyuki 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 @@ if test "x$ORDINARY_LINK" = "xyes"; then 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 @@ AH_BOTTOM([ #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 @@ AH_BOTTOM([ #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 #include @@ -3709,17 +3606,12 @@ if test "${HAVE_GTK}" = "yes"; then 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} diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 4e0ad922da2..b32e0607c94 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,9 @@ +2012-05-22 Paul Eggert + + Remove src/m/*. + * makefile.w32-in: Remove dependencies on + $(EMACS_ROOT)/src/m/intel386.h. + 2012-05-22 Glenn Morris * Makefile.in (install): Remove unneeded chmods. diff --git a/lib-src/makefile.w32-in b/lib-src/makefile.w32-in index 316e4fb127f..83b818ed6c6 100644 --- a/lib-src/makefile.w32-in +++ b/lib-src/makefile.w32-in @@ -354,7 +354,6 @@ SRC = . $(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 @@ $(BLD)/ctags.$(O) : \ $(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 @@ $(BLD)/ebrowse.$(O) : \ $(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 @@ $(BLD)/etags.$(O) : \ $(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)/etags.$(O) : \ $(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)/make-path.$(O) : \ $(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)/pop.$(O) : \ $(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)/test-distrib.$(O) : \ $(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 diff --git a/lib/makefile.w32-in b/lib/makefile.w32-in index a2870345ad6..8c27f139e76 100644 --- a/lib/makefile.w32-in +++ b/lib/makefile.w32-in @@ -67,7 +67,6 @@ $(BLD)/dtoastr.$(O) : \ $(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 @@ $(BLD)/getopt.$(O) : \ $(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 @@ $(BLD)/getopt1.$(O) : \ $(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 @@ $(BLD)/strftime.$(O) : \ $(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 @@ $(BLD)/md5.$(O) : \ $(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 @@ $(BLD)/sha1.$(O) : \ $(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 @@ $(BLD)/sha256.$(O) : \ $(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 @@ $(BLD)/sha512.$(O) : \ $(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 @@ $(BLD)/filemode.$(O) : \ $(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 diff --git a/make-dist b/make-dist index 0a12a630526..ead1fa544ec 100755 --- a/make-dist +++ b/make-dist @@ -293,7 +293,7 @@ for subdir in site-lisp \ 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 @@ echo "Making links to \`src/bitmaps'" (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) diff --git a/msdos/ChangeLog b/msdos/ChangeLog index 46472373e51..2b56315c1a3 100644 --- a/msdos/ChangeLog +++ b/msdos/ChangeLog @@ -1,3 +1,8 @@ +2012-05-22 Paul Eggert + + Remove src/m/*. + * mainmake.v2 (TAGS tags): Don't look at $(CURDIR)/src/m/intel386.h. + 2012-05-19 Paul Eggert * sed2v2.inp (HAVE_MBLEN): Remove. diff --git a/msdos/mainmake.v2 b/msdos/mainmake.v2 index 2113dc4a127..b4837b99fb9 100644 --- a/msdos/mainmake.v2 +++ b/msdos/mainmake.v2 @@ -162,7 +162,7 @@ TAGS tags: lib-src FRC ../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-clean: FRC bootstrap: bootstrap-clean FRC command.com /e:2048 /c config msdos $(MAKE) $(MFLAGS) info all - diff --git a/nt/ChangeLog b/nt/ChangeLog index faf6f80c4c5..198729776b5 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog @@ -1,3 +1,11 @@ +2012-05-22 Paul Eggert + + 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 * config.nt (HAVE_GETDOMAINNAME, HAVE_XSETWMPROTOCOLS) diff --git a/nt/config.nt b/nt/config.nt index 9d933c2d0a0..16122b5e10e 100644 --- a/nt/config.nt +++ b/nt/config.nt @@ -421,17 +421,6 @@ typedef unsigned short mode_t; #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 @@ extern char *getenv (); #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 @@ extern char *getenv (); /* 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 diff --git a/src/ChangeLog b/src/ChangeLog index 3054f4a284f..784544bae6d 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,35 @@ +2012-05-22 Paul Eggert + + 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 Assume C89 or later. diff --git a/src/Makefile.in b/src/Makefile.in index dd667ea60a3..27199578fc0 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -56,9 +56,8 @@ lwlibdir = ../lwlib 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 @@ extraclean: distclean 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 diff --git a/src/alloc.c b/src/alloc.c index 3601c256c41..1f422a6d3b0 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -4297,8 +4297,8 @@ mark_maybe_pointer (void *p) 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. */ diff --git a/src/lisp.h b/src/lisp.h index fd5219adf4c..bb9e6ed3825 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -41,25 +41,36 @@ extern void check_cons_list (void); 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 @@ extern int suppress_checking EXTERNALLY_VISIBLE; 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 @@ extern int suppress_checking EXTERNALLY_VISIBLE; || 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 @@ enum pvec_type #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 diff --git a/src/m/README b/src/m/README deleted file mode 100644 index ad91167648e..00000000000 --- a/src/m/README +++ /dev/null @@ -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. diff --git a/src/m/alpha.h b/src/m/alpha.h deleted file mode 100644 index 2a97a3d5b0c..00000000000 --- a/src/m/alpha.h +++ /dev/null @@ -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 . */ - -#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 diff --git a/src/m/amdx86-64.h b/src/m/amdx86-64.h deleted file mode 100644 index f0482c733f9..00000000000 --- a/src/m/amdx86-64.h +++ /dev/null @@ -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 . */ - -#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 diff --git a/src/m/ia64.h b/src/m/ia64.h deleted file mode 100644 index 47df94cedd0..00000000000 --- a/src/m/ia64.h +++ /dev/null @@ -1,32 +0,0 @@ -/* machine description file for the IA-64 architecture. - -Copyright (C) 2000-2012 Free Software Foundation, Inc. - - Contributed by David Mosberger - -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 . */ - -#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 diff --git a/src/m/ibmrs6000.h b/src/m/ibmrs6000.h deleted file mode 100644 index 9798ad2d3d7..00000000000 --- a/src/m/ibmrs6000.h +++ /dev/null @@ -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 . */ - - -/* 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 - diff --git a/src/m/ibms390x.h b/src/m/ibms390x.h deleted file mode 100644 index aa652a8206a..00000000000 --- a/src/m/ibms390x.h +++ /dev/null @@ -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 . */ - -#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) diff --git a/src/m/intel386.h b/src/m/intel386.h deleted file mode 100644 index 78a43e92c21..00000000000 --- a/src/m/intel386.h +++ /dev/null @@ -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 . */ - - -#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 diff --git a/src/m/m68k.h b/src/m/m68k.h deleted file mode 100644 index 120a2bad293..00000000000 --- a/src/m/m68k.h +++ /dev/null @@ -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 . */ - -/* 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 - diff --git a/src/m/macppc.h b/src/m/macppc.h deleted file mode 100644 index 0303ead25d6..00000000000 --- a/src/m/macppc.h +++ /dev/null @@ -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 . */ - -#ifdef _ARCH_PPC64 -#ifndef _LP64 -#define _LP64 -#endif -#endif diff --git a/src/m/sparc.h b/src/m/sparc.h deleted file mode 100644 index 27b6070ba87..00000000000 --- a/src/m/sparc.h +++ /dev/null @@ -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 . */ - -/* __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__ */ diff --git a/src/m/template.h b/src/m/template.h deleted file mode 100644 index 5f1a46c86e1..00000000000 --- a/src/m/template.h +++ /dev/null @@ -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 . */ - -/* 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. */ diff --git a/src/mem-limits.h b/src/mem-limits.h index 244592a9768..1fd53b472f3 100644 --- a/src/mem-limits.h +++ b/src/mem-limits.h @@ -34,7 +34,7 @@ extern int etext; #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) \ diff --git a/src/puresize.h b/src/puresize.h index e854dc585e8..185d2a76ae0 100644 --- a/src/puresize.h +++ b/src/puresize.h @@ -45,7 +45,7 @@ along with GNU Emacs. If not, see . */ /* 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 diff --git a/src/s/aix4-2.h b/src/s/aix4-2.h index 354ffda0988..cacfdc7ed63 100644 --- a/src/s/aix4-2.h +++ b/src/s/aix4-2.h @@ -76,6 +76,17 @@ along with GNU Emacs. If not, see . */ 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 diff --git a/src/s/gnu-linux.h b/src/s/gnu-linux.h index d04ea33068a..409d0205520 100644 --- a/src/s/gnu-linux.h +++ b/src/s/gnu-linux.h @@ -157,3 +157,9 @@ along with GNU Emacs. If not, see . */ #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 diff --git a/src/s/gnu.h b/src/s/gnu.h index a09e0e824c9..cd72164a520 100644 --- a/src/s/gnu.h +++ b/src/s/gnu.h @@ -24,8 +24,6 @@ along with GNU Emacs. If not, see . */ #undef SYSTEM_TYPE #define SYSTEM_TYPE "gnu" -#undef NLIST_STRUCT - #define SIGNALS_VIA_CHARACTERS /* libc defines data_start. */ diff --git a/src/s/irix6-5.h b/src/s/irix6-5.h index e5d90c1bd5d..e5479c3b8d3 100644 --- a/src/s/irix6-5.h +++ b/src/s/irix6-5.h @@ -85,10 +85,6 @@ char *_getpty(); #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 */ diff --git a/src/s/ms-w32.h b/src/s/ms-w32.h index 63fc2f1f62b..f88128b27aa 100644 --- a/src/s/ms-w32.h +++ b/src/s/ms-w32.h @@ -381,6 +381,8 @@ extern int getloadavg (double *, int); /* 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 -- 2.11.4.GIT