emacs-devel
[Top][All Lists]
Advanced

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

Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed


From: H. Dieter Wilhelm
Subject: Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed
Date: Wed, 09 Feb 2022 19:23:17 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.91 (gnu/linux)

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> From a cursory glance I can't see code which might be restricted to
>> Windows or "w32" systems, except the naming.  Just ran the tests of
>> w32-features.el on:
> [...]
>> Please tell me what else do you expect from w32-feature.el, maybe
>> extensive build information for any platform? :-)
>
> Something like that, yes.  But mostly change the output such that
> missing features (or different compilation options) aren't all displayed
> as scary test errors but with a more informational tone, I guess.

>From the old thread and your remarks it seems to me that this "feature"
library should fulfil two aims: Testing features when building Emacs
distros (especially under Windows) and providing information for users
without the complete source tree.

I took up the idea from Alan Third and completed some missing "standard"
features (from nt/INSTALL.W64):

  (defun insert-feature (description test)
    (indent-to 2)
    (insert (if test "✔" "✖"))
    (indent-to 5)
    (insert description)
    (insert "\n"))

  ;; feature list from nt/INSTALL.W64 
  (defun list-features ()
    (interactive)
    (switch-to-buffer
     (get-buffer-create "*Features*"))
    (read-only-mode -1)
    (erase-buffer)
    (insert "Standard Emacs Features:\n")

    ;; harfbuzz
    (insert-feature "Harfbuzz - text shaping library "
                    (eq 'harfbuzz 
                        (car (frame-parameter nil 'font-backend))))
    ;; zlib
    (insert-feature "Zlib - compression library" (zlib-available-p))
    ;; libxml
    (insert-feature "xml2 - parser library" (libxml-available-p))
    ;; lcms lcms2-available-p
    (insert-feature "lcms2 - color translator library" (image-type-available-p 
'pbm))
    (insert-feature "JSON - data exchange library"
                    (progn (require 'json) (fboundp 'json-serialize)))
    (insert-feature "GNUTLS - secure communication library" 
(gnutls-available-p))
    (insert-feature "pbm - image library" (image-type-available-p 'pbm))
    (insert-feature "xpm - image library" (image-type-available-p 'xpm))
    (insert-feature "bmp - image library" (image-type-available-p 'bmp))
    (insert-feature "gif - image library" (image-type-available-p 'gif))
    (insert-feature "png - image library" (image-type-available-p 'png))
    (insert-feature "xpm - image library" (image-type-available-p 'xpm))
    (insert-feature "jpeg - image library" (image-type-available-p 'jpeg))
    (insert-feature "tiff - image library" (image-type-available-p 'tiff))
    (insert-feature "svg - image library" (image-type-available-p 'svg))
    (insert-feature "native images" (image-type-available-p 'native-image))
    ;; what are native images?
    ;; jansson = json?
    ;; thread support?
    ;; modules
    ;; gmp <- gnutls
    (read-only-mode 1))


What do you think?

By the way, please tell me what are native images?

-- 
   Dieter
   
Best wishes
H. Dieter Wilhelm
Zwingenberg, Germany



reply via email to

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