Comment créer une branche principale Emacs (aka trunk) sur MS-Windows


11

J'ai franchi le pas aujourd'hui et j'ai commencé ma quête pour créer la plus récente version de développeur de branche principale Emacs - alias Emacs Trunk - pour MS-Windows.

J'ai trouvé un ancien blog et j'ai suivi la procédure, mais un message d'erreur m'a dit que cette méthode n'était plus prise en charge. Le message d'erreur m'a renvoyé comme suit: .../emacs/nt/INSTALL. Eh bien, c'est très bien et dandy si l'infrastructure pour la construction d'Emacs a déjà été installée / configurée.

Il serait certainement utile s'il y avait une étape 1, 2, 3 qui décrit les outils nécessaires et comment procéder pour les installer / configurer avec un œil spécifique sur la création d'Emacs sur MS-Windows.

Dans le cas où quelqu'un voudrait préparer un article détaillé, n'hésitez pas à poster une réponse. Sinon, j'en rédigerai un moi-même une fois que je saurai comment le faire. J'ai rencontré des barrages routiers supplémentaires et j'ai soumis un rapport de bogue dans l'intervalle - je ne sais pas encore si c'est moi, ou peut-être un bogue: https://debbugs.gnu.org/cgi/bugreport.cgi? bug = 21582

Je pense que plus de gens seraient enclins à construire leurs propres Emacs s'il y avait une "feuille de triche" qui pourrait être utilisée par des programmeurs débutants ou des amateurs comme moi (qui ne sont pas des programmeurs de métier).


Je pense que vous pouvez créer Emacs sur Windows de plusieurs façons (c'est-à-dire très probablement MingW / MS VCC, mais aussi éventuellement clang. Vous pouvez chercher ici la liste des bibliothèques requises (il y en a beaucoup) emacswiki.org/emacs / BuildingEmacsWithMinGW mais cette information est sûrement datée (probablement une dizaine d'années!)
wvxvw

Pour une version 64 bits, il y a une bonne écriture d'emacsbinw64 sur sourceforge.net/p/emacsbinw64/wiki/… - il utilise MSYS2 et MinGW-w64. Peut-être que les notes nt / INSTALL devraient être mises à jour pour inclure également cette option?
Brian Burns

@ bburns.km - merci pour le lien. Je me demandais comment construire le 64 bits, mais je n'avais pas le temps libre pour investir d'innombrables heures à le découvrir. À l'avenir, je vérifierai certainement le lien pour voir s'il s'agit d'une étape 1, 2, 3 ou simplement d'un aperçu où les programmeurs avancés savent comment remplir les espaces manquants. Les instructions comme le nt / INSTALL sont fondamentalement inutiles pour un novice comme moi - c'est significatif pour un programmeur, mais cela ne signifie pratiquement rien pour moi - alors que mes 5 étapes faciles sont en effet un vrai 1, 2, 3 que n'importe qui peut suivre.
lawlist

@lawlist Oui, c'est un bon résumé - j'ai essayé il y a un an ou deux de faire la construction 32 bits mais quelque chose s'est mal passé et / ou je me suis perdu - comme vous dites que c'est assez complexe pour quelqu'un qui n'est pas habitué à construire des choses à partir de la source. Mais les instructions emacsbinw64 sont un peu plus simples et fonctionnaient assez bien - il a juste fallu quelques heures pour tout parcourir et le faire fonctionner. Je pense que je vais demander sur la liste de développement de mettre à jour le document nt / INSTALL - il pourrait y avoir des sections 32 bits et 64 bits. J'avais commencé à rédiger un document mais je me suis rendu compte que cela n'apportait pas grand-chose aux instructions emacsbinw64, mais il pouvait être utilisé là-bas.
Brian Burns

Réponses:


9

Il est recommandé aux utilisateurs de lire l'intégralité du ../emacs/nt/INSTALLcontenu du code source d'Emacs.


Démarrage rapide - 5 étapes faciles :

