From 8ce23636dcbfeb54b2117f844a87b9b1292b88bb Mon Sep 17 00:00:00 2001 From: Chris Marshall Date: Mon, 14 Aug 2006 22:23:39 +0000 Subject: [PATCH] Updated some top level docs and added some cygwin config example files to help with compiling external dependencies. --- BUGS | 1 + COPYING | 2 +- Changes | 7 ++- DEPENDENCIES | 106 ++++++++++++++++++---------------- DEVELOPMENT | 31 +++++----- INSTALL | 8 +++ Known_problems | 55 +++++++++--------- README | 15 +++-- Release_Notes | 3 +- cygwin/INSTALL | 78 +++++++++++++++++++------ cygwin/README | 17 +++--- cygwin/drivers.list | 114 +++++++++++++++++++++++++++++++++++++ cygwin/g77_gcc.conf | 135 ++++++++++++++++++++++++++++++++++++++++++++ 13 files changed, 446 insertions(+), 126 deletions(-) create mode 100644 cygwin/drivers.list create mode 100644 cygwin/g77_gcc.conf diff --git a/BUGS b/BUGS index 38d3f6b42..9ef9e1c32 100644 --- a/BUGS +++ b/BUGS @@ -1,3 +1,4 @@ + BUG REPORTS ----------- diff --git a/COPYING b/COPYING index e0b141304..77d12dd23 100644 --- a/COPYING +++ b/COPYING @@ -1,4 +1,4 @@ - Copyright (c) 1997-2004 by the contributors named in the individual files. + Copyright (c) 1997-2006 by the contributors named in the individual files. All rights reserved. This distribution is free software; you can redistribute it and/or modify it under the same terms as Perl itself. diff --git a/Changes b/Changes index 936df17f7..49e56e773 100644 --- a/Changes +++ b/Changes @@ -1,4 +1,9 @@ -CED 13-AUg-2006 +CHM 14-Aug-2006 + Touch up top level documentation files and add some config + files to PDL/cygwin/. Files changed: BUGS, COPYING, + DEPENDENCIES, DEVELOPMENT, INSTALL, Known_problems, README, + Release_Notes, cygwin/INSTALL, cygwin/README. +CED 13-Aug-2006 - Minor fixes to Transform -- t_fits CI_J header notation; also: dims copied between params and main object in t_spherical and t_projective. diff --git a/DEPENDENCIES b/DEPENDENCIES index 13e08b207..6c985f5cb 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -1,14 +1,18 @@ PDL Module Dependencies +======================= -This file lists dependencies of PDL modules on external programs/libraries. -Some of the modules will build ok without the external software but in -general are not very useful without it. Others require certain -libraries/include files to be installed. See INSTALL on hints how to -enable/disable building of some modules in the distrib if required. +This file lists dependencies of PDL modules on external +programs/libraries. Some of the modules will build ok +without the external software but in general are not very +useful without it. Others require certain libraries/include +files to be installed. See INSTALL on hints how to +enable/disable building of some modules in the distrib if +required. -The easiest way to resolve dependencies on other Perl modules is to use -the CPAN module to install PDL. Installation should be as simple as +The easiest way to resolve dependencies on other Perl +modules is to use the CPAN module to install PDL. +Installation should be as simple as cpan install PDL # if the cpan script is in your path @@ -20,29 +24,28 @@ or if you don't have the cpan script try MODULE DEPENDS ON COMMENT -PDL (all) perl >= 5.6.x you need at least this version - (5.8.x recommended) of perl to succeed. +PDL (all) perl >= 5.6.x you need at least this version + (5.8.x recommended) of perl to succeed. - File::Spec version >= 0.6 required, included - with recent perls (5.6.x and higher) + File::Spec version >= 0.6 required, included + with recent perls (5.6.x and higher) -PDL::NiceSlice Text::Balanced a nicer way to index piddles - Filter a must-have!! +PDL::NiceSlice Text::Balanced a nicer way to index piddles + Filter a must-have!! -Inline::Pdlpp Inline version >= 0.43 required - module allows to define fast PP code - inline in your scripts +Inline::Pdlpp Inline version >= 0.43 required + module allows to define fast PP code + inline in your scripts -perldl (shell) Term::ReadLine perl provides a stub but if you - compile and install a better one - (Term::ReadLine or - Term::ReadLine::Gnu) you get proper - command line editing +perldl (shell) Term::ReadLine perl provides a stub but if you + compile and install a better one + (Term::ReadLine or Term::ReadLine::Gnu) + you get proper command line editing PDL::Graphics::TriD - perl 5.6 & + perl 5.6 & Requires OpenGL implementation. For free implementation - check out Mesa at http://www.ssec.wisc.edu/~brianp/Mesa.html + check out Mesa at http://www.mesa3d.org/ Required. Module won't build without libraries. To disable @@ -51,7 +54,7 @@ PDL::Graphics::TriD PDL::Graphics::PGPLOT PGPLOT perl module and PGPLOT fortran library, see http://astro.caltech.edu/~tjp/pgplot for the library - and CPAN or http://www.aao.gov.au/local/www/kgb/pgperl + and CPAN at http://search.cpan.org/search%3fmodule=PGPLOT for the perl module Module builds ok without @@ -74,7 +77,7 @@ PDL::Graphics::IIS PDL::Graphics::Karma Needs Karma visualisation library and tools. - See http://www.atnf.csiro.au/karma. Binary distribs + See http://www.atnf.csiro.au/karma . Binary distribs for many popular platforms available Module will only be built @@ -83,56 +86,61 @@ PDL::Graphics::Karma PDL::IO::Pic rpic/wpic: pbm+ or netpbm converters - ftp://wuarchive.wustl.edu/graphics/graphics/packages/NetPBM + http://netpbm.sourceforge.net/ and ftp://ftp.uu.net/graphics/jpeg for jpeg converter wmpeg: mpeg_encode program, - see ftp://mm-ftp.cs.berkeley.edu/pub/multimedia/mpeg/encode + see http://bmrc.berkeley.edu/ftp/pub/multimedia/mpeg/encode/ Module builds ok without converters -PDL::Slatec ExtUtils::F77 linear algebra routines - several other modules use PDL::Slatec +PDL::Slatec ExtUtils::F77 linear algebra routines + several other modules use PDL::Slatec + Slatec fortran lib is included but requires a - fortran compiler and the perl module ExtUtils::F77 - (version >= 1.03) to be installed. + fortran compiler and the perl module ExtUtils::F77 + (version >= 1.03) to be installed. Will not be built unless ExtUtils::F77 (version >= 1.03) - is installed and Extutils::F77 - supports your platform. + is installed and Extutils::F77 + supports your platform. + PDL::GSL modules Needs the GSL (Gnu Scientific Library) to build. - Version >= 1.0 is required - See http://sourceware.cygnus.com/gsl/ + Version >= 1.0 is required + See http://www.gnu.org/software/gsl/ Will not be built unless - GSL is installed. + GSL is installed. + PDL::FFTW - Needs the FFTW to build. (A free C FFT library - including multi-dimensional, real, and parallel - transforms) - See http://www.fftw.org/ + Needs the FFTW version 2 (not 3!) to build. (A free C + FFT library including multi-dimensional, real, and parallel + transforms) See http://www.fftw.org/ Will not be built unless - FFTW is installed. + FFTW is installed. PDL::IO::Browser - Requires a 'curses'-compatible library - not built by default (edit perldl.conf to enable) + Requires a 'curses'-compatible library + not built by default (edit perldl.conf to enable). Build + appears to be broken for many platforms. PDL::IO::FITS Needs Astro::FITS::Header for full support of all FITS - header features. Will build ok, and run, without it. + header features. Will build ok, and run, without it but + for given that Astro::FITS::Header is a Perl only module, + you should install it unless you specifically need not. + It is currently listed as a prerequisite module for the + purposes of building with the cpan shell. PDL::IO::NDF Requires the perl/NDF interface (NDFPERL). (which also requires a fortran compiler and the - fortran NDF library). See either - http://www.jach.hawaii.edu/jcmt_sw/perl/ or - http://www.starlink.rl.ac.uk/cgi-store/storeform2?NDFPERL - for information on NDFPERL. See - http://www.starlink.rl.ac.uk/cgi-store/storeform2?NDF + fortran NDF library). Get the STARPERL package from + http://www.starlink.rl.ac.uk/cgi-store/storeform2?STARPERL + to get NDFPERL. See http://www.starlink.rl.ac.uk/cgi-store/storeform2?NDF to retrieve the NDF libraries. Module builds ok without diff --git a/DEVELOPMENT b/DEVELOPMENT index dacf3720c..fabb3cbbe 100644 --- a/DEVELOPMENT +++ b/DEVELOPMENT @@ -1,3 +1,4 @@ + This file has some information on how to get access to the latest PDL sources (mainly of interest for potential developers). This should not be confused with the latest @@ -11,7 +12,7 @@ From version PDL-2.003 onwards the source distribution is in a publicly accessible CVS repository. The project is hosted at the sourceforge site at - http://www.sourceforge.org/project/?form_grp=612 + http://sourceforge.net/projects/pdl/ Starting from that URL you will find directions on how to check out the current sources, browse the CVS repository online, etc. @@ -22,12 +23,13 @@ URL) to apply for write access to the repository. We strongly believe in the power of open source development! If you do not know how to use CVS try 'man cvs' or 'info cvs' and/or -have a look at some of the online tutorials available on the web. A -nice concise one is at +have a look at some of the online tutorials available on the web. +The main CVS home page is at - http://www.cyclic.com/cvs/doc-blandy-text.html + http://www.nongnu.org/cvs/ -and a very good/complete one is the online version of the CVS book at +and a very good/complete CVS reference is the online version of the +CVS book at http://cvsbook.red-bean.com/cvsbook.html @@ -54,20 +56,21 @@ PDL CVS repository. 2) Make sure you add a test case in the 't' directory for any significant additional capability you add to the PDL package. - Please use one the Test modules available within Perl - ie - "use Test::More;" - rather than doing-it-yourself as most of - our tests - do! + Please use one the of the Test modules available within Perl + rather than doing-it-yourself as many of our tests do! The + recommended testing module is Test::More which now distributed + with the perl distribution. 3) Don't commit before you successfully built and passed 'make - test'. But then again, don't keep your changes private for too long - to avoid conflicts with other developers. + test'. But then again, don't keep your changes private for too + long to avoid conflicts with other developers. 4) Bugs reported on the list should be entered into the bug database and bugs closed when a patch has been committed as a fix. (Primary responsibility for this task is the pumpking, but other devels should be able to help.) + PDL Developer Notes: -------------------- @@ -79,8 +82,8 @@ improve or add to PDL (please do): See the pdl-porters email list; details for subscription and access to the archives can be found on the PDL web page at: - http://pdl.perl.org/maillists/index_en.html - http://pdl.perl.org/maillists/index_de.html + http://pdl.perl.org/maillists/index_en.html (English) + http://pdl.perl.org/maillists/index_de.html (German) *) Access to PDL's configuration @@ -88,7 +91,7 @@ If you need to access the configuration for PDL then use the %PDL::Config variable. Prior to 2.4.1 this was a mess since you had to use %PDL_CONFIG within Makefile.PL and PDL::Config from *.pm/tests. The build process has been changed (I hesitate to say -"cleaned up" ;) to just use %PDL::Config. +"cleaned up" ;) to just use %PDL::Config consistently throughout. - %PDL::Config is automatically available to you when you are in a Makefile.PL within the PDL distribution. You can change the hash diff --git a/INSTALL b/INSTALL index f00436d46..3334747e4 100644 --- a/INSTALL +++ b/INSTALL @@ -9,6 +9,8 @@ upgrade get at least this version. See win32/INSTALL for details on installing PDL on windows platforms. +See cygwin/INSTALL for details on installing PDL on cygwin platforms. + The file DEPENDENCIES summarizes the dependencies of various PDL modules on libraries/other packages. The location of some of these files needs to be specified in the file perldl.conf. @@ -25,6 +27,10 @@ or if you don't have the cpan script try perl -MCPAN -e shell cpan> install PDL +NOTE: if this is your first time running the cpan shell, you'll be +propted to configure the running environment. + + perldl.conf ----------- @@ -72,6 +78,7 @@ There is also another make item: creates the documentation database for use in the perldl shell. + f77 configuration ----------------- @@ -89,6 +96,7 @@ Note that almost always it is better to use ExtUtils::F77. Only use the F77CONF mechanism if you have a good reason to. Win32 is special. See win32/INSTALL. + COMMON PROBLEMS --------------- diff --git a/Known_problems b/Known_problems index 575f4a454..457ed3e65 100644 --- a/Known_problems +++ b/Known_problems @@ -12,35 +12,32 @@ PDL: including for the following files: PLplot.xs, GD.xs, GD.c, INTERP.xs, RNG.xs, and RNG.c. -? Modern versions of MakeMaker (e.g. 6.22) fail to compile PDL, apparently -? because of the removal of the magic pm_to_blib target. Current -? versions (such as 6.17, bundled with the current perl, v5.8.6) work OK. -? With PDL 2.4.2, we have followed the core perl team in our use of -? earlier MakeMaker versions. - -? If @INC has '.' at the front of the search path part of the build will -? fail (specifically mkpdlconv will not be able to 'use English' since -? it uses Exporter.pm from Basic/Core and not the system Exporter.pm). -? [added by Tim Jenness on 15 Apr 2000] -? [This appears to be fixed but this note is left FYI for the 2.4.2 release -- CED 16-Dec-2004 ] - -? PDL::Graphics::TriD doesn't seem to link correctly on the Mac, under -? MacOS 10.5 & 10.6. It has not been fixed in part because TriD needs an -? overhaul anyway, and in part because the code is cryptic. If you'd like -? to fix it, please do! Patches welcome. (PDL::Graphics::TriD is disabled -? by default on Mac installs, thanks, Doug) - -? SourceForge bugs outstanding at time of release: -? -? 1530666 bugs in Transform.pm -? 1505171 failure in MatrixOps::eigens in CVS -? 1476324 How to force a completely clean installation -? 1465864 limits_round.t test failure -? 1465603 flexraw fails on Intel OS X with gfortran -? 1465414 Need lib64 version in various lib search paths for AMD64 -? 1435189 Installation with cpan2rpm -? 1339530 pdlcore.c fails to build on IRIX and AIX -? 1205359 PGPLOT Window does not store full state info +- Modern versions of MakeMaker (e.g. 6.22) fail to compile PDL, apparently + because of the removal of the magic pm_to_blib target. Current + versions (such as 6.17, bundled with the current perl, v5.8.6) work OK. + With PDL 2.4.2, we have followed the core perl team in our use of + earlier MakeMaker versions. As of PDL 2.4.3 this may have been resolved. + If it works for you, please let us know! Thanks. + +- PDL::Graphics::TriD doesn't seem to link correctly on the Mac, under + MacOS 10.5 & 10.6. It has not been tested for the 2.4.3 release. The + TriD build has been cleaned so this problem may have been resolved. + If you'd like to test/fix it, please do! Patches welcome. + (PDL::Graphics::TriD is disabled by default on Mac installs, edit + the perldl.conf file if you wish to test this feature) + +- The following SourceForge bugs are outstanding at time of the 2.4.3 + point release: + + 1530666 bugs in Transform.pm + 1505171 failure in MatrixOps::eigens in CVS + 1476324 How to force a completely clean installation + 1465864 limits_round.t test failure + 1465603 flexraw fails on Intel OS X with gfortran + 1465414 Need lib64 version in various lib search paths for AMD64 + 1435189 Installation with cpan2rpm + 1339530 pdlcore.c fails to build on IRIX and AIX + 1205359 PGPLOT Window does not store full state info For more information on these and other PDL issues, and for submissions of patches (bug patches are always welcome!), diff --git a/README b/README index dd1bc3345..931534cb3 100644 --- a/README +++ b/README @@ -8,21 +8,30 @@ Please check the following files for further information *BEFORE* sending us your questions: INSTALL detailed installation instructions + Known_problems check before you report compilation problems + DEPENDENCIES Other software that PDL relies on (and where to get it) + BUGS how to make a bug report and where to send it + perldl.conf PDL configuration options + Basic/Pod/FAQ.pod the FAQ in pod format try 'perldoc PDL::FAQ' after installation + Basic/Pod/Impatient.pod a quick overview of PDL try 'perldoc PDL::Impatient' after installation + Basic/Pod/BadValues.pod a discussion of the bad value support in PDL + PDL::Index a guide to PDL documentation !only available *after* successful installation! try 'perldoc PDL::Index' + DEVELOPMENT how to participate in the development of PDL Release_Notes a list of issues with regard to the current version @@ -31,6 +40,7 @@ Release_Notes a list of issues with regard to the current version *Note* that most PDL documentation is available online within the perldl shell. Try the help command within the shell! + PDL -- the package ------------------ @@ -93,8 +103,3 @@ The CPAN Testers' result page provides a database showing the results of compiling PDL and many other CPAN packages on multiple platforms. See http://www.perl.org/cpan-testers/results.cgi - - - - - diff --git a/Release_Notes b/Release_Notes index 05cb38ea2..aeab20cb6 100644 --- a/Release_Notes +++ b/Release_Notes @@ -15,7 +15,7 @@ Summary of Changes: - PDL now builds under cygwin on windows PC including TriD(OpenGL) 3D graphics and PGPLOT and PLplot 2D graphics - support. See PDL/cygwin files README and INSTALL for + support. See PDL/cygwin/ and files README and INSTALL for details and how to build/install external dependencies. - The win32 build has been improved. See PDL/win32/INSTALL @@ -78,7 +78,6 @@ Summary of Changes: - Release notes for PDL 2.4.2 ------------------------------ General Notes: diff --git a/cygwin/INSTALL b/cygwin/INSTALL index abd04aa31..13f5057d4 100644 --- a/cygwin/INSTALL +++ b/cygwin/INSTALL @@ -1,5 +1,5 @@ Created on: Thu 27 Jul 2006 09:43:26 PM -Last saved: Thu 27 Jul 2006 11:21:07 PM +Last saved: Mon 14 Aug 2006 06:12:59 PM ================================================================= Installing with CPAN on Cygwin @@ -11,6 +11,10 @@ This will get you all the functionality that is supported by existing cygwin package functionality (i.e. available from the standard Setup.exe installs). +!! NOTE: you will be asked to answer some configuration +!! questions the first time you use cpan on your system. +!! Most should be self-explanatory. + Just start up an xterm and run cpan from the bash prompt: bash$ cpan @@ -41,25 +45,29 @@ The remaining PDL functionality depends on external libraries and packages that must be pre-installed before installing PDL. If you want to use other modules with external dependencies -not available through the Setup.exe from www.cygwin.com +not available through the Setup.exe from http://www.cygwin.com then you'll need to get, build, and install the desired -libraries yourself (HOW-TO notes below). +libraries yourself (see the HOW-TO notes below). -So the configure/build/install process is: +The manual configure/build/install process is: Edit the PDL/perldl.conf file as desired From the bash$ prompt in the top level PDL/ directory: - perl Makefile.PL - make - make test - make doctest + perl Makefile.PL # configures all the Makefile + + make # builds/compiles everything + + make test # run test suite + + make doctest # builds online documentation + # and html docs You can test the interactive PDL shell before installing by running from the PDL/ top level directory: - perl -Mblib perldl + perl -Mblib perldl # quit to exit the PDL shell Then, to install the PDL into your system run @@ -70,8 +78,8 @@ So the configure/build/install process is: ================================================================= FFTW ================================================================= -You'll need to build *version 2* of the FFTW library for PDL. -Version 3 has a new API and is not compatible with this PDL. +!! You'll need to build *version 2* of the FFTW library for PDL. +!! Version 3 has a new API and is not compatible with this PDL. # download the source code if needed, I used wget wget http://www.fftw.org/fftw-2.1.5.tar.gz @@ -92,6 +100,7 @@ The FFTW library built without a hitch and installed in /usr/local as the default (/usr/local/lib, /usr/local/include, and /usr/local/info). A clean build of PDL should pick it up. +NOTE: if problems see rebaseall below. ================================================================= @@ -114,7 +123,7 @@ and /usr/local/info). A clean build of PDL should pick it up. Edit drivers.list to enable the drivers you wish but uncommenting desired drivers by removing the leading ! on the - line. Here are the ones I used: + line. Here are the ones I used (see PDL/cygwin/driver.list): $ grep -v '^!' drivers.list LXDRIV 0 /LATEX LaTeX picture environment @@ -133,7 +142,8 @@ and /usr/local/info). A clean build of PDL should pick it up. Edit the sys_cygwin configuration file to work with the current version of cygwin. (TBD, update this file and pass on - to pgplot distribution for inclusion) + to pgplot distribution for inclusion, for now see + PDL/cygwin/g77_gcc.conf) $ vi sys_cygwin/g77_gcc.conf @@ -179,7 +189,9 @@ PDL::Graphics::PGPLOT. $ perl Makefile.PL Hand edit the Makefile generated by Makefile.PL and correct - the link line. + the link line (TBD: fix the Makefile.PL build process and + propagate cygwin fixes back to the module author. Sorry, + you'll have to edit this one). $ vi Makefile @@ -207,6 +219,7 @@ PDL::Graphics::PGPLOT. If your pgplot installation worked, it should be picked up automatically. +NOTE: if problems see rebaseall below. ================================================================= @@ -236,22 +249,53 @@ download and build plplot: $ make check $ make install -NOTE: be sure to add /usr/local/plplot/bin to your path! +NOTES: + + (1) be sure to add /usr/local/plplot/bin to your path! + + (2) I had some font artifacts that have not been resolved + Your mileage may vary... + Now you should be able to build PDL and have it pick up the plplot install. WARNING: If t/plplot.t fails with no messages, the problem may be DLL address conflicts. If so, you'll need to run rebaseall per the instructions below. + ================================================================= REBASEALL ================================================================= +There is a known issue on cygwin where DLLs have to have their +base addresses fixed so that runtime conflicts do not occur. The +problems occur for the external modules and their interfaces using +DLLs. Specifically, the DLLs in /usr/lib/perl5 and the DLLs in +the PLplot bin directory at least. The usual sign for this is +that some tests fail mysteriously. If you run the failing test +by hand (for example): + + perl -Mblib t/plplot.t + +You'll see no error but only 1 test run or even a message saying +that the test failed before generating any output. If so, you'll +need to run rebaseall: + + 0. Generate a list of additional DLLs to check: + find /usr/lib/perl5 /usr/local/plplot -iname '*.dll' > /bin/fixit.list + 1. Exit all cygwin processes, windows, shells, X server,... + 2. Start up a windows CMD shell window (Start->Run cmd) + 3. cd to the cygwin /bin directory (cd c:\cygwin\bin by default) - 4. Run ash in that directory - 5. Run rebaseall (./rebaseall) + 4. Run ash in that directory (ash) + + 5. Run rebaseall (./rebaseall -T fixit.list) + +After the rebaseall command has completed, you should be able to +start up X windows and rerun the failed tests (perl -Mblib t/testname.t) +or all tests (make test). ================================================================= diff --git a/cygwin/README b/cygwin/README index 543b0ca7e..9b2f8bbdb 100644 --- a/cygwin/README +++ b/cygwin/README @@ -1,5 +1,5 @@ Created on: Thu 27 Jul 2006 09:43:26 PM -Last saved: Thu 27 Jul 2006 09:48:05 PM +Last saved: Mon 14 Aug 2006 05:37:48 PM ================================================================= Overview @@ -51,6 +51,12 @@ external dependencies: PDL::IO::GD (Builds if the gd lib is installed in cygwin) + PDL::GIS::Proj (PROJ4 builds/installs on cygwin but + the PDL build process does not complete) + + PDL::Transform::Proj4 (PROJ4 builds/installs on cygwin but the + PDL build process does not complete) + PDL::Slatec (Builds if ExtUtils::F77 has been installed) @@ -62,19 +68,14 @@ external dependencies: These modules with external dependencies are not yet available for cygwin: - PDL::GIS::Proj (PROJ4 builds/installs on cygwin but - the PDL build process does not complete) - PDL::Graphics::IIS PDL::Graphics::Karma (Karma has not been ported to cygwin) - PDL::IO::Browser (Build fails) + PDL::IO::Browser (Build will fail if enabled, disabled + by default for all OSes) PDL::IO::HDF (HDF has not been ported to cygwin) PDL::IO::NDF (Builds ok but needs cygwin port of NDF) - PDL::Transform::Proj4 (PROJ4 builds/installs on cygwin but the - PDL build process does not complete) - diff --git a/cygwin/drivers.list b/cygwin/drivers.list new file mode 100644 index 000000000..614dba4d8 --- /dev/null +++ b/cygwin/drivers.list @@ -0,0 +1,114 @@ +! PGPLOT drivers. +!------------------------------------------------------------------------------ +! To configure PGPLOT, ensure that drivers you do not want are +! commented out (place ! in column 1). N.B. Many device-drivers are +! available on selected operating systems only. +!------------------------------------------------------------------------------ +! File Code Description Restrictions +! BCDRIV 0 /BCANON Canon Laser printer (bitmap version), landscape +! CADRIV 0 /CANON Canon Laser printer, LBP-8/A2, landscape +! CCDRIV 0 /CCP DEC LJ250 Color Companion printer +! CGDRIV 1 /CGM CGM metafile, indexed colour selection C +! CGDRIV 2 /CGMD CGM metafile, direct colour selection C +! CWDRIV 0 /CW6320 Gould/Bryans Colourwriter 6320 pen plotter Std F77 +! EPDRIV 0 /EPSON Epson FX100 dot matrix printer +! EXDRIV 1 /EXCL Talaris/EXCL printers, landscape +! EXDRIV 2 /EXCL Talaris/EXCL printers, portrait +! GCDRIV 0 /GENICOM Genicom 4410 dot-matrix printer, landscape +! Caution: use of GIDRIV may require a license from Unisys: +! GIDRIV 1 /GIF GIF-format file, landscape +! GIDRIV 2 /VGIF GIF-format file, portrait +! GLDRIV 1 /HPGL Hewlett-Packard HP-GL plotters, landscape Std F77 +! GLDRIV 2 /VHPGL Hewlett-Packard HP-GL plotters, portrait Std F77 +! GODRIV 0 /GOC GOC Sigma T5670 terminal VMS +! GVDRIV 0 /GVENICOM Genicom 4410 dot-matrix printer, portrait +! HGDRIV 0 /HPGL2 Hewlett-Packard graphics language +! HIDRIV 0 /HIDMP Houston Instruments HIDMP pen plotter +! HJDRIV 0 /HJ Hewlett-Packard Desk/Laserjet printer +! HPDRIV 0 /HP7221 Hewlett-Packard HP7221 pen plotter Std F77 +! LADRIV 0 /LA50 Dec LA50 and other sixel printers +! LJDRIV 0 /LJ Hewlett-Packard LaserJet printers VMS +! LSDRIV 1 /LIPS2 Canon LaserShot printer (landscape) +! LSDRIV 2 /VLIPS2 Canon LaserShot printer (portrait) +! LNDRIV 0 /LN03 Dec LN03-PLUS Laser printer (landscape) VMS +! LVDRIV 0 /LVN03 Dec LN03-PLUS Laser printer (portrait) VMS + LXDRIV 0 /LATEX LaTeX picture environment +! MFDRIV 0 /FILE PGPLOT graphics metafile +! NEDRIV 0 /NEXT Computers running NeXTstep operating system + NUDRIV 0 /NULL Null device (no output) Std F77 +! PGDRIV 0 /PGMF PGPLOT metafile (new format, experimental) Std F77 +! PNDRIV 1 /PNG Portable Network Graphics file C +! PNDRIV 2 /TPNG Portable Network Graphics file - transparent background C + PPDRIV 1 /PPM Portable Pixel Map file, landscape + PPDRIV 2 /VPPM Portable PIxel Map file, portrait + PSDRIV 1 /PS PostScript printers, monochrome, landscape Std F77 + PSDRIV 2 /VPS Postscript printers, monochrome, portrait Std F77 + PSDRIV 3 /CPS PostScript printers, color, landscape Std F77 + PSDRIV 4 /VCPS PostScript printers, color, portrait Std F77 +! PXDRIV 0 /PRINTRONI Printronix P300 or P600 dot-matrix printer +! QMDRIV 1 /QMS QUIC devices (QMS and Talaris), landscape Std F77 +! QMDRIV 2 /VQMS QUIC devices (QMS and Talaris), portrait Std F77 +! TFDRIV 0 /TFILE Tektronix-format disk file VMS +! TODRIV 0 /TOSHIBA Toshiba "3-in-one" printer, model P351 +! TTDRIV 1 /TEK4010 Tektronix 4006/4010 storage-tube terminal Std F77 +! TTDRIV 2 /GF GraphOn terminal Std F77 +! TTDRIV 3 /RETRO RetroGraphics terminal Std F77 +! TTDRIV 4 /GTERM GTERM Tektronix terminal emulator Std F77 + TTDRIV 5 /XTERM XTERM Tektronix terminal emulator Std F77 +! TTDRIV 6 /ZSTEM ZSTEM terminal emulator Std F77 +! TTDRIV 7 /V603 Visual 603 terminal Std F77 +! TTDRIV 8 /KRM3 Kermit 3 on IBM-PC Std F77 +! TTDRIV 9 /TK4100 Tektronix 4100-series terminals Std F77 +! TTDRIV 10 /VMAC Macintosh VersaTerm-PRO Tektronix-4105 emulator Std F77 +! TXDRIV 0 /TX TeX PK Font Output files +! VADRIV 0 /VCANON Canon Laser printer, LBP-8/A2, portrait +! VBDRIV 0 /VBCANON Canon Laser printer (bitmap version), portrait +! VTDRIV 0 /VT125 Dec Regis terminals (VT125 etc.) Std F77 + WDDRIV 1 /WD X Window dump file, landscape + WDDRIV 2 /VWD X Window dump file, portrait +! WSDRIV 0 /WS VAX workstations running VWS software VMS +! X2DRIV 0 /XDISP PGDISP or FIGDISP server for X workstations C + XWDRIV 1 /XWINDOW Workstations running X Window System C + XWDRIV 2 /XSERVE Persistent window on X Window System C +! ZEDRIV 0 /ZETA Zeta 8 Digital Plotter +! +! The following drivers can only be used in PGPLOT installations on MS-DOS +! systems with appropriate hardware and software. Do not select these +! on UNIX or VMS systems. +! +! LHDRIV 0 /LH IBM PCs and clones, Lahey F77 32-bit Fortran v5.0 +! MSDRIV 0 /MSOFT IBM PCs and clones running Microsoft Fortran 5.0 +! SSDRIV 0 /SS IBM PCs and clones, MS-DOS, Salford Software FTN +! +! The following driver can only be used in PGPLOT installations on Acorn +! Archimedes systems with appropriate hardware and software. +! +! ACDRIV 0 /ARC Acorn Archimedes computer +! +! Selection of the XMOTIF driver causes a stub driver to be placed in +! the main PGPLOT library. The real driver is placed in libXmPgplot.a. +! Applications that need the Motif driver should link with libXmPgplot.a +! before the PGPLOT library. This treatment means that only Motif +! applications have to be linked with Motif libraries. +! +! XMDRIV 0 /XMOTIF Motif applications containing XmPgplot widgets. C +! +! Selection of the XATHENA driver causes a stub driver to be placed in +! the main PGPLOT library. The real driver is placed in libXawPgplot.a. +! Applications that need the Athena driver should link with libXawPgplot.a +! before the PGPLOT library. This treatment means that only Athena +! applications have to be linked with Xaw libraries. +! +! XADRIV 0 /XATHENA Motif applications containing XaPgplot widgets. C +! +! Selection of the TK driver causes a stub driver to be placed in +! the main PGPLOT library. The real driver is placed in libtkpgplot.a. +! Applications that need the Tk driver should link with libtkpgplot.a +! before the PGPLOT library. This treatment means that only Tcl/Tk +! applications have to be linked with the Tcl and Tk libraries. +! +! TKDRIV 0 /XTK X-window Tcl/Tk programs with pgplot widgets. C +! +! The following driver is included solely for use by the aips++ team. +! +! RVDRIV 0 /XRV X-window Rivet/Tk programs with pgplot widgets. C diff --git a/cygwin/g77_gcc.conf b/cygwin/g77_gcc.conf new file mode 100644 index 000000000..3f42f4f80 --- /dev/null +++ b/cygwin/g77_gcc.conf @@ -0,0 +1,135 @@ +# Cygnus cygwin32 b19 using +# GNU g77 FORTRAN compiler +# Gnu gcc C compiler. +# +# David Billinghurst (David.Billinghurst@riotinto.com.au) +#----------------------------------------------------------------------- + +# Optional: Needed by XWDRIV (/xwindow and /xserve) and +# X2DRIV (/xdisp and /figdisp). +# The arguments needed by the C compiler to locate X-window include files. + + XINCL="-I/usr/X11R6/include" + +# Optional: Needed by XMDRIV (/xmotif). +# The arguments needed by the C compiler to locate Motif, Xt and +# X-window include files. + + MOTIF_INCL="$XINCL" + +# Optional: Needed by TKDRIV (/xtk). +# The arguments needed by the C compiler to locate Tcl, Tk and +# X-window include files. + + TK_INCL="$XINCL " + +# Optional: Needed by RVDRIV (/xrv). +# The arguments needed by the C compiler to locate Rivet, Tcl, Tk and +# X-window include files. + + RV_INCL="" + +# Mandatory. +# The FORTRAN compiler to use. + + FCOMPL="g77" + +# Mandatory. +# The FORTRAN compiler flags to use when compiling the pgplot library. +# (NB. makemake prepends -c to $FFLAGC where needed) + + FFLAGC="-Wall -O2" + +# Mandatory. +# The FORTRAN compiler flags to use when compiling fortran demo programs. +# This may need to include a flag to tell the compiler not to treat +# backslash characters as C-style escape sequences + + FFLAGD="-fno-backslash -I/usr/include" + +# Mandatory. +# The C compiler to use. + + CCOMPL="gcc" + +# Mandatory. +# The C compiler flags to use when compiling the pgplot library. + + CFLAGC="-DPG_PPU -O2 -DNOMALLOCH -I. -I/usr/include" + +# Mandatory. +# The C compiler flags to use when compiling C demo programs. + + CFLAGD="-Wall -O2" + +# Optional: Only needed if the cpgplot library is to be compiled. +# The flags to use when running pgbind to create the C pgplot wrapper +# library. (See pgplot/cpg/pgbind.usage) + + PGBIND_FLAGS="bsd" + +# Mandatory. +# The library-specification flags to use when linking normal pgplot +# demo programs. + + LIBS="-L/usr/X11R6/lib -lX11 -lpng -lz" + +# Optional: Needed by XMDRIV (/xmotif). +# The library-specification flags to use when linking motif +# demo programs. + + MOTIF_LIBS="-lXm -lXt " + +# Optional: Needed by TKDRIV (/xtk). +# The library-specification flags to use when linking Tk demo programs. +# Note that you may need to append version numbers to -ltk and -ltcl. + + TK_LIBS="-ltk -ltcl -ldl" + +# Mandatory. +# On systems that have a ranlib utility, put "ranlib" here. On other +# systems put ":" here (Colon is the Bourne-shell do-nothing command). + + RANLIB="ranlib" + +# Optional: Needed on systems that support shared libraries. +# The name to give the shared pgplot library. + + SHARED_LIB="" + +# Optional: Needed if SHARED_LIB is set. +# How to create a shared library from a trailing list of object files. + + SHARED_LD="" + +# Optional: +# On systems such as Solaris 2.x, that allow specification of the +# libraries that a shared library needs to be linked with when a +# program that uses it is run, this variable should contain the +# library-specification flags used to specify these libraries to +# $SHARED_LD + + SHARED_LIB_LIBS="" + +# Optional: +# Compiler name used on Next systems to compile objective-C files. + + MCOMPL="" + +# Optional: +# Compiler flags used with MCOMPL when compiling objective-C files. + + MFLAGC="" + +# Optional: (Actually mandatory, but already defined by makemake). +# Where to look for any system-specific versions of the files in +# pgplot/sys. Before evaluating this script, makemake sets SYSDIR to +# /wherever/pgplot/sys_$OS, where $OS is the operating-system name +# given by the second command-line argument of makemake. If the +# present configuration is one of many for this OS, and it needs +# different modifications to files in pgplot/sys than the other +# configurations, then you should create a subdirectory of SYSDIR, +# place the modified files in it and change the following line to +# $SYSDIR="$SYSDIR/subdirectory_name". + + SYSDIR="$SYSDIR"