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
+------------------------------------------------------------------------

Reply via email to