MS-Windows'ta Emacs ana dalı (aka trunk) nasıl oluşturulur


11

Bugün atılmayı başardım ve MS-Windows için en son Emacs ana şube geliştirici yapısını (yani Emacs Trunk) inşa etme görevime başladım.

Eski bir blog buldum ve sadece belirli bir yöntemin artık desteklenmediğini söyleyen bir hata mesajı ile karşılaşmak için prosedürü geçtim. Hata mesajı okumamı anılacaktır: .../emacs/nt/INSTALL. Emacs'ın altyapısı zaten kurulmuş / yapılandırılmışsa, hepsi iyi ve züppe.

Hangi araçların gerekli olduğunu ve MS-Windows'ta Emacs oluşturmaya yönelik belirli bir gözle bunları kurma / yapılandırma hakkında nasıl bir adım yapılacağını açıklayan adım 1, 2, 3 olsaydı kullanışlı olurdu.

Herkesin ayrıntılı bir yazı hazırlamak istemesi durumunda, lütfen bir cevap göndermekten çekinmeyin. Değilse, nasıl yapılacağını anladıktan sonra kendim bir tane yazacağım. Ek yol blokları ile karşılaştım ve geçici olarak bir hata raporu gönderdim - henüz ben olup olmadığını veya belki de bir hatayı bilmiyorum: https://debbugs.gnu.org/cgi/bugreport.cgi? hata = 21582

Bence programcılar veya benim gibi hobiler (ticaretle programcı olmayanlar) tarafından kullanılabilecek bir “kopya kağıdı” olsaydı daha fazla insan kendi Emac'lerini yapmaya eğilimli olurdu.


