1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-04 08:47:11 +00:00
Commit Graph

2275 Commits

Author SHA1 Message Date
Paul Eggert
faded0b139 Use a shell function in configure.ac to cut down on code duplication.
* configure.ac (emacs_check_gnu_make): New shell function.
Use it to avoid duplication when checking for GNU Make.
It's OK for 'configure' to use shell functions these days,
as long as we follow the advice in the 'Shell Functions'
section of the Autoconf manual.
2014-06-11 10:51:27 -07:00
Glenn Morris
b12e56ab01 * configure.ac: Require at least version 3.81 of GNU make.
It's 8 years old and has some useful features not in older versions.

* etc/NEWS: Mention this.
2014-06-10 20:03:40 -07:00
Paul Eggert
ec4a33476e Rely on AC_CANONICAL_HOST to detect whether we're using mingw.
See the thread containing:
http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00206.html
* configure.ac (AC_CANONICAL_HOST): Invoke this as early as we
can, which is just after AM_INIT_AUTOMAKE.  Then check for mingw
just after that.
2014-06-10 12:43:13 -07:00
Glenn Morris
61784fd180 * Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL): New, set by configure
Use throughout where appropriate.
2014-06-09 22:15:49 -04:00
Glenn Morris
40abffe4c6 Get rid of the INFO_EXT variable
It's never been anything more than pointless complexity

* configure.ac (INFO_EXT, INFO_OPTS): Remove output variables.

* Makefile.in (INFO_EXT): Remove and replace by ".info" throughout.

* doc/emacs/Makefile.in (INFO_EXT): Remove and replace by ".info" throughout.
(INFO_OPTS): Set directly rather than with configure.

* doc/lispintro/Makefile.in (INFO_EXT): Remove and replace by ".info" throughout.
(INFO_OPTS): Set directly rather than with configure.

* doc/lispref/Makefile.in (INFO_EXT): Remove and replace by ".info" throughout.
(INFO_OPTS): Set directly rather than with configure.

* doc/misc/Makefile.in (INFO_EXT): Remove and replace by ".info" throughout.
(INFO_OPTS): Set directly rather than with configure.
2014-06-09 22:11:38 -04:00
Glenn Morris
36cf8493af Merge from emacs-24; up to 2014-06-01T23:37:59Z!eggert@cs.ucla.edu 2014-06-07 17:35:27 -07:00
Paul Eggert
a0e26ff003 Port better to AIX.
* configure.ac (with_xpm_set): New shell var.
(_THREAD_SAFE): Define on AIX if HAVE_PTHREAD.
(with_xpm): Default to 'no' on AIX.
(LIBXPM): Append -lXpm if -lXaw is also used, as the latter
requires the former on AIX.

Fixes: debbugs:17598
2014-06-06 23:10:39 -07:00
Dmitry Antipov
04ee0de0d1 * INSTALL: Mention SVG image support. 2014-06-05 21:31:41 +04:00
Paul Eggert
4545be9dcb Try harder to find GNU Make when configuring.
* configure.ac (AC_PROG_MAKE_SET): Define a dummy.
(MAKE): Set it to GNU Make, if one can be found.
Search PATH for 'make', 'gmake', 'gnumake'.
This works better on platforms like AIX, where GNU Make
might be in /opt/freeware/bin/make, and reside
behind /usr/bin/make in the PATH.
2014-06-05 01:03:22 -07:00
Dmitry Antipov
ea633fff4c * configure.ac (POLL_FOR_INPUT): Define with HAVE_WINDOW_SYSTEM.
* nt/inc/ms-w32.h (POLL_FOR_INPUT): Likewise.
* src/keyboard.c, src/process.c: Do not define POLL_FOR_INPUT here
because it will be defined in generated config.h if needed.
2014-06-05 10:24:54 +04:00
Paul Eggert
444060a55d * configure.ac: --without-all now implies --without-xft, --disable-acl.
* INSTALL: Remove apparently unmaintained documentation about what
--without-all exactly means.
2014-06-04 17:34:34 -07:00
Eli Zaretskii
89b3620292 Define the size of dumped data for MS-Windows locally on w32heap.c.
configure.ac (C_HEAP_SWITCH): Remove.

 src/w32heap.c (DUMPED_HEAP_SIZE): Move from w32heap.h.  Don't use
 HEAPSIZE; instead, define separate values for the 32- and 64-bit
 builds.
 src/Makefile.in (C_HEAP_SWITCH): Remove.
 (ALL_CFLAGS): Don't use $(C_HEAP_SWITCH).
