unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: CHENG Gao <chenggao@gmail.com>
To: emacs-devel@gnu.org
Subject: Re: [cyd@stupidchicken.com: Emacs pretest 22.0.990]
Date: Sat, 19 May 2007 14:09:31 +0800	[thread overview]
Message-ID: <m2veep5opw.fsf@cyberhut.org> (raw)
In-Reply-To: 464DD93E.23912.3F7DA9@john.assen.demon.co.uk

Three years ago when I was still using Windoze I wrote a step by step
article for my own reference purpose. I post it here and wish it's of
some help to you and others. Since I have abandoned Windoze for fairly
long time, files refered in the article must have been updated.

Since I am not a natice English speaker, you may find many grammatical
and wording errors. Please forgive me for this.


Below is the article:


How to build CVS Emacs with full image support using MinGW 
Author: CHENG Gao 
Originally written on August 1, 2004 in Chinese
Translated on October 24, 2004 to English

1. Install Cygwin
Go to http://www.cygwin.com, and download setup.exe, and setup a basic
cygwin environment.

2. Get Emacs cvs code 
I use cygwin cvs to get Emacs code.

$export CVS_RSH=”ssh” $cvs -z3
-d:ext:anoncvs@savannah.gnu.org:/cvsroot/emacs co emacs

3. Install MinGW 
Go to http://www.mingw.org (or http://sourceforge.net/projects/mingw if
you can not access former URL like me). Download files MinGW-3.1.0-1.exe
& mingw32-make-3.80.0-3.exe。

Run MinGW-3.1.0-1.exe and install to C:/MinGW. 
Run mingw32-make-3.80.0-3.exe and install to C:/MinGW. Browse to
C:/MinGW/bin, and rm or copy mingw32-make.exe to make.exe.

(If you like to use new softwares like me, you can download latest files
gcc-core-3.4.2-20040916-1.tar.gz, mingw-runtime-3.5.tar.gz and
w32api-3.1.tar.gz, and uncompress them to C:/MinGW to overwrite old
files. Skipping this step wont effect building.)

4. Install image libs
All image libs are from GnuWin32 project. Please visit
http://gnuwin32.sf.net/ . Direct link to these files is
http://sourceforge.net/project/showfiles.php?group_id=23617.

4.1 jpeg support lib
Download jpeg-6b-3.exe and install to C:/MinGW.

4.2 gif support lib
Download libungif-4.1.0b1-bin.zip & libungif-4.1.0b1-src.zip, and unzip
them to C:/MinGW. Then copy C:/MinGW/src/lib/gif_lib.h to
C:/MinGW/include/.

4.3 tiff support lib
Download tiff-win32-3.6.1-2.exe and install to C:/MinGW.

4.4. xpm support lib
Download xpm-nox-4.2.0-bin.exe & xpm-nox-4.2.0-src.exe, and install them
to C:/MinGW. Then copy C:/MinGW/src/xom-nox-4.2.0/lib/simx.h to
C:/MinGW/include/. Create a directory X11 under C:/MinGW/include/, and
copy C:/MinGW/src/xom-nox-4.2.0/lib/xpm.h to C:/MinGW/include/X11/.

4.5. png support lib
Download zlib-1.2.1-1.exe & libpng-1.2.5-1.exe, and install them to
C:/MinGW. (libpng-1.2.5-1 is what I use. I just found the latest is
libpng-1.2.7.)

5. Setup environment variable
Edit PATH, and add C:/MinGW/bin/;C:/MinGW/include/;C:/MinGW/lib/. They
should come before cygwin directories. For example, mine is
C:/MinGW/bin/;C:/MinGW/include/;C:/MinGW/lib/;c:/cygwin/bin/;c:/cygwin/usr/bin/.

6. Build and install
Run cmd.exe to open windows shell, go to emacs/nt/ directory, and run

PATH_TO_EMACS_CVS_NT_DIR>configure.bat --with-gcc --no-cygwin

then

>make bootstrap
>make info
>make install INSTALL_DIR=c:/emacs-cvs

You can change emacs installation directory. Be careful that you should
use “/” here instead of “\”.

7. Image DLL libs
Go to C:/MinGW/bin/, and copy files below to your emacs bin directory
(C:/emacs-cvs/bin/): jpeg62.dll, libpng12.dll, libtiff3.dll,
libungif.dll, libXpm-noX4.dll & zlib1.dll

If you feel like, you can change file names to your like, for example,
to: jpeg.dll, libpng.dll, libtiff.dll, libxpm.dll, zlib.dll.

In latest CVS Emacs, you can set file names through variable
`image-library-alist. The default value is: ((xpm “libXpm-nox4.dll”
“libxpm.dll”) (png “libpng13d.dll” “libpng13.dll” “libpng12d.dll”
“libpng12.dll” “libpng.dll”) (jpeg “jpeg62.dll” “libjpeg.dll”
“jpeg-62.dll” “jpeg.dll”) (tiff “libtiff3.dll” “libtiff.dll”) (gif
“libungif.dll”)).

Now run Emacs, and evaluate variable `image-types, you’ll see: (png gif
tiff jpeg xpm xbm pbm).

PS:
Personally I like to run native Emacs Windows build through cygwin
shell. The benefit is I can use many cygwin built tools like crm114,
bogofilter, w3m while using Windows native input method. To achieve
this, open cygwin shell, and go to /usr/bin/ and run:

$ln -s c:/emacs-cvs/bin/runemacs.exe emacs

then in cygwin shell, just run "emacs".

      parent reply	other threads:[~2007-05-19  6:09 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <E1Hp24x-0005dS-0T@fencepost.gnu.org>
2007-05-18 15:50 ` [cyd@stupidchicken.com: Emacs pretest 22.0.990] John McCabe
2007-05-18 17:26   ` Eli Zaretskii
     [not found]     ` <464E1FE4.30970.1537609@john.assen.demon.co.uk>
2007-05-19  7:16       ` Eli Zaretskii
2007-05-19  8:17         ` Eli Zaretskii
2007-05-18 20:51   ` Jason Rumney
     [not found]     ` <464E2AE1.23138.17E6203@john.assen.demon.co.uk>
2007-05-19  7:27       ` Eli Zaretskii
2007-05-19  6:09   ` CHENG Gao [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m2veep5opw.fsf@cyberhut.org \
    --to=chenggao@gmail.com \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).