Cette réponse a été testée sur WindowsXP - SP3. Les chemins d'installation devront être ajustés en fonction des préférences individuelles de l'utilisateur. Dans cet exemple:

  • Le bureau est: C:\Documents and Settings\lawlist\Desktop

  • L' gitinstallation est: C:\git

  • L' MinGWinstallation est: C:\mingw

  • L'emplacement de téléchargement git de la branche principale d'Emacs est: C:\Documents and Settings\lawlist\Desktop\emacs

  • L'objectif pour l'installation d'Emacs est: C:\Documents and Settings\lawlist\Desktop\trunk

Étape numéro 1 : installez gitet assurez-vous de sélectionner «retirer en l'état, valider tel quel» lors de l'installation:

https://git-scm.com/download/win

Git-2.5.3-32-bit.exe

Exécutez le programme d'installation.

Prochain

Prochain

Le répertoire d'installation standard est C:\Program Files\Git, mais j'ai choisi à la place: c:\git

Sélectionnez les composants: la valeur par défaut est correcte, mais je n'ai rien choisi à la place.

Sélectionnez le dossier du menu Démarrer: la valeur par défaut est correcte, mais j'ai choisi de ne pas créer de dossier à la place.

Ajuster votre environnement PATH: la valeur par défaut est correcte: utilisez Git de Bash uniquement.

;; Pour cette section suivante, portez une attention particulière au paramètre non par défaut - voir le bogue Emacs # 21582.

Configurer les conversions de fin de ligne: Emacs nécessite un paramètre non par défaut de "check-as as-is, commit as-is"

Configuration de l'émulateur de terminal à utiliser avec Git Bash: la valeur par défaut est correcte: utilisez MinTTY (le terminal par défaut de MSys2)

Configuration des réglages expérimentaux des performances: j'ai choisi de NE PAS "Activer la mise en cache du système de fichiers".

Terminer [voir les notes de publication si vous le souhaitez]

REMARQUE: autogen.sh(et peut-être certains programmes tiers) nécessitent que le gitPATH soit défini pour que les exécutables puissent être appelés sans utiliser le chemin absolu. L'auteur de cette réponse a une préférence personnelle pour utiliser des chemins absolus et ne pas modifier le CHEMIN; cependant, la plupart des gens semblent préférer modifier le CHEMIN pour les sessions actuelles et futures. Sur Windows XP, par exemple, le CHEMIN peut être défini dans le Panneau de configuration / Propriétés système / onglet Avancé / bouton Variables d'environnement, et il semble y avoir deux (2) vues / opinions quant à savoir si un utilisateur doit définir les variables utilisateur ou le système Variables - les chemins sont séparés par des points-virgules sans espaces. Cette réponse définit simplement le CHEMIN pour la durée de la session en utilisant ce qui exportest indiqué ci-dessous. L'Emacs autogen.shcherche legit sur le CHEMIN et se plaint si elle est introuvable.

Étape numéro 2 : installerMinGW

http://www.mingw.org/wiki/Getting_Started

mingw-get-setup.exe

c:\mingw\bin\mingw-get install mingw32-base

c:\mingw\bin\mingw-get install msys-base

c:\mingw\bin\mingw-get install autoconf

c:\mingw\bin\mingw-get install automake

c:\mingw\bin\mingw-get install msys-coreutils

c:\mingw\bin\mingw-get remove mingw32-libiconv

c:\mingw\bin\mingw-get install "libiconv=1.13.1-1"

c:\mingw\msys\1.0\msys.bat

mount c:/mingw /mingw

Étape numéro 3 : téléchargez les ezwinportspackages zippés suivants et extrayez-les dans le mingwrépertoire racine .

https://sourceforge.net/projects/ezwinports/files/

;; décompressez tous les packages ezwinports suivants dans c:/mingw, en remplaçant tous les doublons.

cairo-1.12.16-w32-bin.zip

gdk-pixbuf-2.30.2-w32-bin.zip

giflib-5.1.0-w32-bin.zip

glib-2.38.2-w32-bin.zip

gnutls-3.3.11-w32-bin.zip

jpeg-v9a-w32-bin.zip

libpng-1.6.12-w32-bin.zip

librsvg-2.40.1-2-w32-bin.zip

libtasn1-4.2-w32-bin.zip

libxml2-2.7.8-w32-bin.zip

libXpm-3.5.11-2-w32-bin.zip

nettle-2.7.1-w32-bin.zip

p11-kit-0.9-w32-bin.zip

