MultiPlatform Portability Guide

Introduction Most XBasic programs are 100% source portable - they run on every computer that has an XBasic program development environment. Most XBasic programs are 100% source portable because every implementation of XBasic has identical features and capabilities. This document describes the few known minor exceptions.

While portability is important to many programmers, other considerations sometimes outweigh the goal of complete portability. For example, it is sometimes more important to take advantage of features supported by one operating system but not by others. Sometimes important support libraries aren't available on all systems.
Every version and implementation of XBasic includes the following standard function libraries:

"xst"                - standard library
"xma"                - math and trig library
"xcm"                - complex number library
"xgr"                - graphics library, aka GraphicsDesigner
"xui"                - graphical user interface library, aka GuiDesigner
Some XBasic programs call functions in accessory function libraries, which may or may not be available for every system with XBasic. For example, a given serial port communications package might be available only for certain CPUs and/or certain operating systems. XBasic programs that depend on accessory libraries will not run on systems without compatible implementations of the libraries.

To increase program portability, try to choose accessory libraries that are available for as many of the systems you might someday target.
For purposes of this discussion, system function libraries contain operating system functions or other system fundamental functions, like the xlib library functions that supports XWindows.

XBasic programs that call system functions are generally portable on other systems with the same operating system, but not portable to other systems with other operating systems. So XBasic programs that call system function on a Pentium/WindowsNT system will generally run unmodified on a PowerPC/WindowsNT system, but will not run on a Pentium/UNIX system.