Ben muhtemelen çınlama birden fazla şekilde Windows üzerinde de (yani büyük olasılıkla MingW / MS VCC, ancak Emacs inşa edebilirsiniz düşünüyorum. Gerekli kütüphanelerin listesi için buraya görünebilir (birçoğu) vardır emacswiki.org/emacs / BuildingEmacsWithMinGW ama bu bilgi kesinlikle tarihli (büyük olasılıkla on yıl kadar!)
wvxvw

64 bitlik bir yapı için emacsbinw64'ten sourceforge.net/p/emacsbinw64/wiki/… 'da iyi bir yazı var - MSYS2 ve MinGW-w64 kullanıyor. Belki nt / INSTALL notları da bu seçeneği içerecek şekilde güncellenmelidir?
Brian Burns

@ bburns.km - bağlantı için teşekkür ederim. 64-bit'in nasıl oluşturulacağını merak ediyordum, ama anlamaya çalışacak sayısız saate yatırım yapmak için boş zamanım yoktu. Gelecekte, adım 1, 2, 3 veya sadece gelişmiş programcıların eksik olan boşlukları nasıl dolduracağını bildikleri bir taslak olup olmadığını görmek için bağlantıyı kesinlikle kontrol edeceğim. Nt / INSTALL gibi talimatlar benim gibi bir acemi için temel olarak işe yaramaz - bir programcı için anlamlıdır, ancak benim için neredeyse hiçbir şey ifade etmez - oysa 5 kolay adımım gerçekten herkesin gerçek 1, 2, 3'üdür Takip edebilir.
hukukçu

@lawlist Evet bu iyi bir yazı - 32 bit yapıyı yapmak için bir iki yıl önce denedim ama bir şeyler ters gitti ve / veya kayboldum - sizin gibi şeyleri kaynaktan inşa etmek için alışkın olmayanlar için oldukça karmaşık. Ancak emacsbinw64 talimatları biraz daha basittir ve oldukça iyi çalışmıştır - her şeyin üzerinden geçmek ve çalışmasını sağlamak sadece birkaç saat sürdü. Ben nt / INSTALL doc güncelleme hakkında devlist soracağım düşünüyorum - 32 bit ve 64 bit bölümler olabilir. Bir doküman yazmaya başlamıştım ama emacsbinw64 talimatlarına çok fazla katkıda bulunmadığını fark ettim, ama orada kullanılabilir.
Brian Burns

Yanıtlar:


9

Kullanıcıların ../emacs/nt/INSTALLEmacs kaynak kodunda bulunanın tamamını okuması önerilir .


Hızlı Başlangıç ​​- 5 Kolay Adım :

Bu yanıt WindowsXP - SP3 üzerinde test edilmiştir. Kurulum yollarının kullanıcının bireysel tercihlerine göre ayarlanması gerekecektir. Bu örnekte:

  • Masaüstü: C:\Documents and Settings\lawlist\Desktop

  • gitYüklemesidir: C:\git

  • MinGWYüklemesidir: C:\mingw

  • Emacs master şubesinin git indirme konumu: C:\Documents and Settings\lawlist\Desktop\emacs

  • Emacs kurulumunun hedefi: C:\Documents and Settings\lawlist\Desktop\trunk

Adım 1 : Yükleme gitsırasında ve yükleme sırasında "olduğu gibi ödeme yap, olduğu gibi teslim et" i seçtiğinizden emin olun:

https://git-scm.com/download/win

Git-2.5.3-32-bit.exe

Yükleyiciyi çalıştırın.

Sonraki

Sonraki

Standart kurulum dizini C:\Program Files\Git, ancak bunun yerine seçtim: c:\git

Bileşenleri seçin: varsayılan tamam, ancak bunun yerine hiçbir şey seçmedim.

Başlat menüsü klasörünü seçin: varsayılan tamam, bit Bunun yerine klasör oluşturmamayı seçtim.

PATH ortamınızı ayarlama: varsayılan değer iyidir: Git'i yalnızca Bash'ten kullanın.

;; Bu sonraki bölüm için varsayılan olmayan ayara dikkat edin - bkz. Emacs hatası # 21582.

Satır sonu dönüşümlerini yapılandırma: Emacs, varsayılan olarak "olduğu gibi ödeme, olduğu gibi taahhüt et" ayarını gerektirir

Terminal emülatörünü Git Bash ile kullanılacak şekilde yapılandırma: varsayılan tamam: MinTTY'yi (MSys2'nin varsayılan terminali) kullanın

Deneysel performans ayarlarını yapılandırma: "Dosya sistemi önbelleğe almayı etkinleştir" seçeneğini seçmedim.

Bitir [istenirse sürüm notlarını görüntüle]

NOT: autogen.sh(ve belki de bazı üçüncü taraf programlar), gitPATH'ın yürütülebilir dosyaların mutlak yol kullanılmadan çağrılabilmesi için ayarlanmasını gerektirir . Bu cevabın yazarı mutlak yolları kullanma ve PATH'ı değiştirmeme konusunda kişisel bir tercihe sahiptir; ancak, çoğu insan mevcut ve gelecekteki oturumlar için PATH'ı değiştirmeyi tercih ediyor gibi görünmektedir. Örneğin Windows XP'de PATH, Denetim Masası / Sistem Özellikleri / Gelişmiş sekmesi / Çevresel Değişkenler düğmesinden ayarlanabilir ve bir kullanıcının Kullanıcı Değişkenlerini mi yoksa Sistemi mi ayarlaması gerektiğine ilişkin iki (2) görünüm / görüş var gibi görünür Değişkenler - yollar boşluk içermeyen noktalı virgüllerle ayrılır. Bu cevap, PATH'yi exportaşağıda belirtilenleri kullanarak oturum süresi boyunca ayarlar . Emacs autogen.sh,git PATH komutunu verir ve bulunamazsa şikayet eder.

Adım 2 : YüklemeMinGW

http://www.mingw.org/wiki/Getting_Started

mingw-get-setup.exe

c:\mingw\bin\mingw-get install mingw32-base