pixman-0.32.4-w32-bin.zip

pkg-config-0.28-w32-bin.zip

tiff-4.0.3-w32-bin.zip

zlib-1.2.8-2-w32-bin.zip

Étape numéro 4 : Téléchargez les derniers fichiers source de la branche principale Emacs à l'aide d'un git-bashshell.

c:\git\git-bash.exe

cd /c/docume~1/lawlist/desktop/

git clone -b master git://git.sv.gnu.org/emacs.git

exit

Étape numéro 5 : créez la branche principale Emacs et copiez les fichiers .dll lorsque vous avez terminé.

;; ouvrir l'invite de commande générique

c:\mingw\msys\1.0\msys.bat

export PATH=$PATH:/c/git/bin

cd /c/docume~1/lawlist/desktop/emacs

./autogen.sh

./configure --prefix=/c/docume~1/lawlist/desktop/trunk

make

make install

;; copy the following files to the `/bin` directory where `emacs.exe` is located.

cp /c/mingw/bin/libXpm-noX4.dll /c/docume~1/lawlist/desktop/trunk/bin/libXpm-noX4.dll

cp /c/mingw/bin/libpng16-16.dll /c/docume~1/lawlist/desktop/trunk/bin/libpng16-16.dll

cp /c/mingw/bin/libtiff-5.dll /c/docume~1/lawlist/desktop/trunk/bin/libtiff-5.dll

cp /c/mingw/bin/libjpeg-9.dll /c/docume~1/lawlist/desktop/trunk/bin/libjpeg-9.dll

cp /c/mingw/bin/libgif-7.dll /c/docume~1/lawlist/desktop/trunk/bin/libgif-7.dll

cp /c/mingw/bin/librsvg-2-2.dll /c/docume~1/lawlist/desktop/trunk/bin/librsvg-2-2.dll

cp /c/mingw/bin/libgdk_pixbuf-2.0-0.dll /c/docume~1/lawlist/desktop/trunk/bin/libgdk_pixbuf-2.0-0.dll

cp /c/mingw/bin/libglib-2.0-0.dll /c/docume~1/lawlist/desktop/trunk/bin/libglib-2.0-0.dll

cp /c/mingw/bin/libgobject-2.0-0.dll /c/docume~1/lawlist/desktop/trunk/bin/libgobject-2.0-0.dll

cp /c/mingw/bin/libxml2-2.dll /c/docume~1/lawlist/desktop/trunk/bin/libxml2-2.dll

cp /c/mingw/bin/zlib1.dll /c/docume~1/lawlist/desktop/trunk/bin/zlib1.dll

Décompressez le contenu de gnutls-3.3.11-w32-bin.ziplaC:\Documents and Settings\lawlist\Desktop\trunk


INSTALLATION MANUELLE - MinGW / MSYS / EZwinports

Pour les âmes aventureuses qui souhaitent effectuer une installation manuelle de MinGW / MSYS / EZwinports, les fichiers suivants sont utilisés par cet auteur sur Windows XP pour créer une version 32 bits réussie avec les options de configuration suivantes activées par défaut. L'installation et la configuration varient en fonction des préférences personnelles de chaque utilisateur et dépassent le cadre de cette réponse.

