                     ====================================
                       Package "Date::Calc" Version 4.0
                     ====================================


            Copyright (c) 1995, 1996, 1997, 1998 by Steffen Beyer.
                             All rights reserved.


Contents:
---------

    +   Prerequisites
    +   Preliminary steps for use with Perl prior to version 5.002
    +   Preliminary steps for console users
    +   How to install additional languages
    +   Installation


Prerequisites:
--------------

Perl version 5.000 or higher, and an ANSI C compiler (!)
                                     ^^^^^^


Preliminary steps for use with Perl prior to version 5.002:
-----------------------------------------------------------

Edit the file "Makefile.PL" and change the line

    'VERSION_FROM'      => 'Calc.pm',
to
    'VERSION'           => '4.0',

Then edit the file "Calc.pm" and change the line

    bootstrap Date::Calc $VERSION;
to
    bootstrap Date::Calc;

Also edit the file "t/f000.t" and change the line

    use Date::Calc 4.0;
to
    use Date::Calc;

Finally, edit the file "Calc.xs" and delete the line

    PROTOTYPES: DISABLE


Preliminary steps for console users:
------------------------------------

In case you will be running this package in a MS-DOS command shell
environment *EXCLUSIVELY* (and never under Perl/Tk, for instance),
or if you will be running this package *EXCLUSIVELY* on the console
of a PC UNIX system (like FreeBSD or GNU/Linux, for example) and
never under X-windows, you might want to convert the special characters
embedded in this package from the "ISO-Latin-1" character set (this
is the same as "ISO-8859-1") to the character set used by the MS-DOS
command shell or the PC UNIX console.

To do so, simply change directory to the "tools" subdirectory in this
distribution ("cd tools") and issue the following command:

    > perl convert.pl

Plain C developers (in case Perl is not available on your system) can
also use

    > ./convert.sh

under UNIX (assumes 'gcc' to be your C compiler!) or simply

    > convert

under Windows NT/95 (assumes 'cl' to be your C compiler!) instead.

Then proceed with the installation of this package as described in
the section "Installation" further below.


How to install additional languages:
------------------------------------

Unfortunately, UNIX and Windows NT/95 lack a "Resource Fork" concept
as provided by the MacOS (Apple Macintosh Operating System).

Therefore you will have to re-compile this package whenever you
make any changes to existing resources (see the section "RESOURCES"
in the file "DateCalc.c" in this distribution) or if you add more
languages.

Fortunately, though, adding a new language is quite simple:

Edit the file "DateCalc.c", locate the "RESOURCES" section,
and do the following:

1) Increment the number in the line

    #define DateCalc_LANGUAGES 6

   as necessary.

2) Add a new entry to the bottom of the array "DateCalc_Month_to_Text_"
   of the following form:

    {
        "???", "January", "February", "March", "April", "May", "June",
        "July", "August", "September", "October", "November", "December"
    }

   Don't forget to add a comma after the closing brace of the immediately
   preceding entry above.

3) Add a new entry to the bottom of the array "DateCalc_Day_of_Week_to_Text_"
   of the following form:

    {
        "???", "Monday", "Tuesday", "Wednesday",
        "Thursday", "Friday", "Saturday", "Sunday"
    }

   Don't forget to add a comma after the closing brace of the immediately
   preceding entry above.

4) Add a new entry to the bottom of the array
   "DateCalc_Day_of_Week_Abbreviation_" of the following form:

    {
        "", "", "", "", "", "", "", ""    /* 7 */
    }

   Don't forget to add a comma after the closing brace of the immediately
   preceding entry above.

   Fill this entry with values *ONLY* if you need special abbreviations
   for the names of the days of week (i.e., if you need abbreviations
   other than the first three letters of the entries in the array
   "DateCalc_Day_of_Week_to_Text_" immediately above)!

   If you do so, remember to fill the first (dummy) field in this entry
   with some non-empty string (such as "???", for example), since this
   field is used to flag the existence of special abbreviations in this
   package.

5) Finally, append the name of the language you have just added
   *WRITTEN IN THIS VERY LANGUAGE*, to the end of the array
   "DateCalc_Language_to_Text_".

   The name of the language should be written in that very language
   itself because the name for any given language usually varies
   considerably from language to language. The only way to uniquely
   identify any language is to use the way it is written by native
   writers of that language itself.

   The abbreviations for names of languages as defined by ISO 639 cannot
   take account of all languages (there are only 26 * 26 = 676 possible
   abbreviations as designated by this standard, as opposed to the many
   thousand different languages in this world), which is the reason why
   they are not used here.

6) Now edit the file "DateCalc.h" and set the number in the line

    #define DateCalc_LANGUAGES 6

   to the same value as in the file "DateCalc.c".

   You may (at your option) want to apply the other changes to "DateCalc.c"
   to the file "DateCalc.h" as well. This has no effect on the result of
   the compilation, though, and serves only to document what changes you
   have made.