c:\mingw\bin\mingw-get install msys-base

c:\mingw\bin\mingw-get install autoconf

c:\mingw\bin\mingw-get install automake

c:\mingw\bin\mingw-get install msys-coreutils

c:\mingw\bin\mingw-get remove mingw32-libiconv

c:\mingw\bin\mingw-get install "libiconv=1.13.1-1"

c:\mingw\msys\1.0\msys.bat

mount c:/mingw /mingw

Adım 3 : Aşağıdaki ezwinportssıkıştırılmış paketleri indirin ve kök mingwdizine çıkarın .

https://sourceforge.net/projects/ezwinports/files/

;; aşağıdaki ezwinports paketlerinin tümünü, c:/mingwkopyalarının üzerine yazarak açın.

cairo-1.12.16-w32-bin.zip

gdk-pixbuf-2.30.2-w32-bin.zip

giflib-5.1.0-w32-bin.zip

glib-2.38.2-w32-bin.zip

gnutls-3.3.11-w32-bin.zip

jpeg-v9a-w32-bin.zip

libpng-1.6.12-w32-bin.zip

librsvg-2.40.1-2-w32-bin.zip

libtasn1-4.2-w32-bin.zip

libxml2-2.7.8-w32-bin.zip

libXpm-3.5.11-2-w32-bin.zip

nettle-2.7.1-w32-bin.zip

p11-kit-0.9-w32-bin.zip

pixman-0.32.4-w32-bin.zip

pkg-config-0.28-w32-bin.zip

tiff-4.0.3-w32-bin.zip

zlib-1.2.8-2-w32-bin.zip

4. Adım : En son Emacs ana dalı kaynak dosyalarını bir git-bashkabuk kullanarak indirin .

c:\git\git-bash.exe

cd /c/docume~1/lawlist/desktop/

git clone -b master git://git.sv.gnu.org/emacs.git

exit

Adım 5 : Emacs ana dalı oluşturun ve bittiğinde .dll dosyalarının üzerine kopyalayın.

;; genel Komut İstemi'ni aç

c:\mingw\msys\1.0\msys.bat

export PATH=$PATH:/c/git/bin

cd /c/docume~1/lawlist/desktop/emacs

./autogen.sh

./configure --prefix=/c/docume~1/lawlist/desktop/trunk

make

make install

;; copy the following files to the `/bin` directory where `emacs.exe` is located.

cp /c/mingw/bin/libXpm-noX4.dll /c/docume~1/lawlist/desktop/trunk/bin/libXpm-noX4.dll

cp /c/mingw/bin/libpng16-16.dll /c/docume~1/lawlist/desktop/trunk/bin/libpng16-16.dll

cp /c/mingw/bin/libtiff-5.dll /c/docume~1/lawlist/desktop/trunk/bin/libtiff-5.dll

cp /c/mingw/bin/libjpeg-9.dll /c/docume~1/lawlist/desktop/trunk/bin/libjpeg-9.dll

cp /c/mingw/bin/libgif-7.dll /c/docume~1/lawlist/desktop/trunk/bin/libgif-7.dll

cp /c/mingw/bin/librsvg-2-2.dll /c/docume~1/lawlist/desktop/trunk/bin/librsvg-2-2.dll

cp /c/mingw/bin/libgdk_pixbuf-2.0-0.dll /c/docume~1/lawlist/desktop/trunk/bin/libgdk_pixbuf-2.0-0.dll

cp /c/mingw/bin/libglib-2.0-0.dll /c/docume~1/lawlist/desktop/trunk/bin/libglib-2.0-0.dll

cp /c/mingw/bin/libgobject-2.0-0.dll /c/docume~1/lawlist/desktop/trunk/bin/libgobject-2.0-0.dll

cp /c/mingw/bin/libxml2-2.dll /c/docume~1/lawlist/desktop/trunk/bin/libxml2-2.dll

