Eu tentei as instruções no emacs / nt / INSTALL no ano passado para a compilação de 32 bits, mas algo deu errado (não me lembro exatamente), então recentemente tentei as instruções para o
emacsbinw64 - funcionou muito bem e era mais simples obter também as bibliotecas necessárias. Ele usa o MSYS2 e o MinGW-w64 para uma compilação de 64 bits - o projeto emacsbinw64 fornece binários em https://sourceforge.net/projects/emacsbinw64/files/ .
Então, eu escrevi algumas instruções seguindo esse esboço, com feedback de Eli Zaretski e do autor Chris Zheng - a versão completa está em http://git.savannah.gnu.org/cgit/emacs.git/plain/nt/INSTALL .W64? H = emacs-25 (inclui também a construção de um tarball de lançamento).
Isso levou cerca de 90 minutos no total em uma conexão com a Internet Intel i3 e alta velocidade - YMMV. Observe que a maior parte do trabalho de construção no Windows está apenas configurando o ambiente de compilação ...
Exigências
O espaço total necessário é de 3 GB: 1,8 GB para MSYS2 / MinGW-w64 e 1,2 GB para Emacs com o repositório completo.
Baixe e instale o MinGW-w64 e o MSYS2
Faça o download da versão x86_64 do MSYS2 (ou seja, msys2-x86_64-.exe) em https://sourceforge.net/projects/msys2/files/Base/x86_64 .
Execute esse arquivo para instalar o MSYS2 em seu diretório preferido, por exemplo, o C: \ msys64 padrão - isso instalará o MinGW-w64 também. Observe que os nomes de diretório que contêm espaços podem causar problemas.
Em seguida, você precisará adicionar os seguintes diretórios à sua variável de ambiente PATH do Windows:
c:\msys64\usr\bin;c:\msys64\mingw64\bin
você pode fazer isso no Painel de controle / Sistema e segurança / Sistema / Configurações avançadas do sistema / Variáveis de ambiente / Caminho de edição.
A adição desses diretórios ao PATH informa ao Emacs onde encontrar as DLLs que ele precisa executar e alguns comandos opcionais, como grep e find. Esses comandos também estarão disponíveis no console do Windows.
Baixe e instale os pacotes necessários
Execute o msys2_shell.bat no diretório MSYS2 e você verá uma janela BASH aberta.
No prompt do BASH, use o seguinte comando para instalar os pacotes necessários (você pode copiá-lo e colá-lo no shell com 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
Agora você tem um ambiente de compilação completo para o Emacs.
Instale o Git (opcional) e desative o autocrlf
Se você ainda não possui o Git no seu sistema, é possível instalá-lo no seu ambiente MSYS2 com:
pacman -S git
O recurso autocrlf do Git pode interferir no arquivo de configuração, portanto, é melhor desativar esse recurso executando o comando:
git config core.autocrlf false
Obtenha o código fonte do Emacs
Para baixar o repositório Git, faça algo como o seguinte - isso colocará a fonte do Emacs em C: \ emacs \ emacs-25:
mkdir /c/emacs
cd /c/emacs
git clone git://git.sv.gnu.org/emacs.git emacs-25
Build Emacs
Agora você está pronto para criar e instalar o Emacs com autogen, configurar, fazer e instalar.
Primeiro, precisamos mudar para o ambiente MinGW-w64. Saia do console do MSYS2 BASH e execute mingw64_shell.bat na pasta C: \ msys64 e depois volte ao diretório de origem do Emacs, por exemplo:
cd /c/emacs/emacs-25
Executar autogen
Se você estiver construindo as fontes de desenvolvimento, execute o autogen para gerar o script de configuração:
./autogen.sh
Execute o configure
Agora você pode executar o configure, que criará os vários Makefiles.
A opção '--prefix' especifica um local para os arquivos binários resultantes, que 'make install' usará - neste exemplo, definimos como C: \ emacs \ emacs-25. Se um prefixo não for especificado, os arquivos serão colocados nos diretórios Unix padrão localizados no diretório C: \ msys64, mas isso não é recomendado.
Observe também que precisamos desativar o Imagemagick porque o Emacs ainda não o suporta no Windows.
PKG_CONFIG_PATH=/mingw64/lib/pkgconfig \
./configure --prefix=/c/emacs/emacs-25 --without-imagemagick
Run make
Isso irá compilar o Emacs e construir os executáveis, colocando-os no diretório src:
make
Para acelerar o processo, você pode tentar executar
make -jN
onde N é o número de núcleos no seu sistema - se o seu MSYS2 suportar a execução paralela, ele será executado significativamente mais rápido.
Execute make install
Agora você pode executar "make install", que copiará os arquivos executáveis e outros para o local especificado na etapa de configuração. Isso criará os diretórios bin, libexec, share e var:
make install
Você também pode dizer
make install prefix=/c/somewhere
para instalá-los em outro lugar.
Test Emacs
Para testá-lo, execute
./bin/runemacs.exe -Q
e se tudo der certo, você terá uma nova versão de 64 bits do Emacs.
Faça um atalho
Para criar um atalho para executar o novo Emacs, clique com o botão direito do mouse no local em que deseja colocá-lo, por exemplo, na área de trabalho, selecione Novo / Atalho, depois selecione runemacs.exe na pasta bin do novo Emacs e dê um nome a ele .
Você pode definir qualquer opção de linha de comando clicando com o botão direito do mouse no atalho resultante, selecione Propriedades e adicione quaisquer opções ao comando Destino, por exemplo - --bug-init.
Créditos
Agradecemos a Chris Zheng pelo esquema de compilação original, conforme usado pelo projeto emacsbinw64, localizado em https://sourceforge.net/p/emacsbinw64/wiki/Build%20guideline%20for%20MSYS2-MinGW-w64%20system/ .
Licença
Este arquivo faz parte do GNU Emacs.
O GNU Emacs é um software livre: você pode redistribuí-lo e / ou modificá-lo sob os termos da GNU General Public License, publicada pela Free Software Foundation, versão 3 da licença ou (a seu critério) qualquer versão posterior.
O GNU Emacs é distribuído na esperança de que seja útil, mas SEM QUALQUER GARANTIA; sem sequer a garantia implícita de COMERCIALIZAÇÃO ou ADEQUAÇÃO A UM OBJETIVO ESPECÍFICO. Veja a Licença Pública Geral GNU para mais detalhes.
Você deveria ter recebido uma cópia da Licença Pública Geral GNU junto com o GNU Emacs. Caso contrário, consulte http://www.gnu.org/licenses/ .