Come costruire il ramo master Emacs (aka trunk) su MS-Windows


11

Oggi ho fatto il grande passo e ho iniziato la mia ricerca per costruire la più recente build per sviluppatori di filiali master Emacs - aka Emacs Trunk - per MS-Windows.

Ho trovato un vecchio blog e ho seguito la procedura, solo per ricevere un messaggio di errore che mi diceva che un metodo particolare non era più supportato. Il messaggio di errore mi ha indirizzato a leggere: .../emacs/nt/INSTALL. Bene, va benissimo se l'infrastruttura per la costruzione di Emacs è già stata installata / configurata.

Sarebbe sicuramente utile se ci fosse un passaggio 1, 2, 3 che descrive quali strumenti sono necessari e come procedere per installarli / configurarli con un occhio specifico verso la creazione di Emacs su MS-Windows.

Nel caso in cui qualcuno desideri preparare un articolo dettagliato, non esitare a inviare una risposta. In caso contrario, ne scriverò uno io stesso una volta che avrò capito come farlo. Ho incontrato ulteriori blocchi stradali e nel frattempo ho inviato una segnalazione di bug - Non so ancora se sono io o forse un bug: https://debbugs.gnu.org/cgi/bugreport.cgi? bug = 21582

Penso che più persone sarebbero inclini a costruire i propri Emac se esistesse un "cheat-sheet" che potrebbe essere utilizzato da programmatori o hobbisti principianti come me (che non sono programmatori di commercio).