cp /c/mingw/bin/zlib1.dll /c/docume~1/lawlist/desktop/trunk/bin/zlib1.dll

Tüm içeriğini Sıkıştırılmış gnutls-3.3.11-w32-bin.zipiçinC:\Documents and Settings\lawlist\Desktop\trunk


MANUEL MONTAJ - MinGW / MSYS / EZwinports

MinGW / MSYS / EZwinports'un manuel kurulumunu yapmak isteyen maceracı ruhlar için, Windows XP'de bu yazar tarafından, varsayılan olarak etkinleştirilen aşağıdaki yapılandırma seçenekleriyle başarılı bir 32 bit derleme oluşturmak için kullanılan dosyalardır. Kurulum ve yapılandırma, bireysel kullanıcıların kişisel tercihlerine bağlı olarak değişir ve bu cevabın kapsamı dışındadır.

Configured for 'i686-pc-mingw32'.
Where should the build process find the source code?    .
What compiler should emacs be built with?               gcc -std=gnu99  -g3 -O 2 -gdwarf-2
Should Emacs use the GNU version of malloc?             no
  (The GNU allocators don't work with this system configuration.)
Should Emacs use a relocating allocator for buffers?    no
Should Emacs use mmap(2) for buffer allocation?         yes
What window system should Emacs use?                    w32
What toolkit should Emacs use?                          none
Where do we find X Windows header files?                NONE
Where do we find X Windows libraries?                   NONE
Does Emacs use -lXaw3d?                                 no
Does Emacs use -lXpm?                                   yes
Does Emacs use -ljpeg?                                  yes
Does Emacs use -ltiff?                                  yes
Does Emacs use a gif library?                           yes
Does Emacs use a png library?                           yes
Does Emacs use -lrsvg-2?                                yes
Does Emacs use cairo?                                   no
Does Emacs use imagemagick?                             no
Does Emacs support sound?                               yes
Does Emacs use -lgpm?                                   no
Does Emacs use -ldbus?                                  no
Does Emacs use -lgconf?                                 no
Does Emacs use GSettings?                               no
Does Emacs use a file notification library?             yes (w32)
Does Emacs use access control lists?                    yes
Does Emacs use -lselinux?                               no
Does Emacs use -lgnutls?                                yes
Does Emacs use -lxml2?                                  yes
Does Emacs use -lfreetype?                              no
Does Emacs use -lm17n-flt?                              no
Does Emacs use -lotf?                                   no
Does Emacs use -lxft?                                   no
Does Emacs directly use zlib?                           yes
Does Emacs use toolkit scroll bars?                     yes

EZWINPORTS

cairo-1.12.16-w32-bin.zip
gdk-pixbuf-2.30.2-w32-bin.zip
giflib-5.1.0-w32-bin.zip
glib-2.38.2-w32-bin.zip
gnutls-3.3.11-w32-bin.zip
jpeg-v9a-w32-bin.zip
libXpm-3.5.11-2-w32-bin.zip
libpng-1.6.12-w32-bin.zip
librsvg-2.40.1-2-w32-bin.zip
libtasn1-4.2-w32-bin.zip
libxml2-2.7.8-w32-bin.zip
nettle-2.7.1-w32-bin.zip
p11-kit-0.9-w32-bin.zip
pixman-0.32.4-w32-bin.zip
pkg-config-0.28-w32-bin.zip
tiff-4.0.3-w32-bin.zip
zlib-1.2.8-2-w32-bin.zip

MinGW

autoconf-10-1-mingw32-bin.tar.lzma
autoconf-10-1-mingw32-lic.tar.lzma
autoconf2.1-2.13-4-mingw32-bin.tar.lzma
autoconf2.5-2.68-1-mingw32-bin.tar.lzma
automake-4-1-mingw32-bin.tar.lzma
automake-4-1-mingw32-lic.tar.lzma
automake1.10-1.10.2-1-mingw32-bin.tar.lzma
automake1.11-1.11.1-1-mingw32-bin.tar.lzma
automake1.4-1.4p6-1-mingw32-bin.tar.lzma
automake1.5-1.5-1-mingw32-bin.tar.lzma
automake1.6-1.6.3-1-mingw32-bin.tar.lzma
automake1.7-1.7.9-1-mingw32-bin.tar.lzma
automake1.8-1.8.5-1-mingw32-bin.tar.lzma
automake1.9-1.9.6-3-mingw32-bin.tar.lzma
binutils-2.25.1-1-mingw32-bin.tar.xz
gcc-core-4.8.1-4-mingw32-bin.tar.lzma
gcc-core-4.8.1-4-mingw32-dev.tar.lzma
gcc-core-4.8.1-4-mingw32-dll.tar.lzma
gcc-core-4.8.1-4-mingw32-lic.tar.lzma
gdb-7.6.1-1-mingw32-bin.tar.lzma
gmp-5.1.2-1-mingw32-dll.tar.lzma
libcharset-1.13.1-1-mingw32-dll-1.tar.lzma
libiconv-1.13.1-1-mingw32-bin.tar.lzma
libiconv-1.13.1-1-mingw32-dev.tar.lzma
libiconv-1.13.1-1-mingw32-dll-2.tar.lzma
libiconv-1.13.1-1-mingw32-doc.tar.lzma
libiconv-1.13.1-1-mingw32-lic.tar.lzma
libintl-0.17-1-mingw32-dll-8.tar.lzma
libmpc-1.0.2-mingw32-dll-3.tar.xz
make-3.82.90-2-mingw32-cvs-20120902-bin.tar.lzma
mingwrt-3.21.1-mingw32-dev.tar.xz
mingwrt-3.21.1-mingw32-dll.tar.xz
mpfr-3.1.2-2-mingw32-dll.tar.lzma
pthreads-w32-2.9.1-1-mingw32-dll.tar.lzma
w32api-3.17-2-mingw32-dev.tar.lzma

MSYS'i

bash-3.1.23-1-msys-1.0.18-bin.tar.xz
bzip2-1.0.6-1-msys-1.0.17-bin.tar.lzma
coreutils-5.97-3-msys-1.0.13-bin.tar.lzma
coreutils-5.97-3-msys-1.0.13-doc.tar.lzma
coreutils-5.97-3-msys-1.0.13-ext.tar.lzma
coreutils-5.97-3-msys-1.0.13-lang.tar.lzma
coreutils-5.97-3-msys-1.0.13-lic.tar.lzma
diffutils-2.8.7.20071206cvs-3-msys-1.0.13-bin.tar.lzma
dos2unix-7.2.3-1-msys-1.0.18-bin.tar.lzma
file-5.04-1-msys-1.0.13-bin.tar.lzma
findutils-4.4.2-2-msys-1.0.13-bin.tar.lzma
gawk-3.1.7-2-msys-1.0.13-bin.tar.lzma
grep-2.5.4-2-msys-1.0.13-bin.tar.lzma
gzip-1.3.12-2-msys-1.0.13-bin.tar.lzma
less-436-2-msys-1.0.13-bin.tar.lzma
libbz2-1.0.6-1-msys-1.0.17-dll-1.tar.lzma
libcrypt-1.1_1-3-msys-1.0.13-dll-0.tar.lzma
libexpat-2.0.1-1-msys-1.0.13-dll-1.tar.lzma
libgdbm-1.8.3-3-msys-1.0.13-dll-3.tar.lzma
libiconv-1.14-1-msys-1.0.17-dll-2.tar.lzma
libintl-0.18.1.1-1-msys-1.0.17-dll-8.tar.lzma
liblzma-5.0.3-1-msys-1.0.17-dll-5.tar.lzma
libmagic-5.04-1-msys-1.0.13-dll-1.tar.lzma
libregex-1.20090805-2-msys-1.0.13-dll-1.tar.lzma
libtermcap-0.20050421_1-2-msys-1.0.13-dll-0.tar.lzma
libxml2-2.7.6-1-msys-1.0.13-dll-2.tar.lzma
m4-1.4.16-2-msys-1.0.17-bin.tar.lzma
make-3.81-3-msys-1.0.13-bin.tar.lzma
msysCORE-1.0.18-1-msys-1.0.18-bin.tar.lzma
msysCORE-1.0.18-1-msys-1.0.18-doc.tar.lzma
msysCORE-1.0.18-1-msys-1.0.18-ext.tar.lzma
msysCORE-1.0.18-1-msys-1.0.18-lic.tar.lzma
perl-5.8.8-1-msys-1.0.17-bin.tar.lzma
sed-4.2.1-2-msys-1.0.13-bin.tar.lzma
tar-1.23-1-msys-1.0.13-bin.tar.lzma
termcap-0.20050421_1-2-msys-1.0.13-bin.tar.lzma
texinfo-4.13a-2-msys-1.0.13-bin.tar.lzma
xz-5.0.3-1-msys-1.0.17-bin.tar.lzma
zlib-1.2.7-1-msys-1.0.17-dll.tar.lzma

1

Geçen yıl 32-bit yapı için emacs / nt / INSTALL'daki talimatları denemiştim ama bir şeyler ters gitti (tam olarak ne olduğunu hatırlamıyorum), bu yüzden son zamanlarda emacsbinw64 için talimatları denedim - çok iyi çalıştı ve gerekli kütüphaneleri de almak daha kolaydı. 64 bitlik bir yapı için MSYS2 ve MinGW-w64'ü kullanır - emacsbinw64 projesi https://sourceforge.net/projects/emacsbinw64/files/ adresinde ikili dosyalar sağlar .

Bu yüzden, Eli Zaretski ve yazar Chris Zheng'in geri bildirimleriyle, bu taslağın ardından bazı talimatlar yazdım - tam sürüm http://git.savannah.gnu.org/cgit/emacs.git/plain/nt/INSTALL adresinde .W64? H = emacs-25 (sadece bir salınım tarball'ından inşa etmeyi de içerir).

