MS-Windows पर Emacs मास्टर शाखा (उर्फ ट्रंक) का निर्माण कैसे करें


11

मैंने आज ही इसका लाभ उठाया और एमएस-विंडोज के लिए सबसे हालिया एमएसीएस मास्टर ब्रांच डेवलपर का निर्माण - उर्फ ​​एमाक्स ट्रंक - बनाने की अपनी खोज पर निकल पड़ा।

मुझे एक पुराना ब्लॉग मिला और वह इस प्रक्रिया से गुज़रा, केवल एक त्रुटि संदेश के साथ मिलना यह बताता था कि उस विशेष पद्धति का अब कोई समर्थन नहीं था। त्रुटि संदेश ने मुझे पढ़ने के लिए संदर्भित किया .../emacs/nt/INSTALL:। ठीक है, यह सब ठीक है और बांका है अगर Emacs के निर्माण के लिए बुनियादी ढांचा पहले से ही स्थापित / कॉन्फ़िगर किया गया है।

यह सुनिश्चित करना आसान होगा कि क्या कोई चरण 1, 2, 3 है जो बताता है कि एमएस-विंडोज पर Emacs बनाने की दिशा में एक विशिष्ट आंख के साथ उन्हें स्थापित करने और उन्हें कॉन्फ़िगर करने के बारे में क्या उपकरण की आवश्यकता है और कैसे जाना है।

इस घटना में कि कोई भी विस्तृत लेखन तैयार करना चाहेगा, कृपया उत्तर देने के लिए स्वतंत्र महसूस करें। यदि नहीं, तो मैं एक बार अपने आप को लिख दूंगा कि मुझे यह कैसे करना है। मुझे अतिरिक्त सड़क-ब्लॉकों के साथ मुलाकात की गई और अंतरिम में एक बग रिपोर्ट प्रस्तुत की गई - मुझे अभी तक नहीं पता है कि यह मैं हूं, या शायद बग: https://debbugs.gnu.org/cgi/bugreport.cgi? बग = 21,582

मुझे लगता है कि अधिक लोगों को अपने स्वयं के Emacs बनाने के लिए इच्छुक होगा अगर एक "चीट-शीट" होती थी जिसका उपयोग प्रोग्रामर या हॉबीस्ट जैसे स्वयं (जो ट्रेड द्वारा प्रोग्रामर नहीं हैं) द्वारा किया जा सकता है।


