[comp.sys.dec] MIPS' Motif vs. DEC's Motif Uil incompatible?

larry@mitra.mitra.com (Larry Williamson) (05/08/91)

I've an application that I've written using DEC's VUIT. The uil code
generated by VUIT cannot be compiled with MIPS' uil compiler. I
suspect the problem is the version of the MIPS compiler. It is based
on RISCwindows 3.21.

The biggest source of trouble for me is that VUIT uses a uil function
called rgb() that MIPS does not like...

        value
            Cursor_color: exported rgb(0,65535,65535);

        arguments
            {
            XmNbackground = rgb(0,0,0);
            };

DEC's uil knows about this function.

Another major problem is that VUIT puts declarations of values,
procedures, etc at the end of the uil file, but MIPS wants to see
these before any use is made of them.

I have attached here a piece of uil that DEC likes and that MIPS does
not. Can anyone offer any advice? Do I need to get RISCwindows 4.x?
(what will that cost me?) Or worse, is it too much to expect VUIT
generated uil to be compiled on anything but a DEC machine?

There seems to be some confusion as to the versions of the uil
compilers on each machine, as you can see from this (from the
UilDef.h file on each machine) ...

   MIPS

#define _compiler_version "V2.0-000"
#define _compiler_version_int 2
#define _data_version 1

   DEC

#define _compiler_version "V1.1-000"
#define _compiler_version_int 3
#define _data_version 2


This is a section of the VUIT generated code. Note the rgb() function,
and the order of the blocks in this section. I've stripped out a lot
of stuff, but this example still compiles okay on the DECstation.

-------------------- test.uil --------------------
module imas_folder_control
    names = case_sensitive

object
!HY
    Folder_control_mw: XmMainWindow 
        {
        arguments
            {
            XmNx = 0;
            XmNy = 0;
            XmNwidth = 1280;
            XmNheight = 1000;
            XmNbackground = rgb(0,0,0);
            };
        controls
            {
            XmFormDialog Folder_control_dialog;
            };
        };
    Folder_control_dialog: XmFormDialog 
        {
        arguments
            {
            XmNx = 0;
            XmNy = 0;
            XmNwidth = 1280;
            XmNheight = 1000;
            XmNborderWidth = 0;
            XmNresizePolicy = XmRESIZE_NONE;
            XmNbackground = rgb(0,0,0);
            };
        callbacks
            {
            MrmNcreateCallback = procedures
                {
                folder_mw_create(0);
                };
            };
        };

procedure
    folder_mw_create;

value
    Cursor_color: exported rgb(0,65535,65535);
    Select_image_border_color: exported rgb(65535,0,0);
    PB_color: rgb(36699,51772,58981);
    RC_color: rgb(29124,45874,52428);

list
    Image_cell_background_color: arguments
        {
        XmNbackground = color('black');
        };

end module;