Bu, Intel i3 ve yüksek hızlı internet bağlantısı YMMV'de yaklaşık 90 dakika sürdü. Windows üzerinde yapılan çalışmaların çoğunun sadece oluşturma ortamını oluşturduğunu unutmayın ...


Gereksinimler

Gerekli toplam alan 3GB: MSYS2 / MinGW-w64 için 1.8GB ve tam depoya sahip Emacs için 1.2GB.

MinGW-w64 ve MSYS2'yi indirin ve yükleyin

MSYS2'nin x86_64 sürümünü (yani msys2-x86_64-.exe) https://sourceforge.net/projects/msys2/files/Base/x86_64 adresinden indirin .

MSYS2'yi tercih ettiğiniz dizine yüklemek için bu dosyayı çalıştırın, örneğin varsayılan C: \ msys64 - bu MinGW-w64'ü de yükleyecektir. Boşluk içeren dizin adlarının soruna neden olabileceğini unutmayın.

Ardından, Windows PATH ortam değişkeninize aşağıdaki dizinleri eklemeniz gerekir:

c:\msys64\usr\bin;c:\msys64\mingw64\bin

bunu Denetim Masası / Sistem ve Güvenlik / Sistem / Gelişmiş sistem ayarları / Ortam Değişkenleri / Yolu düzenle aracılığıyla yapabilirsiniz.

