The Solaris operating environment provides developers with the documentation, development software libraries, productivity tools, sample code, and testing tools needed to develop software applications for the Solaris runtime environments. This section describes new features relating to the 64-bit Solaris operating environment, shared objects, and the man command.
The Solaris 7 operating environment provides developers with complete 32-bit and 64-bit development environments. Here are some of the highlights:
Can build 32-bit and 64-bit applications and drivers on SPARC systems running 32-bit Solaris 7 software (with 64-bit support installed) or UltraSPARC systems running 64-bit Solaris 7 software.
Shared header files support 32-bit and 64-bit programs.
Separate libraries for 32-bit and 64-bit programs.
Separate drivers for 32-bit and 64-bit kernels.
PATHs unchanged.
Large Files -- If an application requires only large files support, then it can remain 32-bit and use the Large Files interface. However, an application should be converted to 64-bit to take full advantage of 64-bit capabilities.
$ORIGIN -- The linker supports a new keyword $ORIGIN that can be embedded in path names (specified with the -R flag) to enable library locations to be specified relative to the location of the running executable. For more information on $ORIGIN, see Linker and Libraries Guide.
The bundled assembler on SPARC systems has been updated to support assembling both 32-bit and 64-bit SPARC assembler programs. The supported instructions sets include SPARC V8, SPARC V9 and the UltraSPARC-specific VIS instructions.
For more information, see Solaris 7 64-bit Developer's Guide.
The runtime linker permits programs to find shared libraries without having to set LD_LIBRARY_PATH and makes the loading of shared libraries even more efficient.
Shared objects can now be loaded at runtime relative to where the requesting object is located.
The loading of a shared object can now be deferred until the object is actually referenced by the running program.
For more information, see Linker and Libraries Guide.
The man utility is now able to display man pages that are coded with SGML, as well as the traditional nroff.
For more information on SGML man pages, see the man(1) man page.
All of the core X11 shared libraries (.so) and all lint libraries (.ln) for programmers provided in 32-bit versions are available in 64-bit versions for 64-bit Solaris software. There are no changes to the API for any of these libraries. All of these libraries are installed in the /usr/openwin/lib/sparcv9 directory. No 64-bit X11 application programs are provided. There are four 64-bit X11 packages:
SUNWxwicx (X Window System ICE 64-bit library)
SUNWxwplx (X Window System 64-bit library software)
SUNWxwrtx (X Window System 64-bit runtime compatibility Package)
SUNWxwslx (X Window System 64-bit lint libraries for programmers)
Java Development Kit for Solaris 1.1.5 has been specially tuned and tested. As a result, this release of the Java Development Kit for Solaris offers significantly improved scalability and performance for Java applications developed for, and deployed in, the enterprise and across the network. The following JDK for Solaris performance improvements have been made:
Improved computational application performance with one processor. Running with one processor, the performance of many computational applications is improved compared to previous versions of the Java Development Kit for Solaris.
Improved performance for multithreaded programs running on multiple processors. Applications with many threads and a significant amount of networking running with two or more processors will typically run much faster, due to improvements in scalability.
For more information on the Java Development Kit for Solaris, see the Java web site at http://www.sun.com/solaris/java.
The WebNFS Software Development KIT (SDK) provides remote file access for Java applications using WebNFS. Since it implements the NFS protocol directly, it requires no NFS support on the host system. It provides access to WebNFS or conventional NFS servers by way of URL file naming. The file access API is modeled after the classes in the java.io.* package and provides seamless access to both local and remote files. For updates to this SDK, go to the web site: http://www.sun.com/webnfs.
The truss utility traces the system calls, signals, and machine faults of a process. It has been enhanced with a new option to enable entry and exit tracing of user-level function calls executed by the traced process. Optional shell-like patterns specify the functions and the library to be traced.
Other truss enhancements include optional time stamps and the ability to leave the traced process stopped and abandoned on selected events. A debugger or other process inspection tool can then be applied to the stopped process.
For more information, see the man page truss(1).
The libdevinfo library, used to obtain device configuration information, has been made more robust and comprehensive in Solaris 7 software. For more information, see libdevinfo(3).
The Solaris VISUALTM software includes several graphics and multimedia software foundation libraries. Foundation libraries are the lowest-level device-independent layer of the Solaris software. This level of interface is designed to support a wide variety of common functions. You can build higher-level libraries on top of the foundation libraries, or the foundation libraries can be used directly by a software application. These foundation libraries create applications that incorporate 2-D and 3-D graphics, imaging, and digital video. The libraries are the XGL graphics library and XIL imaging library. The new XIL stereoscopic image display feature is described below.
The XIL library is an imaging API that provides a basic set of functions for imaging and video applications. The library provides a strategy for low-level software interfaces (foundation libraries) and enables APIs and API developers to port their code to these foundation libraries.
The XIL 1.4 runtime environment (RTE) should be installed if users at your site are running imaging applications. Whether an application requires the XIL RTE is not always obvious; therefore, you should install the XIL RTE if you are installing either OpenWindows or CDE software, since an application may reference the XIL libraries.
The XIL developer components are now separate from Solaris and are available free of charge on Sun's web site: http://www.sun.com/solaris/xil. The developer components are the following:
The XIL man pages describing use of the XIL API
The XIL Programmer's Guide
The XIL header files for support of the XIL API
The XIL runtime libraries is included to ensure continuing support for applications employing XIL.
The XIL RTE has been improved with the following new functionality.
XIL is adding support for stereoscopic image display. This will initially be supported on the Creator 3D frame buffer. Access to these capabilities is provided by a simple set of API calls. Stereoscopic display enables the presentation of image pairs representing a left-eye/right-eye view of the world. The left and right images are alternately displayed at a frame rate above the eye's flicker frequency. When used in conjunction with electro-optic shuttering eyeglasses, an image display with depth perception, just like normal binocular human vision is produced. Both double-buffered and stereo display can be combined so that stereo updates can be swapped between back and front buffers.