Configured for 'i686-pc-mingw32'.
Where should the build process find the source code?    .
What compiler should emacs be built with?               gcc -std=gnu99  -g3 -O 2 -gdwarf-2
Should Emacs use the GNU version of malloc?             no
  (The GNU allocators don't work with this system configuration.)
Should Emacs use a relocating allocator for buffers?    no
Should Emacs use mmap(2) for buffer allocation?         yes
What window system should Emacs use?                    w32
What toolkit should Emacs use?                          none
Where do we find X Windows header files?                NONE
Where do we find X Windows libraries?                   NONE
Does Emacs use -lXaw3d?                                 no
Does Emacs use -lXpm?                                   yes
Does Emacs use -ljpeg?                                  yes
Does Emacs use -ltiff?                                  yes
Does Emacs use a gif library?                           yes
Does Emacs use a png library?                           yes
Does Emacs use -lrsvg-2?                                yes
Does Emacs use cairo?                                   no
Does Emacs use imagemagick?                             no
Does Emacs support sound?                               yes
Does Emacs use -lgpm?                                   no
Does Emacs use -ldbus?                                  no
Does Emacs use -lgconf?                                 no
Does Emacs use GSettings?                               no
Does Emacs use a file notification library?             yes (w32)
Does Emacs use access control lists?                    yes
Does Emacs use -lselinux?                               no
Does Emacs use -lgnutls?                                yes
Does Emacs use -lxml2?                                  yes
Does Emacs use -lfreetype?                              no
Does Emacs use -lm17n-flt?                              no
Does Emacs use -lotf?                                   no
Does Emacs use -lxft?                                   no
Does Emacs directly use zlib?                           yes
Does Emacs use toolkit scroll bars?                     yes

EZWINPORTS

cairo-1.12.16-w32-bin.zip
gdk-pixbuf-2.30.2-w32-bin.zip
giflib-5.1.0-w32-bin.zip
glib-2.38.2-w32-bin.zip
gnutls-3.3.11-w32-bin.zip
jpeg-v9a-w32-bin.zip
libXpm-3.5.11-2-w32-bin.zip
libpng-1.6.12-w32-bin.zip
librsvg-2.40.1-2-w32-bin.zip
libtasn1-4.2-w32-bin.zip
libxml2-2.7.8-w32-bin.zip
nettle-2.7.1-w32-bin.zip
p11-kit-0.9-w32-bin.zip
pixman-0.32.4-w32-bin.zip
pkg-config-0.28-w32-bin.zip
tiff-4.0.3-w32-bin.zip
zlib-1.2.8-2-w32-bin.zip

MINGW

autoconf-10-1-mingw32-bin.tar.lzma
autoconf-10-1-mingw32-lic.tar.lzma
autoconf2.1-2.13-4-mingw32-bin.tar.lzma
autoconf2.5-2.68-1-mingw32-bin.tar.lzma
automake-4-1-mingw32-bin.tar.lzma
automake-4-1-mingw32-lic.tar.lzma
automake1.10-1.10.2-1-mingw32-bin.tar.lzma
automake1.11-1.11.1-1-mingw32-bin.tar.lzma
automake1.4-1.4p6-1-mingw32-bin.tar.lzma
automake1.5-1.5-1-mingw32-bin.tar.lzma
automake1.6-1.6.3-1-mingw32-bin.tar.lzma
automake1.7-1.7.9-1-mingw32-bin.tar.lzma
automake1.8-1.8.5-1-mingw32-bin.tar.lzma
automake1.9-1.9.6-3-mingw32-bin.tar.lzma
binutils-2.25.1-1-mingw32-bin.tar.xz
gcc-core-4.8.1-4-mingw32-bin.tar.lzma
gcc-core-4.8.1-4-mingw32-dev.tar.lzma
gcc-core-4.8.1-4-mingw32-dll.tar.lzma
gcc-core-4.8.1-4-mingw32-lic.tar.lzma
gdb-7.6.1-1-mingw32-bin.tar.lzma
gmp-5.1.2-1-mingw32-dll.tar.lzma
libcharset-1.13.1-1-mingw32-dll-1.tar.lzma
libiconv-1.13.1-1-mingw32-bin.tar.lzma
libiconv-1.13.1-1-mingw32-dev.tar.lzma
libiconv-1.13.1-1-mingw32-dll-2.tar.lzma
libiconv-1.13.1-1-mingw32-doc.tar.lzma
libiconv-1.13.1-1-mingw32-lic.tar.lzma
libintl-0.17-1-mingw32-dll-8.tar.lzma
libmpc-1.0.2-mingw32-dll-3.tar.xz
make-3.82.90-2-mingw32-cvs-20120902-bin.tar.lzma
mingwrt-3.21.1-mingw32-dev.tar.xz
mingwrt-3.21.1-mingw32-dll.tar.xz
mpfr-3.1.2-2-mingw32-dll.tar.lzma
pthreads-w32-2.9.1-1-mingw32-dll.tar.lzma
w32api-3.17-2-mingw32-dev.tar.lzma

MSYS

bash-3.1.23-1-msys-1.0.18-bin.tar.xz
bzip2-1.0.6-1-msys-1.0.17-bin.tar.lzma
coreutils-5.97-3-msys-1.0.13-bin.tar.lzma
coreutils-5.97-3-msys-1.0.13-doc.tar.lzma
coreutils-5.97-3-msys-1.0.13-ext.tar.lzma
coreutils-5.97-3-msys-1.0.13-lang.tar.lzma
coreutils-5.97-3-msys-1.0.13-lic.tar.lzma
diffutils-2.8.7.20071206cvs-3-msys-1.0.13-bin.tar.lzma
dos2unix-7.2.3-1-msys-1.0.18-bin.tar.lzma
file-5.04-1-msys-1.0.13-bin.tar.lzma
findutils-4.4.2-2-msys-1.0.13-bin.tar.lzma
gawk-3.1.7-2-msys-1.0.13-bin.tar.lzma
grep-2.5.4-2-msys-1.0.13-bin.tar.lzma
gzip-1.3.12-2-msys-1.0.13-bin.tar.lzma
less-436-2-msys-1.0.13-bin.tar.lzma
libbz2-1.0.6-1-msys-1.0.17-dll-1.tar.lzma
libcrypt-1.1_1-3-msys-1.0.13-dll-0.tar.lzma
libexpat-2.0.1-1-msys-1.0.13-dll-1.tar.lzma
libgdbm-1.8.3-3-msys-1.0.13-dll-3.tar.lzma
libiconv-1.14-1-msys-1.0.17-dll-2.tar.lzma
libintl-0.18.1.1-1-msys-1.0.17-dll-8.tar.lzma
liblzma-5.0.3-1-msys-1.0.17-dll-5.tar.lzma
libmagic-5.04-1-msys-1.0.13-dll-1.tar.lzma
libregex-1.20090805-2-msys-1.0.13-dll-1.tar.lzma
libtermcap-0.20050421_1-2-msys-1.0.13-dll-0.tar.lzma
libxml2-2.7.6-1-msys-1.0.13-dll-2.tar.lzma
m4-1.4.16-2-msys-1.0.17-bin.tar.lzma
make-3.81-3-msys-1.0.13-bin.tar.lzma
msysCORE-1.0.18-1-msys-1.0.18-bin.tar.lzma
msysCORE-1.0.18-1-msys-1.0.18-doc.tar.lzma
msysCORE-1.0.18-1-msys-1.0.18-ext.tar.lzma
msysCORE-1.0.18-1-msys-1.0.18-lic.tar.lzma
perl-5.8.8-1-msys-1.0.17-bin.tar.lzma
sed-4.2.1-2-msys-1.0.13-bin.tar.lzma
tar-1.23-1-msys-1.0.13-bin.tar.lzma
termcap-0.20050421_1-2-msys-1.0.13-bin.tar.lzma
texinfo-4.13a-2-msys-1.0.13-bin.tar.lzma
xz-5.0.3-1-msys-1.0.17-bin.tar.lzma
zlib-1.2.7-1-msys-1.0.17-dll.tar.lzma

1

J'avais essayé les instructions dans emacs / nt / INSTALL l'année dernière pour la version 32 bits, mais quelque chose s'est mal passé (je ne me souviens pas quoi, exactement), donc récemment j'ai essayé les instructions pour emacsbinw64 - cela a très bien fonctionné, et cela était aussi plus simple pour obtenir les bibliothèques nécessaires. Il utilise MSYS2 et MinGW-w64 pour une version 64 bits - le projet emacsbinw64 fournit des binaires à https://sourceforge.net/projects/emacsbinw64/files/ .

J'ai donc rédigé quelques instructions suivant ce plan, avec les commentaires d'Eli Zaretski et de l'auteur Chris Zheng - la version complète est disponible sur http://git.savannah.gnu.org/cgit/emacs.git/plain/nt/INSTALL .W64? H = emacs-25 (inclut également la construction à partir d'une archive tar de version).

