A new CVS snapshot distribution tarball for PLplot is available at the usual
The tarball name is plplot-5.2.1.cvs.20031019.tar.gz. It was generated in a
Debian unstable system with the following versions of the GNU autotools:
You will find below the changelog of the recent changes in CVS (generated
with the command: cvs2cl -l "-d'2003-10-06<'").
Please, test and report.
============== Changelog ==============
2003-10-17 15:16 rlaboiss
* debian/changelog: Debian release 5.2.1-20
2003-10-17 14:16 rlaboiss
* configure.ac: Put AC_CHECK_LIB(ltdl, ...) outside the
For some mysterious reason, when the AC_CHECK_LIB was put inside
the conditional 'if test "$with_ltdlsystem" = no', configure was
failing with the error message: conditional "AMDEP" was never
defined. This should be fixed now.
Please, test this change.
2003-10-16 13:22 rlaboiss
* debian/: changelog, control, rules: Preparation for Debian
This will be uploaded to unstable only after version 5.2.1-19 had
hit the testing distribution.
* Following a suggestion of Matthias Klose
libltdl library shipped with the upstream sources is not
anymore as a convenience library:
- Imported configure.ac and Makefile.am from upstream CVS
implement the confgiure option --with-ltdlsystem,
allowing the use
of the installed libltdl library.
- debian/control: Build-depends on libltdl3-dev.
- debian/rules: Call configure with option
- Fixed description of libplplot-dev package.
- Bumped the build-dependency on debhelper to version
4.1.67, since we
are using dh_python (thanks again to Matthias Klose for
2003-10-16 13:13 rlaboiss
* configure.ac: Cosmetic changes
Removed an obsolete comment about AM_PROG_LIBTOOL and added
AC_HELP_STRING in MY_ARG_WITH(pthreads, ...).
2003-10-16 12:43 rlaboiss
* Makefile.am, configure.ac: Better logic for use of system's
The decision about when to use the libltdl library is improved.
Now, the default is to always compiled the shipped libtool's
libltdl as a convenience library, unless the user explicitly give
the option --with-ltdlsystem to configure. When this option is
given, confgiure checks if the libltdl library is actually
installed. If not, it falls back to the convenience compilation
Alan, if you are hearing this, could you please comment?
2003-10-16 03:06 jcard
* src/plcore.c: plInBuildTree() is always needed, move out of
2003-10-16 02:05 rlaboiss
* Makefile.am, configure.ac: Allow use of installed libltdl
A Debian fellow pointed out to me that there is no need to
compile the libltdl support when building the PLplot Debian
packages, since there is a libltdl3 package against which
libplplot can be linked.
In order to be able to disable configuration/compilation of the
libltdl support, I did the following changes:
* In configure.ac, AC_LIBTOOL_CONVENIENCE and
called conditionally on the presence of an installed
* In order to avoid config/build of the libltdl directory,
AC_CONFIG_SUBDIRS(libltdl) is called conditionally as well.
Makefile.am, the libltdl directory is included
conditionally on the
(newly created) AM_CONDITIONAL variable
[N.B.: I changed the code for setting the SUBDIRS variable
Makefile.am using the automake append (+=) operator,
instead of using
the auxiliary variable drivers_src_dirs as before.]
If the user has libltdl installed in the system but wants to use
the version shipped with PLplot, she can override the configure
check by giving the --enable-ltdl-convenience option (this needs
further tests, though).
The advantage of using the system's libltdl are:
* Configuration time is reduced, since the libltdl dir does
not need to
* Build time is also reduced, for a similar reason.
* The size of the resulting libplplot library is around 10%
least in Linux).
2003-10-15 23:36 rlaboiss
* pkgcfg/Makefile.am: Fixed problem with sed option -i
Option -i of the sed command is quite useful, because it allows
files to be edited in-place. It is too bad that GNU sed older
than version 4 do not support this feature. Since this should be
the case for general sed's, the use of option -i was replaced by
an ugly (but working) code using a temporary file.
2003-10-15 23:31 rlaboiss
* pkgcfg/gen-pc-files.sh: Added some output messages
In the for loop, messages like "Generated plplot(...).pc" are now
echoed. This will help to diagnose problems in the future.
Also, some small reformatting of the code was done.
2003-10-15 22:53 rlaboiss
* pkgcfg/gen-pc-files.sh: Added missing double quote in sed command
This fixes the 'command substitution: unexpected EOF while
looking for matching "' bug. Quite interesting, this error
message is only triggered when /bin/sh is bash. Other Bourne
shells like ash and dash accept happily this "syntax error".
2003-10-11 19:48 rlaboiss
* pkgcfg/: Makefile.am, README: Fixed parsing of -L... entries in
The -L... entries were incorrectly parsed in the
install-data-hook rule and disappeared from the Libs lines in the
*.pc files. The documentation README is updated to reflect this
2003-10-11 15:40 rlaboiss
* configure.ac, pkgcfg/Makefile.am, pkgcfg/README,
pkgcfg/plplot-master-pc.in, pkgcfg/plplot.pc.in: Total redesign
of the pkg-config support for PLplot
Read the pkgcfg/README file for details.
2003-10-11 10:20 rlaboiss
* pkgcfg/: Makefile.am, plplot-float.pc.in, plplot.pc.in:
pkg-config gives now complete list of dependency libraries
This is a first try to have "pkg-config plplot --libs" working
correctly in a cross-platform way. For that, the complete list
of dependency libraries flags (-l*) must be included into
plplot.pc and plplot-float.pc.
This information is already available in the
src/.libs/libplplot*.lai files. These files are parsed in the
install-data-hook rule of pkgcfg/Makefile.am in a similar way the
plplot_libtool script does at run time. However, this is done at
This is now the result I am having in Linux (must be also tested
in other platform):
$ pkg-config plplot --libs
-lplplotd -lfreetype -lz -lcsirocsa -lcsironn -lqhull -lm
2003-10-10 20:57 airwin
* scripts/plplot-config.in: Update and partial redesign of
plplot-config, a simplified wrapper for plplot_libtool if you
don't want to use the power of that script directly.
* fixed bugs where it failed for libtool-1.5 (a linker must be
specified), and also failed for --with-c++ (wrongly named
* introduce --with-f77 and --with-tcl options
* non-cumulative library modes. The idea here is you ordinarily
only tell plplot_libtool about libplplot, and it figures out the
correct link options for the local platform based on that.
However, there are some additional mutually exclusive options a
user can specify:
--with-c++, --with-f77, or --with-tcl.
If you specify any of those additional switches you tell
plplot_libtool only about the appropriate library (libplplotcxx
for --with-c++, libplplotf77 for --with-f77, and libplplottcltk
for --with-tcl), and it determines the correct link options for
your local platform. The above switches should be mutually
exclusive, but my scripting skills aren't up to checking for that
(help, please!), but for now I settled for an increasing order of
precedence being in the above order (so anything lower on the
list means anything above is ignored).
2003-10-10 20:26 jcard
* examples/: tcl/README.tcldemos, tk/README.tkdemos: Adjust to show
how to run the demos in the build tree.
2003-10-10 20:26 jcard
* bindings/: tcl/pkgIndex.tcl.in, tk/pkgIndex.tcl.in,
tk-x-plat/pkgIndex.tcl.in: Fix to enable the demos to be run in
the build tree.
2003-10-10 15:17 rlaboiss
* pkgcfg/: plplot-float.pc.in, plplot.pc.in: Fixed Libs and Cflags
Added "/plplot" to the includedir variable, such that there is no
need to explicitly #include <plplot/...> in user programs (this
is the case for the C and C++ examples shiped with PLplot).
Also, removed -DPL_DOUBLE from Cflags (this was producing
compilation warnings, since PL_DOUBLE is already defined in
plConfig.h) and removed @FREETYPELIBCMD@ from Libs. All the
dependecy libraries of libplplot are guessed by the default
linker of Linux. I am not sure this will work like this in other
Unices. More work is needed here.
At any rate, compilation of the C examples work correctly now
gcc `pkg-config plplot --cflags` x01c.c -o x01c `pkg-config
2003-10-10 10:45 rlaboiss
* include/plConfig.h.in: Removed #undef *_DIR
The *_DIR #defines are only needed in plConfg.h, which is
included in user programs. These #defines are only needed at
build time by the core functions of the PLplot library. Since
they are already included in config.h (thanks to the
AC_DEFINE_UNQUOTED calls in configure.ac) and this later file is
included by plConfig.h at build time, then they can be deleted
2003-10-09 23:08 airwin
* bindings/java/Makefile.am, bindings/java/README.javaAPI,
test/test_java.sh: Change java install procedure so that
CLASSPATH is not required. This solves the configuration problem
we were discussing.
Also drop all mention of CLASSPATH in the documentation except
where relevant; i.e., only at the time when you execute the
installed compiled java examples.
2003-10-09 23:02 jcard
* configure.ac, include/plConfig.h.in: Create and set BUILD_DIR.
2003-10-09 23:00 jcard
* src/plcore.c, src/plctrl.c, bindings/tcl/tclAPI.c: If the current
directory is in the build tree, change files search order so as
to load them locally.
The modifications guarantee that files/drivers/scripts are loaded
from the build tree if the current directory is somewhere in the
The objective is that one should be able to change/test/evaluate
PLplot without the necessity of installing it; recently this was
needed (and for some front ends it still is), requiring the user
to have a separate directory to test/change/evaluate PLplot,
which means two steps of configure/make, one with the test
--prefix and the other with the final one, which is confusing and
error prone. Also, for developpers, the make/make install step
turns the development cycle sloww and boring.
All the compiled front-ends, C, C++ and F77, was tested and work
OK with all drivers. The Tcl and Tk front-ends also work OK, but
the tk loadable extensions, Pltk and Plplotter, as well as the
tcl extension Pltcl, still need adjustments in the pkgIndex.tcl
The Octave front-end also works OK.
Python and Java was not yet tested.
This is not yet finish, as some problems might yet appear;
however, care has been taken to guarantee that the old behavior
still works OK.
tclAPI.c: PLbasicInit(): search the init script in the build
tree pls_auto_path(): add bindings/tk to auto_path
plcore.c: add plInBuildTree() that check if the current
directory in within the build source tree plGetDriverDir(): if
in the build tree, load the drivers locally
plctrl.c: plFindCommand(): if in the build tree, search
locally plLibOpenPdfstrm(): if in the build tree, search
2003-10-08 19:19 rlaboiss
* sysloc.in: Reintroduced deleted AC_MSG_RESULT in Nan awareness
Also, the logic of the test is fixed now. Strangely, the last
commit made AC_RUN_IFELSE have only two arguments, instead of
three. Besides that, the test must return 1 in case of failure
and not 0 as was the case. I did minimal tests, but evrything
seems to work now.
2003-10-08 18:37 jcard
* sysloc.in: Reformating of "Check for NaN awareness" test, to
avoid using another variable.
2003-10-08 17:22 rlaboiss
* sysloc.in: Surrounded NaN awareness test with
Configure shows now: "checking for NaN awareness in C compiler...
yes". Please change the message text if it is not appropriate.
2003-10-08 16:51 jcard
* sysloc.in: Make test on simple NaN operations
libscirocsa/nn can only be compiled if the OS/C compiler is NaN
aware. If this test fails they are disabled. For this test to
suceed, the correct CFLAGS must be passed to the C compiler.
2003-10-08 16:15 jcard
* examples/c/x21c.c: The #, as in #define, should be in the first
column, as Compaq C complains.
2003-10-08 15:51 rlaboiss
* examples/: c/Makefile.examples.in, c++/Makefile.examples.in:
Added CFLAGS and CXXFLAGS
The CFLAGS and CXXFLAGS variables have been added to the calls of
plplot_libtool in examples/c/Makefile and examples/c++/Makefile,
respectively. They get their values from the AC_SUBST variables
of same name.
2003-10-08 15:48 rlaboiss
* sysloc.in: Added -mieee to CXXFLAGS when neeeded.
Setting the CXXFLAGS variable seems to be necessary for compiling
the C++ examples on the Alpha architecture, even when the -mieee
option is only needed for compiling the libcsirocsa and
2003-10-08 11:17 mlebrun
* drivers/: tk.c, tkwin.c, xwin.c: Removed references to plsc --
drivers should use pls, which is passed in. Also minor
2003-10-07 18:23 rlaboiss
* configure.ac: Avoid abortion of configure when python is not
Redefine AC_MSG_ERROR as AC_MSG_WARN around the call to
AM_PATH_PYTHON, such that if python is not found, configure will