Source code for NAADSM/PC
Version 3.1.17
This page is intended for programmers and advanced users who wish to review or modify the NAADSM/PC source code, or to build the application from source code.
NAADSM/PC is composed of two major components: the graphical user interface and the core model library. These two components are written in different languages and must be compiled separately. These components make use of several subcomponents and libraries, each of which must also be downloaded and installed or compiled.
Please see the version history for a list of changes made in each version. Also, please be sure to review the list of known problems and bugs to obtain the latest information about the program.
The graphical interface
The graphical interface of NAADSM/PC is written in Delphi Version 7, Professional Edition. While it may be possible to compile the interface with other versions of Delphi, no others have been tested.
Download the Delphi source code for the NAADSM/PC user interface (as a ZIP archive)
-
NAADSMInterface-3.1.18-src.zip (2.9 MB)
Required libraries and components for the NAADSM/PC interface
The user interface requires the following external libraries and components:
- APHI General Purpose Delphi Library version 1.3.1. Available from http://www.naadsm.org/opensource/delphi.
- APHI Modeling Library version 0.1.2. Available from http://www.naadsm.org/opensource/libaphi.
- ARSortGrid version 3.1.0 or higher. Available from http://www.naadsm.org/opensource/delphi.
- ARSyncGrid version 1.0.0 or higher. Available from http://www.naadsm.org/opensource/delphi.
- CXREdit version 1.9.2 or higher. Available from http://www.naadsm.org/opensource/delphi.
- PBPageControl version 1.3.0 or higher. Available from http://www.naadsm.org/opensource/delphi.
- Remote Messenger for Delphi version 0.1.0 or higher. Available from http://www.naadsm.org/opensource/delphi.
- QClasses for Delphi version 0.1.1 or higher. Available from http://www.naadsm.org/opensource/delphi.
- Simple Delphi Expat Wrapper version 0.1.1 or higher. Available from http://www.naadsm.org/opensource/delphi.
- TRegExpr Library version 0.942 or higher. Included with CXREdit, or available separately at http://regexpstudio.com/TRegExpr/TRegExpr.html.
-
ZipMaster version 1.78 or higher. Available from http://www.delphizip.net.
(If the site named above is unavailable, code may be obtained here.)
The NAADSM core library
The NAADSM core is written in C and is shared between NAADSM/PC and NAADSM/SC. For NAADSM/PC, the core code is compiled as a dynamically linked library which is then called by the user interface.
The core library can be compiled with the GNU Compiler Collection (GCC) for Windows, version 3.4.2 or higher. There are a number of implementations of GCC for Windows, the two most prominent of which are included in Cygwin and MinGW. The core library must be built with the MinGW implementation of GCC: libraries built with the Cygwin tools are incompatible with NAADSM/PC.
Download the C source code for the NAADSM core library (as a ZIP archive)
-
NAADSMCore-3.1.18-src.zip (1.9 MB)
Required libraries for the NAADSM core
The NAADSM core library makes use of several additional programming libraries. In most cases, compiled binary versions are available. It may be necessary, however, to build some libraries from source code. As noted above, libraries must be built with the MinGW implementation of GCC: libraries built with Cygwin are incompatible with NAADSM/PC.
- The GNU Scientific Library for Windows version 1.6 or higher. Available from http://gnuwin32.sourceforge.net/packages/gsl.htm.
- Popt for Windows version 1.7 or higher. Available from http://gnuwin32.sourceforge.net/packages/popt.htm.
- Regex-GNU for Windows version 0.12 or higher. Available from http://gnuwin32.sourceforge.net/packages/regex.htm.
- GLib for Windows version 2.4.7 or higher. Available from http://www.gtk.org/download-windows.html.
- Gettext for Windows version 0.13.1 or higher. Available from http://www.gtk.org/download-windows.html.
- Libiconv for Windows version 1.9.1 or higher. Available from http://www.gtk.org/download-windows.html.
- Expat for Windows version 1.95.8 or higher. Available from http://sourceforge.net/projects/expat.
- SCEW for Windows version 0.4.0 or higher. Source code is available from http://www.nongnu.org/scew. Modified source code and a binary (compiled) version of the SCEW library for Microsoft Windows is available from http://www.naadsm.org/opensource/scew.
- SPRNG for Windows version 2.0 or higher. Original source code (which does not compile on Windows) is available from http://sprng.cs.fsu.edu. Modified source code and a binary (compiled) version of SPRNG for Windows may be downloaded from http://www.naadsm.org/opensource/sprng.
- RTree for Windows. Original source code is available from http://www.superliminal.com/sources/sources.htm. Modified source code and a binary (compiled) version of the RTree library for Windows is available from http://www.naadsm.org/opensource/rtree.
- GPC for Windows version 2.32. Original source code is available from http://www.cs.man.ac.uk/~toby/alan/software. Modified source code and a binary (compiled) version of the GPC library for Windows is available from http://www.naadsm.org/opensource/gpc.