         GTK+ for OpenVMS Alpha         Release Notes          July 26, 2000                 Introduction  B       GTK+ Version 1.2.8 for OpenVMS Alpha is an open source, freeG       software library for creating graphical user interfaces. It is an (       unofficial, interim port of GTK+.   E       If you have questions or comments, or to report a problem with  J       GTK+ for OpenVMS, please send mail to openvms-internet@compaq.com.  ,       Do not report problems to www.gtk.org.  >       See http://www.gtk.org for more information about GTK+.            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 (from  G       http://www.openvms.compaq.com/openvms/products/ips/porting.html )        must be installed, and:   N              -  the Porting Library shareable image must be accessible via the)                 VMS_JACKETS logical name    I              -  the Porting Library header files must be accessible (edit %                 VMS_BUILD_SETUP.COM)    G            Perl 5.002_01 or higher (optional) (Perl for OpenVMS is now  '            available for download from  N   http://www.openvms.compaq.com/openvms/products/ips/apache/apache_perl.html )  2            GNU AWK 2.15 (patchlevel 6) (optional)   E       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.    O       GTK+ for OpenVMS is built in DCL using OpenVMS-specific build procedures. E       The UNIX tools make and autoconf (configure) are not required.      /       Expanding and Installing GTK+ for OpenVMS   I       Perform the following steps to expand and install GTK+ for OpenVMS.   B       Note: You must also download and install the OpenVMS Porting0       Library in order to use GTK+ for OpenVMS.   8         1. Download GTK+ Version 1.2.8 for OpenVMS from K            http://www.openvms.compaq.com/openvms/products/ips/gtk_down.html   F            A self-extracting archive and a .ZIP file are available for=            download. The contents of the kits are identical.    E            Download the self-extracting archive to expand and install O            the kit on an Alpha system. You can expand the .ZIP file on an Alpha O            system or on a PC, if you want to simply view the files in the kit.    C         2. After you download the kit, create a directory where you M            want the source code tree to reside. Set your default directory to             that location.   +            $ CREATE/DIRECTORY DKA0:[GTK128] &            $ SET DEFAULT DKA0:[GTK128]  E         3. To expand and install the GTK+ for OpenVMS self-extracting =            archive, run the kit you downloaded. For example:       8            $ RUN DKA0:[KITS]GTK128-OPENVMS-A1.SFX_AXPEXE           Building GTK+ for OpenVMS   :       This section explains how to build GTK+ for OpenVMS.  B         1. Edit [GTK128]VMS_BUILD_SETUP.COM to match your system's            configuration.   /         2. If you do not have Perl or AWK, edit ?            [GTK128.GTK.GTK]VMS_BUILD.COM and uncomment the goto             no_perl statement.   B            The OpenVMS kit contains pre-built generated files. YouF            should rebuild GTK.DEFS and the other generated files only :            if you are making changes to GTK+ source code.   C         3. (Optional) If you need to build a debug version of GTK+, (            enter the following command:   !            $ DEFINE BUILD_DEBUG 1   :         4. Run VMS_BUILD.COM from the top-level directory:  !            $ SET DEFAULT [GTK128]             $ @VMS_BUILD   F         5. Depending upon how fast your system is, the build will take=            between 10-30 minutes. A few warnings are normal.     N       During a build of GTK+ for OpenVMS, the following directories are built:              glib                  gmodule                  gthread !                 tests (optional)              gtk                   gdk                  gtk   C       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.    M       After the build has completed, four shareable images have been created:   $            [GTK128.GLIB]LIBGLIB.EXE /            [GTK128.GLIB.GMODULE]LIBGMODULE.EXE  &            [GTK128.GTK.GDK]LIBGDK.EXE &            [GTK128.GTK.GTK]LIBGTK.EXE     +       Your Application and GTK+ for OpenVMS   E       Consider the following when you build your application and link )       against the GTK+ shareable images.    F         -  The code added to GTK+ for OpenVMS uses event flags 2 and 3M            without allocating them. Your application must not use these event N            flags. This restriction will be lifted in GTK+ 1.3 by ensuring that>            any event flags used are allocated via LIB$GET_EF.   F         -  GTK+ is compiled using /NAMES=AS_IS. This means that all ofH 	   the entry points in the shareable images are case-sensitive, and youF 	   will have to compile your application the same way. If you want toD 	   change this, edit VMS_CC.COM (to remove NAMES=AS_IS) and all theF 	   xxx_create.opt files (to remove the CASE_SENSITIVE statements) and 	   rebuilt GTK+.   E         -  GTK+ is compiled using /NAMES=SHORTEN. This means that any @ 	   long symbol names in the GTK code are shortened rather than I            truncated. Your application should also be compiled with this              qualifier.   D         -  GTK+ is compiled using /FLOAT=IEEE and /IEEE=DENORM. YourA            application must also be built with these qualifiers.    D         -  When compiling code that uses GLib, include the following9            directories on your header file include path:                     [GTK128.GLIB] &                 [GTK128.GLIB.GMODULE]   C         -  When compiling code that uses GTK, include the following 9            directories on your header file include path:                     [GTK128.GTK]                   [GTK128.GLIB] &                 [GTK128.GLIB.GMODULE]   N         -  There are four shareable images against which you need to link your$            application, as follows:   )                 [GTK128.GLIB]LIBGLIB.EXE  4                 [GTK128.GLIB.GMODULE]LIBGMODULE.EXE +                 [GTK128.GTK.GDK]LIBGDK.EXE  +                 [GTK128.GTK.GTK]LIBGTK.EXE      "       POSIX and GNV Considerations  B       If you are building your application inside of POSIX or GNV,H       then GLib and GTK both need to be installed so that autoconf basedK       applications can locate the installations. If you have built GLib and I       GTK on OpenVMS, then they are already installed and glib-config and '       gtk-config can be used as usual.    F       For example, if your GTK+ directory root is DKB300:[GTK128], you>       can configure an autoconf based application as follows:          configure \ =         --with-glib --with-glib-prefix=/dkb300/gtk128/glib/ \ 9         --with-gtk --with-gtk-prefix=/dkb300/gtk128/gtk/           Source File Changes   J       Following is a summary of the changes made to the GTK+ source files.         glib                 [GTK128.GLIB]GMAIN.C C                 Changed to use event flags as the wakeup mechanism    
       gtk   $            [GTK128.GTK.GDK]GDKDND.C >                 Use VMS_SETUP_WINDOW_NOTIFICATION macro when a"                 window is created   '            [GTK128.GTK.GDK]GDKEVENTS.C  @                 Add code to translate OpenVMS-specific MOTIF key/                 bindings so they appear normal                   @                 Use an event flag (VMS_EF_GTK_WINDOW_EVENT) for 8                 notification instead of ConnectionNumber  '            [GTK128.GTK.GDK]GDKWINDOW.C  >                 Use VMS_SETUP_WINDOW_NOTIFICATION macro when a"                 window is created   "            [GTK128.GTK.GDK]GXID.C A                 Change name of socket_fd (this file is not built)   $            [GTK128.GTK.GTK]GTKDND.C 1                 Add stdlib.h so that abs is known   (            [GTK128.GTK.GTK]GTKFILESEL.H @                 Use macros to copy/compare struct st_ino fields   7                 Make a local inode definition inode[3]    /                 Perform case blind comparisons    C                 Change find_parent_dir_fullname so that it does not 1                 use chdir (cannot chdir up to /)    %            [GTK128.GTK.GTK]GTKMAIN.C  >                 Translate HOME to UNIX equivalent and re-save "                 Include unixlib.h   %            [GTK128.GTK.GTK]TESTRGB.C  L                 ifdef out struct timezone declaration and make second arg in5                 gettimeofday call NULL instead of tz      .       Build Files Included in GTK+ for OpenVMS  Q       Compaq provides the following OpenVMS-specific build files in the GTK+ kit.                             File D                                                          Description        [GTK128]VMS_CC.COM O                                             Command file to compile a single C  1                                             file          [GTK128]VMS_SHARE.COM  N                                             Command file to create a shareable2                                             image         [GTK128]VMS_LINK.COM E                                             Command file to create an =                                             executable image  #        [GTK128]VMS_BUILD_SETUP.COM  M                                             Common setup file invoked by each :                                             vms_build.com         [GTK128]VMS_BUILD.COM  H                                             Command file for building on4                                             OpenVMS !        [GTK128.GLIB]CONFIG.H_VMS  G                                             Prebuilt OpenVMS version of 5                                             config.h  %        [GTK128.GLIB]GLIBCONFIG.H_VMS  G                                             Prebuilt OpenVMS version of 9                                             glibconfig.h  $        [GTK128.GLIB]LIBGLIB_VMS.OPT K                                             Linker options file to pull in  4                                             libglib +        [GTK128.GLIB]LIBGLIB_CREATE_VMS.OPT  J                                             Linker options file to create D                                             libglib shareable image "        [GTK128.GLIB]VMS_BUILD.COM H                                             Command file for building on4                                             OpenVMS (        [GTK128.GLIB]VMS_GLIB-config.com O                                             Command file to create glib-config          [GTK128.GLIB.GMODULE]        GMODULECONF.H_VMS  G                                             Prebuilt OpenVMS version of :                                             gmoduleconf.h         [GTK128.GLIB.GMODULE]        LIBGMODULE_VMS.OPT J                                             Linker options file to pull in7                                             libgmodule          [GTK128.GLIB.GMODULE]!        LIBGMODULE_CREATE_VMS.OPT  I                                             Linker options file to create G                                             libgmodule shareable image  *        [GTK128.GLIB.GMODULE]VMS_BUILD.COM H                                             Command file for building on4                                             OpenVMS *        [GTK128.GLIB.GTHREAD]VMS_BUILD.COM H                                             Command file for building on4                                             OpenVMS (        [GTK128.GLIB.TESTS]VMS_BUILD.COM H                                             Command file for building on4                                             OpenVMS          [GTK128.GTK]CONFIG.H_VMS G                                             Prebuilt OpenVMS version of 5                                             config.h  !        [GTK128.GTK]VMS_BUILD.COM  H                                             Command file for building on4                                             OpenVMS &        [GTK128.GTK]VMS_GTK-config.com N                                             Command file to create gtk-config &        [GTK128.GTK.GDK]LIBGDK_VMS.OPT K                                             Linker options file to pull in  3                                             libgdk          [GTK128.GTK.GDK]         LIBGDK_CREATE_VMS.OPT  P                                             Linker options file to create libgdk<                                             shareable image %        [GTK128.GTK.GDK]VMS_BUILD.COM  H                                             Command file for building on4                                             OpenVMS &        [GTK128.GTK.GTK]LIBGTK_VMS.OPT K                                             Linker options file to pull in  3                                             libgtk          [GTK128.GTK.GTK]         LIBGTK_CREATE_VMS.OPT  P                                             Linker options file to create libgtk<                                             shareable image %        [GTK128.GTK.GTK]VMS_BUILD.COM  H                                             Command file for building on4                                             OpenVMS $        [GTK128.GTK.PO]VMS_BUILD.COM H                                             Command file for building on4                                             OpenVMS    -- End of file -- 