PATH'nize bu dizinleri eklemek Emacs'a çalıştırması gereken DLL'leri nerede bulacağını ve grep ve find gibi bazı isteğe bağlı komutları söyler. Bu komutlar Windows konsolunda da bulunur.

Gerekli paketleri indirin ve yükleyin

MSYS2 dizininizde msys2_shell.bat dosyasını çalıştırın, bir BASH penceresi açılır.

BASH komut isteminde, gerekli paketleri yüklemek için aşağıdaki komutu kullanın (Shift + Insert ile kabuğa kopyalayıp yapıştırabilirsiniz):

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

Artık Emacs için eksiksiz bir oluşturma ortamına sahipsiniz.

Git'i (isteğe bağlı) yükleyin ve autocrlf'yi devre dışı bırakın

Git sisteminizde zaten yoksa, MSYS2 ortamınıza aşağıdakilerle yükleyebilirsiniz:

pacman -S git

Git'in autocrlf özelliği yapılandırma dosyasına müdahale edebilir, bu nedenle komutu çalıştırarak bu özelliği devre dışı bırakmak en iyisidir:

git config core.autocrlf false

Emacs kaynak kodunu alın

Git deposunu indirmek için aşağıdakine benzer bir şey yapın - bu Emacs kaynağını C: \ emacs \ emacs-25 içine koyacaktır:

