1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-15 09:47:20 +00:00
Commit Graph

1023 Commits

Author SHA1 Message Date
Andrea Corallo
3d0a3a51b8 fix configure.ac 2020-01-01 11:38:06 +01:00
Andrea Corallo
06fc663f51 better configure
check for libgccjit.h file instead of the shared lib in configure
2020-01-01 11:38:04 +01:00
Andrea Corallo
1d3c0d1716 fix compilation when modules are enabled 2020-01-01 11:37:58 +01:00
Andrea Corallo
06ad745813 rename HAVE_LIBGCCJIT -> HAVE_NATIVE_COMP 2020-01-01 11:37:45 +01:00
Andrea Corallo
17259826f2 fix build system for native compiler option 2020-01-01 11:37:44 +01:00
Andrea Corallo
a2257a531d add NATIVE_ELISP_SUFFIX def into congure.ac 2020-01-01 11:37:41 +01:00
Andrea Corallo
ea622e321d Add nativecomp option to configure 2020-01-01 11:33:36 +01:00
Paul Eggert
c6fb86b40b Merge from origin/emacs-27
186152ba40 Pacify gcc -Wunused-function on Ubuntu 18.04.3
4cd143aded Fix copyright years by hand
365e01cc9f Update copyright year to 2020
cd2c156163 ; * etc/NEWS: Make the description of XDG fallback more ac...

