This is a port of Splint 3.1.2 to MSDOS/DJGPP.

1.:     DJGPP specific changes.
	=======================

      - The most important DJGPP specific changes concern the support of paths
        with MSDOS/DJGPP syntax.  The sources offer certain rudimentary support
        for win32 and OS2 compilers but this support is not good enough to
        allow the use of the DJGPP syntax like:
          /dev/c\foo/bar:/dev/a/bar\foo
        with the colon as path separator.  To avoid to clobber the existing
        code to much and to use the provided MSDOS/WINDOWS support the allowed
        path syntax is restricted to the use
          - of mixed backslash and slash as directory separator character
          - of the semicolon as only allowed path separator character
          - of the /dev/env prefix to address the containt of environment
            variables at runtime
          - of the /dev/x prefix as replacement for the DOS typical driver
            specifier letter x:.
        Examples of allowed path syntax are:
          /dev/env/TMPDIR;/dev/env/TMP
          c:/foo\bar;d:\bar/foo;/dev/e/dir1\dir2

      - This port uses a bug fixed version of the CVS version of fixpath.c that
        is stored in /djgpp/djdev204.p2.  That directory contains a diff file
        that documents the changes I have done against the CVS sources and a
        compiled version that must used to replace the one that comes with your
        libc.a from djdev204p2.

      - The required temporary files that are created during the processing of
        the source files are stored in a directory determinated by the
        environment variables TEMP, TMP or TMPDIR, in that order.   Before
        trying to use the directory that is pointed by one of the environment
        variables Splint will check that that particular directory is really
        accessible.  If this is not the case the directory determinated by the
        value of P_tmpdir will be used as temporary directory.

      - The DJGPP port of Splint will honour the following MSDOS/DJGPP specific
        preprocessor symbols MSDOS, __MSDOS, __MSDOS__, DJGPP, __DJGPP,
        __DJGPP__, DJGPP_MINUR, __DJGPP_MINOR and __DJGPP_MINOR__ apart of all
        the standard ones.

      - The name of the special file "lex.yy.c" honoured depends of if LFN is
        available at run time or not.  If LFN support is available the file
        name lex.yy.c will be used.  If LFN is not available at run time the
        standard DOS name lexyy.c will be used instead.

      - The name of the configuration files honoured depends of if LFN is
        available at run time or not.  If LFN support is available the file
        name .splintrc and .lclintrc will be used.  If LFN is not available
        at run time splint.rc and lclint.rc will be used instead.  The files
        are expected to be stored in the $HOME directory or in the current
        working directory.

      - To avoid a name clash between the support libraries standard.lcd and
        standardstrict.lcd, the last one has been renamed to stdstrict.lcd.
        That name will be used no matter if LFN support is available or not.

      - The different support files are stored in /dev/env/DJDIR/share/splint.

      - It should be noticed that if you set the environment variable LARCHPATH
        this sequence of paths **MUST** always be terminated with a semicolon.
        The same applies to the INCLUDE environment variable.  This is not a
        result of the porting effort but is a peculiarity of Splint itself.
        This peculiar path syntax applies only to these two environment
        variables.  I have asked at the mailing list if this is a bug or a
        feature but I have never get an answer.  E.g. if you want to replace
        the starting Splint command line like this:
          splint -I . -I c:\foo -I d:\bar test.c
        with this sequence:
          set INCLUDE=.;c:\foo;d:\bar
          splint test.c
        splint will ignore the directory d:\bar because the INCLUDE environment
        variable has not been terminated with a trailing semicolon.  It must
        look like this:
          set INCLUDE=.;c:\foo;d:\bar;
        Note the trailing semicolon.  This is even true if only a single one
        path is stored in the variable.  E.g.:
          splint -I c:\foo test.c
        can be replaced by:
          set INCLUDE=c:\foo;
          splint test.c

        To compile the sources you will need LFN support.  Even if you do not
        decide to modify the different parsers and scanners you will need to
        have installed both bison and flex.  To avoid that the configuration
        process reflects the paths of my DJGPP installation tree in the default
        values for certain search paths, the distributed sources will not be
        preconfigured.  To run the testsuite you will need the diffutils.

        As usual all the changes to the sources are documented in the
        djgpp/diffs file.

        Please **read** the docs.