mkdir /c/emacs
cd /c/emacs
git clone git://git.sv.gnu.org/emacs.git emacs-25

Emacs Oluşturun

Artık otomatik oluştur, yapılandır, oluştur ve kur ile Emacs oluşturmaya ve kurmaya hazırsınız.

İlk önce MinGW-w64 ortamına geçmemiz gerekiyor. MSYS2 BASH konsolundan çıkın ve C: \ msys64 klasöründe mingw64_shell.bat dosyasını çalıştırın, ardından Emacs kaynak dizininize geri cd atın, örneğin:

cd /c/emacs/emacs-25

Otojen çalıştır

Geliştirme kaynaklarını oluşturuyorsanız, yapılandırma komut dosyasını oluşturmak için autogen komutunu çalıştırın:

./autogen.sh

Configure betiği çalıştır

Şimdi çeşitli Makefiles'ları inşa edecek olan config çalıştırabilirsiniz.

'--Prefix' seçeneği, sonuçta ortaya çıkan ikili dosyalar için 'make install' komutunun kullanacağı bir konum belirtir - bu örnekte onu C: \ emacs \ emacs-25 olarak ayarladık. Bir önek belirtilmezse, dosyalar C: \ msys64 dizininizde bulunan standart Unix dizinlerine yerleştirilir, ancak bu önerilmez.

Emgems henüz Windows'ta desteklemediğinden Imagemagick'i devre dışı bırakmamız gerektiğini de unutmayın.

PKG_CONFIG_PATH=/mingw64/lib/pkgconfig \
./configure --prefix=/c/emacs/emacs-25 --without-imagemagick

Çalıştır

Bu Emacs derlemek ve yürütülebilir dosyaları oluşturmak, src dizinine koyarak:

make

İşlemi hızlandırmak için çalışmayı deneyebilirsiniz

make -jN

burada N sisteminizdeki çekirdek sayısıdır - MSYS2'niz paralel yürütmeyi destekliyorsa, çok daha hızlı çalışacaktır.

Make install komutunu çalıştır

Şimdi yürütülebilir dosyayı ve diğer dosyaları yapılandırma adımında belirtilen konuma kopyalayacak olan "make install" komutunu çalıştırabilirsiniz. Bu, bin, libexec, share ve var dizinlerini oluşturur:

make install

Ayrıca söyleyebilirsin

make install prefix=/c/somewhere

onları başka bir yere kurmak için.

Test Emakları

Test etmek için çalıştırın

./bin/runemacs.exe -Q

ve her şey yolunda giderse Emacs'ın yeni bir 64 bit sürümüne sahip olacaksınız.

Kısayol yap

Yeni Emacs'ı çalıştırmak için bir kısayol yapmak için, örneğin Masaüstü'nü koymak istediğiniz konuma sağ tıklayın, Yeni / Kısayol'u seçin, ardından yeni Emacs'ın bin klasöründe runemacs.exe'yi seçin ve bir ad verin .