Cela a pris environ 90 minutes au total sur une connexion Internet Intel i3 et haute vitesse - YMMV. Notez que la plupart du travail de construction sous Windows consiste simplement à configurer l'environnement de construction ...


Exigences

L'espace total requis est de 3 Go: 1,8 Go pour MSYS2 / MinGW-w64 et 1,2 Go pour Emacs avec le référentiel complet.

Téléchargez et installez MinGW-w64 et MSYS2

Téléchargez la version x86_64 de MSYS2 (c'est-à-dire msys2-x86_64-.exe) depuis https://sourceforge.net/projects/msys2/files/Base/x86_64 .

Exécutez ce fichier pour installer MSYS2 dans votre répertoire préféré, par exemple le C: \ msys64 par défaut - cela installera également MinGW-w64. Notez que les noms de répertoire contenant des espaces peuvent provoquer des problèmes.

Ensuite, vous devrez ajouter les répertoires suivants à votre variable d'environnement Windows PATH:

c:\msys64\usr\bin;c:\msys64\mingw64\bin

vous pouvez le faire via Panneau de configuration / Système et sécurité / Système / Paramètres système avancés / Variables d'environnement / Modifier le chemin.

L'ajout de ces répertoires à votre PATH indique à Emacs où trouver les DLL dont il a besoin pour s'exécuter, et certaines commandes facultatives comme grep et find. Ces commandes seront également disponibles sur la console Windows.

Téléchargez et installez les packages nécessaires

Exécutez msys2_shell.bat dans votre répertoire MSYS2 et vous verrez une fenêtre BASH ouverte.

Dans l'invite BASH, utilisez la commande suivante pour installer les packages nécessaires (vous pouvez le copier et le coller dans le shell avec Shift + Insert):

pacman -S base-devel \
mingw-w64-x86_64-toolchain \
mingw-w64-x86_64-xpm-nox \
mingw-w64-x86_64-libtiff \
mingw-w64-x86_64-giflib \
mingw-w64-x86_64-libpng \
mingw-w64-x86_64-libjpeg-turbo \
mingw-w64-x86_64-librsvg \
mingw-w64-x86_64-libxml2 \
mingw-w64-x86_64-gnutls

Vous disposez désormais d'un environnement de génération complet pour Emacs.

Installez Git (facultatif) et désactivez autocrlf

Si vous n'avez pas encore Git sur votre système, vous pouvez l'installer dans votre environnement MSYS2 avec:

pacman -S git

La fonctionnalité autocrlf de Git peut interférer avec le fichier de configuration, il est donc préférable de désactiver cette fonctionnalité en exécutant la commande:

git config core.autocrlf false

Obtenez le code source d'Emacs

Pour télécharger le référentiel Git, faites quelque chose comme ceci - cela placera la source Emacs dans C: \ emacs \ emacs-25:

mkdir /c/emacs
cd /c/emacs
git clone git://git.sv.gnu.org/emacs.git emacs-25

Construire Emacs

Vous êtes maintenant prêt à construire et installer Emacs avec autogen, à configurer, à créer et à installer.

Nous devons d'abord passer à l'environnement MinGW-w64. Quittez la console MSYS2 BASH et exécutez mingw64_shell.bat dans le dossier C: \ msys64, puis retournez dans votre répertoire source Emacs, par exemple:

cd /c/emacs/emacs-25

Exécutez autogen

Si vous créez les sources de développement, exécutez autogen pour générer le script de configuration:

./autogen.sh

Exécutez configure

Vous pouvez maintenant exécuter configure, qui construira les différents Makefiles.

L'option '--prefix' spécifie un emplacement pour les fichiers binaires résultants, que 'make install' utilisera - dans cet exemple, nous le définissons sur C: \ emacs \ emacs-25. Si aucun préfixe n'est spécifié, les fichiers seront placés dans les répertoires Unix standard situés dans votre répertoire C: \ msys64, mais ce n'est pas recommandé.

Notez également que nous devons désactiver Imagemagick car Emacs ne le prend pas encore en charge sous Windows.

PKG_CONFIG_PATH=/mingw64/lib/pkgconfig \
./configure --prefix=/c/emacs/emacs-25 --without-imagemagick

Exécutez make

Cela compilera Emacs et construira les exécutables, en les plaçant dans le répertoire src:

make

Pour accélérer le processus, vous pouvez essayer d'exécuter

make -jN

où N est le nombre de cœurs dans votre système - si votre marque MSYS2 prend en charge l'exécution parallèle, elle s'exécutera beaucoup plus rapidement.

Exécutez make install

Vous pouvez maintenant exécuter "make install", qui copiera l'exécutable et les autres fichiers à l'emplacement spécifié dans l'étape de configuration. Cela créera les répertoires bin, libexec, share et var:

make install

Vous pouvez également dire

make install prefix=/c/somewhere

pour les installer ailleurs.

Testez Emacs

Pour le tester, exécutez

./bin/runemacs.exe -Q

et si tout s'est bien passé, vous aurez une nouvelle version 64 bits d'Emacs.

Créer un raccourci

Pour créer un raccourci pour exécuter les nouveaux Emacs, faites un clic droit sur l'emplacement où vous souhaitez le placer, par exemple le bureau, sélectionnez Nouveau / Raccourci, puis sélectionnez runemacs.exe dans le dossier bin des nouveaux Emacs, et donnez-lui un nom .

Vous pouvez définir toutes les options de ligne de commande en cliquant avec le bouton droit sur le raccourci résultant, sélectionnez Propriétés, puis ajoutez des options à la commande Cible, par exemple --debug-init.

Crédits

Merci à Chris Zheng pour le plan de construction d'origine tel qu'il est utilisé par le projet emacsbinw64, situé à https://sourceforge.net/p/emacsbinw64/wiki/Build%20guideline%20for%20MSYS2-MinGW-w64%20system/ .

Licence

Ce fichier fait partie de GNU Emacs.

GNU Emacs est un logiciel libre: vous pouvez le redistribuer et / ou le modifier selon les termes de la licence publique générale GNU telle que publiée par la Free Software Foundation, soit la version 3 de la licence, soit (à votre choix) toute version ultérieure.

GNU Emacs est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE; sans même la garantie implicite de QUALITÉ MARCHANDE ou D'ADÉQUATION À UN USAGE PARTICULIER. Voir la Licence Publique Générale GNU pour plus de détails.

Vous devriez avoir reçu une copie de la licence publique générale GNU avec GNU Emacs. Sinon, voir http://www.gnu.org/licenses/ .


Envisagez d'ajouter une étape pour copier sur les fichiers .dll qui doivent être placés directement dans le même exécutable Emacs que la génération est terminée, afin qu'Emacs n'ait pas besoin de s'appuyer sur un chemin défini à l'échelle du système pour trouver ceux des dossiers. De plus, il est probablement nécessaire de copier les exécutables de gnutls dans le répertoire exécutable d'Emacs. Les dernières étapes devraient probablement être assez similaires à la version Emacs 32 dans la réponse alternative.
Lawlist

Oui, les instructions originales ont été écrites de cette façon, mais Eli a pensé qu'il valait mieux utiliser le PATH - lists.gnu.org/archive/html/bug-gnu-emacs/2015-12/msg01476.html. C'est une autre option cependant - si vous vouliez le faire de cette façon, vous pourriez simplement copier toutes les DLL du C: \ msys64 \ mingw64 \ bin dans le dossier bin emacs - elles ne font que 32 Mo - cp /c/msys64/mingw64/bin/*.dll bin. Je ne connais pas grand-chose aux gnutls - existe-t-il un moyen simple de le tester?
Brian Burns

Dans le sens le plus général sans l'utiliser réellement pour le courrier électronique ou quelque chose, le test général est avec la fonction gnutls-available-p Je comprends la raison de la simplicité en se référant simplement aux chemins du système, mais parfois les gens peuvent vouloir utiliser la construction Emacs sur un ordinateur différent et ils se demanderont pourquoi les images et les trucs ne fonctionnent pas prêts à l'emploi. Il y a beaucoup de discussions avec des gens qui demandent pourquoi les fichiers pdf ressemblent à du charabia dans un tampon normal (c'est-à-dire parce que le support png manque), ou pourquoi ils ne peuvent pas faire de doc-view ou de prévisualisation dans AUCTeX (même raison).
Lawlist du

D'accord, gnutls-available-prenvoie t en utilisant uniquement le paramètre PATH, donc je suppose que cela fonctionne pour l'instant - je soumettrai un correctif avec la méthode alternative pour copier les DLL, et éventuellement les exes gnutls, si ceux-ci sont nécessaires, et les mettre à jour ici plus tard.
Brian Burns
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.