Merging in refactor of the C++ code, which is moved out of 'pygtk' and into 'ascxx'.
Adding support for IPOPT 3.9.1, the current latest version.
Support in dtar for parallel builds (possibly needs some testing still).

Fix for SCons 1.2.0: problem with detection of g77 on MinGW.
Still need to test on Linux.
Modified ascend-config for Windows to output paths with double backslash, seems to fix a problem with ParseConfig in SCons 1.2.0.

Fixed bug #361.
Moved a number of vars out of SUBST_DICT to prevent config.h changes from spawning a rebuild of libascend.
Eliminated use of ASC_WITH_CONOPT from C code (still need ASC_LINKED_CONOPT for the moment).

Fixed detection of 'boolean' definition in GraphViz graph.h. Newer versions of GraphViz (2.16) include this definition, although it's not included in the older versions (2.12). Older versions still (2.8) are in use (Ubuntu 6.10 and Ubuntu 7.04).

Removed references to MFGRAPH, seems better to use GraphViz directly.
Added configuration test for GraphViz.
Added configuration test for strdup, fixed mmio to not create its own strdup if other form is available already.

Fixed build problem on MinGW GCC 3.4.2
Fixed problem with font in IPython console on Windows
Some attempts to fix problems with FILE* support in Python bindings
gfortran is now the preferred FORTRAN compiler.
Comment out failing FILE* tests for the moment.

Added getParameter by name in SolverParameters.
Fixed up refences to signal-related header files.
Fixed up various warnings from -pedantic compilation.
Identified an apparent bug with RelationCalcGradient (unsafe version).
Added support for compilation of a standalone C++ program (idatest) in SCons build.

Added scons switch IDA_NEW_ANALYSE for the new code that implements a better DAE analysis procedure.
Minor tidying in list.[ch]
Removed some DIEDIEDIE stuff from analyze.c.
Added 'odeid' to the 'varip' structure in same.
Collapsed a bunch of repetitive stuff with those fancy #defines I like so much.
Flipped some return codes from functions integrator.c to return 0 on success.
Added #include for sensitivity.h in lsode.c.
Catch exceptions from sim.build() in do_integrate() in PyGTK GUI.
Attempted to fix tcl/tk for errors from integrator_analyse as well (not tested).

Some work on fixing error with test_ascSignal.
Breaking down into smaller test cases.
Removed some debug output from detection of ASC_RESETNEEDED.
Changed all calls 'signal' to 'SIGNAL' macro that includes optional debug output.
Removed 'libasctest.so' (made part of libasctestsuite.so FWIW)
Fixed big in test.c wrt CUEA_ABORT.
Added 'print_stack' and 'Asc_SignalPrintStack' and 'Asc_SignalStackLength'.

Added Matrix Market export routines (from math.nist.gov).
Added necessary build commands for above.
Work on Jacobi preconditioner for IDA (ongoing)
Set integrator_analye to make a call to slv_block_partition. Not sure if that's a good idea or not.
Tidied up comments in linsol.h
Moved unnecessary #defines from model_reorder.h into model_reorder.c.
Cleaned up codedocs in mtx*.h
Added WITH_MMIO config.h flag.

Added SCons tests to check SIGINT and to replace ascresetneeded (need replacement for this in Autoconf as well).
Removed debugging from createinst.c
Typo (text) in evaluate.c
Commented out redundant code in importhandler.c
Added signal handling in ExecuteCASGN.
Added missing ospath_free in ModuleSearchPath.
Exported InitSymbolTable, DestroySymbolTable in symtab (dubious)
Moved FPRESET macro out of ascConfig.h and into ascSignal.h
Added Asc_SignalHandler{Push,Pop}Default.
Added ASC_RESETNEEDED and HAVE_C99FPE macros in config.h.in.
Found the bug causing the SIGFPE in idakryx.a4c (raises a question about int/float division in modelling, I think)
Added system_destroy call in Simulation::~Simulation (dubious).

