The Open Source Software Project Based on IBM's Visualization Data Explorer
Home Page
Recent News
About OpenDX
Getting Started
The DX Community
Contact Info

All rights reserved.

Development Tools

OpenDX is using the gnu open-source tools to continue development. It is possible that you may not have these tools already available to you on your system. If not, a list of the tools with links to where they can be downloaded is available below.

  • autoconf -
    • A tool for producing shell scripts that automatically configure software source code packages to adapt to many kinds of UNIX-like systems. The configuration scripts produced by Autoconf are independent of Autoconf when they are run, so their users do not need to have Autoconf.
    • The configuration scripts produced by Autoconf require no manual user intervention when run; they do not normally even need an argument specifying the system type. Instead, they test for the presence of each feature that the software package they are for might need individually. There is no need to maintain files that list the features supported by each release of each variant of UNIX.
    • For each software package that Autoconf is used with, it creates a configuration script from a template file that lists the system features that the package needs or can use. After the shell code to recognize and respond to a system feature has been written, Autoconf allows it to be shared by many software packages that can use (or need) that feature. If it later turns out that the shell code needs adjustment for some reason, it needs to be changed in only one place; all of the configuration scripts can be regenerated automatically to take advantage of the updated code.
  • automake -
    • Automake is a tool for automatically generating ‘’s from files called ‘’. Each ‘’ is basically a series of make macro definitions. The generated ‘’s are compliant with the GNU Makefile standards.
    • The typical Automake input files is simply a series of macro definitions. Each such file is processed to create a ‘’. There should generally be one ‘’ per directory of a project.
  • binutils - binary utilities;
    • The GNU Binutils are a collection of binary utilities including gas (the assembler), ld (the linker), nm, ranlib, objdump, objcopy, readelf, etc. Most of these programs use the Binary File Descriptor (BFD) library to do low-level manipulation. The binutils have been ported to most major Unix variants as well as Wintel systems.
  • bison - parser generator;
    • a general-purpose parser generator that converts a grammar description for an LALR context-free grammar into a C program to parse that grammar.
  • cvs - Concurrent Versioning System;
    • Maintains a history of all changes made to each directory tree it manages.
    • CVS supports branches, which allow several lines of development to occur in parallel, and provides mechanisms for merging branches back together when desired.
  • flex - lexical analyzer;
    • a general-purpose lexical analyzer
  • gcc - GNU compiler collection;
    • Patches will be considered equally based on their technical merits.
    • All individuals and companies are welcome to contribute as long as they accept the ground rules.
    • Open mailing lists.
  • libtool -
    • GNU libtool is a generic library support script. Libtool hides the complexity of using shared libraries behind a consistent, portable interface.
  • make -
    • Automatically determines which pieces of a large program need to be recompiled, and issues commands to recompile them.
    • Make is a tool which controls the generation of executables and other non-source files of a program from the program's source files.
    • Gets its knowledge of how to build your program from a file called the makefile, which lists each of the non-source files and how to compute it from other files. When you write a program, you should write a makefile for it, so that it is possible to use Make to build and install the program.
  • m4 - traditional Unix macro processor;
    • a macro processor in the sense that it copies its input to the output expanding macros as it goes. Macros are either builtin or user-defined
      and can take any number of arguments. Besides just doing macro expansion m4 has builtin functions for including named files, running UNIX commands, doing integer arithmetic, manipulating text in various ways, recursion etc.