W zeszłym roku wypróbowałem instrukcje w emacs / nt / INSTALL dla kompilacji 32-bitowej, ale coś poszło nie tak (dokładnie nie pamiętam co dokładnie), więc ostatnio wypróbowałem instrukcje dla
emacsbinw64 - działało bardzo dobrze i to łatwiej było również uzyskać niezbędne biblioteki. Używa MSYS2 i MinGW-w64 do kompilacji 64-bitowej - projekt emacsbinw64 zapewnia pliki binarne na https://sourceforge.net/projects/emacsbinw64/files/ .
Napisałem więc kilka instrukcji zgodnie z tym konspektem, z opiniami Eli Zaretskiego i autora Chrisa Zhenga - pełna wersja jest pod adresem http://git.savannah.gnu.org/cgit/emacs.git/plain/nt/INSTALL .W64? H = emacs-25 (obejmuje również kompilację z archiwum wydania).
Łącznie zajęło to około 90 minut w przypadku procesora Intel i3 i szybkiego łącza internetowego - YMMV. Pamiętaj, że większość pracy związanej z budowaniem w systemie Windows polega tylko na skonfigurowaniu środowiska kompilacji ...
Wymagania
Wymagane miejsce to 3 GB: 1,8 GB dla MSYS2 / MinGW-w64 i 1,2 GB dla Emacsa z pełnym repozytorium.
Pobierz i zainstaluj MinGW-w64 i MSYS2
Pobierz wersję MSYS2 x86_64 (tj. Msys2-x86_64-.exe) z https://sourceforge.net/projects/msys2/files/Base/x86_64 .
Uruchom ten plik, aby zainstalować MSYS2 w preferowanym katalogu, np. Domyślnym C: \ msys64 - spowoduje to również instalację MinGW-w64. Pamiętaj, że nazwy katalogów zawierające spacje mogą powodować problemy.
Następnie musisz dodać następujące katalogi do zmiennej środowiskowej PATH systemu Windows:
c:\msys64\usr\bin;c:\msys64\mingw64\bin
możesz to zrobić za pomocą Panelu sterowania / System i zabezpieczenia / System / Zaawansowane ustawienia systemu / Zmienne środowiskowe / Ścieżka edycji.
Dodanie tych katalogów do PATH informuje Emacsa, gdzie znaleźć biblioteki DLL, które musi uruchomić, oraz niektóre opcjonalne polecenia, takie jak grep i find. Te polecenia będą również dostępne w konsoli Windows.
Pobierz i zainstaluj niezbędne pakiety
Uruchom msys2_shell.bat w katalogu MSYS2, a zobaczysz otwarte okno BASH.
W wierszu BASH użyj następującego polecenia, aby zainstalować niezbędne pakiety (możesz skopiować i wkleić go do powłoki za pomocą 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
Masz teraz pełne środowisko kompilacji dla Emacsa.
Zainstaluj Git (opcjonalnie) i wyłącz autocrlf
Jeśli nie masz Git w swoim systemie, możesz zainstalować go w środowisku MSYS2 za pomocą:
pacman -S git
Funkcja autocrlf Git może zakłócać plik konfiguracyjny, dlatego najlepiej wyłączyć tę funkcję, uruchamiając polecenie:
git config core.autocrlf false
Pobierz kod źródłowy Emacsa
Aby pobrać repozytorium Git, wykonaj następujące czynności - spowoduje to umieszczenie źródła Emacsa w C: \ emacs \ emacs-25:
mkdir /c/emacs
cd /c/emacs
git clone git://git.sv.gnu.org/emacs.git emacs-25
Buduj Emacsa
Teraz jesteś gotowy do budowania i instalowania Emacsa z autogenem, konfigurowania, tworzenia i instalacji.
Najpierw musimy przejść do środowiska MinGW-w64. Wyjdź z konsoli BASYS MSYS2 i uruchom plik mingw64_shell.bat w folderze C: \ msys64, a następnie wróć do katalogu źródłowego Emacsa, np .:
cd /c/emacs/emacs-25
Uruchom autogen
Jeśli budujesz źródła programistyczne, uruchom autogen, aby wygenerować skrypt konfiguracyjny:
./autogen.sh
Uruchom konfigurację
Teraz możesz uruchomić config, który zbuduje różne Makefile.
Opcja „--prefix” określa lokalizację wynikowych plików binarnych, z których skorzysta „make install” - w tym przykładzie ustawiliśmy ją na C: \ emacs \ emacs-25. Jeśli prefiks nie zostanie określony, pliki zostaną umieszczone w standardowych katalogach uniksowych znajdujących się w katalogu C: \ msys64, ale nie jest to zalecane.
Pamiętaj również, że musimy wyłączyć Imagemagick, ponieważ Emacs nie obsługuje go jeszcze w systemie Windows.
PKG_CONFIG_PATH=/mingw64/lib/pkgconfig \
./configure --prefix=/c/emacs/emacs-25 --without-imagemagick
Uruchom make
Spowoduje to kompilację Emacsa i kompilację plików wykonywalnych, umieszczając je w katalogu src:
make
Aby przyspieszyć proces, możesz spróbować uruchomić
make -jN
gdzie N jest liczbą rdzeni w twoim systemie - jeśli twój MSYS2 obsługuje równoległe wykonywanie, będzie działał znacznie szybciej.
Uruchom make install
Teraz możesz uruchomić polecenie „make install”, które skopiuje plik wykonywalny i inne pliki do lokalizacji określonej w kroku konfiguracji. Spowoduje to utworzenie katalogów bin, libexec, share i var:
make install
Możesz też powiedzieć
make install prefix=/c/somewhere
zainstalować je gdzie indziej.
Przetestuj Emacsa
Aby to przetestować, uruchom
./bin/runemacs.exe -Q
a jeśli wszystko pójdzie dobrze, będziesz mieć nową 64-bitową wersję Emacsa.
Zrób skrót
Aby utworzyć skrót do uruchomienia nowego Emacsa, kliknij prawym przyciskiem myszy lokalizację, w której chcesz go umieścić, np. Pulpit, wybierz Nowy / Skrót, a następnie wybierz runemacs.exe w folderze bin nowego Emacsa i nadaj mu nazwę .
Możesz ustawić dowolne opcje wiersza poleceń, klikając prawym przyciskiem myszy wynikowy skrót, wybierz Właściwości, a następnie dodaj dowolne opcje do polecenia Cel, np. --Debug-init.
Kredyty
Podziękowania dla Chrisa Zhenga za oryginalny konspekt kompilacji używany w projekcie emacsbinw64, który znajduje się na stronie https://sourceforge.net/p/emacsbinw64/wiki/Build%20guideline%20for%20MSYS2-MinGW-w64%20system/ .
Licencja
Ten plik jest częścią GNU Emacs.
GNU Emacs jest wolnym oprogramowaniem: możesz go redystrybuować i / lub modyfikować zgodnie z warunkami Powszechnej Licencji Publicznej GNU opublikowanej przez Free Software Foundation, albo w wersji 3 Licencji, albo (według twojego wyboru) dowolnej późniejszej wersji.
GNU Emacs jest rozpowszechniany w nadziei, że będzie użyteczny, ale BEZ ŻADNEJ GWARANCJI; nawet bez dorozumianej gwarancji PRZYDATNOŚCI HANDLOWEJ lub PRZYDATNOŚCI DO OKREŚLONEGO CELU. Aby uzyskać więcej informacji, zobacz Powszechną Licencję Publiczną GNU.
Powinieneś otrzymać kopię Powszechnej Licencji Publicznej GNU wraz z GNU Emacs. Jeśli nie, zobacz http://www.gnu.org/licenses/ .