* HAVE_FTIME, src/m/vax.h, and src/m in general @ 2012-05-19 9:01 Paul Eggert 2012-05-19 12:36 ` Eli Zaretskii 2012-05-19 18:53 ` Stefan Monnier 0 siblings, 2 replies; 9+ messages in thread From: Paul Eggert @ 2012-05-19 9:01 UTC (permalink / raw To: Emacs Development; +Cc: Eli Zaretskii I noticed that the macro HAVE_FTIME is no longer used, and installed the following cleanup patch in the trunk. As a result, src/m/vax.h is no longer needed, so I removed that too. This changes a couple of Windows-related files in what should be trivial ways so I'm mentioning this as a heads-up. It strikes me that the src/m directory is obsolete, in the sense that its presence is a revenant of a pre-autoconf way of configuring things, and its functionality could easily be moved elsewhere as part of further cleanup. === modified file 'ChangeLog' --- ChangeLog 2012-05-19 07:20:16 +0000 +++ ChangeLog 2012-05-19 08:49:08 +0000 @@ -1,3 +1,9 @@ +2012-05-19 Paul Eggert <eggert@cs.ucla.edu> + + * configure.in (machine): Do not set to 'vax', since src/m/vax.h + is being removed. + (AC_CHECK_FUNCS): Remove ftime. + 2012-05-19 Glenn Morris <rgm@gnu.org> * Makefile.in (install-arch-indep): Remove unneeded subshell. === modified file 'admin/CPP-DEFINES' --- admin/CPP-DEFINES 2011-11-20 09:24:06 +0000 +++ admin/CPP-DEFINES 2012-05-19 08:49:08 +0000 @@ -120,7 +120,6 @@ HAVE_FPATHCONF HAVE_FREXP HAVE_FSYNC -HAVE_FTIME HAVE_GETCWD HAVE_GETDOMAINNAME HAVE_GETHOSTNAME === modified file 'admin/ChangeLog' --- admin/ChangeLog 2012-05-02 07:12:52 +0000 +++ admin/ChangeLog 2012-05-19 08:49:08 +0000 @@ -1,3 +1,7 @@ +2012-05-19 Paul Eggert <eggert@cs.ucla.edu> + + * CPP-DEFINES (HAVE_FTIME): Remove. + 2012-05-02 Glenn Morris <rgm@gnu.org> * bzrmerge.el (bzrmerge-skip-regexp): Add "Auto-commit". === modified file 'configure.in' --- configure.in 2012-05-18 17:49:24 +0000 +++ configure.in 2012-05-19 08:49:08 +0000 @@ -466,7 +466,6 @@ m68k-*) machine=m68k ;; powerpc-*) machine=macppc ;; sparc*-) machine=sparc ;; - vax-*) machine=vax ;; esac ;; @@ -479,7 +478,6 @@ i386-*) machine=intel386 ;; powerpc-*) machine=macppc ;; sparc*) machine=sparc ;; - vax-*) machine=vax ;; esac ;; @@ -2777,7 +2775,7 @@ AC_CHECK_FUNCS(gethostname getdomainname \ rename closedir mkdir rmdir sysinfo getrusage get_current_dir_name \ -random lrand48 logb frexp fmod rint cbrt ftime setsid \ +random lrand48 logb frexp fmod rint cbrt setsid \ strerror fpathconf select euidaccess getpagesize tzset setlocale \ utimes getrlimit setrlimit setpgid getcwd getwd shutdown getaddrinfo \ __fpending mblen mbrlen mbsinit strsignal setitimer ualarm \ === modified file 'nt/ChangeLog' --- nt/ChangeLog 2012-05-01 00:30:11 +0000 +++ nt/ChangeLog 2012-05-19 08:49:08 +0000 @@ -1,3 +1,7 @@ +2012-05-19 Paul Eggert <eggert@cs.ucla.edu> + + * config.nt (HAVE_FTIME): Remove undef; not needed. + 2012-05-01 Glenn Morris <rgm@gnu.org> * config.nt (HAVE_LIBNCURSES): Remove undef; not needed. === modified file 'nt/config.nt' --- nt/config.nt 2012-05-02 07:20:29 +0000 +++ nt/config.nt 2012-05-19 08:49:08 +0000 @@ -221,7 +221,6 @@ #undef HAVE_FMOD #undef HAVE_RINT #undef HAVE_CBRT -#undef HAVE_FTIME #undef HAVE_RES_INIT /* For -lresolv on Suns. */ #undef HAVE_SETSID #undef HAVE_FPATHCONF === modified file 'src/ChangeLog' --- src/ChangeLog 2012-05-18 08:36:50 +0000 +++ src/ChangeLog 2012-05-19 08:49:08 +0000 @@ -1,3 +1,8 @@ +2012-05-19 Paul Eggert <eggert@cs.ucla.edu> + + * m/vax.h: Remove; no longer needed since HAVE_FTIME is being removed. + * s/ms-w32.h (HAVE_FTIME): Remove; not needed. + 2012-05-18 Eli Zaretskii <eliz@gnu.org> Fix compilation with -DGLYPH_DEBUG=1 on MS-Windows. === removed file 'src/m/vax.h' --- src/m/vax.h 2012-01-19 07:21:25 +0000 +++ src/m/vax.h 1970-01-01 00:00:00 +0000 @@ -1,23 +0,0 @@ -/* machine description file for vax. - -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/>. */ - - -/* #define vax -- appears to be done automatically */ - -#define HAVE_FTIME === modified file 'src/s/ms-w32.h' --- src/s/ms-w32.h 2012-03-29 20:06:39 +0000 +++ src/s/ms-w32.h 2012-05-19 08:49:08 +0000 @@ -147,7 +147,6 @@ #define HAVE_FMOD 1 #undef HAVE_RINT #undef HAVE_CBRT -#define HAVE_FTIME 1 #undef HAVE_RES_INIT /* For -lresolv on Suns. */ #undef HAVE_SETSID #undef HAVE_FPATHCONF ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: HAVE_FTIME, src/m/vax.h, and src/m in general 2012-05-19 9:01 HAVE_FTIME, src/m/vax.h, and src/m in general Paul Eggert @ 2012-05-19 12:36 ` Eli Zaretskii 2012-05-19 18:53 ` Stefan Monnier 1 sibling, 0 replies; 9+ messages in thread From: Eli Zaretskii @ 2012-05-19 12:36 UTC (permalink / raw To: Paul Eggert; +Cc: emacs-devel > Date: Sat, 19 May 2012 02:01:44 -0700 > From: Paul Eggert <eggert@cs.ucla.edu> > CC: Eli Zaretskii <eliz@gnu.org> > > I noticed that the macro HAVE_FTIME is no longer used, and > installed the following cleanup patch in the trunk. As a > result, src/m/vax.h is no longer needed, so I removed that > too. This changes a couple of Windows-related files in what > should be trivial ways so I'm mentioning this as a heads-up. Thanks, I spotted no problems on Windows after that change. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: HAVE_FTIME, src/m/vax.h, and src/m in general 2012-05-19 9:01 HAVE_FTIME, src/m/vax.h, and src/m in general Paul Eggert 2012-05-19 12:36 ` Eli Zaretskii @ 2012-05-19 18:53 ` Stefan Monnier 2012-05-20 18:19 ` Paul Eggert 1 sibling, 1 reply; 9+ messages in thread From: Stefan Monnier @ 2012-05-19 18:53 UTC (permalink / raw To: Paul Eggert; +Cc: Eli Zaretskii, Emacs Development > It strikes me that the src/m directory is obsolete, I don't know if it's obsolete yet. It is deprecated, yes. > in the sense that its presence is a revenant of a pre-autoconf way of > configuring things, and its functionality could easily be moved > elsewhere as part of further cleanup. Right, we want to get rid of it (as well as src/s). Stefan ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: HAVE_FTIME, src/m/vax.h, and src/m in general 2012-05-19 18:53 ` Stefan Monnier @ 2012-05-20 18:19 ` Paul Eggert 2012-05-21 1:54 ` Stefan Monnier 0 siblings, 1 reply; 9+ messages in thread From: Paul Eggert @ 2012-05-20 18:19 UTC (permalink / raw To: Stefan Monnier; +Cc: Eli Zaretskii, Emacs Development On 05/19/2012 11:53 AM, Stefan Monnier wrote: > Right, we want to get rid of it (as well as src/s). src/s is a tougher nut to crack, but here's a patch to get the ball rolling by getting rid of src/m. I'd like to test it a bit more and then install it into the trunk. It does affect the msdos and nt builds and I've tried to include changes when necessary to build them but have not tested that. By my count this patch deletes 573 lines and inserts 89 lines, a nice little simplification. === modified file 'ChangeLog' --- ChangeLog 2012-05-19 18:57:10 +0000 +++ ChangeLog 2012-05-20 16:41:55 +0000 @@ -1,3 +1,15 @@ +2012-05-20 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-19 Ulrich Mueller <ulm@gentoo.org> * Makefile.in (install-etc): Respect DESTDIR. (Bug#11518) === modified file 'admin/CPP-DEFINES' --- admin/CPP-DEFINES 2012-05-19 18:04:49 +0000 +++ admin/CPP-DEFINES 2012-05-20 16:41:55 +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-19 18:04:49 +0000 +++ admin/ChangeLog 2012-05-20 16:41:55 +0000 @@ -1,3 +1,11 @@ +2012-05-20 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-19 Paul Eggert <eggert@cs.ucla.edu> * CPP-DEFINES (HAVE_GETDOMAINNAME): Remove. === 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-19 18:04:49 +0000 +++ configure.in 2012-05-20 16:41:55 +0000 @@ -374,8 +374,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. @@ -395,13 +395,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. ### @@ -411,82 +409,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 @@ -509,16 +465,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 @@ -536,9 +492,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 @@ -570,7 +526,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 ;; @@ -609,11 +564,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" @@ -757,19 +707,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) @@ -940,7 +877,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 @@ -956,7 +894,8 @@ else UNEXEC_OBJ=unexalpha.o fi -fi + ;; +esac AC_SUBST(C_SWITCH_MACHINE) AC_SUBST(UNEXEC_OBJ) @@ -1664,7 +1603,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 @@ -3240,13 +3179,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) @@ -3259,10 +3192,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.]) @@ -3441,8 +3370,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, @@ -3482,12 +3410,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 @@ -3499,7 +3427,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 @@ -3607,11 +3535,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. @@ -3635,34 +3560,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 - /* Define if the compiler supports function prototypes. It may do so but not define __STDC__ (e.g. DEC C by default) or may define it as zero. */ #undef PROTOTYPES @@ -3734,17 +3631,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-18 06:33:04 +0000 +++ lib-src/ChangeLog 2012-05-20 16:41:55 +0000 @@ -1,3 +1,9 @@ +2012-05-20 Paul Eggert <eggert@cs.ucla.edu> + + Remove src/m/*. + * makefile.w32-in: Remove dependencies on + $(EMACS_ROOT)/src/m/intel386.h. + 2012-05-18 Glenn Morris <rgm@gnu.org> * Makefile.in (install): Ensure $bindir exists. === 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-08 07:18:18 +0000 +++ make-dist 2012-05-20 16:41:55 +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-20 16:41:55 +0000 @@ -1,3 +1,8 @@ +2012-05-20 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-20 16:41:55 +0000 @@ -1,3 +1,10 @@ +2012-05-20 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. + 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-20 16:41:55 +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'. */ === modified file 'src/ChangeLog' --- src/ChangeLog 2012-05-19 21:46:43 +0000 +++ src/ChangeLog 2012-05-20 16:41:55 +0000 @@ -1,3 +1,25 @@ +2012-05-20 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. + * lisp.h (BITS_OF_SIGNED_MAX): New macro. + (BITS_PER_CHAR, BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG) + (BITS_PER_LONG_LONG): New macros, mostly based on + BITS_OF_SIGNED_MAX. These replace what used to be in config.h. + (EMACS_UINT): Define unconditionally now. + * 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-19 Ken Brown <kbrown@cornell.edu> * xfns.c (x_in_use): Remove `static' qualifier. === 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/lisp.h' --- src/lisp.h 2012-05-09 17:51:30 +0000 +++ src/lisp.h 2012-05-20 16:41:55 +0000 @@ -37,11 +37,43 @@ #define CHECK_CONS_LIST() ((void) 0) #endif +/* Number of bits in a signed integer type whose maximum is MAX, + or zero if not yet implemented. This macro can be used in #if. + Use * and +, not the more-straightforward if-then-else, to avoid a + preprocessor bug in Sun C 5.8 2005/10/13. */ +#define BITS_OF_SIGNED_MAX(max) (16 * ((max) == 0x7fff) \ + + 32 * ((max) == 0x7fffffff) \ + + 64 * ((max) >> 31 >> 31 == 1)) + +/* Number of bits in each basic machine integer type. */ + +#define BITS_PER_CHAR CHAR_BIT +#define BITS_PER_SHORT BITS_OF_SIGNED_MAX (SHRT_MAX) +#define BITS_PER_INT BITS_OF_SIGNED_MAX (INT_MAX) +#define BITS_PER_LONG BITS_OF_SIGNED_MAX (LONG_MAX) +#define BITS_PER_LONG_LONG BITS_OF_SIGNED_MAX (LLONG_MAX) + +#if ! BITS_PER_SHORT +# error Unknown short width +#endif +#if ! BITS_PER_INT +# error Unknown int width +#endif +#if ! BITS_PER_LONG +# error Unknown long width +#endif +#if ! BITS_PER_LONG_LONG && HAVE_LONG_LONG_INT +# error Unknown long long width +#endif + /* Temporarily disable wider-than-pointer integers until they're tested more. 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 + BITS_PER_EMACS_INT - number of bits in EMACS_INT + 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 # define EMACS_INT long long @@ -57,9 +89,7 @@ # define pI "" # endif #endif -#ifndef EMACS_UINT -# define EMACS_UINT unsigned EMACS_INT -#endif +#define EMACS_UINT unsigned EMACS_INT /* printmax_t and uprintmax_t are types for printing large integers. These are the widest integers that are supported for printing. === 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/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 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: HAVE_FTIME, src/m/vax.h, and src/m in general 2012-05-20 18:19 ` Paul Eggert @ 2012-05-21 1:54 ` Stefan Monnier 2012-05-21 3:06 ` Paul Eggert 0 siblings, 1 reply; 9+ messages in thread From: Stefan Monnier @ 2012-05-21 1:54 UTC (permalink / raw To: Paul Eggert; +Cc: Eli Zaretskii, Emacs Development > src/s is a tougher nut to crack, but here's a patch > to get the ball rolling by getting rid of src/m. > I'd like to test it a bit more and then install > it into the trunk. It does affect the msdos and nt > builds and I've tried to include changes when necessary > to build them but have not tested that. Haven't tried it, but I'm curious: Why use #define BITS_PER_SHORT BITS_OF_SIGNED_MAX (SHRT_MAX) rather than #define BITS_PER_SHORT (CHAR_BIT * sizeof (short)) -- Stefan ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: HAVE_FTIME, src/m/vax.h, and src/m in general 2012-05-21 1:54 ` Stefan Monnier @ 2012-05-21 3:06 ` Paul Eggert 2012-05-21 15:53 ` Stefan Monnier 0 siblings, 1 reply; 9+ messages in thread From: Paul Eggert @ 2012-05-21 3:06 UTC (permalink / raw To: Stefan Monnier; +Cc: Eli Zaretskii, Emacs Development On 05/20/2012 06:54 PM, Stefan Monnier wrote: > Why use > > #define BITS_PER_SHORT BITS_OF_SIGNED_MAX (SHRT_MAX) > > rather than > > #define BITS_PER_SHORT (CHAR_BIT * sizeof (short)) Mainly because sizeof does not work in '#if', and these macros must work in '#if'. Or at least some of them must do so, and we might as well have them all work. There's a brief comment to this effect in the description of BITS_OF_SIGNED_MAX. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: HAVE_FTIME, src/m/vax.h, and src/m in general 2012-05-21 3:06 ` Paul Eggert @ 2012-05-21 15:53 ` Stefan Monnier 2012-05-22 7:08 ` bug#11538: Decommissioning src/m Paul Eggert 0 siblings, 1 reply; 9+ messages in thread From: Stefan Monnier @ 2012-05-21 15:53 UTC (permalink / raw To: Paul Eggert; +Cc: Eli Zaretskii, Emacs Development > There's a brief comment to this effect in the description of > BITS_OF_SIGNED_MAX. 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. Stefan ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#11538: Decommissioning src/m 2012-05-21 15:53 ` Stefan Monnier @ 2012-05-22 7:08 ` Paul Eggert 2012-05-22 12:48 ` Stefan Monnier 0 siblings, 1 reply; 9+ messages in thread From: Paul Eggert @ 2012-05-22 7:08 UTC (permalink / raw To: Stefan Monnier; +Cc: 11538 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 ^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#11538: Decommissioning src/m 2012-05-22 7:08 ` bug#11538: Decommissioning src/m Paul Eggert @ 2012-05-22 12:48 ` Stefan Monnier 0 siblings, 0 replies; 9+ messages in thread From: Stefan Monnier @ 2012-05-22 12:48 UTC (permalink / raw To: Paul Eggert; +Cc: 11538 > 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. That looks OK, thanks, Stefan ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2012-05-22 12:48 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-05-19 9:01 HAVE_FTIME, src/m/vax.h, and src/m in general Paul Eggert 2012-05-19 12:36 ` Eli Zaretskii 2012-05-19 18:53 ` Stefan Monnier 2012-05-20 18:19 ` Paul Eggert 2012-05-21 1:54 ` Stefan Monnier 2012-05-21 3:06 ` Paul Eggert 2012-05-21 15:53 ` Stefan Monnier 2012-05-22 7:08 ` bug#11538: Decommissioning src/m Paul Eggert 2012-05-22 12:48 ` Stefan Monnier
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.