2.:     Installing the binary package.
        ==============================

2.1.:   Copy the binary distribution into the top DJGPP installation directory,
        just unzip it preserving the directory structure running *ONE* of the
        following commands:
          unzip32 spl312b.zip      or
          djtarx spl312b.zip       or
          pkunzip -d spl312b.zip



3.:     Building the binaries from sources.
        ===================================

3.1.:   Create a temporary directory and copy the source package into the
        directory.  If you download the source distribution from one of the
        DJGPP sites, just unzip it preserving the directory structure
        running *ONE* of the following commands:
          unzip32 spl312s.zip      or
          djtarx spl312s.zip       or
          pkunzip -d spl312s.zip

3.2.:   To build the binaries you will need the following binary packages:
          djdev204.zip (or a later but NOT a prior version)
          bsh204b.zip  (or a later but NOT a prior version)
          gccNNNb.zip, bnuNNNb.zip, makNNNb.zip, filNNNb.zip, shlNNNb.zip,
          txtNNNb.zip, txiNNNb.zip, grepNNNb.zip, sedNNNb.zip, bsnNNNb.zip
          and flxNNNb.zip

        If you want to run the testsuite you will need also:
          difNNNb.zip

        All this packages can be found in the v2gnu directory of any
        ftp.delorie.com mirror.  NNN stands for the news version number.
        You will need bsh204b.zip or later and *NOT* a prior version or
        the build will fail.  The same applies to djdev204.zip.

3.3.:   To compile the sources you must first substitute the broken fixpath.o
        from your libc.a provided by djdev204.zip with the new one.  To this
        purpose cd into the directory /splint-3.1-2/djgpp/djdev204.p2 and run
        the ar command from binutils like this:
          ar -rv /dev/env/DJDIR/lib/libc.a fixpath.o
        You are done.

3.4.:   To configure the sources cd into the top srcdir /splint-3.1-2 and run
        the following command:
          djgpp\config

        To build the programs in a directory other than where the sources are,
        you must add the parameter that specifies the source directory,
        e.g:
          x:\src\contrib\splint-3.1-2\djgpp\config x:/src/contrib/splint-3.1-2

        Lets assume you want to build the binaries in a directory placed on a
        different drive (z:\build in this case) from where the sources are,
        then you will run the following commands:
          z:
          md \build
          cd \build
          x:\src\contrib\splint-3.1-2\djgpp\config x:/src/contrib/splint-3.1-2

        The order of the options and the srcdir option does not matter.  You
        *MUST* use forward slashes to specify the source directory.

        The batch file will set same environment variables, make MSDOS specific
        modifications to the Makefile.in's and supply all other needed options
        to the configure script.

3.5.:   To compile the package run from the top srcdir the command:
          make

3.6.:   Now you can run the tests if you like.  From the top srcdir run the
        command:
          make check

        No test should fail.

3.7.:   To install the binaries, header, library, catalogs, and man pages
        run the following command from the top srcdir:
          make install

        This will install the products into your DJGPP installation tree given
        by the default prefix "/dev/env/DJDIR".  If you prefer to install them
        into some other directory you will have to set prefix to the appropiate
        value:
          make install prefix=z:/some/other/place



        Send Splint specific bug reports to <splint-bug@cs.virginia.edu>.
        Send suggestions and bug reports concerning the DJGPP port to
        comp.os.msdos.djgpp or <djgpp@delorie.com>.


Enjoy.

        Guerrero, Juan Manuel <juan.guerrero@gmx.de>
