Había intentado las instrucciones en emacs / nt / INSTALL el año pasado para la compilación de 32 bits, pero algo salió mal (no recuerdo qué, exactamente), así que recientemente probé las instrucciones para
emacsbinw64 , funcionó muy bien y funcionó muy bien. Fue más sencillo obtener las bibliotecas necesarias también. Utiliza MSYS2 y MinGW-w64 para una compilación de 64 bits: el proyecto emacsbinw64 proporciona binarios en https://sourceforge.net/projects/emacsbinw64/files/ .
Así que escribí algunas instrucciones siguiendo ese esquema, con comentarios de Eli Zaretski y el autor Chris Zheng: la versión completa está disponible en http://git.savannah.gnu.org/cgit/emacs.git/plain/nt/INSTALL .W64? H = emacs-25 (solo incluye construir desde un tarball de lanzamiento también).
Esto tomó aproximadamente 90 minutos en total en un Intel i3 y una conexión a Internet de alta velocidad: YMMV. Tenga en cuenta que la mayor parte del trabajo para compilar en Windows es simplemente configurar el entorno de compilación ...
Requisitos
El espacio total requerido es de 3 GB: 1,8 GB para MSYS2 / MinGW-w64 y 1,2 GB para Emacs con el repositorio completo.
Descargue e instale MinGW-w64 y MSYS2
Descargue la versión x86_64 de MSYS2 (es decir, msys2-x86_64-.exe) de https://sourceforge.net/projects/msys2/files/Base/x86_64 .
Ejecute este archivo para instalar MSYS2 en su directorio preferido, por ejemplo, el C: \ msys64 predeterminado; esto también instalará MinGW-w64. Tenga en cuenta que los nombres de directorio que contienen espacios pueden causar problemas.
Luego, deberá agregar los siguientes directorios a su variable de entorno PATH de Windows:
c:\msys64\usr\bin;c:\msys64\mingw64\bin
puede hacerlo a través del Panel de control / Sistema y seguridad / Sistema / Configuración avanzada del sistema / Variables de entorno / Editar ruta.
Agregar estos directorios a su RUTA le dice a Emacs dónde encontrar las DLL que necesita ejecutar, y algunos comandos opcionales como grep y find. Estos comandos también estarán disponibles en la consola de Windows.
Descargue e instale los paquetes necesarios
Ejecute msys2_shell.bat en su directorio MSYS2 y verá una ventana BASH abierta.
En el indicador BASH, use el siguiente comando para instalar los paquetes necesarios (puede copiarlo y pegarlo en el 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
Ahora tiene un entorno de compilación completo para Emacs.
Instale Git (opcional) y deshabilite autocrlf
Si aún no tiene Git en su sistema, puede instalarlo en su entorno MSYS2 con:
pacman -S git
La función autocrlf de Git puede interferir con el archivo de configuración, por lo que es mejor deshabilitar esta función ejecutando el comando:
git config core.autocrlf false
Obtenga el código fuente de Emacs
Para descargar el repositorio de Git, haga algo como lo siguiente: esto colocará la fuente de Emacs en C: \ emacs \ emacs-25:
mkdir /c/emacs
cd /c/emacs
git clone git://git.sv.gnu.org/emacs.git emacs-25
Construye Emacs
Ahora está listo para construir e instalar Emacs con autogen, configure, make e make install.
Primero necesitamos cambiar al entorno MinGW-w64. Salga de la consola MSYS2 BASH y ejecute mingw64_shell.bat en la carpeta C: \ msys64, luego regrese a su directorio de origen de Emacs, por ejemplo:
cd /c/emacs/emacs-25
Ejecute autogen
Si está creando las fuentes de desarrollo, ejecute autogen para generar el script de configuración:
./autogen.sh
Ejecutar configurar
Ahora puede ejecutar configure, que construirá los distintos Makefiles.
La opción '--prefix' especifica una ubicación para los archivos binarios resultantes, que 'make install' usará; en este ejemplo, la configuramos en C: \ emacs \ emacs-25. Si no se especifica un prefijo, los archivos se colocarán en los directorios estándar de Unix ubicados en su directorio C: \ msys64, pero esto no se recomienda.
Tenga en cuenta también que necesitamos deshabilitar Imagemagick porque Emacs aún no lo admite en Windows.
PKG_CONFIG_PATH=/mingw64/lib/pkgconfig \
./configure --prefix=/c/emacs/emacs-25 --without-imagemagick
Corre hacer
Esto compilará Emacs y compilará los ejecutables, colocándolos en el directorio src:
make
Para acelerar el proceso, puede intentar ejecutar
make -jN
donde N es el número de núcleos en su sistema: si su MSYS2 admite la ejecución paralela, se ejecutará significativamente más rápido.
Ejecute make install
Ahora puede ejecutar "make install", que copiará el archivo ejecutable y otros archivos a la ubicación especificada en el paso de configuración. Esto creará los directorios bin, libexec, share y var:
make install
También puede decir
make install prefix=/c/somewhere
para instalarlos en otro lugar.
Prueba Emacs
Para probarlo, ejecuta
./bin/runemacs.exe -Q
y si todo salió bien, tendrá una nueva versión de Emacs de 64 bits.
Hacer un atajo
Para hacer un acceso directo para ejecutar el nuevo Emacs, haga clic derecho en la ubicación donde desea colocarlo, por ejemplo, el Escritorio, seleccione Nuevo / Acceso directo, luego seleccione runemacs.exe en la carpeta bin del nuevo Emacs, y asígnele un nombre .
Puede establecer cualquier opción de línea de comando haciendo clic derecho en el acceso directo resultante, seleccione Propiedades, luego agregue cualquier opción al comando Destino, por ejemplo --debug-init.
Créditos
Gracias a Chris Zheng por el esquema de compilación original utilizado por el proyecto emacsbinw64, ubicado en https://sourceforge.net/p/emacsbinw64/wiki/Build%20guideline%20for%20MSYS2-MinGW-w64%20system/ .
Licencia
Este archivo es parte de GNU Emacs.
GNU Emacs es software libre: puede redistribuirlo y / o modificarlo bajo los términos de la Licencia Pública General de GNU publicada por la Free Software Foundation, ya sea la versión 3 de la Licencia o (a su elección) cualquier versión posterior.
GNU Emacs se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de COMERCIABILIDAD o APTITUD PARA UN PROPÓSITO EN PARTICULAR. Vea la Licencia Pública General de GNU para más detalles.
Debería haber recibido una copia de la Licencia Pública General de GNU junto con GNU Emacs. Si no, vea http://www.gnu.org/licenses/ .