7) If you have never built this version of this package on the current
   machine before, just proceed with the instructions in the section
   "Installation" following immediately below.

   Otherwise, rebuild the package with "make" (as described in the
   section below) and re-install it with "make install".

   If you want to start over from scratch instead, enter the command
   "make realclean" and proceed as described in the section below,
   from the beginning.


Installation:
-------------

=============================================================================
ALWAYS unpack and build Perl modules OUTSIDE the Perl source and installation
tree! (You might otherwise inadvertently corrupt your Perl installation!)
=============================================================================

Note that installation under Windows NT/95 is easiest with the "native"
"Perl for Win32" port by Perl developer Gurusamy Sarathy, available from:

                http://www.perl.com/CPAN/authors/id/GSAR/

Quick installation guide for experienced users:
-----------------------------------------------

    UNIX:                 Win32/Borland C++:      Win32/MS Visual C++:
    =====                 ==================      ====================

    > perl Makefile.PL    > perl Makefile.PL      > perl Makefile.PL
    > make                > dmake                 > nmake
    > make test           > dmake test            > nmake test
    > make install        > dmake install         > nmake install

Detailed installation guide:
----------------------------

 1) Change directory to the directory that has been created by unpacking this
    package ("cd Date-Calc-4.0").

 2) Type "perl Makefile.PL" (or whatever the name and path of your Perl 5
    binary is).

    This will create a "Makefile" with the appropriate parameters for your
    system (for instance, where the install directories are, and so on).

 3) Type "make".

    (For installation under Windows NT/95, use "dmake" (Borland C++) or
    "nmake" (MS Visual C++) instead!)

    This will create a dynamically linkable library file that will be linked
    to Perl later, at runtime, provided your system supports dynamic linking.

    Please refer to the MakeMaker documentation for instructions on how
    to build a new Perl with statically linked libraries (invoke "perldoc
    ExtUtils::MakeMaker" for this), if your system does NOT support dynamic
    linking!

    Should you encounter any compiler warnings or errors (like the redefi-
    nition of certain types already defined by your system), please contact
    me via e-mail at <sb@engelschall.com>, sending me your compiler output
    (both STDOUT and STDERR). Thank you!

    ======================================================================
       BEWARE that you need an ANSI C compiler in order to successfully
       compile this package!
    ======================================================================

    Also note that problems may arise with the c89 compiler of HP, although
    it allegedly supports ANSI C!

    I recommend the GNU C compiler ("gcc"), which is freely available on
    the Internet (see ftp://ftp.gnu.org/pub/gnu/ and mirror sites thereof).

    (HP users are strongly recommended to install the GNU assembler "gas"
    first before installing the GNU C compiler "gcc", according to GNU.)

    Should you get the error messages

    Calc.c: 15: Unable to find include file 'EXTERN.h'.
    Calc.c: 16: Unable to find include file 'perl.h'.
    Calc.c: 17: Unable to find include file 'XSUB.h'.

    then edit the file "Makefile.PL" and change the line

    'INC'       => '',     # e.g., '-I/usr/include/other'

    in such a way that it points to your Perl 5 distribution tree, e.g.,

    'INC'       => '-I/usr/ctr/dlt/private/perl/perl5.003',

    or the like, and start over with the generation of the "Makefile" at 2).

 4) Now issue "make test" (or "dmake test" or "nmake test", respectively).

    The output should look somewhat like this:

    PERL_DL_NONLAZY=1 /sw/bin/perl -I./blib/arch -I./blib/lib
    -I/sw/pkg/perl/lib/i386-freebsd/5.00403 -I/sw/pkg/perl/lib
    -e 'use Test::Harness qw(&runtests $verbose); $verbose=0;
    runtests @ARGV;' t/*.t
    t/f000..............ok
    t/f001..............ok
    t/f002..............ok
    t/f003..............ok
    t/f004..............ok
    t/f005..............ok
    t/f006..............ok
    t/f007..............ok
    t/f008..............ok
    t/f009..............ok
    t/f010..............ok
    t/f011..............ok
    t/f012..............ok
    t/f013..............ok
    t/f014..............ok
    t/f015..............ok
    t/f016..............ok
    t/f017..............ok
    t/f018..............ok
    t/f019..............ok
    t/f020..............ok
    t/f021..............ok
    t/f022..............ok
    t/f023..............ok
    t/f024..............ok
    t/f025..............ok
    t/f026..............ok
    t/f027..............ok
    t/f028..............ok
    t/f029..............ok
    t/f030..............ok
    t/f031..............ok
    t/f032..............ok
    t/f033..............ok
    All tests successful.
    Files=34,  Tests=1819, 47 secs (36.90 cusr  5.77 csys = 42.67 cpu)

 5) At last, type "make install" (or "dmake install", "nmake install").

 6) Now you can run the example applications from the "examples"
    subdirectory in this distribution.

    Please refer to the file "EXAMPLES.txt" in this distribution for
    more details!

 7) Share and enjoy!


