As Stephen pointed to the tools that he uses to compile Analog for Windows a
couple of months ago, when the question of adding Windows Vista to the
recognized operating systems, I decided to try to make the modifications
suggested by Jon Harman at that time.
The process is pretty straightforward, but utterly devoid of useful
documentation for anyone coming from a Windows environment.
First, you need to download some gzipped "tarballs" - despite the fact the
these tools are written specifically for the Windows platform, they don't
use Windows packaging, so you'll need a utility that will decompress .gz
files, and then open tarballs. So start your downloads with 7-Zip
(http://www.7-zip.org/), a free software file archiver tool for Windows
http://prdownloads.sourceforge.net/sevenzip/7z442.exe?download.
Run 7z442.exe to install 7-Zip.
Then download the MinGW (http://www.mingw.org/) tools to compile Analog
You need 4 of these:
MinGW Runtime:
http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz?download
Windows API:
http://prdownloads.sf.net/mingw/w32api-3.6.tar.gz?download
binutils:
http://prdownloads.sf.net/mingw/binutils-2.15.91-20040904-1.tar.gz?download
GCC:
http://prdownloads.sf.net/mingw/gcc-core-3.4.2-20040916-1.tar.gz?download
Extract all of the above to C:\MinGW
(in 7-Zip, double-click on the tar.gz file to see the .tar "tarball".
Double-click on the .tar file to see the contents. Select everything in the
tarball, and hit the Extract icon. Tell 7-Zip to extract to C:\MinGW.
binutils and GCC have some name collisions, but just let 7-Zip overwrite the
existing files).
C:\>dir C:\MinGW /ogd
Volume in drive C has no label.
Volume Serial Number is 1UB5-431A
Directory of C:\MinGW
01/13/2007 06:43 PM <DIR> .
01/13/2007 06:43 PM <DIR> ..
01/13/2007 06:43 PM <DIR> bin
01/13/2007 06:43 PM <DIR> doc
01/13/2007 06:43 PM <DIR> include
01/13/2007 06:43 PM <DIR> info
01/13/2007 06:43 PM <DIR> lib
01/13/2007 06:43 PM <DIR> libexec
01/13/2007 06:43 PM <DIR> man
01/13/2007 06:43 PM <DIR> mingw32
12/18/2000 04:47 PM 17,992 COPYING
01/29/2001 08:30 AM 26,430 COPYING.LIB
2 File(s) 44,422 bytes
10 Dir(s) 81,292,320,760 bytes free
Now you need to install a shell that you can use MinGW under:
Download MSys from http://prdownloads.sf.net/mingw/MSYS-1.0.10.exe?download
Run MSYS-1.0.10.exe and follow the prompts:
This will install "Minimal SYStem". Do you wish to continue? (Yes)
Welcome to the "Minimal SYStem" Setup Wizard .... (Next)
License Agreement (Yes)
Release Notes (Next)
Select Destination Directory (C:\msys\1.0) (Next)
Installation for i386 based CPUs (Next)
Select MenuStart Folder (MinGW) (Next)
Ready to Install (Install)
A DOS window will open and ask you some questions:
This is a post install process that will try to normalize between
your MinGW install if any as well as your previous MSYS installs
if any. I don't have any traps as aborts will not hurt anything.
Do you wish to continue with the post install? [yn ]
y [enter]
Do you have MinGW installed? [yn ] y
y [enter]
Please answer the following in the form of c:/foo/bar.
Where is your MinGW installation?
C:/MinGW [enter]
.....
Oh joy, you do not have C:/MinGW/bin/make.exe. Keep it that way.
C:\msys\1.0\postinstall>pause
Press any key to continue . . .
[enter], then click Finish.
(I'm pretty sure you don't actually need MSys, it was just easier to install
it than figuring out how to set up the environment in Dos - MinGW is written
for unix users who need to compile stuff on Windows, it's not written for
Windows users who want to compile stuff on Windows).
Okay, you are now set up to compile Analog (and probably many other open
source packages).
Grab a copy of the Analog source:
http://www.analog.cx/analog-6.0.tar.gz
Use 7-Zip to extract analog-6.0 to C:\MinGW
you need to edit two files:
C:\MinGW\analog-6.0\src\Makefile
Line 32:
Change OS = UNIX
to OS = WIN32
Line 34:
Change LIBS = -lm
to LIBS = -lwsock32 -lm
C:\MinGW\analog-6.0\src\tree.c
Replace line 874:
else if (*c >= '6' && *c <= '9')
with:
else if (*c =='6') {
*name = "Windows:Windows Vista";
} else if (*c >= '7' && *c <= '9')
(Note that you might have trouble editing these files in Windows Notepad -
it expects to find linefeeds with it's carriage returns. MinGW includes a
version of vi, but if you've never used vi before, now isn't the time to
start :-)
Okay, start the msys shell:
Start/All Programs/MinGW/MSYS/msys
You'll see a white window with a $ prompt.
Type:
cd /mingw/analog-6.0/src
Then type
make
Assuming you followed the instructions above, you shouldn't get any errors,
and after a minute of so Analog should be compiled, and you can type:
exit.
Now Start/All Programs/MinGW/MSYS/Msys
$ cd /mingw/analog-6.0/src
$ make
....
$ exit
Now copy C:\mingw\analog-6.0\analog.exe to your Analog directory, and your
Analog OS Reports should now include information about Windows Vista.
Aengus
+------------------------------------------------------------------------
| TO UNSUBSCRIBE from this list:
| http://lists.meer.net/mailman/listinfo/analog-help
|
| Analog Documentation: http://analog.cx/docs/Readme.html
| List archives: http://www.analog.cx/docs/mailing.html#listarchives
| Usenet version: news://news.gmane.org/gmane.comp.web.analog.general
+------------------------------------------------------------------------