2014-06-03 10:28:07 +03:00
Glenn Morris
953e106ac8 Merge from emacs-24; up to 2014-05-29T17:16:00Z!dmantipov@yandex.ru 2014-06-01 17:18:22 -07:00
Paul Eggert
eed652d649 Merge from gnulib.
This incorporates:
2014-06-02 acl: apply pure attribute to two functions
2014-06-01 gnulib-common.m4: add _GL_UNUSED_LABEL
2014-05-31 dup2, fcntl, fcntl-h: port to AIX 7.1
2014-05-30 ftoastr: work around compiler bug in IBM xlc 12.1
* lib/acl-internal.h, lib/fcntl.in.h, lib/ftoastr.h:
* m4/dup2.m4, m4/fcntl.m4, m4/gnulib-common.m4:
Update from gnulib.
2014-06-01 16:58:38 -07:00
Juanma Barranquero
89187af1bd * configure.ac: Raise HEAPSIZE value for 32-bit builds on Windows. 2014-06-01 23:27:53 +02:00
Paul Eggert
1915d8d63c Fix port to 32-bit AIX with xlc.
This doesn't fix Bug#17598, but it does fix a regression since Emacs
built with xlc until recently, and perhaps it'll help us fix Bug#17598.
* configure.ac (GC_SETJMP_WORKS): Define for AIX, too.
Merge from gnulib, incorporating:
2014-05-30 ftoastr: work around compiler bug in IBM xlc 12.1
* lib/ftoastr.c: Update from gnulib.
* src/alloc.c (gdb_make_enums_visible): Remove FLOAT_TO_STRING_BUFSIZE.
* src/conf_post.h (FLEXIBLE_ARRAY_MEMBER) [__IBMC__]: Don't define to empty.
* src/lisp.h (FLOAT_TO_STRING_BUFSIZE): Make it a macro, instead of an enum,
to work around a compiler bug in IBM xlc 12.1.
2014-05-30 13:19:29 -07:00
Paul Eggert
acc16b66ff * configure.ac (pthread_sigmask): Look in LIB_PTHREAD too.
Fixes configuration glitch found in <http://bugs.gnu.org/17561#59>.
2014-05-29 16:13:32 -07:00
Eli Zaretskii
7479dd3e8a Remove nt/addsection.c and don't build addsection.exe.
configure.ac (ADDSECTION, TEMACS_POST_LINK): Don't compute,
 unused.

 nt/Makefile.in (DONT_INSTALL): Now empty.
 (addsection${EXEEXT}): Remove target.
 nt/addsection.c: File removed.

 src/Makefile.in (TEMACS_POST_LINK): Remove target.
 (emacs$(EXEEXT)): Remove $(ADDSECTION) from prerequisites.
 (temacs$(EXEEXT)): Remove $(TEMACS_POST_LINK) from the recipe.
2014-05-29 22:16:32 +03:00
Paul Eggert
035159ed54 Don't substitute sigprocmask for pthread_sigmask.
sigprocmask isn't portable in a multithreaded process.
* configure.ac (gl_THREADLIB): Remove dummy.
Merge from gnulib, incorporating:
2014-05-28 pthread_sigmask, timer-time: use gl_THREADLIB only if needed
* m4/pthread_sigmask.m4, m4/timer_time.m4: Update from gnulib.
* src/Makefile.in (LIB_PTHREAD_SIGMASK): Remove; all uses removed.

Fixes: debbugs:17561
2014-05-29 08:05:06 -07:00
Glenn Morris
2662ca5cd9 * configure.ac: Explicitly drop some ancient Solaris versions. 2014-05-28 21:36:44 -04:00
Fabrice Popineau
587fd086a0 Use mmap(2) emulation for buffer text on MS-Windows.
src/Makefile.in (C_HEAP_SWITCH): Get the predefined heap size from
 configure.
 (ADDSECTION, MINGW_TEMACS_POST_LINK): Remove, no longer used.
 src/lisp.h (NONPOINTER_BITS): Modify the condition to define to zero
 for MinGW, since it no longer uses gmalloc.
 src/buffer.c: Do not define mmap allocations functions for Windows.
 Remove mmap_find which is unused. Remove mmap_set_vars which does
 nothing useful.
 [WINDOWSNT]: Include w32heap.h.
 (init_buffer): Always allocate new memory for buffers.
 src/emacs.c: Remove mmap_set_vars calls.
 src/image.c (free_image): Undef free for Windows because it is
 redirected to our private version.
 src/unexw32.c (COPY_PROC_CHUNK): Use %p format for 64bits
 compatibility.
 (copy_executable_and_dump_data): Remove dumping the heap section.
 (unexec): Restore using_dynamic_heap after dumping.
 src/w32heap.c (dumped_data_commit, malloc_after_dump)
 (malloc_before_dump, realloc_after_dump, realloc_before_dump)
 (free_after_dump, free_before_dump, mmap_alloc, mmap_realloc)
 (mmap_free): New functions.
 src/w32heap.h: Declare dumped_data and mmap_* function prototypes.

 nt/inc/ms-w32.h: Switch to the system heap allocation scheme
 instead of GNU malloc and ralloc.
 nt/inc/sys/mman.h: New file.
 nt/INSTALL: Update for the new build requirements.

 etc/NEWS: Mention build changes on MS-Windows.

 configure.ac (C_HEAP_SWITCH) define for different values of
 dumped heap size depending on 32/64bits arch on Windows.
 Don't check for pthreads.h on MinGW32/64, it gets in the way.
 Use mmap(2) for buffers and system malloc for MinGW32/64.
2014-05-27 20:31:17 +03:00
Paul Eggert
c3e7b943a0 Merge from gnulib.
This incorporates:
2014-05-21 fchdir: port 'open' and 'close' redefinitions to AIX 7.1
* doc/misc/texinfo.tex, lib/openat-proc.c: Update from gnulib.
2014-05-26 22:55:18 -07:00
Glenn Morris
015936fba1 Merge from emacs-24; up to 2014-05-26T10:21:18Z!rgm@gnu.org 2014-05-25 19:28:09 -07:00
Paul Eggert
4f4ec76fd6 Fix port to 32-bit AIX.
* configure.ac (opsys): On Power Architecture, treat release 7 of
AIX like releases 5 and 6.
* src/unexaix.c (copy_text_and_data): Don't add text_scnptr to ptr
twice.  _text already includes this offset.
(unrelocate_symbols): Don't cast 64-bit integer to pointer.