मुझे लगता है कि आप एक से अधिक तरीकों से विंडोज पर Emacs का निर्माण कर सकते हैं (यानी सबसे अधिक संभावना मिंगव / MS VCC, लेकिन संभवतः संभवतः क्लैग। आप यहां आवश्यक पुस्तकालयों की सूची देख सकते हैं (उनमें से बहुत से हैं) emacswiki.org-emacs / BuildingEmacsWithMinGW लेकिन यह जानकारी निश्चित रूप से दिनांकित है (सबसे अधिक संभावना दस साल या तो!)
wvxvw

64 बिट बिल्ड के लिए sourceforge.net/p/emacsbinw64/wiki/… पर emacsbinw64 से एक अच्छा राइटअप है - यह MSYS2 और MinGW-w64 का उपयोग करता है। हो सकता है कि इस विकल्प को शामिल करने के लिए nt / INSTALL नोट को अपडेट किया जाए?
ब्रायन बर्न्स

@ bburns.km - लिंक के लिए धन्यवाद। मैं सोच रहा था कि 64-बिट कैसे बनाऊं, लेकिन इसके पास अनगिनत घंटे लगाने का खाली समय नहीं था। भविष्य में, मैं निश्चित रूप से यह देखने के लिए लिंक की जांच करूंगा कि क्या यह कुछ ऐसा है जो एक चरण 1, 2, 3, या सिर्फ एक रूपरेखा है जहां उन्नत प्रोग्रामर जानते हैं कि रिक्त स्थान कैसे भरे जा सकते हैं। Nt / INSTALL जैसे निर्देश मूल रूप से खुद की तरह एक नौसिखिए के लिए बेकार हैं - यह एक प्रोग्रामर के लिए सार्थक है, लेकिन इसका मतलब वस्तुतः मेरे लिए कुछ भी नहीं है - जबकि, मेरे 5-आसान कदम वास्तव में 1, 2, 3 हैं कि कोई भी पालन ​​कर सकते हैं।
कानून सूची

@lawlist हाँ यह एक अच्छा राइटअप है - मैंने एक या दो साल पहले 32 बिट बिल्ड करने की कोशिश की थी लेकिन कुछ गलत हो गया और / या मैं इसमें खो गया - जैसे आप कहते हैं कि यह किसी के लिए काफी जटिल है, जो स्रोत से चीजों का निर्माण नहीं करते थे। लेकिन emacsbinw64 निर्देश थोड़ा सरल हैं और काफी अच्छी तरह से काम किया है - बस कुछ ही घंटे लग गए हैं ताकि यह सब हो सके और काम हो सके। मुझे लगता है कि मैं nt / INSTALL doc को अपडेट करने के बारे में डिसलाइटर पर पूछूंगा - 32 बिट और 64 बिट सेक्शन हो सकते हैं। मैंने डॉक लिखना शुरू कर दिया था, लेकिन यह महसूस किया कि यह emacsbinw64 निर्देशों से बहुत अधिक नहीं जोड़ा गया है, लेकिन इसका उपयोग वहां किया जा सकता है।
ब्रायन बर्न्स

जवाबों:


9

यह अनुशंसा की जाती है कि उपयोगकर्ता ../emacs/nt/INSTALLEmacs स्रोत कोड के भीतर संपूर्ण को पढ़ें ।


त्वरित शुरुआत - 5 आसान चरण :

यह जवाब WindowsXP - SP3 पर परीक्षण किया गया था। स्थापना पथ को उपयोगकर्ता की व्यक्तिगत प्राथमिकताओं के आधार पर समायोजित करने की आवश्यकता होगी। इस उदाहरण में:

  • डेस्कटॉप है: C:\Documents and Settings\lawlist\Desktop

  • gitस्थापना है: C:\git

  • MinGWस्थापना है: C:\mingw

  • Emacs मास्टर शाखा का git डाउनलोड स्थान है: C:\Documents and Settings\lawlist\Desktop\emacs

  • Emacs स्थापना का लक्ष्य है: C:\Documents and Settings\lawlist\Desktop\trunk

चरण संख्या 1 : स्थापित करें gitऔर स्थापना के दौरान "के रूप में चेकआउट, के रूप में प्रतिबद्ध है" का चयन करना सुनिश्चित करें:

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

Git-2.5.3-32-bit.exe

इंस्टॉलर चलाएं।

आगे

आगे

मानक स्थापना निर्देशिका है C:\Program Files\Git, लेकिन मैंने इसके बजाय चुना: c:\git

घटकों का चयन करें: डिफ़ॉल्ट ठीक है, लेकिन मैंने इसके बजाय कुछ नहीं चुना।

प्रारंभ मेनू फ़ोल्डर का चयन करें: डिफ़ॉल्ट ठीक है, बिट मैंने इसके बजाय एक फ़ोल्डर बनाने के लिए नहीं चुना।

अपने पेट के वातावरण को समायोजित करना: डिफ़ॉल्ट ठीक है: बैश से केवल गिट का उपयोग करें।

;; इस अगले अनुभाग के लिए, गैर-डिफ़ॉल्ट सेटिंग पर पूरा ध्यान दें - Emacs Bug # 21582 देखें।

रूपांतरण समाप्त करने वाली पंक्ति कॉन्फ़िगर करें: Emacs को "चेकआउट के रूप में चेक-के रूप में प्रतिबद्ध है," की एक गैर-डिफ़ॉल्ट सेटिंग की आवश्यकता होती है

Git Bash के साथ उपयोग करने के लिए टर्मिनल एमुलेटर को कॉन्फ़िगर करना: डिफ़ॉल्ट ठीक है: MinTTY (MSys2 का डिफ़ॉल्ट टर्मिनल) का उपयोग करें

प्रयोगात्मक प्रदर्शन ट्वीक्स कॉन्फ़िगर करना: मैंने "फ़ाइल सिस्टम कैशिंग सक्षम करें" को नहीं चुना।

[यदि वांछित है तो रिलीज नोट देखें] समाप्त करें

नोट: autogen.sh(और शायद कुछ तृतीय-पक्ष कार्यक्रमों) को gitपथ को सेट करने की आवश्यकता होती है ताकि निष्पादन योग्य (ओं) को पूर्ण पथ का उपयोग किए बिना बुलाया जा सके। इस उत्तर के लेखक के पास पूर्ण पथ का उपयोग करने और पथ को संशोधित न करने के लिए एक व्यक्तिगत प्राथमिकता है; हालांकि, अधिकांश लोग वर्तमान और भविष्य के सत्रों के लिए पैट को संशोधित करना पसंद करते हैं। उदाहरण के लिए, Windows XP में, PATH को कंट्रोल पैनल / सिस्टम प्रॉपर्टीज / एडवांस टैब / एनवायरनमेंटल वेरिएबल्स बटन के भीतर सेट किया जा सकता है, और उपयोगकर्ता के वेरिएबल्स या सिस्टम को सेट करने के बारे में दो (2) विचार / राय दिखाई देती है। चर - पथ रिक्त स्थान के बिना अर्धविराम द्वारा अलग किए जाते हैं। यह उत्तर केवल यहां दिए गए सत्र का उपयोग करके सत्र की अवधि के लिए पैट exportसेट करता है। Emacs के लिए autogen.shलग रहा हैgit पथ पर कमांड करें और शिकायत करें कि यह नहीं मिल सकता है।

चरण संख्या 2 : स्थापित करेंMinGW

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

चरण संख्या 3 : निम्नलिखित ezwinportsज़िपित संकुल को डाउनलोड करें और रूट mingwनिर्देशिका में निकालें ।

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

;; c:/mingwकिसी भी डुप्लिकेट को अधिलेखित करते हुए निम्नलिखित सभी 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

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 : एक git-bashशेल का उपयोग करके नवीनतम Emacs मास्टर शाखा स्रोत फ़ाइलों को डाउनलोड करें ।

c:\git\git-bash.exe

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

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

exit

चरण संख्या 5 : Emacs मास्टर शाखा का निर्माण करें और पूरा होने पर .dll फ़ाइलों की प्रतिलिपि बनाएँ।

;; खुले सामान्य कमांड प्रॉम्प्ट

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

की संपूर्ण सामग्री unzip gnutls-3.3.11-w32-bin.zipकरने के लिएC:\Documents and Settings\lawlist\Desktop\trunk


MANUAL INSTALLATION - MinGW / MSYS / EZwinports

उन साहसी आत्माओं के लिए जो MinGW / MSYS / EZwinports की मैन्युअल स्थापना करने में रुचि रखते हैं, निम्न लेखक डिफ़ॉल्ट रूप से सक्षम कॉन्फ़िगरेशन विकल्पों के साथ एक सफल 32-बिट बिल्ड बनाने के लिए Windows XP पर इस लेखक द्वारा उपयोग की जाने वाली फाइलें हैं। सेटअप और कॉन्फ़िगरेशन अलग-अलग उपयोगकर्ताओं की व्यक्तिगत प्राथमिकताओं के आधार पर अलग-अलग होंगे, और इस उत्तर के दायरे से परे हैं।

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

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

मैंने पिछले साल 32-बिट बिल्ड के लिए emacs / nt / INSTALL में निर्देशों की कोशिश की थी, लेकिन कुछ गलत हो गया था (मुझे याद नहीं है, वास्तव में क्या है), इसलिए हाल ही में मैंने emacsbinw64 के निर्देशों की कोशिश की - यह बहुत अच्छी तरह से काम करता है, और यह आवश्यक पुस्तकालयों को भी प्राप्त करना सरल था। यह 64-बिट बिल्ड के लिए MSYS2 और MinGW-w64 का उपयोग करता है - emacsbinw64 प्रोजेक्ट https://sourceforge.net/projects/emacsbinw64/files/ पर बायनेरिज़ प्रदान करता है ।

इसलिए मैंने एली ज़ेरेत्स्की और लेखक क्रिस झेंग के फीडबैक के साथ, उस रूपरेखा के बाद कुछ निर्देश लिखे- पूरा संस्करण http://git.savannah.gnu.org/cgit/emacs.git/plain/nt-INSTALL पर है। .W64? H = emacs-25 (सिर्फ एक रिलीज टारबॉल से बिल्डिंग भी शामिल है)।

एक इंटेल i3 और हाई स्पीड इंटरनेट कनेक्शन - YMMV पर कुल 90 मिनट का समय लगा। ध्यान दें कि विंडोज पर निर्माण के लिए अधिकांश काम सिर्फ बिल्ड पर्यावरण की स्थापना है ...


आवश्यकताएँ

आवश्यक स्थान 3GB: MSYS2 / MinGW-w64 के लिए 1.8GB और पूर्ण भंडार के साथ Emacs के लिए 1.2GB है।

डाउनलोड करें और MinGW-w64 और MSYS2 स्थापित करें

Https://sourceforge.net/projects/msys2/files/Base/x86_64 से MSYS2 (यानी msys2-x86_64 -.exe) का x86_64 संस्करण डाउनलोड करें

अपने पसंदीदा निर्देशिका में MSYS2 को स्थापित करने के लिए इस फ़ाइल को चलाएं, जैसे कि डिफ़ॉल्ट C: \ msys64 - यह MinGW-w64 भी स्थापित करेगा। ध्यान दें कि रिक्त स्थान वाले निर्देशिका नाम समस्याएँ पैदा कर सकते हैं।

फिर आपको निम्न निर्देशिकाओं को अपने विंडोज पथ पर्यावरण चर में जोड़ना होगा:

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

आप इसे कंट्रोल पैनल / सिस्टम और सिक्योरिटी / सिस्टम / एडवांस्ड सिस्टम सेटिंग्स / एनवायरमेंट वेरिएबल्स / एडिट पाथ के जरिए कर सकते हैं।

इन निर्देशिकाओं को अपने PATH में जोड़ने से Emacs को पता चलता है कि DLL को कहां चलाना है, और कुछ वैकल्पिक कमांड जैसे grep और ढूंढना है। ये कमांड विंडोज कंसोल पर भी उपलब्ध होंगे।

आवश्यक पैकेज डाउनलोड और इंस्टॉल करें

अपनी MSYS2 डायरेक्टरी में msys2_shell.bat चलाएं और आपको एक 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 (वैकल्पिक) को स्थापित करें और ऑटोक्राफ्ट को अक्षम करें

यदि आपके पास पहले से ही आपके सिस्टम पर Git नहीं है, तो आप इसे अपने MSYS2 वातावरण में स्थापित कर सकते हैं:

pacman -S 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 बनाएँ

अब आप Emac को ऑटोजेन के साथ बनाने और स्थापित करने, कॉन्फ़िगर करने, बनाने और स्थापित करने के लिए तैयार हैं।

पहले हमें MinGW-w64 पर्यावरण पर स्विच करने की आवश्यकता है। MSYS2 BASH कंसोल से बाहर निकलें और C: \ msys64 फ़ोल्डर में mingw64_shell.bat चलाएँ, फिर अपने Emacs स्रोत निर्देशिका में वापस cd, उदा:

cd /c/emacs/emacs-25

ऑटोजेन चलाएं

यदि आप विकास स्रोतों का निर्माण कर रहे हैं, तो कॉन्फ़िगर स्क्रिप्ट उत्पन्न करने के लिए ऑटोजेन चलाएं:

./autogen.sh

कॉन्फ़िगर चलाएँ

अब आप कॉन्फ़िगर चला सकते हैं, जो विभिन्न मेकफाइल्स का निर्माण करेगा।

'--Prefix' विकल्प परिणामी बाइनरी फ़ाइलों के लिए एक स्थान निर्दिष्ट करता है, जो 'इंस्टॉल करें' का उपयोग करेगा - इस उदाहरण में हम इसे C: \ emacs \ emacs-25 पर सेट करते हैं। यदि कोई उपसर्ग निर्दिष्ट नहीं है, तो फ़ाइलें आपके C: \ msys64 निर्देशिका में स्थित मानक यूनिक्स निर्देशिकाओं में डाल दी जाएंगी, लेकिन यह अनुशंसित नहीं है।

ध्यान दें कि हमें Imagemagick को अक्षम करने की आवश्यकता है क्योंकि Emacs अभी तक विंडोज पर इसका समर्थन नहीं करता है।

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 prefix=/c/somewhere

उन्हें कहीं और स्थापित करने के लिए।

टेस्ट Emacs

इसे परखने के लिए, दौड़ें

./bin/runemacs.exe -Q

और यदि सब ठीक रहा, तो आपके पास Emacs का नया 64-बिट संस्करण होगा।

एक शॉर्टकट बनाओ

नए Emacs को चलाने के लिए एक शॉर्टकट बनाने के लिए, उस स्थान पर राइट क्लिक करें जहाँ आप इसे रखना चाहते हैं, जैसे कि Desktop, New / Shortcut को चुनें, फिर नए Emacs के बिन फ़ोल्डर में runemacs..exe का चयन करें, और इसे एक नाम दें। ।

आप परिणामी शॉर्टकट पर राइट क्लिक करके कोई भी कमांड लाइन विकल्प सेट कर सकते हैं, गुण का चयन कर सकते हैं, फिर किसी भी विकल्प को लक्ष्य कमांड में जोड़ सकते हैं, जैसे --debug-init।

क्रेडिट

Https://sourceforge.net/p/emacsbinw64/wiki/Build%20guideline%20for%20forYS2-MinGW-w64%20system/ पर स्थित emacsbinw64 प्रोजेक्ट द्वारा उपयोग की गई मूल बिल्ड आउटलाइन के लिए क्रिस झेंग का धन्यवाद ।

लाइसेंस

यह फ़ाइल GNU Emacs का हिस्सा है।

GNU Emacs मुफ्त सॉफ्टवेयर है: आप इसे GNU जनरल पब्लिक लाइसेंस की शर्तों के तहत पुनर्वितरित कर सकते हैं और / या संशोधित कर सकते हैं, जैसा कि Free Software Foundation द्वारा प्रकाशित किया गया है, या तो लाइसेंस के संस्करण 3, या किसी भी बाद के संस्करण में।

GNU Emacs को इस उम्मीद में वितरित किया जाता है कि यह उपयोगी होगा, लेकिन किसी भी वारंटी के बिना; बिना किसी पक्षपात के लिए योग्यता या योग्यता के निहित वारंटी के बिना भी। अधिक विवरण के लिए जीएनयू जनरल पब्लिक लाइसेंस देखें।

आपको GNU जनरल के साथ GNU जनरल पब्लिक लाइसेंस की एक प्रति प्राप्त होनी चाहिए। यदि नहीं, तो http://www.gnu.org/licenses/ देखें ।


बिल्ड के पूरा होने के बाद, Emacs को निष्पादन योग्य बनाने के लिए जो भी .Dll फाइलें हैं उन्हें सीधे ही कॉपी करने के लिए एक कदम जोड़ने पर विचार करें, ताकि Emacs को उन को खोजने के लिए सिस्टम-वाइड परिभाषित पथ पर भरोसा करने की आवश्यकता न हो। फ़ाइलें। इसके अलावा, Emacs निष्पादन योग्य निर्देशिका में गटरल्स के लिए निष्पादन योग्य (ओं) पर कॉपी करना आवश्यक है। अंतिम चरण संभवतः वैकल्पिक उत्तर में एमएसीएस 32 बिल्ड के समान होना चाहिए।
कानून सूची

हाँ, मूल निर्देश उस तरह से लिखे गए थे, लेकिन एली ने PATH - lists.gnu.org/archive/html/bug-gnu-emacs/2015-12/msg01476.html का उपयोग करना बेहतर समझा। हालांकि यह एक और विकल्प है - यदि आप इसे इस तरह से करना चाहते हैं, तो आप बस सभी DLLs को C: \ msys64 \ mingw64 \ bin में एमएसीएस बिन फ़ोल्डर में कॉपी कर सकते हैं - वे केवल 32 एमबी के बारे में हैं cp /c/msys64/mingw64/bin/*.dll bin। मैं हालांकि, यह परीक्षण करने के लिए एक सरल तरीका है - हालांकि मूँगफली के बारे में बहुत कुछ नहीं पता है?
ब्रायन बर्न्स

वास्तव में ईमेल या किसी चीज़ के लिए इसका उपयोग किए बिना सबसे सामान्य अर्थों में, सामान्य परीक्षण उस फ़ंक्शन के साथ होता है जिसे gnutls-available-p मैं सरलता का कारण समझता हूं जब सिस्टम पथों का जिक्र होता है, लेकिन कभी-कभी लोग Emacs का उपयोग एक अलग कंप्यूटर पर करना चाहते हैं और कर सकते हैं वे सोचेंगे कि छवियां और सामान बॉक्स से बाहर काम क्यों नहीं करते हैं। लोगों के साथ बहुत सारे सूत्र हैं जो पूछते हैं कि पीडीएफ फाइलें नियमित बफर में जिबरिश की तरह क्यों दिखती हैं (यानी, क्योंकि पीएनजी सपोर्ट की कमी है), या वे एयूसीटीएक्स (उसी कारण) में डॉक्स-व्यू या पूर्वावलोकन क्यों नहीं कर सकते।
21

ठीक है, gnutls-available-pकेवल PATH सेटिंग का उपयोग करके वापस आता है, इसलिए मैं मानूंगा कि यह अभी के लिए काम कर रहा है - मैं DLL को कॉपी करने के लिए वैकल्पिक विधि के साथ एक पैच प्रस्तुत करूंगा, और संभवतः उन लोगों की जरूरत पड़ने पर, और वे यहां अपडेट करें बाद में।
ब्रायन बर्न्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.