Я спробував інструкції в emacs / nt / INSTALL минулого року для 32-бітної збірки, але щось пішло не так (я точно не пам’ятаю), тому нещодавно я спробував інструкції для
emacsbinw64 - він працював дуже добре, і це було простіше також отримати необхідні бібліотеки. Він використовує MSYS2 та MinGW-w64 для 64-бітної збірки - проект emacsbinw64 надає бінарні файли за посиланням https://sourceforge.net/projects/emacsbinw64/files/ .
Тож я написав кілька інструкцій, що випливають із цього контуру, із відгуками Елі Зарецького та автора Кріса Чженга - повна версія представлена на веб- сторінці http://git.savannah.gnu.org/cgit/emacs.git/plain/nt/INSTALL .W64? H = emacs-25 (також включає також побудову з випуску тарболу).
Загалом на інтерфейсі Intel i3 та високошвидкісному Інтернеті - YMMV. Зауважте, що більша частина роботи над створенням Windows - це лише налаштування середовища збирання ...
Вимоги
Загальний необхідний простір становить 3 ГБ: 1,8 ГБ для MSYS2 / MinGW-w64 і 1,2 ГБ для Emacs з повним сховищем.
Завантажте та встановіть MinGW-w64 та MSYS2
Завантажте x86_64 версію MSYS2 (тобто msys2-x86_64-.exe) з https://sourceforge.net/projects/msys2/files/Base/x86_64 .
Запустіть цей файл, щоб встановити MSYS2 у вибраному каталозі, наприклад, за замовчуванням C: \ msys64 - це також встановить MinGW-w64. Зауважте, що імена каталогів, що містять пробіли, можуть спричинити проблеми.
Тоді вам потрібно буде додати наступні каталоги до змінної середовища Windows PATH:
c:\msys64\usr\bin;c:\msys64\mingw64\bin
це можна зробити за допомогою Панелі управління / Система та безпека / Система / Розширені налаштування системи / Змінні середовища / Шлях редагування.
Додавання цих каталогів у ваш PATH повідомляє Emacs, де знайти DLL-файли, які він повинен запускати, а також деякі необов'язкові команди, такі як grep and find. Ці команди також будуть доступні на консолі Windows.
Завантажте та встановіть необхідні пакети
Запустіть msys2_shell.bat у вашому каталозі MSYS2, і ви побачите відкрите вікно BASH.
У вікні BASH використовуйте таку команду, щоб встановити необхідні пакети (ви можете скопіювати та вставити її в оболонку за допомогою 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
Тепер у вас є повне середовище побудови для Emacs.
Встановіть Git (необов’язково) та відключіть autocrlf
Якщо у вас ще немає Git у вашій системі, ви можете встановити її у вашому середовищі MSYS2 за допомогою:
pacman -S git
Функція autocrlf Git може перешкоджати файлу налаштування, тому найкраще відключити цю функцію, виконавши команду:
git config core.autocrlf false
Отримайте вихідний код Emacs
Щоб завантажити сховище Git, зробіть щось на зразок наступного - це покладе джерело Emacs у C: \ emacs \ emacs-25:
mkdir /c/emacs
cd /c/emacs
git clone git://git.sv.gnu.org/emacs.git emacs-25
Побудувати Emacs
Тепер ви готові створити та встановити Emacs з autogen, налаштувати, зробити та встановити.
Спочатку нам потрібно перейти до середовища MinGW-w64. Вийдіть з консолі MSYS2 BASH і запустіть mingw64_shell.bat у папці C: \ msys64, а потім перейдіть до вашого вихідного каталогу Emacs, наприклад:
cd /c/emacs/emacs-25
Запустіть автоген
Якщо ви будуєте джерела розробки, запустіть autogen для створення сценарію налаштування:
./autogen.sh
Запустити налаштування
Тепер ви можете запустити конфігурацію, яка буде будувати різні Makefiles.
Параметр '--prefix' визначає місце для отриманих бінарних файлів, які використовуватиме 'встановити встановлення' - у цьому прикладі ми встановлюємо його на C: \ emacs \ emacs-25. Якщо префікс не вказаний, файли будуть розміщені у стандартних каталогах Unix, що знаходяться у вашому каталозі C: \ msys64, але це не рекомендується.
Зауважте також, що нам потрібно відключити Imagemagick, оскільки Emacs ще не підтримує його в Windows.
PKG_CONFIG_PATH=/mingw64/lib/pkgconfig \
./configure --prefix=/c/emacs/emacs-25 --without-imagemagick
Виконати зробити
Це дозволить компілювати Emacs та створити виконувані файли, помістивши їх у каталог src:
make
Щоб прискорити процес, можна спробувати запустити
make -jN
де N - кількість ядер у вашій системі - якщо ваш MSYS2 підтримує паралельне виконання, він запуститься значно швидше.
Запустіть make install
Тепер ви можете запустити "make install", який скопіює виконувані файли та інші файли до місця, вказаного в кроці налаштування. Це створить каталоги bin, libexec, share та var:
make install
Ви також можете сказати
make install prefix=/c/somewhere
щоб встановити їх деінде.
Тест Emacs
Щоб перевірити це, запустіть
./bin/runemacs.exe -Q
і якщо все пішло добре, у вас буде нова 64-розрядна версія Emacs.
Зробіть ярлик
Щоб створити ярлик для запуску нового Emacs, клацніть правою кнопкою миші місце, де ви хочете його розмістити, наприклад робочий стіл, виберіть New / ярлик, а потім виберіть runemacs.exe у папці bin нового Emacs та дайте йому ім'я .
Ви можете встановити будь-які параметри командного рядка, клацнувши правою кнопкою миші на отриманому ярлику, виберіть "Властивості", а потім додайте будь-які параметри до команди "Ціль", наприклад --debug-init.
Кредити
Дякуємо Крісу Чжен за оригінальний контур побудови, який використовується проектом emacsbinw64, який знаходиться за адресою https://sourceforge.net/p/emacsbinw64/wiki/Build%20guideline%20for%20MSYS2-MinGW-w64%20system/ .
Ліцензія
Цей файл є частиною GNU Emacs.
GNU Emacs - це безкоштовне програмне забезпечення: ви можете перерозподілити його та / або змінити його відповідно до умов Загальної публічної ліцензії GNU, опублікованих Фондом вільного програмного забезпечення, або версії 3 Ліцензії, або (за вашим бажанням) будь-якої пізнішої версії.
GNU Emacs поширюється з надією, що це стане в нагоді, але БЕЗ БЕЗ ЯКИХ ГАРАНТІЙ; навіть не маючи на увазі гарантії ПРОДАЖУВАННЯ або ФІТНІСНОСТІ ДЛЯ ДІЯЛЬНОЇ ЦІЛІ. Детальнішу інформацію див. У Загальній публічній ліцензії GNU.
Ви повинні були отримати копію Генеральної публічної ліцензії GNU разом із GNU Emacs. Якщо ні, див. Http://www.gnu.org/licenses/ .