|
Release Notes |
January 2003
GTK1210-OPENVMS-A1.SFX_AXPEXE
» introduction
» new features
» prerequisites
» expanding and installing GTK+ for OpenVMS
» building GTK+ for OpenVMS
» your application and GTK+ for OpenVMS
» POSIX and GNV considerations
» source file changes
» build files included in GTK+ for OpenVMS
Introduction
GTK+ Version 1.2.10-A1 for OpenVMS Alpha is
an open source, free software library for
creating graphical user interfaces. It is an unofficial, interim port of GTK+.
See Problem Reporting for information on reporting
problems in GTK+ for OpenVMS.
See http://www.gtk.org for more information about GTK+.
New Features in the 1.2.10-A1 Kit
The following new features and changes are included in the 1.2.10-A1 kit,
released January 13, 2003.
-
Merged in the 1.2-10 code
-
Added file [GTK_1_2_10.GLIB]XLIBSHR_VMS.OPT for linking against DECW$XLIBSHR
-
Changed GSMATCH statement from "GSMATCH=LEQUAL,1,1" to "GSMATCH=LEQUAL,1,10"
-
Added file LICENSE.TXT
New Features in the 1.2.8-A2 Kit
The following new features and changes are included in the 1.2.8-A2 kit,
released April 10, 2002.
-
Maps the F11 key to Escape
-
Includes latent support for X shared memory
-
"I got some other key" print statement now prints the key code
-
Links LIBGLIB against DECW$XLIBSHR as the VMS JACKETS now map setlocale
calls to __XSETLOCALE
-
Fixes IM (input method) bug that was preventing IM from functioning
-
Changes GSMATCH statement from "GSMATCH=LEQUAL,1,1" to "GSMATCH=LEQUAL,1,2"
Prerequisites
GTK+ for OpenVMS requires the following software.
(Other configurations have not been tested.)
- OpenVMS Alpha Version 7.1-2
- Compaq C Version 6.2-006
- The OpenVMS Porting Library must be installed, and:
- the Porting Library shareable image must be accessible
via the VMS_JACKETS logical name
- the Porting Library header files must be accessible
(edit VMS_BUILD_SETUP.COM)
- Perl 5.002_01 or higher (optional)
(Perl for OpenVMS is now available for download.)
- GNU AWK 2.15 (patchlevel 6) (optional)
Note: Perl and AWK are used in a full build, but
you can modify the OpenVMS GTK+ build procedures so that neither of these utilities is required.
GTK+ for OpenVMS is built in DCL using OpenVMS-specific build procedures.
The UNIX tools make and
autoconf (configure) are not required.
Expanding and Installing GTK+ for OpenVMS
Perform the following steps to expand and install GTK+ for OpenVMS.
Note: You must also download and install the
OpenVMS Porting Library
in order to use GTK+ for OpenVMS.
- Download GTK+ Version 1.2.10-A1 for OpenVMS.
A self-extracting archive and a .ZIP file are available for download.
The contents of the kits are identical.
Download the self-extracting archive to expand
and install the kit on an Alpha system. You can expand the
.ZIP file on an Alpha system or on a PC, if you want to simply view the
files in the kit.
-
After you download the kit,
create a directory where you want the source code tree
to reside. Set your default directory to that location.
$ CREATE/DIRECTORY DKA0:[GTK_1_2_10]
$ SET DEFAULT DKA0:[GTK_1_2_10]
-
To expand and install the GTK+ for OpenVMS self-extracting archive, run the
kit you downloaded by entering the following command:
$ RUN GTK1210-OPENVMS-A1.SFX_AXPEXE
Building GTK+ for OpenVMS
This section explains how to build GTK+ for OpenVMS.
- Edit [GTK_1_2_10]VMS_BUILD_SETUP.COM to match your system's configuration.
- If you do not have Perl or AWK, edit [GTK_1_2_10.GTK.GTK]VMS_BUILD.COM
and uncomment the goto no_perl statement.
The OpenVMS kit
contains pre-built generated files. You should rebuild GTK.DEFS and the other generated
files only if you are making changes to GTK+
source code.
- (Optional) If you need to build a debug version of GTK+,
enter the following command:
$ DEFINE BUILD_DEBUG 1
- Run VMS_BUILD.COM from the top-level directory:
$ SET DEFAULT [GTK_1_2_10]
$ @VMS_BUILD
- Depending upon how fast your system is, the build will take between
10-30 minutes. A few warnings are normal.
During a build of GTK+ for OpenVMS, the following directories
are built:
- glib
- gmodule
- gthread
- tests (optional)
- gtk
Each directory contains a VMS_BUILD.COM that is used to build the contents
of that directory, plus the contents of its subdirectories.
Most tests can be built by invoking VMS_BUILD.COM in the appropriate directory
and passing it the parameter test.
After the build has completed, four shareable images have been created:
- [GTK_1_2_10.GLIB]LIBGLIB.EXE
- [GTK_1_2_10.GLIB.GMODULE]LIBGMODULE.EXE
- [GTK_1_2_10.GTK.GDK]LIBGDK.EXE
- [GTK_1_2_10.GTK.GTK]LIBGTK.EXE
Your Application and GTK+ for OpenVMS
Consider the following when you build
your application and link against the GTK+ shareable images.
- The code added to GTK+ for OpenVMS uses event flags 2 and 3 without
allocating them. Your application must not use these event flags.
This restriction will be lifted in GTK+ 1.3 by ensuring that any event
flags used are allocated via LIB$GET_EF.
- GTK+ is compiled using /NAMES=AS_IS. This means that all of the
entry points in the shareable images are case-sensitive, and you will have
to compile your application the same way. If you want to change this,
edit VMS_CC.COM (to remove NAMES=AS_IS) and all the xxx_create.opt
files (to remove the CASE_SENSITIVE statements) and rebuilt GTK+.
- GTK+ is compiled using /NAMES=SHORTEN. This means that any
long symbol names in the GTK code are shortened rather than truncated.
Your application should also be compiled with this qualifier.
- GTK+ is compiled using /FLOAT=IEEE and /IEEE=DENORM.
Your application must also be built with these qualifiers.
- When compiling code that uses GLib, include the following
directories on your header file include path:
- [GTK_1_2_10.GLIB]
- [GTK_1_2_10.GLIB.GMODULE]
- When compiling code that uses GTK, include the following
directories on your header file include path:
- [GTK_1_2_10.GTK]
- [GTK_1_2_10.GLIB]
- [GTK_1_2_10.GLIB.GMODULE]
- There are four shareable images against which you need to link your application, as follows:
- [GTK_1_2_10.GLIB]LIBGLIB.EXE
- [GTK_1_2_10.GLIB.GMODULE]LIBGMODULE.EXE
- [GTK_1_2_10.GTK.GDK]LIBGDK.EXE
- [GTK_1_2_10.GTK.GTK]LIBGTK.EXE
POSIX and GNV Considerations
If you are building your application inside of POSIX or GNV, then GLib
and GTK both need to be installed so that autoconf based applications
can locate the installations. If you have built GLib and GTK on
OpenVMS, then they are already installed and glib-config and
gtk-config can be used as usual.
For example, if your GTK+ directory root
is DKB300:[GTK_1_2_10], you can configure an autoconf based application as follows:
configure \
--with-glib --with-glib-prefix=/dkb300/GTK_1_2_10/glib/ \
--with-gtk --with-gtk-prefix=/dkb300/GTK_1_2_10/gtk/
Source File Changes
Following is a summary of the changes made to the GTK+ source files.
glib
- [GTK_1_2_10.GLIB]GMAIN.C
- Changed to use event flags as the wakeup mechanism
- [GTK_1_2_10.GLIB]LIBGLIB_CREATE_VMS.OPT
- Changed GSMATCH statement from "GSMATCH=LEQUAL,1,1" to "GSMATCH=LEQUAL,1,10"
- [GTK_1_2_10.GLIB.GMODULE]LIBGMODULE_CREATE_VMS.OPT
- Changed GSMATCH statement from "GSMATCH=LEQUAL,1,1" to "GSMATCH=LEQUAL,1,10"
- [GTK_1_2_10.GLIB]VMS_GLIB-CONFIG.COM
- Fixed a problem that occured if translation of GROOTU (defined in VMS_BUILD_SETUP.COM)
was greater than 20 characters. A substitute command would fail and the
created glib-config would not contain the glib include file directories.
-
Removed "/glib-1.2" from includedir.
gtk
- [GTK_1_2_10.GTK.GDK]GDKDND.C
- Use VMS_SETUP_WINDOW_NOTIFICATION macro when a window is created
- [GTK_1_2_10.GTK.GDK]GDKEVENTS.C
- Map the F11 key to Escape
- Add code to translate OpenVMS-specific MOTIF key bindings so they appear
normal
- Use an event flag (VMS_EF_GTK_WINDOW_EVENT) for notification instead
of ConnectionNumber
-
GTK_NO_KEY_TRANSLATION is replaced with GTK_KEY_MAPPING_MODE. 0 is
no mapping. 1 is LK keyboard mode, and 2 is PC keyboard mode. Default is 0.
- [GTK_1_2_10.GTK.GDK]GDKIMAGE.C
- Latent support for X shared memory
- [GTK_1_2_10.GTK.GDK]GDKIM.C
- Fix IM (input method) bug that was preventing IM from functioning
- [GTK_1_2_10.GTK.GDK]GDKWINDOW.C
- Use VMS_SETUP_WINDOW_NOTIFICATION macro when a window is created
- [GTK_1_2_10.GTK.GDK]GXID.C
- Change name of socket_fd (this file is not built)
- [GTK_1_2_10.GTK.GDK]LIBGDK_CREATE_VMS.OPT
- Changed GSMATCH statement from "GSMATCH=LEQUAL,1,1" to "GSMATCH=LEQUAL,1,10"
- [GTK_1_2_10.GTK.GTK]GTKDND.C
- Add stdlib.h so that abs is known
- [GTK_1_2_10.GTK.GTK]GTKFILESEL.H
- Use macros to copy/compare struct st_ino fields
- Make a local inode definition inode[3]
- Perform case blind comparisons
- Change find_parent_dir_fullname so that it does not use chdir (cannot
chdir up to /)
- [GTK_1_2_10.GTK.GTK]GTKMAIN.C
- Translate HOME to UNIX equivalent and re-save
- Include unixlib.h
- [GTK_1_2_10.GTK.GTK]LIBGTK_CREATE_VMS.OPT
- Changed GSMATCH statement from "GSMATCH=LEQUAL,1,1" to "GSMATCH=LEQUAL,1,10"
- Include unixlib.h
- [GTK_1_2_10.GTK.GTK]TESTINPUT.C
- "I got some other key" print statement prints the key code
- [GTK_1_2_10.GTK.GTK]TESTRGB.C
- ifdef out struct timezone declaration and make second arg
in gettimeofday call NULL instead of tz
Build Files Included in GTK+ for OpenVMS
HP provides the following OpenVMS-specific build files in the GTK+ kit.
File |
Description |
[GTK_1_2_10]VMS_CC.COM
|
Command file to compile a single C file
|
[GTK_1_2_10]VMS_SHARE.COM
|
Command file to create a shareable image
|
[GTK_1_2_10]VMS_LINK.COM
|
Command file to create an executable image
|
[GTK_1_2_10]VMS_BUILD_SETUP.COM
|
Common setup file invoked by each vms_build.com
|
[GTK_1_2_10]VMS_BUILD.COM
|
Command file for building on OpenVMS
|
[GTK_1_2_10.GLIB]CONFIG.H_VMS
|
Prebuilt OpenVMS version of config.h
|
[GTK_1_2_10.GLIB]GLIBCONFIG.H_VMS
|
Prebuilt OpenVMS version of glibconfig.h
|
[GTK_1_2_10.GLIB]LIBGLIB_VMS.OPT
|
Linker options file to pull in libglib
|
[GTK_1_2_10.GLIB]LIBGLIB_CREATE_VMS.OPT
|
Linker options file to create libglib shareable image
|
[GTK_1_2_10.GLIB]VMS_BUILD.COM
|
Command file for building on OpenVMS
|
[GTK_1_2_10.GLIB]VMS_GLIB-config.com
|
Command file to create glib-config
|
[GTK_1_2_10.GLIB]XLIBSHR_VMS.OPT
|
Linker options file for linking against DECW$XLIBSHR
|
[GTK_1_2_10.GLIB.GMODULE]
GMODULECONF.H_VMS
|
Prebuilt OpenVMS version of gmoduleconf.h
|
[GTK_1_2_10.GLIB.GMODULE]
LIBGMODULE_VMS.OPT
|
Linker options file to pull in libgmodule
|
[GTK_1_2_10.GLIB.GMODULE]
LIBGMODULE_CREATE_VMS.OPT
|
Linker options file to create libgmodule shareable image
|
[GTK_1_2_10.GLIB.GMODULE]VMS_BUILD.COM
|
Command file for building on OpenVMS
|
[GTK_1_2_10.GLIB.GTHREAD]VMS_BUILD.COM
|
Command file for building on OpenVMS
|
[GTK_1_2_10.GLIB.TESTS]VMS_BUILD.COM
|
Command file for building on OpenVMS
|
[GTK_1_2_10.GTK]CONFIG.H_VMS
|
Prebuilt OpenVMS version of config.h
|
[GTK_1_2_10.GTK]VMS_BUILD.COM
|
Command file for building on OpenVMS
|
[GTK_1_2_10.GTK]VMS_GTK-config.com
|
Command file to create gtk-config
|
[GTK_1_2_10.GTK.GDK]LIBGDK_VMS.OPT
|
Linker options file to pull in libgdk
|
[GTK_1_2_10.GTK.GDK]
LIBGDK_CREATE_VMS.OPT
|
Linker options file to create libgdk shareable image
|
[GTK_1_2_10.GTK.GDK]VMS_BUILD.COM
|
Command file for building on OpenVMS
|
[GTK_1_2_10.GTK.GTK]LIBGTK_VMS.OPT
|
Linker options file to pull in libgtk
|
[GTK_1_2_10.GTK.GTK]
LIBGTK_CREATE_VMS.OPT
|
Linker options file to create libgtk shareable image
|
[GTK_1_2_10.GTK.GTK]VMS_BUILD.COM
|
Command file for building on OpenVMS
|
[GTK_1_2_10.GTK.PO]VMS_BUILD.COM
|
Command file for building on OpenVMS
|
Go back to the GTK+ for OpenVMS Home Page
Distribution restrictions and disclaimer
Customer agrees that he/she is not prohibited by the U.S. or other government
export control regulations from receiving this software or technical data.
Copyright and trademark information
Copyright 2003 Hewlett-Packard Development Company, L.P. All rights reserved.
HP believes the information in this document is accurate as of its
publication date; such information is subject to change without notice.
Java and all Java-based marks are
trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and
other countries. Microsoft, Windows, and Windows 95 are registered
trademarks, and NT and Windows NT are trademarks, of Microsoft Corporation.
Alpha, AlphaServer, AlphaStation, DEC, DIGITAL, OpenVMS, Tru64, VAX, and VMS
are trademarks of Hewlett-Packard Company.
|