X2C

Although it appears to have roots in a dBase to C translation system from the 80s called dBx, X2C is an xBase to C compiler originally shipped as a commercial product in 1992 by a company called Desktop Ai and was initially shipped as executables for DOS, OS/2 and VMS but later added support for Linux although that is text mode only, and dropped VMS executables at the same time although the possibility remained open to buy the sources for users of VMS and Unix to compile the program themselves. X2C creates executable programs from Xbase source by converting Xbase source into C and then compiling, and linking with included Xbase function libraries, in this respect it behaves like the much later Clip, Harbour and xHarbour systems. Unlike the earlier dBx which was a tool to aid in porting xBase applications, X2C is a full compiler, and since the back-end supports most systems with a C compiler this opened up the possibility to port xBase applications to various Unices and other systems without paying for an expensive developers license for each target or having to make any changes to the source code.

In addition to native interfaces on DOS, OS/2, VMS and Linux the system can generate code for any system that has the Curses library, but that includes most Unices, Macintosh OS variations and mini and mainframe system like System i and MVS. The system also has an optional support for the GDB debugger.

The company converted the X2C from a commercial program to an open source shareware in 1994 and in 2001 decided to open source it under a liberal license. Note that the X2C database program was often distributed in its shareware form with another product called Moving My Data, but note that MMD is still shareware and has not been published under an open source license.



Standards supported
As X2c is slightly older than the other xBase compilers it only supports older xBase language variations including full support for:
 * Ashton-Tate dBASE III PLUS
 * Nantucket Clipper (Summer '87)
 * Fox Software FoxBase (versions up to and including 2.1).

Partial support offered for language extensions used by:
 * Microsoft/Fox Software FoxPro
 * Wordtech Systems dBXL and QuickSilver/Arago

Available libraries
Should be compatible with most Clipper/xBase libraries but in addition there are two X2c specific libraries in the form of:
 * X2C-CGI - A library that helps with the development of Common Gateway Interface programs to use with web sites.

Version

 * Latest OS/2 version: X2C 1.0/dBx 4.7

Prerequisites

 * Borland C++ v2x (although other C compilers like Open Watcom or GCC should work as well.)

Links

 * Archive of the X2C page as it last was in 2009
 * Info on the earlier dBx program (predecessor to X2C) from Infoworld (1986)

License

 * Originally closed source commercial software, from 1994 open source shareware and since 2001 open source freeware under the Apache Software License v1.

Author

 * Desktop Ai
 * On-the Net East
 * TnR Global LLC
 * Richard L. Roth