Some success with IDA: fixed up the indexing dilemma and was able to
integrate 'johnpye/thermalequilibrium.a4c' for a short time span (but
through to 3000 s as with LSODE). I would blame lack of jacobian routine
in the first instance.
Added 'more properties' button in Properties dialog for a variable, to allow
values of ode_id, ode_type etc to be queried (but not changed).

Bumped version to 0.9.5.98.
Added support for 'setSymbolValue' from C++ interface, and allow symbol variables to be edited via the PyGTK GUI.
Added some limited data about structural analysis of beams in johnpye/aiscbeams.a4c.
Updated johnpye/beam4.a4c to use this data.
Added some currency conversions to measure.a4l.
Added some units related to Mechanics of Solids to atoms.a4l.

Adding the 'sun.c' and 'sun.h' files back into ASCEND so that we don't need dependency on libradtran.
Added detection of Scrollkeeper, the freedesktop.org documentation manager.
Added placeholder SConscript file for building the user's manual.

In slv9, made changes to keep CONOPT from complaining. CMSlv still not working as expected though.
Decreased required version of Bison to 2.0.
Switched search path for CONOPT on Linux to the CONOPT_PATH env var
(LD_LIBRARY_PATH was being interfered with when ASC_DEV=1).
Some other debug message changes.

Added '--models' option to ascend-config.
Fixed a bug with packages.c wrt generating absolute paths to library files.
Added SCons directives to install header files in INSTALL_INCLUDE subdirs.
Changed rel.c so that init function is only run if provided in the package.
Added 'ospath_getabs' to convert relative paths into absolute paths by adding prefix of fully-resolved '.'

Monster commit!
Lots of recommenting and reorganising of external relations-related stuff.
Replaced a lot of ascmalloc and asccalloc calls with the new ASC_NEW* macros.
Fixed (?) the problem Art is having with icons in PyGTK.
Turned on -Wall in SConstruct and fixed up a stack of warnings.
Removed the redundant exit(2) from after Asc_Panic calls and added __attribute__((noreturn)).
Set doxygen to create callgraphs to level 2, updated doxyfile to version 1.4.7.
Fixed up building of extfntest.c.

Changed the way that installer is created on Windows: now you must use
'scons installer' to build the installer. This will only work on windows.
The WITH_INSTALLER option has been removed.
Switched the expected version of Tcl to 8.4 under Windows for builds with SCons.

Added changes to allow autotools build on ubuntu. There were some wrong assumptions
about file locations that I was able to correct using information in the
tclConfig.sh and tkConfig.sh files. This will need testing on Fedora/Unix/etc.

Fixed up standard paths stuff to use 'INSTALL_ASCDATA' as the place where tcltk/python/models etc
will live. The confusion here came from the fact that I was taking 'INSTALL_SHARE' to be be assumed
to mean 'the location of /usr/share' -- hence the resulting '$INSTALL_SHARE/ascend' that was bothering
Ben. The 'INSTALL_ASCDATA' fixes this, and behaves as he will like, I hope.
Also note that I have switched the default situation in config.h.in to use relative paths by default,
which is the preferred CMU way. SCons builds will default to absolute paths on non-Windows systems.

Summary: most of the recent complaints about autotools build fixed,
but the buildbot might find a problem with the scons build/install/rpmbuild.
Details:
configure,Driver.c,utilities/config.h.in:
The choice of INSTALL_DATA as a configure variable name
has been repaired (renamed INSTALL_SHARE); INSTALL_DATA is the unix
canonical name for the program 'install' handling a data file.
Both autotools and scons builds have been updated to reflect this,
in the process correcting the definition from prefix/share to
prefix/share/ascend.
autotools build:
Added --with-quiet option to make the install of already installed and
unchanged files less verbose.
Put in a workaround for the '' problem in tkConfig.sh seen by KC/JP.
Added --datadir support to autotools configure. If you configure
the autotools --datadir=PREFIX/share/ascend you get the same behavior
as the Pye packaging; by default you get the CMU packaging convention instead.
Added utilities/env.c to build.
compiler:
Turned off AWAL in anontype.c.
Noodling away at blackboxes continues...

