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/ .