Ortaya çıkan kısayola sağ tıklayarak herhangi bir komut satırı seçeneğini ayarlayabilir, Özellikler'i seçebilir ve Hedef komutuna herhangi bir seçenek ekleyebilirsiniz, örneğin --debug-init.

Kredi

Https://sourceforge.net/p/emacsbinw64/wiki/Build%20guideline%20for%20MSYS2-MinGW-w64%20system/ adresinde bulunan emacsbinw64 projesi tarafından kullanılan orijinal yapı taslağı için Chris Zheng'e teşekkürler .

Lisans

Bu dosya GNU Emacs'ın bir parçasıdır.

GNU Emacs ücretsiz bir yazılımdır: Özgür Yazılım Vakfı tarafından Lisansın 3. sürümünde veya (isteğe bağlı olarak) daha sonraki bir sürümde yayınlanan GNU Genel Kamu Lisansı koşulları altında yeniden dağıtabilir ve / veya değiştirebilirsiniz.

GNU Emacs, yararlı olacağı ümidiyle, ancak GARANTİSİ YOKTUR; BELİRLİ BİR AMACA UYGUNLUK VEYA UYGUNLUK garantisi dahil değildir. Daha fazla bilgi için GNU Genel Kamu Lisansına bakınız.

GNU Emacs ile birlikte GNU Genel Kamu Lisansının bir kopyasını almış olmanız gerekir. Değilse, bkz. Http://www.gnu.org/licenses/ .


Derleme tamamlandıktan sonra doğrudan Emacs yürütülebilir dosyasıyla aynı yere yerleştirilmesi gereken .dll dosyalarını kopyalamak için bir adım eklemeyi düşünün, böylece Emacs'ın bunları bulmak için sistem çapında tanımlı bir yola güvenmesi gerekmez Dosyalar. Ayrıca, gnutls için yürütülebilir dosyaların Emacs yürütülebilir dizinine kopyalanması da gereklidir. Son adımlar muhtemelen alternatif cevaptaki Emacs 32 derlemesine oldukça benzer olmalıdır.
hukukçu

Evet, orijinal talimatlar bu şekilde yazılmıştır, ancak Eli PATH'ı kullanmanın daha iyi olduğunu düşündü - lists.gnu.org/archive/html/bug-gnu-emacs/2015-12/msg01476.html. Yine de başka bir seçenektir - bu şekilde yapmak istiyorsanız, C: \ msys64 \ mingw64 \ bin içindeki tüm DLL'leri emacs bin klasörüne kopyalayabilirsiniz - sadece 32MB'tır - cp /c/msys64/mingw64/bin/*.dll bin. Fındık hakkında çok şey bilmiyorum - test etmenin basit bir yolu var mı?
Brian Burns

En genel anlamda, aslında e-posta veya bir şey için kullanmadan, genel test, gnutls-available-p sadece sistem yollarına atıfta bulunurken basitliğin nedenini anladığım işleviyle , ancak bazen insanlar Emacs derlemesini farklı bir bilgisayarda kullanmak isteyebilir ve görüntülerin ve materyallerin neden hazır olmadığını merak edecekler. İnsanların pdf dosyalarının normal bir arabellekte neden anlamsız görünmesini (örneğin, png desteğinin olmaması nedeniyle) veya neden AUCTeX'te doc görünümü veya önizleme yapamadıklarını soran çok sayıda konu var (aynı sebep).
hukukçu

Tamam, gnutls-available-psadece PATH ayarını kullanarak t döndürür, bu yüzden şimdilik çalıştığını varsayacağım - DLL'leri kopyalamak için alternatif yöntemle bir yama göndereceğim ve muhtemelen gerekirse gnutls exes ve burada güncelleme sonra.
Brian Burns
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.