changeset 6136:bbbe04bacea2

[project @ 2006-11-02 16:54:27 by jwe]
author jwe
date Thu, 02 Nov 2006 16:54:27 +0000
parents 1504e68cf080
children 4fb3f3e3d6bb
files ChangeLog README.Cygwin README.MSVC README.Windows
diffstat 4 files changed, 362 insertions(+), 72 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-11-02  John W. Eaton  <jwe@octave.org>
+
+	* README.Cygwin: Rename from README.Windows.
+	* README.MSVC: New file.
+	* README.Windows: Point to the README.Cygwin and README.MSVC files.
+
 2006-11-01  John W. Eaton  <jwe@octave.org>
 
 	* configure.in: Check for PCRE macros we use.  Warn if regex
new file mode 100644
--- /dev/null
+++ b/README.Cygwin
@@ -0,0 +1,73 @@
+Octave is now part of the normal net distribution of Cygwin, available
+from http://www.cygwin.com.  To install the Cygwin package of Octave:
+
+ 1. Use your favorite browser to view the page http://www.cygwin.com
+
+ 2. Click on the "Install or update now" link.
+
+ 3. A dialog should appear with the option to run the setup program
+    from its current location or save it to disk.  Either will work,
+    but I usually choose to save the setup program to disk so that it
+    is possible to run it later to update the installation without
+    having to go back to the web page using a browser.
+
+ 4. Run the setup program.
+
+ 5. Choose "Install from Internet".
+
+ 6. Select a root install directory.  You may choose any directory, but
+    it needs to have enough space for Octave and all the related
+    tools.  Sorry, I don't know how much space that is at present.
+
+ 7. Select a local package directory.  This is a directory that the
+    setup program will use to temporarily store package files before
+    installing them.  It should have plenty of space (probably 70MB
+    or more).  You may delete this directory once the installation is
+    complete.
+
+ 8. Select your Internet Connection.  Probably "Direct Connection" is
+    OK unless you are behind a firewall of some kind that limits your
+    access to the Internet.
+
+ 9. Choose a download site.  One that is "near" you on the net is
+    probably best.
+
+10. Select packages.  Choose Octave from the Math category and gnuplot
+    from the graphics category.
+
+11. Once the download and file installation is done, click Finish.  I
+    usually choose to create an icon on the desktop and put an icon in
+    the start menu.  After you click finish, a series of scripts will
+    run, displaying some output in a terminal window.  It will take a
+    few minutes.
+
+12. To run Octave, start Cygwin.  This will bring up a terminal
+    window.  In that window type
+
+      startx
+
+    (a running X server is needed for plotting).  Running startx will
+    bring up a new window.  In that window, type
+
+      octave
+
+    That should present you with an Octave prompt.  Type
+
+      sombrero (41)
+
+    at this prompt and a new window with the sombrero plot should appear.
+
+13. IMPORTANT: to build .oct files (dynamically loaded functions) for
+    Octave, you will also need the octave-headers package.  Currently,
+    due to some bugs in the most recent version of the C++ compiler
+    and libraries for Cygwin, you will also need gcc and g++ 3.3
+    rather than 3.4.  You can use the setup.exe installer to select
+    and install the older version.
+
+
+John W. Eaton
+jwe@bevo.che.wisc.edu
+University of Wisconsin-Madison
+Department of Chemical Engineering
+
+Tue Apr 18 15:22:59 2006
new file mode 100644
--- /dev/null
+++ b/README.MSVC
@@ -0,0 +1,279 @@
+Compiling Octave with MSVC
+
+Starting with Octave 2.9.9, Octave source tree contains support for
+MSVC (Microsoft C/C++ compiler).  This file explains how to
+successfully compile Octave under such a system.
+
+
+1. Requirements
+===============
+
+Depending whether you are compiling Octave from a release package or
+from CVS source tree, various additional tools are required.
+
+1.1 Shell
+---------
+
+The compilation process requires a working UNIX-like shell under
+Windows.  Such shell is provided either by Cygwin or MSYS (MinGW).
+The choice of the actual shell will have an impact on the rest of the
+procedure.  Altough both shell can be used, the procedure has been
+mainly tested under the MSYS shell.
+
+1.1.1 Cygwin shell
+
+The use of the Cygwin shell has the advantage of installation
+simplicity, as all required packages can be easily installed through
+the setup program.  However it presents some annoying compile-time
+problems.  The Cygwin shell can be installed via the setup program
+http://www.cygwin.com/setup.exe.  You should at least select the
+following packages
+
+  bash  grep  sed  make
+
+If you are building the CVS sources of Octave, you will also need
+
+  gawk  bison  flex  autoconf  tetex  texinfo  ghostscript
+
+When building from CVS, you need also gperf.  However, the version
+available under Cygwin is too old, so you should grab a more recent
+one.  You can either build gperf from the sources found at
+ftp://ftp.gnu.org or use the package from the GunWin32 project
+(http://gnuwin32.sourceforge.net).  Either way, get the gperf package,
+install it and make sure the executable is in your PATH under the
+Cygwin shell.
+
+1.1.2 MSYS shell
+
+The use of the MSYS shell requires more manual installation, but
+currently results in fewer compile-time problem.  Download and install
+the following packages from the MinGW download page
+(http://www.mingw.org):
+
+  MSYS-1.0.10.exe
+  msysDTK-1.0.1.exe
+
+If you are building the CVS sources of Octave, you will also need
+
+  msys-autoconf-2.59.tar.bz2
+
+from the MinGW site.
+
+  NOTE: the autoconf version included in msysDTK is too old (2.56).
+        Grab the newer one and simply uncompress it in the root
+        directory of the MSYS installation directory.
+
+If you are building from CVS, you will need the the following
+additional tools that are not part of the MSYS packages
+
+  bison  flex  gperf
+
+You can find these packages as part of the GnuWin32 project
+(http://gnuwin32.sourceforge.net) or you can build them from sources
+found at ftp://ftp.gnu.org.  Download and install these packages and
+make sure the executables are in your PATH under the MSYS shell.
+
+Building the documentation from CVS also requires additional tools,
+mainly TeX, texinfo and ghostscript.  MiKTeX (http://www.miktex.org)
+provides a user-friendly TeX implementation under Windows, with an
+easy-to-use installer.  Download and install MiKTeX if you're building
+from CVS, and make sure the executables (located in
+<MiKTeX_install>\Main\miktex\bin) are in your PATH under the MSYS shell.
+
+MiKTeX also provides texinfo.  However, the msysDTK package provides
+an out-dated version that cannot be used to build Octave
+documentation.  So you should make sure that you're using the MiKTeX
+implementation, by either playing with your PATH variable or renaming
+the makeinfo.exe, texi2dvi and texi2pdf files located in the directory
+<MSYS_install>\bin.
+
+Ghostscript is available from http://www.cs.wisc.edu/~ghost/.
+Download and install the package gsxxxw32.exe, where xxx stands for
+the actual release or ghostscript (as of writing this documentation,
+version is 8.54; hence the package is named gs854w32.exe).  Again,
+make sure the gswin32.exe executable is in your PATH under the MSYS
+shell.
+
+1.2 Gnuplot
+-----------
+
+Octave relies on gnuplot for plotting.  It is not necessary to install
+gnuplot just to build the Octave executable, but it is needed to
+create some figures for the documentation if you are building the CVS
+sources of Octave.
+
+A Windows version of Gnuplot can be found at http://www.gnuplot.info.
+Download and install it, and make sure the pgnuplot.exe executable is
+in your PATH under the shell.
+
+1.3 MSVC compiler
+-----------------
+
+You'll need a recent MSVC compiler.  This compiler is available for
+free (as in beer) from Microsoft MSDN web site.  Octave has been
+successfully compiled using version 8 of the compiler (AKA Visual
+Studio 2005).  To start a command prompt with the correct compilation
+environment, use the corresponding menu entry in your start menu.
+
+If you're using the free version of Visual Studio (Express edition),
+you'll need to install the Platform SDK package, also available from
+MSDN.  In that case, you'll also need to run the "SetEnv.cmd" script
+found in the SDK installation directory for the required additional
+setup.
+
+1.4 Unix-to-MSVC compilation scripts
+------------------------------------
+
+These scripts provide a UNIX-like compilation interface, based on the
+Microsoft compilation tools.  The package is available from the Octave
+web site.  Download and install the package, and make sure the scripts
+are in your PATH under the shell.
+
+As those scripts calls the Microsoft compilation tools, those tools
+should also be in your PATH.  I've found that the easiest way to get a
+correct environment is to start the shell from the command prompt that
+is already configured for MSVC.
+
+Hence the following steps:
+
+  * start command prompt from Visual Studio menu entry
+
+  * run "SetEnv.cmd" if required
+
+  * additional setup (like adding Gnuplot, GnuWin32 bin
+    directory... to the PATH)
+
+  * start the shell:
+
+    - MSYS:    start <MSYS_install>\bin\rxvt.exe -e /bin/sh --login -i
+    - Cygwin:  start <Cygwin_install>\cygwin.bat
+
+1.5 Glob library
+----------------
+
+Octave also requires a filename globbing library.  This library is
+typically part of the C library on UNIX systems, but is not part of
+the Windows or MSVC run-time libraries.  You can find a glob package
+on the Octave website.  This package provides the missing features and
+is intended to be compiled in a fully setup shell with the
+Unix-to-MSVC compilation scripts:
+
+  * download and decompress the sources
+  * run "./configure.vc" (you can edit it to change the installation dir)
+  * run "make"
+  * run "make install"
+
+Then you'll have to tell MSVC where to find the headers and library
+files by adjusting the INCLUDE and LIB environment variables.  This
+can be done before starting the shell, in the "additional setup" step
+(see above).
+
+1.6 Readline library
+--------------------
+
+While not mandatory to compile Octave, the readline library is very
+useful to make Octave really usable.  A patched version of the
+readline library can be found in the Octave website.  This patched
+version is intended to be compiled from the shell using the
+Unix-to-MSVC compilation scripts:
+
+ * download and decompress the sources (and apply the patch, if required)
+ * follow the instructions in the file README.msvc
+
+As for the glob library, adapt the INCLUDE and LIB environment
+variables.  Note that as Octave will be linked to the readline DLL,
+you should also add the path of readline.dll to your PATH variable.
+
+1.7 F2C
+-------
+
+As there exist no free MSVC-like fortran compiler, the compilation
+process makes use of the f2c utility and the libf2c library.  Those
+components can be downloaded from http://www.netlib.org/f2c/msdos/ and
+http://www.netlib.org/f2c/libf2c.zip.
+
+To compile libf2c, use makefile.vc and NMAKE.EXE.  To be usable within
+Octave, first edit makefile.vc and add "-MD" as compilation flag (to
+the CFLAGS variable).  Finally, install f2c.h and vcf2c.lib at
+locations where they can be found by the MSVC tools (adjust the
+INCLUDE and LIB variables).  Note that you must rename vcf2c.lib into
+f2c.lib so that Octave's configure script will find it.
+
+
+2. Compilation
+==============
+
+Copy the following lines into a shell script and execute it (note that
+you can use whatever you want as installation directory):
+
+--- BEGIN (cut me)
+#!/bin/sh
+if ! grep "__declspec(noreturn dllimport)" configure 2>&1 > /dev/null; then
+  echo "Pre-processing configure script..."
+  sed -e "s/'extern \"C\" void exit (int);'/'extern \"C\" __declspec(noreturn dllimport) void exit (int);' 'extern \"C\" void exit (int);'/g" configure \
+    > configure.tmp
+  mv configure.tmp configure
+fi
+
+CC=cc-msvc CXX=cc-msvc NM="dumpbin -symbols" AR=ar-msvc RANLIB=ranlib-msvc \
+  ./configure --build=i686-pc-msdosmsvc --prefix=/usr/local/octave-vc8-debug --with-f2c
+--- END (cut me)
+
+Then run the usual:
+
+  make
+  make install
+
+2.1 MSYS
+--------
+
+When building from the MSYS shell and CVS, everything should run fine
+until building the doc.  At some point, TeX might ask you for the
+location of the file conf.texi.  If this happens, simply type
+"../conf.texi" and the process should continue.
+
+2.2 Cygwin
+----------
+
+Building from the Cygwin shell and CVS produces more compile-time
+errors when generating the documentation.  Here are some fixes that
+should work around most problems:
+
+  * edit "run-octave" and add the 2 lines right after the definition of
+    LOADPATH and IMAGEPATH:
+
+      LOADPATH=`cygpath -d -p $LOADPATH`
+      IMAGEPATH=`cygpath -d $IMAGEPATH`
+
+  * if texi2dvi fails with the error "Fatal error: I'm stymied", defines TEX
+    variable to "tex" as in: "TEX=tex make"
+
+  * if pdftex fails in doc/refcard with the same error as above, edit
+  the Makefile and replace "pdftex" calls with "pdfetex"
+
+
+3. Installation
+===============
+
+The compiled Octave is relocatable.   This means that whetever
+installation dir you chose at configure time, you can move the whole
+installation directory to another location without any problem.   Octave
+should still run OK.
+
+
+4. Notes
+========
+
+This procedure has been successfully tested under Windows XP with
+Visual Studio 2005 Express edition, Platform SDK for Windows Server
+2003 R2, patched readline version 5.2, APFL ghostscript 8.54, Gnuplot
+4.0, MSYS-1.0.10, msysDTK-1.0.1, MiKTeX-2.4.  Depending on your
+configuration, it may or may not work for you.
+
+
+Please send questions, comments or suggestions to
+
+Michael Goffioul
+michael dot goffioul at swing dot be
+
+Thu Nov  2 11:30:50 2006
--- a/README.Windows
+++ b/README.Windows
@@ -1,73 +1,5 @@
-Octave is now part of the normal net distribution of Cygwin, available
-from http://www.cygwin.com.  To install the Cygwin package of Octave:
-
- 1. Use your favorite browser to view the page http://www.cygwin.com
-
- 2. Click on the "Install or update now" link.
-
- 3. A dialog should appear with the option to run the setup program
-    from its current location or save it to disk.  Either will work,
-    but I usually choose to save the setup program to disk so that it
-    is possible to run it later to update the installation without
-    having to go back to the web page using a browser.
-
- 4. Run the setup program.
-
- 5. Choose "Install from Internet".
-
- 6. Select a root install directory.  You may choose any directory, but
-    it needs to have enough space for Octave and all the related
-    tools.  Sorry, I don't know how much space that is at present.
-
- 7. Select a local package directory.  This is a directory that the
-    setup program will use to temporarily store package files before
-    installing them.  It should have plenty of space (probably 70MB
-    or more).  You may delete this directory once the installation is
-    complete.
-
- 8. Select your Internet Connection.  Probably "Direct Connection" is
-    OK unless you are behind a firewall of some kind that limits your
-    access to the Internet.
-
- 9. Choose a download site.  One that is "near" you on the net is
-    probably best.
-
-10. Select packages.  Choose Octave from the Math category and gnuplot
-    from the graphics category.
+See the file README.Cygwin for information about installing the binary
+package of Octave for Cygwin.
 
-11. Once the download and file installation is done, click Finish.  I
-    usually choose to create an icon on the desktop and put an icon in
-    the start menu.  After you click finish, a series of scripts will
-    run, displaying some output in a terminal window.  It will take a
-    few minutes.
-
-12. To run Octave, start Cygwin.  This will bring up a terminal
-    window.  In that window type
-
-      startx
-
-    (a running X server is needed for plotting).  Running startx will
-    bring up a new window.  In that window, type
-
-      octave
-
-    That should present you with an Octave prompt.  Type
-
-      sombrero (41)
-
-    at this prompt and a new window with the sombrero plot should appear.
-
-13. IMPORTANT: to build .oct files (dynamically loaded functions) for
-    Octave, you will also need the octave-headers package.  Currently,
-    due to some bugs in the most recent version of the C++ compiler
-    and libraries for Cygwin, you will also need gcc and g++ 3.3
-    rather than 3.4.  You can use the setup.exe installer to select
-    and install the older version.
-
-
-John W. Eaton
-jwe@bevo.che.wisc.edu
-University of Wisconsin-Madison
-Department of Chemical Engineering
-
-Tue Apr 18 15:22:59 2006
+See the file README.MSVC for instructions for compiling Octave with
+the MSVC compiler.