Penso che tu possa costruire Emacs su Windows in più di un modo (cioè molto probabilmente MingW / MS VCC, ma forse anche clang. Potresti cercare qui l'elenco delle librerie richieste (ce ne sono molte) emacswiki.org/emacs / BuildingEmacsWithMinGW ma queste informazioni sono sicuramente datate (molto probabilmente dieci anni circa!)
wvxvw,

Per una build a 64 bit c'è un buon writeup da emacsbinw64 su sourceforge.net/p/emacsbinw64/wiki/… - usa MSYS2 e MinGW-w64. Forse le note nt / INSTALL dovrebbero essere aggiornate per includere anche questa opzione?
Brian Burns,

@ bburns.km - grazie per il link. Mi chiedevo come costruire il 64-bit, ma non avevo il tempo libero per investire innumerevoli ore per capirlo. In futuro, controllerò sicuramente il link per vedere se si tratta di qualcosa che è un passaggio 1, 2, 3 o solo uno schema in cui programmatori esperti sanno come riempire gli spazi mancanti. Le istruzioni come nt / INSTALL sono sostanzialmente inutili per un principiante come me - è significativo per un programmatore, ma non significa praticamente nulla per me - mentre i miei 5 semplici passaggi sono davvero un vero 1, 2, 3 che chiunque può seguire.
elenco delle leggi

@lawlist Sì, è un buon commento - ho provato un anno o due fa a fare la build a 32 bit ma qualcosa è andato storto e / o mi sono perso in esso - come dici tu è abbastanza complesso per qualcuno che non è abituato a costruire cose dalla fonte. Ma le istruzioni di emacsbinw64 sono un po 'più semplici e hanno funzionato abbastanza bene - ci sono volute solo poche ore per esaminare tutto e farlo funzionare. Penso che chiederò alla devlist di aggiornare il documento nt / INSTALL - potrebbero esserci sezioni a 32 e 64 bit. Avevo iniziato a scrivere un documento ma mi ero reso conto che non aggiungeva troppo alle istruzioni di emacsbinw64, ma poteva essere usato lì.
Brian Burns,

Risposte:


9

Si raccomanda agli utenti di leggere l'intero ../emacs/nt/INSTALLcontenuto del codice sorgente di Emacs.


Avvio rapido - 5 semplici passaggi :

Questa risposta è stata testata su WindowsXP - SP3. I percorsi di installazione dovranno essere regolati in base alle preferenze individuali dell'utente. In questo esempio:

  • Il desktop è: C:\Documents and Settings\lawlist\Desktop

  • L' gitinstallazione è: C:\git

  • L' MinGWinstallazione è: C:\mingw

  • Il percorso di download git del ramo master di Emacs è: C:\Documents and Settings\lawlist\Desktop\emacs

  • L'obiettivo dell'installazione di Emacs è: C:\Documents and Settings\lawlist\Desktop\trunk

Passo numero 1 : Installa gite assicurati di selezionare "check-as-as-is, commit as-is" durante l'installazione:

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

Git-2.5.3-32-bit.exe

Esegui il programma di installazione.

Il prossimo

Il prossimo

La directory di installazione standard è C:\Program Files\Git, ma ho scelto invece: c:\git

Seleziona i componenti: il valore predefinito è ok, ma non ho scelto nulla.

Seleziona la cartella del menu di avvio: l'impostazione predefinita è ok, invece ho scelto di non creare una cartella.

Modifica il tuo ambiente PATH: il valore predefinito è ok: usa Git solo da Bash.

;; Per questa sezione successiva, presta molta attenzione all'impostazione non predefinita - vedi Emacs bug # 21582.

Configura le conversioni di fine riga: Emacs richiede un'impostazione non predefinita di "check-as-as-is, commit as-is"

Configurazione dell'emulatore di terminale da utilizzare con Git Bash: il valore predefinito è corretto: utilizzare MinTTY (il terminale predefinito di MSys2)

Configurazione delle modifiche sperimentali alle prestazioni: ho scelto di NON abilitare la memorizzazione nella cache del file system.

Fine [visualizza le note di rilascio se lo si desidera]

NOTA: autogen.sh(e forse alcuni programmi di terze parti) richiedono che il gitPERCORSO sia impostato in modo tale che gli eseguibili possano essere chiamati senza usare il percorso assoluto. L'autore di questa risposta ha una preferenza personale per usare percorsi assoluti e non modificare il PERCORSO; tuttavia, la maggior parte delle persone sembra preferire modificare il PERCORSO per le sessioni attuali e future. Su Windows XP, ad esempio, il PERCORSO può essere impostato in Pannello di controllo / Proprietà del sistema / Scheda Avanzate / Pulsante Variabili ambientali e sembrano esserci due (2) viste / opinioni riguardo se un utente deve impostare le Variabili utente o il Sistema Variabili: i percorsi sono separati da punti e virgola senza spazi. Questa risposta imposta semplicemente il PERCORSO per la durata della sessione usando quanto exportindicato di seguito. L'Emacs autogen.shcerca ilgit comando sul PERCORSO e si lamenta se non può essere trovato.

Passaggio numero 2 : installazioneMinGW

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

Passo numero 3 : scarica i seguenti ezwinportspacchetti compressi ed estrai nella mingwdirectory principale .

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

;; decomprimere tutti i seguenti pacchetti ezwinports in c:/mingw, sovrascrivendo eventuali duplicati.

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

Passo numero 4 : scarica gli ultimi file sorgente del ramo master Emacs usando una 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

Passaggio numero 5 : compilare il ramo principale di Emacs e, al termine, copiare sui file DLL.

;; apri il prompt dei comandi generico

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

Unzip l'intero contenuto di gnutls-3.3.11-w32-bin.zipaC:\Documents and Settings\lawlist\Desktop\trunk


INSTALLAZIONE MANUALE - MinGW / MSYS / EZwinports

Per quelle anime avventurose che sono interessate a fare un'installazione manuale di MinGW / MSYS / EZwinports, i seguenti sono i file utilizzati da questo autore su Windows XP per creare una build di successo a 32 bit con le seguenti opzioni di configurazione abilitate per impostazione predefinita. L'impostazione e la configurazione varieranno in base alle preferenze personali dei singoli utenti e vanno oltre lo scopo di questa risposta.

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

Avevo provato le istruzioni in emacs / nt / INSTALL lo scorso anno per la build a 32 bit ma qualcosa è andato storto (non ricordo cosa, esattamente), così recentemente ho provato le istruzioni per emacsbinw64 - ha funzionato molto bene e era più semplice ottenere anche le librerie necessarie. Utilizza MSYS2 e MinGW-w64 per una build a 64 bit: il progetto emacsbinw64 fornisce file binari su https://sourceforge.net/projects/emacsbinw64/files/ .

Quindi ho scritto alcune istruzioni seguendo tale schema, con il feedback di Eli Zaretski e dell'autore Chris Zheng - la versione completa è disponibile su http://git.savannah.gnu.org/cgit/emacs.git/plain/nt/INSTALL .W64? H = emacs-25 (include anche la costruzione da un tarball di rilascio).

Ciò ha richiesto circa 90 minuti in totale su una Intel i3 e una connessione Internet ad alta velocità - YMMV. Si noti che la maggior parte del lavoro per la creazione su Windows è solo l'impostazione dell'ambiente di compilazione ...


Requisiti

Lo spazio totale richiesto è di 3 GB: 1,8 GB per MSYS2 / MinGW-w64 e 1,2 GB per Emacs con il repository completo.

Scarica e installa MinGW-w64 e MSYS2

Scarica la versione x86_64 di MSYS2 (es. Msys2-x86_64-.exe) da https://sourceforge.net/projects/msys2/files/Base/x86_64 .

Esegui questo file per installare MSYS2 nella tua directory preferita, ad es. Il C: \ msys64 predefinito: verrà installato anche MinGW-w64. Si noti che i nomi di directory contenenti spazi possono causare problemi.

Quindi dovrai aggiungere le seguenti directory alla variabile di ambiente PATH di Windows:

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

puoi farlo tramite Pannello di controllo / Sistema e sicurezza / Sistema / Impostazioni di sistema avanzate / Variabili d'ambiente / Modifica percorso.

L'aggiunta di queste directory al PATH indica a Emacs dove trovare le DLL da eseguire e alcuni comandi opzionali come grep e find. Questi comandi saranno disponibili anche sulla console di Windows.

Scarica e installa i pacchetti necessari

Esegui msys2_shell.bat nella tua directory MSYS2 e vedrai una finestra BASH aperta.

Nel prompt di BASH, utilizzare il seguente comando per installare i pacchetti necessari (è possibile copiarlo e incollarlo nella shell con 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

Ora hai un ambiente di compilazione completo per Emacs.

Installa Git (opzionale) e disabilita autocrlf

Se non hai già Git sul tuo sistema, puoi installarlo nel tuo ambiente MSYS2 con:

pacman -S git

La funzione autocrlf di Git può interferire con il file di configurazione, quindi è meglio disabilitare questa funzione eseguendo il comando:

git config core.autocrlf false

Ottieni il codice sorgente di Emacs

Per scaricare il repository Git, fai qualcosa di simile al seguente: questo metterà il sorgente di Emacs in C: \ emacs \ emacs-25:

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

Costruisci Emacs

Ora sei pronto per compilare e installare Emacs con autogen, configurare, creare e installare.

Per prima cosa dobbiamo passare all'ambiente MinGW-w64. Esci dalla console di MSYS2 BASH ed esegui mingw64_shell.bat nella cartella C: \ msys64, quindi torna alla directory dei sorgenti di Emacs, ad esempio:

cd /c/emacs/emacs-25

Esegui autogen

Se stai creando le fonti di sviluppo, esegui autogen per generare lo script di configurazione:

./autogen.sh

Esegui configura

Ora puoi eseguire configure, che costruirà i vari Makefile.

L'opzione '--prefix' specifica un percorso per i file binari risultanti, che verrà utilizzato da 'make install' - in questo esempio lo impostiamo su C: \ emacs \ emacs-25. Se non viene specificato un prefisso, i file verranno inseriti nelle directory Unix standard situate nella directory C: \ msys64, ma ciò non è raccomandato.

Nota anche che dobbiamo disabilitare Imagemagick perché Emacs non lo supporta ancora su Windows.

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

Esegui make

Questo compilerà Emacs e costruirà gli eseguibili, mettendoli nella directory src:

make

Per accelerare il processo, puoi provare a correre

make -jN

dove N è il numero di core nel sistema: se MSYS2 supporta l'esecuzione parallela, funzionerà in modo significativamente più veloce.

Esegui make install

Ora puoi eseguire "make install", che copierà il file eseguibile e altri file nella posizione specificata nel passaggio di configurazione. Questo creerà le directory bin, libexec, share e var:

make install

Puoi anche dire

make install prefix=/c/somewhere

per installarli altrove.

Prova Emacs

Per provarlo, esegui

./bin/runemacs.exe -Q

e se tutto è andato bene, avrai una nuova versione a 64 bit di Emacs.

Crea una scorciatoia

Per creare un collegamento per eseguire i nuovi Emacs, fai clic con il pulsante destro del mouse sulla posizione in cui desideri inserirlo, ad esempio il desktop, seleziona Nuovo / Collegamento, quindi seleziona runemacs.exe nella cartella bin del nuovo Emacs e dagli un nome .

È possibile impostare qualsiasi opzione della riga di comando facendo clic con il pulsante destro del mouse sul collegamento risultante, selezionare Proprietà, quindi aggiungere eventuali opzioni al comando Destinazione, ad esempio --debug-init.

Titoli di coda

Grazie a Chris Zheng per lo schema di costruzione originale utilizzato dal progetto emacsbinw64, disponibile all'indirizzo https://sourceforge.net/p/emacsbinw64/wiki/Build%20guideline%20for%20MSYS2-MinGW-w64%20system/ .

Licenza

Questo file fa parte di GNU Emacs.

GNU Emacs è un software gratuito: puoi ridistribuirlo e / o modificarlo secondo i termini della GNU General Public License come pubblicato dalla Free Software Foundation, sia la versione 3 della Licenza, sia (a tua scelta) qualsiasi versione successiva.

GNU Emacs è distribuito nella speranza che possa essere utile, ma SENZA ALCUNA GARANZIA; senza nemmeno la garanzia implicita di COMMERCIABILITÀ o IDONEITÀ PER UNO SCOPO PARTICOLARE. Vedi la GNU General Public License per maggiori dettagli.

Dovresti aver ricevuto una copia della GNU General Public License insieme a GNU Emacs. In caso contrario, consultare http://www.gnu.org/licenses/ .


Prendi in considerazione l'aggiunta di un passaggio per copiare qualsiasi file .dll che deve essere inserito direttamente nello stesso eseguibile di Emacs una volta completata la compilazione, in modo che Emacs non debba fare affidamento su un percorso definito a livello di sistema per trovare quelli File. Inoltre, è probabilmente necessario copiare gli eseguibili per gnutls nella directory degli eseguibili di Emacs. Gli ultimi passaggi dovrebbero probabilmente essere abbastanza simili alla build di Emacs 32 nella risposta alternativa.
elenco delle leggi

Sì, le istruzioni originali sono state scritte in questo modo, ma Eli ha pensato che fosse meglio usare il PERCORSO - lists.gnu.org/archive/html/bug-gnu-emacs/2015-12/msg01476.html. È comunque un'altra opzione - se si desidera farlo in questo modo, è possibile copiare tutte le DLL nella cartella C: \ msys64 \ mingw64 \ bin nella cartella bin di emacs - sono solo circa 32 MB - cp /c/msys64/mingw64/bin/*.dll bin. Non so molto di Gnutls, c'è un modo semplice per provarlo?
Brian Burns,

Nel senso più generale senza effettivamente usarlo per e-mail o qualcosa del genere, il test generale è con la funzione gnutls-available-p Comprendo il motivo della semplicità quando si riferisce ai percorsi di sistema, ma a volte le persone potrebbero voler utilizzare la build di Emacs su un altro computer e si chiederanno perché immagini e cose non funzionino immediatamente. Ci sono molti thread con persone che chiedono perché i file pdf sembrano incomprensibili in un buffer normale (cioè, perché manca il supporto per png), o perché non possono eseguire la visualizzazione di documenti o visualizzare l'anteprima in AUCTeX (stesso motivo).
elenco delle leggi del

Ok, gnutls-available-pritorna t usando solo l'impostazione PATH, quindi suppongo che funzioni per ora - invierò una patch con il metodo alternativo per copiare le DLL, e possibilmente gli ex gnutls, se necessari, e aggiornerò qui dopo.
Brian Burns,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.