Rev 9353 | Blame | Last modification | View Log | Download | RSS feed
R 1.1.0 for Windows====================This distribution contains the sources to build a port of R-1.1.0 torun on Windows 95, 98, NT4 and 2000 on Intel/clone chips. See readmefor fuller details, including how to install the binary versions.Building From Source on Windows===============================[Some further details, including how to debug, are given in the rw-FAQ.]First collect the tools that you need.Collect the tools-----------------We recommend that you use the mingw32 port of gcc-2.95.2 by Mumit Khanfrom http://www.mingw.org/ orftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32. You will alsoneed suitable versions of at least make, sh, cat, cp, cut, diff, echo,egrep, expr, g(awk), grep, ls, mkdir, mv, rm, sed, touch; we use thosefrom the cygwin distribution (http://sourceware.cygnus.com/cygwin andseveral mirrors) or (make) compiled from the GNU sources ourselves.We have packaged a set athttp://www.stats.ox.ac.uk/pub/bdr/RWin/tools.zip. BEWARE: Most`native' ports of make are not suitable (including that at the mingw32site), nor is the make dated 18-Jan-2000 in the Cygwin 1.1 netrelease. There are other problems with version 1.1.1 of thecygwin1.dll.It is also possible to use the compilers from the cygwin 1.1 releasewith the -mno-cygwin flag. (You will need the cygwin*, gcc* andbinutils* bundles.) As of R 1.1.0 it is no longer possible to buildR with the cygwin-b20.1 release, but you will probably be able to usethat to build packages. You will need to ensure that you haveonly one version of cygwin1.dll in your path (and there is one in ourtools distribution).We have also successfully used the variant ofmingw32 that uses the MSVCRT run-time system. Be aware that manyWindows 95 machines do not have MSVCRT.DLL installed.perl5, available via http://www.perl.com/CPAN/ports/.zip and unzip from the Info-ZIP project (http://www.info-zip.org andmirrors).If you want to make compiled html (.chm) files you will need theMicrosoft HTML Help Workshop, available for download athttp://msdn.microsoft.com/workshop/author/htmlhelp.If you want to make Windows (.hlp) files you will need a Windows helpcompiler, preferably hcrtf.exe. This has been available for download atftp://ftp.microsoft.com/softlib/mslfiles/hcwsetup.exe.All of these need to be installed and in your path, and theappropriate environment variables set.Building--------You also need: the R source (R-1.1.0.tgz), and to build theinstaller, unzip541.zip from any Info-ZIP mirror.Then: untar R-1.1.0.tgz somewhere (with no spaces in the path names),cd /somewhere/R-1.1.0/src/gnuwin32IMPORTANT: edit MkRules to set the appropriate paths as needed. Ifyou have Mingw32/cross-compiler and gcc-2.95.2.1 or later you can setHAVE_SHARED=YES which will speed up the process considerably.Edit Makefile to set the type(s) of help that you want built.and runmake BUILD=MINGW32 or CYGWINNote 1: the file rw1010\unzip\unzip32static.dll is not in the sourcedistribution. It can be found in file unz541dN.zip at any Info-ZIPmirror, or you can copy it from a binary distribution.The file rw1010\bin\Rchtml.dll is only built if CHM help is specifedin the main Makefile. Its source is the help directory, and you needthe HTML Help Workshop files to build it. It contains instructionsto build it under VC++6, and it is preferable to use that as theVC++ library will check versions of the components needed. You can justcopy this from a binary distribution.Note 2: we are aware that because of limitations in line length or inthe shell used that the Makefiles do not work unchanged on all thepossible combinations of tools, compilers and OSes. We have testedthe tools in tools.zip under NT with the mingw32 and cygwin 1.1compilers, and cross-building (see below).Note 3: building libR.a is highly disk intensive and can take severalminutes even on a local disc. We have seen times from 30 secs to 20minutes. Using a network file system is likely to take longer. It isdone in memory and is *much* faster with gcc-2.95.2.1 or later onmingw32.You can test a build by `make check': expect some differences in thetests of the print routines.Building bitmap device support------------------------------The file rw1010\bin\Rbitmap.dll is not built automatically:instructions on how to build it are in the file bitmap\INSTALL. Youcan just copy this from a binary distribution.Building Tcl/Tk support-----------------------The TclTk support library is not built automatically. To use this youneed to install tcl831.exe from dev.scriptics.com, and set TCL_HOME inMkRules to where you installed it (perhaps c:/Program Files/Tcl).Thenmake tclwill make the library.Cross-building on ix86 Linux============================You will need i386-mingw32 cross-compilers installed and in your path.There is currently a complete set of tools athttp://www.stats.ox.ac.uk/pub/bdr/RWin/i386cross.tar.bz2(Just unpack this somewhere and put its bin directory in your path.)Instructions for building a cross-compiler are given athttp://www.nanotech.wisc.edu/~khan/software/gnu-win32/mingw-cross-howto.txtAt the time of writing these were somewhat outdated. Apart from thecompiler, you need the mingw32 runtime system and a cross-builtversion of binutils 2.9.4.You will need Perl, zip and unzip installed.You also need: the R source (R-1.1.0.tgz), and to build the installer,unzip541.zip from any Info-ZIP mirror.Then: untar R-1.1.0.tgz somewhere, andcd /somewhere/R-1.1.0/src/gnuwin32Edit MkRules to set BUILD=CROSS and the appropriate paths (includingHEADER) as needed.Edit Makefile to set the type(s) of help that you want built. (Youwill not be able to cross-build .chm or .hlp files, nor Rchtml.dll,so set WINHELP to NO.)Packages can be made in the same way as natively: see the filereadme.packages.Building the Manuals====================To make the PDF versions of the manuals you will need pdftex installedand configured to work with a large file: see doc/manual/README. Then thepdf manuals can be made bymake docsIf you want to make the info versions, you will need a version ofmakeinfo 4.0 for Windows and texindex. Thencd ../../doc/manualsmake -f Makefile.win infowill make the info files.There is no provision to make DVI versions of the manuals, although../../doc/manuals/Makefile.win could easily be edited to do so.The fptex distribution of TeX (fromftp://ftp.ese-metz.fr/pub/tex/win32-beta/fptex-0.4alpha3/ at present)includes both pdftex and makeinfo 4.0 (in texinfo.zip). (The cygwinmakeinfo, even in release 1.1, is 3.12, but the fptex version issupplied in our tools.zip.)Feedback========Please send comments and bug reports to (preferably both of)Guido Masarotto <guido@hal.stat.unipd.it>Brian Ripley <ripley@stats.ox.ac.uk>