Fixes: debbugs:17540
2014-05-21 22:00:39 -07:00
Paul Eggert
60fc70a8e0 Remove dependencies on getdelim and getline.
Also, remove update-game-scores's limits on game scores and
simplify its file-locking code.
* configure.ac (getdelim, getline): Remove.
* lib-src/update-game-score.c (struct score_entry): Unify the username and
data members to a single user_data member, since they don't need to be
changed independently and getdelim and getline aren't helpful.
Make the score member char *, not intmax_t, so that scores are not
limited to intmax_t.  All uses changed.
(lose_syserr): A zero errno stands for invalid data in score file.
(normalize_integer): New function.
(main): Use it.  Check for invalid scores.  Omit redundant stat check.
(read_score): First arg is now a string, not a FILE *.  All uses
changed.  Do not use getdelim or getline; that's way simpler.
(read_scores): Read the whole file, and let read_score handle each
line.
(score_compare): Compare strings representing integers, not integers.
(write_scores) [DOS_NT]: Eliminate unnecessary chmod.
(lock_file): Simplify locking code, eliminating goto.
Check for unlink failure.
2014-05-18 21:56:03 -07:00
Glenn Morris
337ee6b38e * configure.ac: Do not bother testing for png in non-graphical builds.
This seems to have been lost in the changes from the current emacs-24
branch version.
2014-05-18 16:02:29 -07:00
Glenn Morris
3b7865ca9b * configure.ac (INSTALL_INFO): Revert to just checking for "install-info". 2014-05-18 15:41:22 -07:00
Paul Eggert
5eda3a7516 Port ctags+etags build to Sun C 5.12.
* .bzrignore: Remove lib-src/ctags.c.
* lib-src/Makefile.in (etags_args): Remove, replacing with ...
(etags_cflags, etags_libs): New macros.  All uses changed.
(ctags${EXEEXT}): Don't compile etags.c, as compiling etags.c in
parallel (once for ctags, once for etags) breaks parallel makes
with compilers that use the source file name to name temporaries,
such as Sun C 5.12.  Instead, compile ctags.c.
* lib-src/ctags.c: New file.
2014-05-18 11:57:04 -07:00
Paul Eggert
0d1b87f90e Port recent libpng changes to hosts with missing png.h.
* configure.ac (HAVE_PNG): Port to platforms where libpng-config
succeeds but png.h is absent, by testing libpng-config's output
rather than trusting it.  I ran into this problem when building
Emacs trunk on a Solaris 10 host.
2014-05-17 22:50:17 -07:00
Paul Eggert
8208d2bf95 Assume C99 or later.
* lib/stdarg.in.h, lib/stdbool.in.h, m4/stdarg.m4, m4/stdbool.m4:
Remove.
* configure.ac (_AC_PROG_CC_C89): Define a dummy, to keep 'configure'
smaller.
(gl_PROG_CC_C99): Use this to get C99 or later.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* admin/merge-gnulib (GNULIB_MODULES): Remove stdarg, stdbool.
(GNULIB_TOOL_FLAGS): Avoid stdarg, stdbool.
* doc/lispref/internals.texi (C Dialect): Document this.
* etc/NEWS: Document this.
* nt/gnulib.mk: Remove stdarg and stdbool modules.
* src/bytecode.c (B__dummy__): Remove.
* src/conf_post.h (bool_bf) [!NS_IMPL_GNUSTEP]: Use bool.
(FLEXIBLE_ARRAY_MEMBER): Now always empty.
* src/dbusbind.c (XD_DEBUG_MESSAGE) [!DBUS_DEBUG]:
* src/regex.c (DEBUG_PRINT): Assume varargs macros.
* src/lisp.h (DEFUN_FUNCTION_INIT): Remove.  All uses now assume C99.