# Conflicts:
#	etc/NEWS
#	etc/refcards/ru-refcard.tex
2020-01-01 01:08:16 +00:00
Paul Eggert
4cd143aded Fix copyright years by hand
These are dates that admin/update-copyright did not update.
2020-01-01 01:01:53 +00:00
Paul Eggert
365e01cc9f Update copyright year to 2020
Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
2020-01-01 00:59:52 +00:00
Philipp Stephani
28268e47d8 Support .dylib suffix for modules on macOS (Bug#36226).
On macOS, shared libraries typically have the suffix .dylib.  This
commit switches the module suffix to .dylib on Darwin to account for
that.  To also support the .so suffix, introduce the concept of a
secondary module suffix.

* configure.ac: Switch MODULES_SUFFIX to .dylib for Darwin, introduce
MODULES_SECONDARY_SUFFIX.

* src/lread.c (Fload, syms_of_lread): Also use
MODULES_SECONDARY_SUFFIX if defined.

* test/src/emacs-module-tests.el (module-darwin-secondary-suffix): New
unit test.
2019-12-25 15:42:20 +01:00
Philipp Stephani
5617c82b37 Prepare module header generation for Emacs 28.
* configure.ac: Substitute environment function snippet for Emacs 28.

* src/module-env-28.h: New file, with dummy contents for now.

* src/emacs-module.h.in: Provide emacs_env_28 structure.
2019-12-24 01:08:16 +01:00
Eli Zaretskii
64fe67beff Bump Emacs version to 28.0.50
* README:
* configure.ac:
* nt/README.W32:
* msdos/sed2v2.inp:
* src/msdos.c (internal_terminal_init):
* etc/refcards/ru-refcard.tex: Bump Emacs version to 28.0.50.

* lisp/cus-edit.el (customize-changed-options-previous-release):
Bump up the value to 26.3.

* etc/NEWS.27: Renamed from NEWS.
* etc/NEWS: New file for Emacs 28.
2019-12-23 18:00:52 +02:00
Eli Zaretskii
9eb871c8d1 Cut the emacs-27 release branch
* lisp/cus-edit.el (customize-changed-options-previous-release):
Change the value to 26.3.

* README:
* configure.ac:
* nt/README.W32:
* msdos/sed2v2.inp: Bump Emacs version to 27.0.60.
2019-12-23 17:41:17 +02:00
Lars Ingebrigtsen
952bd2050d Remove the error-out test for with_harfbuzz
* configure.ac (HAVE_HARFBUZZ): Remove the check for explicit
harfbuzz -- have_harfbuzz defaults to "yes", so we have no way of
checking whether the user really asked for it, apparently.
2019-11-18 08:24:52 +01:00
Lars Ingebrigtsen
3fdc36eecb Error out on --with-harfbuzz without HarfBuzz support
* configure.ac: Error out if the user says --with-harfbuzz, but
HarfBuzz isn't available.
2019-11-17 19:02:54 +01:00
Paul Eggert
3716921c01 Portcheck only if --enable-gcc-warnings
Problem reported by Richard Copley (Bug#37852).
This patch causes the problem to not occur if one uses plain
‘configure’.  The problem can still occur if with ‘configure
--enable-gcc-warnings’, so a further fix may be needed.
* configure.ac (GNULIB_PORTCHECK, _FORTIFY_SOURCE):
Define these only with an explicit --enable-gcc-warnings.
2019-10-21 17:33:18 -07:00
Philipp Stephani
08f6c2a8c9 Enable modules by default.
The interface has been stable since Emacs 25, and most bugs are fixed
by now.

* configure.ac: Enable modules by default.
2019-10-14 14:56:22 +02:00
Lars Ingebrigtsen
9a82195cfc Make --with-imagemagick bug out if there's no support for it
* configure.ac (HAVE_IMAGEMAGICK): Stop configuration if the user
has said --with-imagemagick, but there's no support for it
(bug#24455).
2019-09-24 19:01:51 +02:00
Paul Eggert
d5d6772dfb Port to platforms with Xrender lib but not header
* configure.ac (HAVE_XRENDER): Also require ‘#include
<X11/extensions/Xrender.h>’ to work.  Problem found
on gcc119 in GCC compile farm.
2019-09-04 11:17:48 -07:00
Paul Eggert
fdccab473e Don't worry about pre-1.0.0 alsa-lib include
Problem reported by Ergus in:
https://lists.gnu.org/r/emacs-devel/2019-08/msg00563.html
* configure.ac (ALSA_SUBDIR_INCLUDE): Do not define.
* src/sound.c: Assume ALSA_SUBDIR_INCLUDE.
2019-08-28 11:35:19 -07:00
Ulrich Müller
65dc07f563 * configure.ac (HAVE_JPEG): Test for window system. (Bug#36995) 2019-08-20 17:04:26 +02:00
Paul Eggert
3548fd8a53 Debug out-of-range make_fixnum args
With --enable-checking, make_fixnum (N) now checks that N is
in fixnum range.  Suggested by Pip Cet in:
https://lists.gnu.org/r/emacs-devel/2019-07/msg00548.html
A new function make_ufixnum (N) is for the rare cases where N
is intended to be unsigned and is in the range 0..INTMASK.
* configure.ac (AC_C_TYPEOF): Add.
(HAVE_STATEMENT_EXPRESSIONS): Resurrect this macro.
* src/fns.c (Frandom, hashfn_eq, hashfn_equal, hashfn_user_defined):
* src/profiler.c (hashfn_profiler):
Use make_ufixnum rather than make_fixum, since the argument is
an unsigned integer in the range 0..INTMASK rather than a signed
integer in the range MOST_NEGATIVE_FIXNUM..MOST_POSITIVE_FIXNUM.
Typically this is for hashes.
* src/lisp.h (lisp_h_make_fixnum_wrap) [USE_LSB_TAG]:
Rename from lisp_h_make_fixnum.
(lisp_h_make_fixnum): Redefine in terms of lisp_h_make_fixnum_wrap.
Check for fixnum overflow on compilers like GCC that
have statement expressions and typeof.
(FIXNUM_OVERFLOW_P): Move up.
(make_fixnum): Check for fixnum overflow.
(make_ufixnum): New function, which checks that the arg
fits into 0..INTMASK range.
2019-08-15 02:18:44 -07:00
Michael Albinus
812715a471 Merge from origin/emacs-26
305abae50e Raise required librsvg version so as to match the current use
c6775bc9ca * lisp/net/tramp-sh.el (tramp-inline-compress-start-size):...
2019-07-12 15:13:20 +02:00
YAMAMOTO Mitsuharu
305abae50e Raise required librsvg version so as to match the current use
* configure.ac: Set RSVG_REQUIRED to 2.14.0 as rsvg_handle_get_dimensions
needs it.
2019-07-12 09:03:39 +09:00
Ken Brown
0b2841f9fb Simplify workaround for Cygwin O_PATH bug
Suggested by Paul Eggert (Bug#36405#22).
* configure.ac (HAVE_CYGWIN_O_PATH_BUG): New AC_DEFINE, for Cygwin
versions 3.0.0 through 3.0.7.
* src/dired.c (O_PATH) [__CYGWIN__]: Remove #undef.
(file_attributes) [HAVE_CYGWIN_O_PATH_BUG]: Don't use O_PATH.
2019-06-29 15:03:34 -04:00
YAMAMOTO Mitsuharu
6e27086941 * configure.ac: Set HAVE_XFT to no for summary if HAVE_CAIRO is yes. 2019-06-25 07:24:37 +09:00
Paul Eggert
f4f165f782 Bring macuvs.h back under Git control
* admin/unidata/Makefile.in (maintainer-clean):
Instead of removing macuvs.h here ...
(extraclean): ... Remove it here.
* admin/unidata/uvs.el (uvs-print-table-ivd):
Add to comment explaining why macuvs.h is in Git.
* src/macuvs.h: Regenerate and re-add to Git.
2019-06-22 11:41:49 -07:00
Paul Eggert
9b170060ba Fix default build-from-Git on macOS
* configure.ac (NS_IMPL_COCOA): Do not default to "yes" if
src/macuvs.h is absent, which is possible in a build from Git.
2019-06-21 16:32:13 -07:00
Paul Eggert
50c5d5621c --with-cairo is no longer experimental
Suggested by YAMAMOTO Mitsuharu in:
https://lists.gnu.org/r/emacs-devel/2019-06/msg00686.html
* configure.ac: Do not say --with-cairo is experimental.
* etc/NEWS: Say that --with-cairo is no longer experimental.
2019-06-19 00:08:45 -07:00
YAMAMOTO Mitsuharu
f6a1647a8b * configure.ac: Lower required cairo version to 1.8.0. 2019-06-15 12:46:30 +09:00
Nicolas Petton
fb1c966618
Bump Emacs version to 26.2.90
* README:
* configure.ac:
* msdos/sed2v2.inp:
* nt/README.W32: Bump Emacs version.
2019-06-12 13:02:08 +02:00
YAMAMOTO Mitsuharu
faf10bd8eb Support X core font driver on cairo (Bug#28236)
* configure.ac (HAVE_X_WINDOWS): Add xfont.o to FONT_OBJ if HAVE_CAIRO.

* doc/lispref/frames.texi (Font and Color Parameters): Mention X core font
driver with Cairo drawing.

* src/font.c (syms_of_font) [HAVE_X_WINDOWS && USE_CAIRO]: Call syms_of_xfont.

* src/xfns.c (x_create_tip_frame) [USE_CAIRO]: Register xfont_driver.

* src/xterm.c (x_cr_gc_clip) [USE_CAIRO]: New function extracted from
x_begin_cr_clip.
(x_begin_cr_clip) [USE_CAIRO]: Use it.
(xlib_surface_key, saved_drawable_key) [USE_CAIRO]: New variables.
(x_cr_destroy_xlib_surface, x_try_cr_xlib_drawable)
(x_end_cr_xlib_drawable) [USE_CAIRO]: New functions.
(x_draw_composite_glyph_string_foreground)
(x_draw_glyph_string_foreground) [USE_CAIRO]: Get Xlib surface when drawing
text with X core fonts into bitmap surfaces.  Add fallback code for drawing
into outline surfaces.
2019-06-08 14:05:49 +09:00
YAMAMOTO Mitsuharu
295572c6f6 Implement the get_variation_glyphs method for FreeType >= 2.3.6
* configure.ac: Check availability of FT_Face_GetCharVariantIndex.

* src/ftfont.c (ftfont_variation_glyphs) [HAVE_FT_FACE_GETCHARVARIANTINDEX]:
Add function implementation.

* src/ftcrfont.c (ftcrfont_variation_glyphs)
[HAVE_FT_FACE_GETCHARVARIANTINDEX]: Use function implementation for
HAVE_OTF_GET_VARIATION_GLYPHS.

* src/ftfont.c (ftfont_driver) [HAVE_FT_FACE_GETCHARVARIANTINDEX]:
* src/xftfont.c (xftfont_driver) [HAVE_FT_FACE_GETCHARVARIANTINDEX]:
* src/ftxfont.c (ftxfont_driver) [HAVE_FT_FACE_GETCHARVARIANTINDEX]:
* src/ftcrfont.c (ftcrfont_driver) [HAVE_FT_FACE_GETCHARVARIANTINDEX]:
Populate the get_variation_glyphs method.
2019-06-02 13:33:43 +09:00
YAMAMOTO Mitsuharu
2ae0c7a434 Revert previous commit
This reverts commit 1ab69630dc.
It has a wrong commit message.
2019-06-02 13:30:21 +09:00
YAMAMOTO Mitsuharu
1ab69630dc Make fthbfont and derivatives use common HarfBuzz code in hbfont.c
* src/font.h (fthbfont_shape, fthbfont_combining_capability)
[HAVE_HARFBUZZ]: Remove prototypes.

* src/ftfont.c: Don't include math.h.
(uni_combining, uni_general, uni_mirroring, get_hb_unicode_funcs)
(fthbfont_shape_by_hb, fthbfont_combining_capability, fthbfont_shape)
[HAVE_HARFBUZZ]: Remove functions.

* src/ftfont.c (syms_of_ftfont_for_pdumper) [HAVE_HARFBUZZ]:
* src/xftfont.c (syms_of_xftfont_for_pdumper) [HAVE_HARFBUZZ]:
* src/ftcrfont.c (syms_of_ftcrfont_for_pdumper) [HAVE_HARFBUZZ]: Use
hbfont_shape and hbfont_combining_capability for fthbfont_shape and
fthbfont_combining_capability, respectively.
2019-06-02 13:18:39 +09:00
Eli Zaretskii
4363777d5c Move common HarfBuzz code to a common file hbfont.c
* src/hbfont.c: New file, with code moved from w32uniscribe.c
and renamed/modified as appropriate.
* src/w32uniscribe.c: Move to hbfont.c DEF_DLL_FN and macro
definitions for HarfBuzz functions used in hbfont.c
(load_harfbuzz_funcs): Move loading of HarfBuzz functions used
by hbfont.c to hbfont.c:hbfont_init_w32_funcs, and call that
function from here.
(syms_of_w32uniscribe_for_pdumper): Fill the 'shape' and
'combining_capability' members with hbfont.c function names.
* src/w32common.h (hbfont_init_w32_funcs) [HAVE_HARFBUZZ]: Add
prototype.
* src/font.h (hbfont_shape, hbfont_combining_capability)
[HAVE_HARFBUZZ]: Add prototypes.
* src/Makefile.in (SOME_MACHINE_OBJECTS): Add hbfont.o.

* configure.ac (FONT_OBJ): Add hbfont.o if HAVE_HARFBUZZ.
2019-06-01 12:53:41 +03:00
Eli Zaretskii
fba3687db4 Add HarfBuzz font backend for MS-Windows
* src/w32uniscribe.c [HAVE_HARFBUZZ]: Include math.h and
hb.h.
(bswap_32): Define for GCC 4.3.0 and later; else include
<byteswap.h> from Gnulib.
(struct uniscribe_font_info): Extend for HarfBuzz; 'cache' is
now a 'void *' (all users changed).
[HAVE_HARFBUZZ]: Define typedefs for HarfBuzz functions to be
loaded dynamically from the HarfBuzz DLL.  Define macros to
call those functions via function pointers.
(uniscribe_open) [HAVE_HARFBUZZ]: Use the HarfBuzz font driver
if the type of the font entity is 'harfbuzz'.
(uniscribe_close) [HAVE_HARFBUZZ]: For fonts using the
HarfBuzz backend, call hb_font_destroy to free memory used for
the cached hb_font data.
(uniscribe_shape): Fix assignment of character codepoints to
glyphs from a single cluster.
(w32hb_list, w32hb_match, free_cb, w32hb_get_font_table)
(w32hb_get_font, w32hb_encode_char, w32hb_begin_font)
(w32uni_combining, w32uni_general, w32uni_mirroring)
(get_hb_unicode_funcs, w32hb_shape)
(w32hb_combining_capability, load_harfbuzz_funcs)
[HAVE_HARFBUZZ]: New functions.
(syms_of_w32uniscribe_for_pdumper) [HAVE_HARFBUZZ]: Load the
HarfBuzz DLL and register the HarfBuzz backend with its
functions.
* src/w32font.c (syms_of_w32font) <Qharfbuzz>: New DEFSYM.
* src/w32fns.c (Fx_create_frame, w32_create_tip_frame)
[HAVE_HARFBUZZ]: Register the harfbuzz font backend.
* src/lisp.h (get_unicode_property): Declare prototype.
* src/font.h (harfbuzz_font_driver) [HAVE_NTGUI]: Declare.
* src/chartab.c (get_unicode_property): New function, body
taken from get-unicode-property-internal.
(Fget_unicode_property_internal): Call get_unicode_property
after validating input.

* doc/lispref/frames.texi (Font and Color Parameters):
* doc/emacs/msdos.texi (Windows Fonts): Document support for
HarfBuzz text shaping on MS-Windows.

* configure.ac (HAVE_HARFBUZZ): Move out of the X-specific
part, and consider HarfBuzz also for HAVE_W32 systems.
Require HarfBuzz v1.2.3 for w32.
2019-05-31 11:30:36 +03:00
YAMAMOTO Mitsuharu
b40dde705a Merge branch 'master' into harfbuzz 2019-05-23 10:53:23 +09:00
Paul Eggert
4ac234ad57 Distribute test cases in tarballs by default
* INSTALL, INSTALL.REPO, admin/make-tarball.txt:
Mention ‘make check’.
* configure.ac: Update comment.
* etc/NEWS: Say that tarballs have a test directory.
* make-dist (with_tests): Default to "yes".
Add an option --no-tests to make it "no".
2019-05-16 10:51:27 -07:00
Paul Eggert
d2dea70415 Default to disabling ImageMagick (Bug#33587)
ImageMagick has continuing stability and security problems, suggesting
that 'configure' should disable it by default.  See Glenn Morris's notes
at: https://lists.gnu.org/r/emacs-devel/2018-12/msg00036.html
* INSTALL, etc/NEWS, nt/INSTALL.W64: Mention this.
* configure.ac (imagemagick): Default to off.
2019-05-13 23:07:05 -07:00
Philipp Stephani
4d97e1a9ea Export major version of latest Emacs supported by emacs-module.h.
This is useful if module authors want to support multiple versions of
emacs-module.h.

* configure.ac (emacs_major_version): Define substitution.

* src/emacs-module.h.in (EMACS_MAJOR_VERSION): Define macro.

* doc/lispref/internals.texi (Module Initialization): Document
EMACS_MAJOR_VERSION preprocessor macro.

* test/data/emacs-module/mod-test.c (emacs_module_init): Verify
behavior of EMACS_MAJOR_VERSION.
2019-04-28 20:08:25 +02:00
Paul Eggert
531c74e249 Port to platforms where tputs is in libtinfow
* configure.ac (tputs_library): Also try tinfow, ncursesw (Bug#33977).

(cherry picked from commit a3d52b3057)
2019-04-27 13:17:10 -04:00
YAMAMOTO Mitsuharu
886bedb36c Merge branch 'master' into harfbuzz 2019-04-27 18:33:39 +09:00
YAMAMOTO Mitsuharu
5f4e8e2e08 Don't link libXft when using cairo
* configure.ac: Check cairo early.  Don't try Xft if cairo is used.
* lwlib/lwlib-utils.h [USE_CAIRO]: Include cairo.h and fontconfig.h.
(XftFont, XftDraw, XftColor, XGlyphInfo) [USE_CAIRO]: New typedefs.
(XftFontOpenName, XftFontClose, XftDrawCreate, XftDrawDestroy)
(XftDrawRect, XftDrawStringUtf8, XftTextExtentsUtf8) [USE_CAIRO]: New macros.
(crxft_font_open_name, crxft_font_close, crxft_draw_create)
(crxft_draw_rect, crxft_draw_string, crxft_text_extents) [USE_CAIRO]: New
externs.
* lwlib/lwlib-utils.c [USE_CAIRO]: Include math.h, cairo-ft.h, and
cairo-xlib.h.
(crxft_font_open_name, crxft_font_close, crxft_draw_create)
(crxft_set_source_color, crxft_draw_rect, crxft_draw_string)
(crxft_text_extents) [USE_CAIRO]: New Xft compatibility functions.
* lwlib/xlwmenuP.h [USE_CAIRO]: Include lwlib-utils.h.
* lwlib/xlwmenu.c (display_menu_item) [USE_CAIRO]: Call
cairo_surface_mark_dirty and cairo_surface_flush.
* lwlib/lwlib-Xaw.c [USE_CAIRO]: Include stdlib.h and lwlib-utils.h.
(draw_text) [USE_CAIRO]: Call cairo_surface_flush.
* src/xsettings.c [USE_CAIRO]: Include fontconfig.h
(apply_xft_settings) [!HAVE_XFT]: Don't call XftDefaultSubstitute or
XftDefaultSet.
* lwlib/lwlib-Xaw.c:
* lwlib/lwlib-int.h:
* lwlib/xlwmenu.c:
* lwlib/xlwmenuP.h:
* src/xrdb.c:
* src/xsettings.c:
* src/xterm.c: Replace all #ifdef HAVE_XFT with #if defined USE_CAIRO ||
defined HAVE_XFT.
* src/xfns.c (x_default_font_parameter): Replace #ifdef HAVE_XFT with #if
defined	USE_CAIRO || defined HAVE_XFT.
2019-04-24 12:31:37 +09:00
Paul Eggert
6fa8d3c894 Let plain ‘make’ work even not GNU Make
* Makefile.in (top_distclean): Clean makefile as well as Makefile.
* configure.ac: If not using plain ‘make’, create a makefile
so that plain ‘make’ simply calls $(MAKE).
2019-04-22 20:44:54 -07:00
Paul Eggert
1ea048f6e0 Remove --enable-checking=xmallocoverrun
It doesn’t work anymore, and these days ‘gcc -fsanitize=address’
does a better job anyway.
* configure.ac: Remove the option.
* configure.ac (ac_xmalloc_overrun, XMALLOC_OVERRUN_CHECK):
* src/alloc.c (XMALLOC_OVERRUN_CHECK_OVERHEAD)
(XMALLOC_OVERRUN_CHECK_SIZE, XMALLOC_OVERRUN_SIZE_SIZE)
(xmalloc_overrun_check_header, xmalloc_overrun_check_trailer)
(xmalloc_put_size, xmalloc_get_size, overrun_check_malloc)
(overrun_check_realloc, overrun_check_free):
Remove.  All uses removed.
* etc/NEWS: Mention this.
2019-04-21 23:16:48 -07:00
Paul Eggert
72067661fe Remove --enablechecking=conslist configure option
* configure.ac: Remove the option.
* configure.ac (ac_gc_check_cons_list, GC_CHECK_CONS_LIST):
* src/alloc.c (check_cons_list) [GC_CHECK_CONS_LIST]:
* src/lisp.h (lisp_h_check_cons_list, check_cons_list):
Remove.  All uses removed.
* etc/NEWS: Mention this.
2019-04-21 23:16:48 -07:00
Eli Zaretskii
fd6ff29506 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emacs into emacs-26 2019-04-21 14:21:52 +03:00
Noam Postavsky
bacdaa5b25 Use pkg-config to find lcms2 CFLAGS and LIBS (Bug#30346)
* configure.ac: Use EMACS_CHECK_MODULES fors LCMS2 rather than
AC_SEARCH_LIBS.
* src/Makefile.in: Get LCMS2_LIBS and LCMS2_CFLAGS from configure,
instead of just LIBLCMS2.

(cherry picked from commit cb3863370c)
2019-04-21 14:16:16 +03:00