[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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] trunk r116889: Require GNU make to build Emacs,
Glenn Morris <=