Fixes: debbugs:17487
2014-05-17 01:11:31 -07:00
Glenn Morris
d137278ad4 * configure.ac (INSTALL_INFO): Try "ginstall-info" before "install-info".
Ref: http://lists.gnu.org/archive/html/emacs-devel/2014-05/msg00232.html
2014-05-16 21:38:33 -04:00
Paul Eggert
c56327b55d Don't require pkg-config when building from repository.
* INSTALL: Prefer './configure FOO=BAR' to 'FOO=BAR ./configure'.
* INSTALL.REPO: pkg-config is no longer required to build from
the repository.
* autogen.sh: Don't check for pkg-config.
(progs): Remove pkg-config.
(pkg_config_min, AUTORECONF_ENV, env_space, ACLOCAL_PATH):
Remove.  All uses removed.
* m4/pkg.m4: New file, built by admin/merge-pkg-config.
* configure.ac: Remove unnecessary m4_pattern_forbid of ^PKG_ and
an AC_ARG_VAR of PKG_CONFIG_PATH.  pkg.m4 does that for us.
(EMACS_CHECK_MODULES): Remove workaround for old pkg-config bug,
as we use pkg.m4 from a newer pkg-config.
* admin/merge-pkg-config: New script.
* admin/notes/copyright: Update for m4/*.m4, in particular m4/pkg.m4.
* etc/NEWS: Prefer './configure FOO=BAR' to 'FOO=BAR ./configure'.
* etc/PROBLEMS (Build-time-problems): Remove pkg-config problem
that is no longer an issue.
* nt/INSTALL: Remove no-longer-needed notes about pkg-config.
2014-05-16 08:49:13 -07:00
Jan Djärv
fc51d3e201 Fix typo 2014-05-15 18:55:18 +02:00
Jan Djärv
440cef5fc5 Fix yet another configure error on OSX.
* configure.ac (LIBONG): Do not test for libpng if NS_IMPL_COCOA.
2014-05-15 18:54:44 +02:00
Dmitry Antipov
d3e5c0ea8f If available, use Xfixes extension to do pointer blanking.
* configure.ac (HAVE_XFIXES): Define if available.
(XFIXES_CFLAGS, XFIXES_LIBS): New AC_SUBSTs.
* src/Makefile.in (XFIXES_CFLAGS, XFIXES_LIBS): New var.
* src/xfns.c (x_set_mouse_color): Do not call make_invisible_cursor here.
(make_invisible_cursor): Move to...
* src/xterm.c (make_invisible_cursor): ...here.
(x_probe_xfixes_extension, xfixes_toggle_visible_pointer)
(x_toggle_visible_pointer, x_setup_pointer_blanking): New functions.
(x_term_init): Call to x_setup_pointer_blanking.
(XTtoggle_invisible_pointer): Use blanking specific to this display.
* src/xterm.h (struct x_display_info): New member toggle_visible_pointer.
2014-05-13 18:18:54 +04:00
Dmitry Antipov
bd098f41af * configure.ac (--enable-link-time-optimization): Add clang support.
* INSTALL: Mention it.
* etc/PROBLEMS: Mention potential problems with
--enable-link-time-optimization and clang on Fedora 20.
2014-05-13 15:12:05 +04:00
Katsumi Yamaoka
ffd6d9c4d3 * configure.ac (EMACS_CHECK_MODULES): Fix typo in previous change. 2014-05-11 23:09:27 -07:00
Paul Eggert
3c95f44ce5 Work around bug in pkg-config before 0.26.
* configure.ac (EMACS_CHECK_MODULES): Check for failed exit status
of pkg-config, on older pkg-config versions that don't do it
properly.

Fixes: debbugs:17438
2014-05-11 12:14:12 -07:00
Paul Eggert
0994e45d16 Revert last two changes.
Fixes: debbugs:17438
2014-05-10 19:52:00 -07:00
Paul Eggert
68b067b393 Require pkg-config 0.26 or later in autogen.sh only.
* autogen.sh (pkg_config_min): Make this at least 0.26.
* configure.ac (PKG_PROG_PKG_CONFIG): Revert back to 0.9.0.

Fixes: debbugs:17438
2014-05-10 19:47:57 -07:00
Paul Eggert
eab25ea7c0 Require pkg-config 0.26 or later.
Earlier versions are buggy, as pkg-config --libs can output
nothing, which causes xrandr link failures.
* configure.ac (PKG_PROG_PKG_CONFIG): Bump from 0.9.0 to 0.26.

Fixes: debbugs:17438
2014-05-10 19:27:53 -07:00
Glenn Morris
98e12950ae * autogen.sh: Check for failing aclocal. 2014-05-07 12:56:34 -04:00
Glenn Morris
e8e2626f06 * autogen.sh: Check any pre-existing ACLOCAL_PATH. 2014-05-05 13:22:32 -04:00
Paul Eggert
f8c2cef5e6 Consult libpng-config more consistently.
This is mainly for simplicity, but it should also avoid
some future problems like the ones we recently had with NetBSD.
* configure.ac (LIBPNG): Configure after LIBZ.  Use libpng-config
for cflags, too.  Append -lz if we're not already doing that with
LIBZ.  Do not bother appending -lm, since we always append that.
Coalesce some duplicate code.
* src/Makefile.in (PNG_CFLAGS): New var.
(ALL_CFLAGS): Use it.
* src/image.c [HAVE_PNG]: Don't worry about <libpng/png.h>, as
CFLAGS now handles this.

Fixes: debbugs:17339
2014-05-04 14:28:08 -07:00
Paul Eggert
4a05c50a46 * autogen.sh: Use ‘"’ to quote a message that often contains ‘'’. 2014-05-04 14:18:30 -07:00
Paul Eggert
3e9fa60a5c Merge from emacs-24; up to 2014-05-04T21:18:30Z!eggert@cs.ucla.edu 2014-05-04 12:37:56 -07:00
Paul Eggert
61febcb6e3 Revert recent libpng changes.
They fix only bugs that aren't being reported, so it may be better
to do them on the trunk.
* configure.ac (PNG_CFLAGS): Remove.  All uses removed.
(LIBPNG): Don't be consistent about -lpng16 versus -lpng.
Ignore libpng-config's exit status.  Always append -lz -lm.
* src/Makefile.in (PNG_CFLAGS): Remove; all uses removed.
* src/image.c [HAVE_LIBPNG_PNG_H]: Include <libpng/png.h>, not <png.h>.

Fixes: debbugs:17339
2014-05-04 11:51:32 -07:00
Paul Eggert
ec5f5b309d * configure.ac (LIBPNG): Add -lz -lm on platforms where they're needed
but libpng-config --libs omits them.  Problem reported by Glenn
Morris.
2014-05-03 23:34:04 -07:00
Paul Eggert
7e00998fbc Require ImageMagick >= 6.3.5, due to PixelSetMagickColor.
* configure.ac (IMAGEMAGICK_MODULE): Bump prereq from 6.2.8 to 6.3.5.
A more-complicated fix would be to remove uses of PixelSetMagickColor,
introduced in ImageMagick 6.3.5 (Sept. 2007).

Fixes: debbugs:17339
2014-05-03 14:06:04 -07:00
Glenn Morris
c3a435fedd * autogen.sh: If all else fails, try using pkg-config to find pkg.m4.
This is an attempt to get hydra builds working again.
2014-05-03 11:24:10 -07:00
Paul Eggert
541df9f424 Get --enable-gcc-warnings to work after touching configure.ac.
Preserve ACLOCAL_PATH in later builds, so that by default it has
the same value as it did in the first build after initial checkout.
* Makefile.in (ACLOCAL_PATH): New macro.
($(srcdir)/aclocal.m4): Use it.
* configure.ac (ACLOCAL_PATH): AC_SUBST it.
* autogen.sh (env_space): New var.
Tell user what variables, if any, to pass to 'configure'.
2014-05-03 09:27:17 -07:00
Paul Eggert
2bafb7c4a3 Get --enable-gcc-warnings working again.
The recent changes to configure.ac removed the transliteration of
-I to -isystem in CFLAGS, which is needed for --enable-gcc-warnings.
Bring this back while keeping the spirit of the recent changes.
* configure.ac (edit_cflags): Restore this shell var, and put it
at the top level, where it'll be useful when emacs-24 is next merged.
(EMACS_CHECK_MODULES): New macro.  All uses of PKG_CHECK_MODULES
changed to use it.
2014-05-03 01:12:06 -07:00
Paul Eggert
af3e4d067a Make it easier on maintainers who use their own Automake.
* autogen.sh (ACLOCAL_PATH, AUTORECONF_ENV): New vars.
Set them to avoid problems when maintainers prepend their own
Automake installations to their PATH.  Report an error if pkg.m4
can't be found.
2014-05-03 00:09:16 -07:00
Glenn Morris
53a7da76db * configure.ac (PKG_CONFIG_PATH): Declare with AC_ARG_VAR. 2014-05-02 19:31:41 -04:00
Glenn Morris
ef9ea0a623 Remove the --with-pkg-config-prog configure option
* configure.ac (--with-pkg-config-prog): Remove.
Use the PKG_CONFIG environment variable instead if you need it.

* etc/NEWS: Mention this.
2014-05-02 19:29:57 -04:00
Glenn Morris
b05e08a465 Use pkg-config's pkg.m4
* configure.ac: Use pkg-config's pkg.m4, rather than reinventing it.
Add explicit AC_SUBST's where needed.

* autogen.sh (progs): Add pkg-config.
(pkg_config_min): New variable.

* INSTALL.REPO: Mention pkg-config.

* etc/PROBLEMS: Mention a related issue that can occur with a local automake.
2014-05-02 19:18:11 -04:00
Glenn Morris
cd626254b7 * configure.ac (AC_CONFIG_MACRO_DIR): Use it. 2014-05-02 17:57:58 -04:00
Paul Eggert
6f074205d3 Consult libpng-config more consistently.
* configure.ac (edit_cflags): Move this up and to the top level,
so that PNG_CFLAGS can use it too.
(PNG_CFLAGS): New var.
(png_longjmp): Use PNG_CFLAGS when checking.
(LIBPNG): Be consistent about -lpng16 etc; e.g., don't use -lpng16
in some places and -lpng in others.  Test libpng-config's exit
status.  If it succeeds, use its output rather than appending -lz -lm.
* src/Makefile.in (PNG_CFLAGS): New var.
(ALL_CFLAGS): Use it.
* src/image.c [HAVE_PNG]: Don't worry about <libpng/png.h>, as
CFLAGS now handles this.

Fixes: debbugs:17339
2014-05-02 12:34:03 -07:00
Glenn Morris
5253ea1dcb autogen.sh: minor tweaks
* autogen.sh (get_version): Handle no leading whitespace.
(check_version, main): Handle program names with hyphens.
2014-05-02 13:40:09 -04:00
Glenn Morris
969aabf250 * configure.ac (LIBPNG): Consult libpng-config
for the precise form of "-lpng" to use.

Fixes: debbugs:17339
2014-05-01 17:57:27 -04:00
Juanma Barranquero
09b911adf4 Merge from emacs-24; up to 2014-05-01T10:21:17Z!rgm@gnu.org 2014-04-30 21:54:52 +02:00
Glenn Morris
ca489750c2 * configure.ac: Treat MirBSD as OpenBSD.
Fixes: debbugs:17339
2014-04-29 07:49:11 -07:00
Daniel Colascione
b53a667a5a Ignore a.out 2014-04-21 02:38:44 -07:00
Paul Eggert
2123570f1b Link to glib-using libraries when checking for glib.
* configure.ac (XGSELOBJ): Include GTK_LIBS, RSVG_LIBS, etc.
when testing whether Glib is linked in.  Similarly for CFLAGS.

Fixes: debbugs:17289
2014-04-19 10:45:20 -07:00
Paul Eggert
a3f989d4c4 * GNUmakefile: Speed up 'make bootstrap' in fresh checkout.
(ORDINARY_GOALS): New macro, which excludes 'bootstrap'.
(bootstrap, .PHONY): New rules.
* INSTALL.REPO: Document current procedure better.
Move copyright notice to just before license notice.
2014-04-16 23:40:25 -07:00
Paul Eggert
8ac457d5ed * Makefile.in (force-info): Remove.
All uses removed.  This hack is no longer needed here
now that we can assume GNU Make's .PHONY feature works.
(bootstrap): No need to make 'info', since 'all' now implies 'info'.
2014-04-16 23:02:38 -07:00
Paul Eggert
2ff06dac09 * Makefile.in (FRC): Remove.
All uses removed.  This hack is no longer needed here
now that we can assume GNU Make's .PHONY feature works.
2014-04-16 19:05:48 -07:00
Paul Eggert
290d7ac277 Merge from emacs-24; up to 2014-04-16T15:28:26Z!monnier@iro.umontreal.ca 2014-04-16 12:43:46 -07:00
Paul Eggert
5403b2d3aa Remove DATA_SEG_BITS.
The DATA_SEG_BITS hack was needed for older 32 bit platforms.
As a result of this change, Emacs won't work on IRIX 6.5 with IRIX
cc, but that platform is so old that SGI itself stopped supporting
it in December 2013.  If you still need Emacs on IRIX, please
either compile with GCC and port the undumping code, or run
'./configure --with-wide-int'.
* configure.ac (DATA_SEG_BITS): Remove.  All uses removed.
* src/alloc.c (gdb_make_enums_visible): Update to match lisp.h.
* src/lisp.h (GCTYPEBITS): Move definition up, and switch to the
DEFINE_GDB_SYMBOL_START way to define it.
(NONPOINTER_BITS): New macro.
(EMACS_INT): Use it.
[!USE_LSB_TAG && !WIDE_EMACS_INT]: Fail, and suggest reporting
the problem and/or configuring --with-wide-int.
(USE_LSB_TAG): Simplify, based on above changes.
(gdb_DATA_SEG_BITS): Remove.  All uses removed.
* src/vm-limit.c (exceeds_lisp_ptr): Remove.  All uses removed.
2014-04-16 08:16:35 -07:00
Eli Zaretskii
bf6b4923f7 Fix the MSDOS build.
src/unexcoff.c [MSDOS]: Include libc/atexit.h.
 (copy_text_and_data): Zero out the atexit chain pointer before
 dumping Emacs.
 src/termhooks.h (encode_terminal_code): Update prototype.
 src/term.c (encode_terminal_code) [DOS_NT]: Make it externally
 visible for all DOS_NT ports, not just WINDOWSNT.
 (syms_of_term) [!MSDOS]: Don't define 'tty-menu-*' symbols on MSDOS.
 src/sysdep.c (emacs_sigaction_init, init_signals): Don't use SIGCHLD
 unless it is defined.
 (emacs_pipe) [MSDOS]: Redirect to 'pipe'.
 src/process.c (close_on_exec, accept4, process_socket): Move into
 the "ifdef subprocesses" part.
 (catch_child_signal): Condition by "ifdef subprocesses".
 (syms_of_process) <Qinternal_default_process_sentinel>
 <Qinternal_default_process_filter>: Condition by "ifdef subprocesses".
 src/msdos.h: Add prototypes for new functions.
 (EINPROGRESS): Define.
 (O_CLOEXEC): Define to zero.
 src/msdos.c (check_window_system): Remove unnecessary an
 incompatible duplicate function.
 (sys_opendir, readlinkat, faccessat, fstatat, unsetenv): New
 functions in support of new functionality.
 src/menu.c (single_menu_item): Add visual indication  of submenu
 also for menus on MSDOS frames.
 (Fx_popup_menu) [!MSDOS]: Do not call tty_menu_show on MSDOS.
 src/lisp.h (CHECK_PROCESS) [!subprocesses]: Do not define
 when async subprocesses aren't supported.
 src/font.h (FONT_WIDTH) [MSDOS]: MSDOS-specific definition.
 src/emacs.c (close_output_streams): Zero out errno before calling
 close_stream.
 src/dired.c [MSDOS]: Include msdos.h.
 src/conf_post.h (opendir) [MSDOS]: Redirect to sys_opendir.
 (DATA_START) [MSDOS]: Define.
 (SYSTEM_PURESIZE_EXTRA) [MSDOS]: Enlarge by 25K.
 src/callproc.c (block_child_signal, unblock_child_signal) [MSDOS]:
 Ifdef away for MSDOS.
 (record_kill_process) [MSDOS]: Ifdef away the entire body for MSDOS.
 (call_process_cleanup) [MSDOS]: Ifdef away portions not relevant
 for MSDOS.
 (call_process) [MSDOS]: Fix call sequence of dostounix_filename.
 Use temporary file template that is compatible with mkostemp.
 Move vfork-related portions under #ifndef MSDOS.
 (syms_of_callproc): Unify templates of MSDOS and WINDOWSNT.

 lisp/term/pc-win.el (x-list-fonts, x-get-selection-value): Provide
 doc strings, as required by snarf-documentation.

 msdos/sedlisp.inp:
 msdos/sedlibmk.inp:
 msdos/sedleim.inp:
 msdos/sed3v2.inp:
 msdos/sed2v2.inp:
 msdos/sed1v2.inp: Update Sed scripts for Emacs 24.4.
 msdos/inttypes.h: Add PRIdMAX.
 msdos/INSTALL: Update for Emacs 24.4.
 msdos/sedadmin.inp: New file.
2014-04-16 16:27:28 +03:00
Paul Eggert
6956b278cd * autogen.sh: Use autoreconf's -f option.
Fixes: debbugs:17258
2014-04-13 22:35:45 -07:00
Paul Eggert
93ca48872e Clean up configure-time library handling a bit.
This patch was inspired by emacs-24 2014-04-09T13:37:49Z!sdl.web@gmail.com, which fixed
a bug due to sloppy library handling in 'configure'.
* configure.ac (LIB_MATH, LIB_PTHREAD, LIBXMU):
Use AC_SEARCH_LIBS instead of AC_CHECK_LIB as per Autoconf manual.
(LIB_MATH, LIB_PTHREAD, HAVE_X11, IMAGEMAGICK_LIBS, GTK_LIBS)
(DBUS_LIBS, LIBXMU, XFT_LIBS, LIBXSM, LIBXML2_LIBS, LIBS_MAIL)
(with_kerberos):
Don't let the library choice infect $LIBS.
(dnet_ntoa, cma_open): Remove obsolete tests.
(emacs_pthread_function): Probe for pthread_kill, not pthread_self,
as that's a bit more selective on GNU/Linux.
(LIBXEXT): Remove.
(touchlock): Test for existence when $LIBS_MAIL is in use.
(AC_CHECK_FUNCS): Use only $LIB_MATH in addition to $LIBS
when testing for typical functions like accept4, lrand48.
(random, rint): Remove obsolete HP-UX 9 A.09.05 test.
2014-04-13 22:23:31 -07:00
Paul Eggert
13a5993b31 Port to IRIX 6.5.
This port requires IRIX cc, as I did not have time to get
undump working with the old GCC on the system I had access to,
but that's better than nothing.
* configure.ac (gl_GCC_VERSION_IFELSE): Remove unused macro
that wouldn't have worked anyway, with IRIX cc.
(emacs_cv_clang, emacs_cv_sanitize_address)
(ns_osx_have_104, ns_osx_have_105):
Don't assume '#error' makes the compiler fail,
as this doesn't work with IRIX cc.
(CFLAGS, LIBS): Don't let the GnuTLS results infect later 'configure'
checks.  This runs afoul of an IRIX configuration where GnuTLS is
in an optional library that also contains getdelim, and causes
a later 'configure' to incorrectly think getdelim is supported.
* src/alloc.c (TAGGABLE_NULL): New constant,
for porting to hosts with nontrivial DATA_SEG_BITS settings.
(next_vector, set_next_vector): Use it.
* src/conf_post.h (INET6) [IRIX6_5]: Define.
(HAVE_GETADDRINFO) [IRIX6_5]: Undef.
* src/data.c (BITS_PER_ULL): Don't assume ULLONG_MAX is defined.
* src/lisp.h (lisp_h_XPNTR): Don't OR in bits that aren't masked out,
for consistency with how TAGGABLE_NULL is computed.

Fixes: debbugs:9684
2014-04-13 15:51:08 -07:00
Eli Zaretskii
aa1f3497ed Fix creation of emacs.exe hardlink at "make install" time on MS-Windows.
configure.ac (LN_S_FILEONLY, LN_S): Use "/bin/ln" on MinGW, to
 ensure the MSYS ln.exe is invoked.
2014-04-13 09:44:22 +03:00
Glenn Morris
536aa46681 Merge from emacs-24; up to 2014-04-04T23:31:02Z!joaotavora@gmail.com 2014-04-10 23:43:20 -07:00
Glenn Morris
9b1ac3be88 * make-dist: Distribute lib-src/update-game-score.exe.manifest. 2014-04-10 23:39:11 -07:00
Glenn Morris
235b3c7920 * make-dist: Do not distribute generated admin/grammars/Makefile. 2014-04-10 23:25:25 -07:00
Ken Brown
0cccc183d7 Revert most of the recent change involving manifests on Cygwin. (Bug#17176)
* configure.ac (EMACS_MANIFEST): Revert last change (but leave
UPDATE_MANIFEST empty).
* nt/emacs.rc: Revert last change.
* src/Makefile.in (EMACS_MANIFEST): Revert last change.
2014-04-09 17:16:37 -04:00
Glenn Morris
6f287c898a ChangeLog fixes
Merged entries get today's date.
May as well combine consecutive separate entries by same author into one.
Backported entries should not appear twice.
2014-04-07 17:19:31 -04:00
Daniel Colascione
7e31acf6b8 Merge from emacs-24; up to 2014-04-01T20:18:12Z!eggert@cs.ucla.edu 2014-04-07 13:54:16 -07:00
Ken Brown
ebe8e0765c Don't use manifest on Cygwin. (Bug#17176)
* nt/emacs.rc: Don't use manifest on Cygwin.
* configure.ac (EMACS_MANIFEST, UPDATE_MANIFEST): Leave these
variables empty on Cygwin. 
* src/Makefile.in (EMACS_MANIFEST): Update comment.
2014-04-03 15:10:35 -04:00
Glenn Morris
3a9e7a49de * make-dist: Further update AC_INIT regexp. 2014-04-02 21:16:18 -04:00
Juanma Barranquero
09aba8153a Merge from emacs-24; up to 2014-03-28T01:39:30Z!rgm@gnu.org 2014-04-02 17:14:50 +02:00
Glenn Morris
63adc15691 * configure.ac: Make the final "Does Emacs use Gsettings" message
consistent with src/config.h.
2014-03-31 09:22:32 -07:00
Jan Djärv
dcb4c4d753 * configure.ac: Fix errors from previous checkin (GSettings check).
Backport from trunk.
2014-03-31 08:08:29 +02:00
Jan Djärv
ce486e0d8f * configure.ac: Fix errors from previous checkin (GSettings check). 2014-03-31 07:02:08 +02:00
Daniel Colascione
8e86e380dc * configure.ac: Include GFILENOTIFY objects in glib check (backport from trunk)
Fixes: debbugs:17069
2014-03-30 16:59:19 -07:00
Jan Djärv
4e6c9f7b2e * configure.ac: Add check that GSettings is in libgio. Backport from trunk.
Fixes: debbugs:17118
2014-03-30 12:44:33 +02:00
Jan Djärv
b0e04df615 * configure.ac: Add check that GSettings is in libgio.
Fixes: debbugs:17118
2014-03-29 13:08:47 +01:00
Glenn Morris
dd694335f5 * (make-dist): Update AC_INIT regexp. 2014-03-28 20:14:16 -04:00
Glenn Morris
7b207d6d4f Improve usage of AC_INIT
* configure.ac (AC_INIT): Add "GNU" in package, add bug address.
(PACKAGE_BUGREPORT): Use it.

* src/emacs.c (emacs_version): Use PACKAGE_VERSION rather than VERSION.
(emacs_bugreport): New variable.
(usage_message): Use PACKAGE_BUGREPORT.
(syms_of_emacs) <report-emacs-bug-address>: New variable.

* lisp/cus-start.el (report-emacs-bug-address): Set custom properties.

* lisp/mail/emacsbug.el (report-emacs-bug-address):
Variable is now defined in emacs.c.
2014-03-28 19:11:39 -04:00
Glenn Morris
c3153003fb Add system-configuration-features, summarising some configure results
* configure.ac (ACL_SUMMARY): Rename from acl_summary, for consistency.
(EMACS_CONFIG_FEATURES): New define.

* src/emacs.c (syms_of_emacs) <system-configuration-features>: New var.

* lisp/mail/emacsbug.el (report-emacs-bug):
Include system-configuration-features.

* etc/NEWS: Mention this.
2014-03-28 18:03:42 -04:00
Paul Eggert
ef9b8f2d53 * configure.ac: Suggest './configure MAKE=gmake' in diagnostic.
This tends to work better than 'MAKE=gmake ./configure' if later
builds run config.status etc.
2014-03-27 14:29:32 -07:00
Glenn Morris
f6dce6c1d6 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.
2014-03-27 15:41:57 -04:00
Juanma Barranquero
16adf2e6eb Merge from emacs-24; up to 2014-03-23T23:14:52Z!yamaoka@jpl.org 2014-03-26 16:57:13 +01:00
Paul Eggert
cefcfbcc1b Merge from gnulib.
This incorporates:
2014-03-26 strftime: wrap macros in "do {...} while(0)"
* lib/strftime.c, doc/misc/texinfo.tex: Update from gnulib.
2014-03-25 21:16:13 -07:00
Glenn Morris
11ee65afc2 Remove the build-time option CLASH_DETECTION
Every platform supports it, and the runtime option `create-lockfiles'
replaces it.

* configure.ac (CLASH_DETECTION): Remove option.

* lisp/files.el (lock-buffer, unlock-buffer, file-locked-p):
Remove fallback aliases, since they are always defined now.

* src/buffer.c (Frestore_buffer_modified_p, Fkill_buffer):
* src/emacs.c (shut_down_emacs):
* src/fileio.c (Finsert_file_contents, write_region):
* src/filelock.c (top-level, syms_of_filelock):
* src/insdel.c (prepare_to_modify_buffer_1):
CLASH_DETECTION is always defined now.

* admin/CPP-DEFINES: Remove CLASH_DETECTION.
2014-03-25 21:14:44 -04:00
Daniel Colascione
dfdce7dc1c Notice when gfilenotify depends on glib 2014-03-23 02:17:29 -07:00
Glenn Morris
7cd431112c Remove lib-src/test-distrib.c and related
The class of problems that this was designed to detect, namely .elc
files getting corrupted by being passed around by email via uuencode
or somesuch, has not been a relevant concern for many years.

* lib-src/test-distrib.c, lib-src/testfile: Remove.

* lib-src/Makefile.in (DONT_INSTALL): Remove test-distrib.
(test-distrib${EXEEXT}): Remove rule.

* make-dist: Do not distribute lib-src/testfile.

* admin/quick-install-emacs (AVOID): Remove testfile and test-distrib.

* INSTALL, etc/PROBLEMS, admin/notes/unicode:
Remove references to test-distrib and testfile.
2014-03-22 15:52:47 -07:00
Eli Zaretskii
a502d89381 Bump trunk version to 24.4.50.
modified files:
   ChangeLog
   README
   configure.ac
   doc/emacs/emacsver.texi
   doc/man/emacs.1
   msdos/sed2v2.inp
   nt/config.nt
   nt/emacs.rc
   nt/emacsclient.rc
   nt/makefile.w32-in
2014-03-21 12:12:53 +02:00