emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] trunk r116889: Require GNU make to build Emacs


From: Glenn Morris
Subject: [Emacs-diffs] trunk r116889: Require GNU make to build Emacs
Date: Thu, 27 Mar 2014 19:42:00 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 116889
revision-id: address@hidden
parent: address@hidden
committer: Glenn Morris <address@hidden>
branch nick: trunk
timestamp: Thu 2014-03-27 15:41:57 -0400
message:
  Require GNU make to build Emacs
  
  Ref: http://debbugs.gnu.org/16717#45
  If no-one objects, we can then start getting rid of some of the
  convoluted Makefile hacks that exist to support non-GNU makes.
  
  * configure.ac: Require GNU make.
  (HAVE_GNU_MAKE): Remove.
  
  * INSTALL, etc/NEWS, etc/PROBLEMS: Update for this change.
  
  * Makefile.in: Comment.
modified:
  ChangeLog                      changelog-20091113204419-o5vbwnq5f7feedwu-1538
  INSTALL                        install-20091113204419-o5vbwnq5f7feedwu-581
  Makefile.in                    makefile.in-20091113204419-o5vbwnq5f7feedwu-446
  configure.ac                   
configure.in-20091113204419-o5vbwnq5f7feedwu-783
  etc/NEWS                       news-20100311060928-aoit31wvzf25yr1z-1
  etc/PROBLEMS                   problems-20091113204419-o5vbwnq5f7feedwu-1498
=== modified file 'ChangeLog'
--- a/ChangeLog 2014-03-26 15:57:13 +0000
+++ b/ChangeLog 2014-03-27 19:41:57 +0000
@@ -1,3 +1,8 @@
+2014-03-27  Glenn Morris  <address@hidden>
+
+       * configure.ac: Require GNU make.
+       (HAVE_GNU_MAKE): Remove.
+
 2014-03-26  Paul Eggert  <address@hidden>
 
        Merge from gnulib, incorporating:

=== modified file 'INSTALL'
--- a/INSTALL   2014-03-22 22:52:47 +0000
+++ b/INSTALL   2014-03-27 19:41:57 +0000
@@ -24,6 +24,9 @@
 `src/config.h' file containing system-dependent definitions.
 Running the `make' utility then builds the package for your system.
 
+Building Emacs requires GNU make, <http://www.gnu.org/software/make/>.
+On most systems that Emacs supports, this is the default `make' program.
+
 Here's the procedure to build Emacs using `configure' on systems which
 are supported by it.  In some cases, if the simplified procedure fails,
 you might need to use various non-default options, and maybe perform
@@ -49,7 +52,6 @@
                 SOURCE-DIR/configure
 
       where SOURCE-DIR is the top-level Emacs source directory.
-      This may not work unless you use GNU make.
 
   3. When `configure' finishes, it prints several lines of details
      about the system configuration.  Read those details carefully
@@ -435,12 +437,8 @@
 where Emacs's configure script is located.  `configure' looks for the
 Emacs source code in the directory that `configure' is in.
 
-To build in a separate directory, you must use a version of `make'
-that supports the `VPATH' variable, such as GNU `make'.
-
-(Do not try to build in a separate directory by creating many links
-to the real source directory--there is no need, and installation will
-fail.)
+(Do not try to build in a separate directory by creating many links to
+the real source directory--there is no need, and installation will fail.)
 
 4) Put into `./lisp/site-init.el' or `./lisp/site-load.el' any Emacs
 Lisp code you want Emacs to load before it is dumped out.  Use

=== modified file 'Makefile.in'
--- a/Makefile.in       2014-03-21 06:49:38 +0000
+++ b/Makefile.in       2014-03-27 19:41:57 +0000
@@ -60,8 +60,8 @@
 
 SHELL = @SHELL@
 
-# This may not work with certain non-GNU make's.  It only matters when
-# inheriting a CDPATH not starting with the current directory.
+# This only matters when inheriting a CDPATH not starting with the
+# current directory.
 CDPATH=
 
 # If Make doesn't predefine MAKE, set it here.

