Mercurial > hg > octave-nkf
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.