Changes to detection of TkTable. TkTable detection was not possible
on FC5 due to the provided tktable package not coming with header
files, and no tktable-devel being offered. Hence static linkage
to Tktable is not possible. Maybe it's not a great idea anyway.
Also modified and updated the DistTar builder for SCons.
Modified SConstruct to allow Tcl/Tk 8.4 to be used.
Modified ascend.spec.in to use system-standard version of Tcl/Tk 8.4.

Created 'scons install' command that also works for Tcl/Tk interface.
These changes required some modifications to the default values of the environment variables.
Installed Tcl/Tk version now works with only the LD_LIBRARY_PATH env var being required.

Added LICENSE.txt to root directory
Fixed a 'const' problem in ospath
Fixed up some variable names and key errors in SConstruct
Modified License-Warranty.tcl in accordance with the recommendations in the GPL.

More work on the ospath.c file, trying to iron out some windows-specific issues
Fixed McGraw-Hill URL in TCL files.
Created platform-specific TCL_LIBPATH so that c:\Tcl\bin is used instead of c:\Tcl\lib for .dlls.

Working on platform-independent pathnames for the IMPORT command.
Added 'ospath.c' to base/generic/general for this purpose.
Patched kvalues and sensitivity to use the 'IMPORT "libname";' syntax
instead of 'IMPORT registerfn FROM libname;'.
Fixed pathnames in create.nsi.
Added GPL header to coupla files.
Added quoting to 'IMPORT' syntax in ascParse.y.
Removed 'PackageOption' from Tcl/Tk related Scons options so that missing Tcl/Tk
doesn't cause breakage.

Working of debugging the mysterious PyGTK bug. Seems to be coming from a wrong
char *filename in an error_reporter call from the DEBUG_RELS sections of the
compiler code.
Also renamed the WSEM and WSNM macros for clarity, removed unused file pointer.

More fixes for compiling and running on ubuntu 5.10 with GCC:
gcc version 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu9)
Added ASC_SHLIBSUFFIX and ASC_SHLIBPREFIX which are used in packages.c in preference to platform-specific #ifdefs.

Reduced some runtime debug messages from Python and C++ and base/generic/compiler/type_descio.c.
Fixed up support for GCC Visibility and add SCons 'sniffer' for this.
Fixed a bug with 'fileopenpath' in PyGTK interface (File->Open location is remembered from last time).
Fixed a bug with missing includes in C++.

MinGW build fixed and working again.
Changed SConstruct so that if you run SCons from MSYS, SCons won't try to use MV++ tools.
Wrapped extern "C" {} around #include <utilities/ascConfig.h> in pygtk/interface/config.h.in.
Added 'HAVE_LEX' and 'HAVE_YACC' env vars in SCons so that we can be smart about using _no_yacc source.
Changed tcltk98 SCons script so that _no_yacc is switchable.

Huge cleanup of file header comments (GPL notice etc).
Changed from ASC_DLLSPEC to ASC_DLLSPEC(TYPE) -- like python
Fixed up some badly export symbols (missing 'extern')
Fixed exporting of symbols from error.h
Removed ASC_DLLSPEC from .c files-- only in .h files now (hope that's right...)
Changed the way bintoken does its exporting, to take
advantage of ASC_BUILDING_LIBASCEND (needs testing)
I wonder if the 'extern' keywork should be a part of the ASC_DLLSPEC macro?

Rolled back revision 451, since the DLL loading issue on Windows is now resolved.
Fixed up some #ifdef brackets in slv*.h headers.
Added NSIS functionality to SConstruct file
Renamed default installer to 'ascend-setup.exe' pending a more clever approach to version numbers.

tentative: Disabled ascDynaload functions when DYNAMIC_PACKAGES is not defined.
Altered error.[ch] so that MS VC++ variadic macros are used when available.
Disabled Windows MessageBox in ascPanic, so that compilation of base engine is possible with the Platform SDK.
Added SConscript files to build FORTRAN components.
Removed some autoconf-related stuff from the pygtk/interface directory.