=== modified file 'configure.ac'
--- a/configure.ac      2014-03-26 01:14:44 +0000
+++ b/configure.ac      2014-03-27 19:41:57 +0000
@@ -441,8 +441,7 @@
 AC_ARG_ENABLE(autodepend,
 [AS_HELP_STRING([--enable-autodepend],
                [automatically generate dependencies to .h-files.
-                Requires GNU Make and Gcc. Enabled if GNU Make and Gcc is
-                found])],
+                Requires gcc, enabled if found.])],
 [ac_enable_autodepend="${enableval}"],[ac_enable_autodepend=yes])
 
 AC_ARG_ENABLE(gtk-deprecation-warnings,
@@ -659,6 +658,18 @@
 fi
 
 
+AC_MSG_CHECKING([whether we are using GNU Make])
+testval=`${MAKE-make} --version 2>/dev/null | grep 'GNU Make'`
+if test "x$testval" != x; then
+  AC_MSG_RESULT([yes])
+else
+  AC_MSG_RESULT([no])
+  AC_MSG_ERROR([Building Emacs requires GNU make.
+If you have it installed under a name other than 'make',
+set the MAKE environment variable, and try again.])
+fi
+
+
 #### Choose a compiler.
 
 dnl Sets GCC=yes if using gcc.
@@ -1526,27 +1537,16 @@
 DEPFLAGS=
 MKDEPDIR=":"
 deps_frag=deps.mk
-dnl check for GNU Make if we have GCC and autodepend is on.
+dnl check if we have GCC and autodepend is on.
 if test "$GCC" = yes && test "$ac_enable_autodepend" = yes; then
-   AC_MSG_CHECKING([whether we are using GNU Make])
-   HAVE_GNU_MAKE=no
-   testval=`${MAKE-make} --version 2>/dev/null | grep 'GNU Make'`
-   if test "x$testval" != x; then
-      HAVE_GNU_MAKE=yes
-   else
-      ac_enable_autodepend=no
-   fi
-   AC_MSG_RESULT([$HAVE_GNU_MAKE])
-   if test $HAVE_GNU_MAKE = yes; then
-      AC_MSG_CHECKING([whether gcc understands -MMD -MF])
-      SAVE_CFLAGS="$CFLAGS"
-      CFLAGS="$CFLAGS -MMD -MF deps.d -MP"
-      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])], , 
ac_enable_autodepend=no)
-      CFLAGS="$SAVE_CFLAGS"
-      test -f deps.d || ac_enable_autodepend=no
-      rm -rf deps.d
-      AC_MSG_RESULT([$ac_enable_autodepend])
-   fi
+   AC_MSG_CHECKING([whether gcc understands -MMD -MF])
+   SAVE_CFLAGS="$CFLAGS"
+   CFLAGS="$CFLAGS -MMD -MF deps.d -MP"
+   AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])], , ac_enable_autodepend=no)
+   CFLAGS="$SAVE_CFLAGS"
+   test -f deps.d || ac_enable_autodepend=no
+   rm -rf deps.d
+   AC_MSG_RESULT([$ac_enable_autodepend])
    if test $ac_enable_autodepend = yes; then
       DEPFLAGS='-MMD -MF ${DEPDIR}/$*.d -MP'
       ## MKDIR_P is documented (see AC_PROG_MKDIR_P) to be parallel-safe.

=== modified file 'etc/NEWS'
--- a/etc/NEWS  2014-03-26 01:41:13 +0000
+++ b/etc/NEWS  2014-03-27 19:41:57 +0000
@@ -24,6 +24,9 @@
 
 * Installation Changes in Emacs 24.5
 
++++
+** Building Emacs now requires GNU make.
+
 
 * Startup Changes in Emacs 24.5
 

=== modified file 'etc/PROBLEMS'
--- a/etc/PROBLEMS      2014-03-23 06:02:36 +0000
+++ b/etc/PROBLEMS      2014-03-27 19:41:57 +0000
@@ -2544,27 +2544,6 @@
 This is due to a bug in the bcopy implementation in openSUSE 10.3.
 It is/will be fixed in an openSUSE update.
 
-** Installation
-
-*** On Solaris, use GNU Make when installing an out-of-tree build
-
-The Emacs configuration process allows you to configure the
-build environment so that you can build emacs in a directory
-outside of the distribution tree.  When installing Emacs from an
-out-of-tree build directory on Solaris, you may need to use GNU
-make.  The make programs bundled with Solaris support the VPATH
-macro but use it differently from the way the VPATH macro is
-used by GNU make.  The differences will cause the "make install"
-step to fail, leaving you with an incomplete emacs
-installation.  GNU make is available in /usr/sfw/bin on Solaris
-10 and can be installed as /opt/sfw/bin/gmake from the Solaris 9
-Software Companion CDROM.
-
-The problems due to the VPATH processing differences affect only
-out of tree builds so, if you are on a Solaris installation
-without GNU make, you can install Emacs completely by installing
-from a build environment using the original emacs distribution tree.
-
 ** First execution
 
 *** Emacs binary is not in executable format, and cannot be run.


reply via email to

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