Skip to content

Commit

Permalink
Put Astro::FITS::Header as a dependency with text in DEPENDENCIES.
Browse files Browse the repository at this point in the history
Added notes on module migration into PDL development tree to
DEVELOPMENT.
  • Loading branch information
Chris Marshall committed Aug 12, 2006
1 parent ace3eee commit ef6590b
Show file tree
Hide file tree
Showing 5 changed files with 84 additions and 21 deletions.
6 changes: 6 additions & 0 deletions Changes
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
CHM 11-Aug-2006
- Added Astro::FITS::Header as a PREREQ_PM in main Makefile.PL
- Added to DEPENDENCY file list
- Put preliminary notes on how to migrate an externally
developed PDL module into the source tree for distribution
with PDL
CHM 11-Aug-2006
Fix Graphics/Makefile.PL be more conservative in deciding to
build OpenGL and TriD when WITH_3D => undef. Now choose not
Expand Down
3 changes: 3 additions & 0 deletions DEPENDENCIES
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,9 @@ PDL::IO::Browser
Requires a 'curses'-compatible library
not built by default (edit perldl.conf to enable)

PDL::IO::FITS Needs Astro::FITS::Header for full support of all FITS
header features. Will build ok, and run, without it.

PDL::IO::NDF
Requires the perl/NDF interface (NDFPERL).
(which also requires a fortran compiler and the
Expand Down
72 changes: 68 additions & 4 deletions DEVELOPMENT
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
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 public release which will always be
available from CPAN (if you don't know what that is check the FAQ).
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
public release which will always be available from CPAN (if
you don't know what that is check the FAQ).

Public CVS repository at www.sourceforge.org
--------------------------------------------
Expand Down Expand Up @@ -205,3 +206,66 @@ variable).
it easier to merge back any new changes made to the branch (if they
occur). The CVS manual contains more details on this.


-------------------------------------------------------------
Notes on transferring an external PDL module to the PDL
source tree for distribution with PDL.
-------------------------------------------------------------

Suppose you have developed a PDL module that resides in a
standalone source tree. You typically will need to have PDL
installed on your system before you can build this module.

If you wish to migrate the module into the PDL distribution
you will need to make certain changes to the module source
in order to built in the PDL distribution. You will need to
removed dependecies on a pre-existing PDL installation for
configuration and build of your module. This is because as
part of the PDL distribution, it is possible that PDL has
never been installed. Build processes based on PDL will then
fail.

Following is some specific advice that can help you do this.

[ These notes are very preliminary and are expected to be ]
[ revised and/or replaced by improved documentation. ]

Changes that must be made to files in your module source tree
if you are building the module from a .pd file :

Makefile.PL:
-- You must remove the line 'use PDL::Core::Dev;'.

-- The line 'PDL::Core::Dev->import();' must be present

-- You must change the call from 'pdlpp_postamble' to a call to
'pdlpp_postamble_int' (with the same arguments.)

-- It seems that most modules in the PDL source use
VERSION_FROM => '../../Basic/Core/Version.pm',
but not all of them in order that their version tracks
the PDL release version. It is possible to maintain
separate versioning even within the PDL source tree but
it may make things confusing.

Make certain that you make these changes to each 'Makefile.PL' in
your source tree.


Changes to the existing PDL source tree:

-- Edit the 'Makefile.PL' in the directory above your module source
to add your module directory name to
'DIR => [ qw/Module1 AnotherModule / ]'.

-- Add your test files (.t files) to the PDL/t directory renaming if
required to avoid namespace conflicts.

-- Does your module depend on any libraries or external
programs ? If so, doocument the required programs with version
numbers in PDL/DEPENDENCIES and add the PREREQ_* option to the
main Makefile.PL if required.

-- If your module requires external libraries or header files,
add a section to perldl.conf. The hash values with be available
in your module's 'Makefile.PL' as $PDL::Config{WITH_MYMODULE},...
15 changes: 2 additions & 13 deletions Known_problems
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ PDL:
patch.

- Overly verbose but not particularly helpful text output from configure,
built, test process. This is especially confusing for beginning users.
built, test process. This can be confusing for first time users.

- Compiler warnings from external code interfaces for several modules
including for the following files: PLplot.xs, GD.xs, GD.c, INTERP.xs,
Expand All @@ -30,18 +30,7 @@ PDL:
? to fix it, please do! Patches welcome. (PDL::Graphics::TriD is disabled
? by default on Mac installs, thanks, Doug)

? The t/fits.t test and PDL::IO::FITS module can show problems when
? used with old versions of the Astro::FITS::Header module. If you have
? problems then please install the latest version from
?
? http://search.cpan.org/~aallan/Astro-FITS-Header/
?
? (it is v2.8.1 at the time of writing) and see if this stops the problems.
? Note that Astro::FITS::Header has a somewhat esoteric numbering scheme
? (all the individual components have their own version number) which can
? make it hard to work out what version of the package have installed.

? SourceForge bugs as follows:
? SourceForge bugs outstanding at time of release:
?
? 1530666 bugs in Transform.pm
? 1505171 failure in MatrixOps::eigens in CVS
Expand Down
9 changes: 5 additions & 4 deletions Makefile.PL
Original file line number Diff line number Diff line change
Expand Up @@ -403,10 +403,11 @@ my @podpms = map { $_.".pod", '$(INST_LIBDIR)/PDL/' . $_ .".pod"}
qw/perldl pdldoc/;

@prereq = (
File::Spec => 0.6,
Filter::Util::Call => 0, # for PDL::NiceSlice
Text::Balanced => 0, # for PDL::NiceSlice
Inline => 0.43,
'Astro::FITS::Header' => 0,
'File::Spec' => 0.6,
'Filter::Util::Call' => 0, # for PDL::NiceSlice
'Text::Balanced' => 0, # for PDL::NiceSlice
'Inline' => 0.43,
);
push @prereq, ('ExtUtils::F77' => 1.10) unless $seen_f77conf;

Expand Down

0 comments on commit ef6590b

Please sign in to comment.