
                         Hacking on GSL

The GSL hacker needs some stuff that the end users don't:

* you must have the latest automake (1.3 or greater) from
ftp://ftp.cygnus.com/pub/tromey/

* you must have the latest autoconf from
ftp://prep.ai.mit.edu/u2/emacs/ (notice the studly use of the old
/u2/emacs path!)

* you must have the latest texinfo with Brian's mathematical hacks;
you can get that from /u/bjg/texinfo-3.9-math.tar.gz on the NIS
division computers.

* you must have the latest CVS (1.9 right now) from
ftp://prep.ai.mit.edu/u2/emacs/

Once you have this stuff, you can get the repository and start
working from your own machine.  To do the initial checkout of the
repository try (bash syntax):

export CVS_RSH=ssh
cvs -d your-login@sarastro.lanl.gov:/n/projects/cvs/ checkout gsl

at this point you can "cd gsl" and start mucking around with
"./configure --prefix=whatever; make install".  Once you are in the
gsl directory, future CVS commands will not need the -d option, so you
can just do

cvs update		(to make sure you get other people's new stuff)
cvs commit		(to check in your changes)
cvs add filename	(to add a file to the repository)

---------

Let me know if any of these steps don't work.  I have tried them out
on swift and they seem to work.

I also think you need something like

export CVSMASK=0

but I'm not sure offhand.

----------

To check for ansi compliance try, 'make strict'. This compiles with the
following CFLAGS:

    -ansi -pedantic -W -Wall -Wtraditional -Wconversion -Wshadow
    -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings
    -Waggregate-return -Wstrict-prototypes -fshort-enums -fno-common
    -Wmissing-prototypes -Wnested-externs -Werror -g -O4
    -Dinline=''

----------

When compiling the library it's important to use the local copies of
the header files, and not ones that have been installed previously in
/usr/local/include.

There can be confusing errors if the installed and local copies of the
headers get mixed up!  (In particular, some of them only show up when
doing 'make distcheck')

To put the local copies on your include path you need, in your Makefile.am,

INCLUDES = -I$(srcdir)/..

srcdir is always your working dir, and so $(srcdir)/.. is the
top-level dir where gsl_math.h and gsl_complex.h are located.

----------
