Я пробовал инструкции в 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 (также включает сборку из релизного архива ).
Это заняло около 90 минут на Intel i3 и высокоскоростном интернет-соединении - YMMV. Обратите внимание, что большая часть работы по сборке в Windows - это просто настройка среды сборки ...
Требования
Общее требуемое пространство составляет 3 ГБ: 1,8 ГБ для MSYS2 / MinGW-w64 и 1,2 ГБ для Emacs с полным хранилищем.
Загрузите и установите MinGW-w64 и MSYS2
Загрузите версию MSYS2 для x86_64 (т.е. 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 и 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, чтобы сгенерировать скрипт configure:
./autogen.sh
Запустите настройку
Теперь вы можете запустить configure, который будет собирать различные файлы Makefile.
Опция '--prefix' указывает местоположение для результирующих двоичных файлов, которые будет использовать 'make install' - в этом примере мы устанавливаем его в 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 поддерживает параллельное выполнение, он будет работать значительно быстрее.
Запустите make install
Теперь вы можете запустить «make install», которая скопирует исполняемый файл и другие файлы в папку, указанную на этапе настройки. Это создаст каталоги bin, libexec, share и var:
make install
Вы также можете сказать
make install prefix=/c/somewhere
установить их где-нибудь еще.
Тест Emacs
Чтобы проверить это, запустите
./bin/runemacs.exe -Q
и если все прошло хорошо, у вас будет новая 64-битная версия Emacs.
Сделать ярлык
Чтобы создать ярлык для запуска нового Emacs, щелкните правой кнопкой мыши место, куда вы хотите его поместить, например, Рабочий стол, выберите New / Shortcut, затем выберите 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, опубликованной Free Software Foundation, либо версией 3 лицензии, либо (по вашему выбору) любой более поздней версией.
GNU Emacs распространяется в надежде, что он будет полезен, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии ТОВАРНОГО ОБЕСПЕЧЕНИЯ или ПРИГОДНОСТИ ДЛЯ ОСОБЫХ ЦЕЛЕЙ. Смотрите GNU General Public License для более подробной информации.
Вы должны были получить копию Стандартной общественной лицензии GNU вместе с GNU Emacs. Если нет, см. Http://www.gnu.org/licenses/ .