TOC PREV NEXT INDEX DOC LIST MASTER INDEX



AXI Release Notes Version 4.4.0


Contents

This chapter is organized as follows:


Objectives

AXI 4.4.0

AXI version 4.4.0 is an upward compatible minor revision of AXI 4.1.6. AXI application code written for the earlier version should continue to work with AXI 4.4.0 without the need for changes.

AXI licensing has changed in AXI 4.4.0. AXI users upgrading to 4.4.0 will have to obtain new FlexLM license codes to compile and link AXI applications.

The only changes in AXI 4.4.0 are:


Testing Configuration

This version has been tested on a limited hardware and software configuration consisting of the following:

Solaris

Alpha, OSF/1, Tru64 UNIX

HP-UX

SGI MIPS/IRIX

IBM RS/6000 AIX

Linux

Hummingbird Communications Ltd. (HCL) eXceed 6.2 X Server and MWM on all platforms.


Summary of Changes

AXI 4.4.0 Refresh #5

The test subsystems and veiws are delivered under $APEX_BASE/ada. The make_test script has been updated and the $APEX_AXI_HOME/ada direcotry has been deleted.

AXI 4.1.9 to AXI 4.4.0

Threaded Models have Been Removed

Apex 4.4.0 now uses the pragma Concurrent_Processing_Policy in a main program to determine whether threads are used or not.

AXI 4.1.6 to AXI 4.1.9

This section lists the changes from AXI version 4.1.6 to AXI version 4.1.9.

FlexLM Feature Names

In order to make licensing of AXI independent of the host computer architecture, AXI feature names have been changed in AXI 4.1.9. AXI users will have to obtain new FlexLM license codes in order to compile and link with AXI 4.1.9. The new feature names and the corresponding old feature names are:

Shared Library Support

New Subprograms

Subprograms Removed

Type Declaration Changes


Host-specific Information

This section lists items specific to this compiler and host environment.

SPARC/Solaris and OpenWindows Environment

The SPARC/Solaris and OpenWindows environment does not present any unusual portability problems.

AXI applications that depend on interaction with the Motif window manager (e.g. by setting mwm window manager hints) will not work correctly with the OpenLook window manager, because the OpenLook window manager will ignore mwm-specific resources. Note that this is true of any Motif application running on OpenWindows; it is not a limitation specific to AXI.

Linking Issues using Motif on Linux

The standard X/Motif libraries installed on Linux have a serious problem which will prevent any of the AXI Motif examples from linking successfully.

There is a conflict between the libraries /usr/X11R6/lib/libXm.a and /usr/X11R6/lib/libXmu.a.

Both libraries contain a version of the object file EditresCom.o, but there are differences between the versions of this object file. The latest version appears to be in /usr/X11R6/lib/Xmu.a.

When both these libraries are used the linker detects the conflict and the link fails.

The suggested way to work around this issue is to modify libXm.a and remove the EditresCom.o module from the archive, as libXm.a appears to contain the older version of this module.

The following commands will remove the object module from the library:

If it is preferred that the existing library remains unchanged then make a copy of libXm.a to a private directory and modify it there. You will then need to modify the NON_ADA_LINKAGE switch of any view that link Motif applications to include this private directory on the linker search path so that the modified version of libXm.a is used. Insert -L<private_directory_path> just before -lXm.

Ada Callbacks

To register a callback with either Xt or Motif certain conventions should be followed. Callback procedures should always be library-level procedures or declared in library-level packages. Callback procedures should never be instantiations of generics. This ensures that the compiler will have proper visibility to the callback procedure and any global data used by the procedure. Pragma EXTERNAL or EXPORT is needed for the compiler to generate proper subprogram linkage.

A simple example of a callback routine is illustrated below:

This example will add the callback Callbacks.HelloWorldCB to the button widget

Ada Event Handlers

The same restrictions and conventions that apply to Ada callbacks also apply to Ada event handlers. With AXI 4.4.0 for Apex, however, it is no longer necessary to call Xlib.ConvertCToAdaEvent before dereferencing an event pointer. An example of an Ada event handler is the following:

Control of Event Loop Behavior

In previous versions of AXI, the event loop was blocking: it did not allow task scheduling to occur, unless a callback or an event handler happened to execute a task scheduling event. The usual workaround for multi-task Ada programs was to write an application-specific event loop.

In AXI 4.4.0, additional control over the behavior of the event loop (Xt.AppEventLoop) is possible. There are global variables in package Xt.Signal that provide this control. These variables should be set before Xt.OpenDisplay (or any subprogram that calls Xt.OpenDisplay, e.g. Xt.AppInitialize) is called and should not be changed thereafter.

The global variables in Signal and their defaults and effects are as follows:

Motifburger demo

If the Motifburger demo fails with the error message "Invalid URM code" followed by an unhandled exception, the Motif function MrmOpenHierarchy (which is deprecated in Motif 1.2) is incompatible with the Motifburger UIL file. If this occurs, make the following changes to the file motifburger.2.ada:

Recompile and relink the file motifburger.2.ada.

Periodic demo

The Periodic Table of Widgets demo has some widgets that may overlap each other. If this occurs, it is because the local X Window System environment uses default fonts that are larger than those used when the demo was first laid out, or the display dimensions are smaller than when the demo was first laid out. The Periodic Table of Widgets demo works best when the default fonts are 12 point or less, and the display dimensions are 1600x1200. This is not a defect in the AXI bindings.


Rational Software Corporation 
http://www.rational.com
support@rational.com
techpubs@rational.com
Copyright © 1993-2003, Rational Software Corporation. All rights reserved.
TOC PREV NEXT INDEX DOC LIST MASTER INDEX TECHNOTES APEX TIPS