home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / faqs / comp / answers / motif-faq / part7 < prev    next >
Internet Message Format  |  1997-10-19  |  56KB

  1. Path: senator-bedfellow.mit.edu!faqserv
  2. From: kenton@rahul.net (Ken Lee)
  3. Newsgroups: comp.windows.x.motif,comp.answers,news.answers
  4. Subject: Motif FAQ (Part 7 of 9)
  5. Supersedes: <motif-faq/part7_875789459@rtfm.mit.edu>
  6. Followup-To: poster
  7. Date: 18 Oct 1997 10:15:38 GMT
  8. Organization: none
  9. Lines: 1221
  10. Approved: news-answers-request@MIT.EDU
  11. Distribution: inet
  12. Expires: 1 Dec 1997 10:06:58 GMT
  13. Message-ID: <motif-faq/part7_877169218@rtfm.mit.edu>
  14. References: <motif-faq/part1_877169218@rtfm.mit.edu>
  15. Reply-To: kenton@rahul.net (Ken Lee)
  16. NNTP-Posting-Host: penguin-lust.mit.edu
  17. Summary: Motif Frequently Asked Questions (with answers).
  18. Keywords: FAQ question answer
  19. X-Last-Updated: 1997/08/27
  20. Originator: faqserv@penguin-lust.MIT.EDU
  21. Xref: senator-bedfellow.mit.edu comp.windows.x.motif:60055 comp.answers:28583 news.answers:114855
  22.  
  23. Archive-name: motif-faq/part7
  24. Last-modified: SEP 1, 1997
  25. Posting-Frequency: irregular
  26. Organization: Kenton Lee, X/Motif Consultant, http://www.rahul.net/kenton/
  27. URL:  http://www.rahul.net/kenton/faqs/mfaq_index.html
  28. Version: 6.3
  29.  
  30. -----------------------------------------------------------------------------
  31. Subject: 227)  TOPIC: LANGUAGE BINDINGS
  32.  
  33. -----------------------------------------------------------------------------
  34. Subject: 228)  What is ViewKit? Is there a free version?
  35.  
  36. [Last modified: Aug 97]
  37.  
  38. Answer:  ViewKit is an enhanced version of the C++/Motif framework that Doug
  39. Young describes in his book *Object-Oriented Programming with C++ and
  40. OSF/Motif* (Prentice-Hall).  Doug wrote a tutorial on Viewkit for the June,
  41. 1995 issue of *The X Advisor*:
  42.  
  43.     http://www.unx.com/DD/advisor/docs/jun95/jun95.dyoung.shtml
  44.  
  45.  
  46. There is also a inexpensive ViewKit clone from the Hungry Programmers:
  47.  
  48.     http://www.hungry.com/cgi-bin/unjava/products/viewkit/
  49.     ftp://ftp.hungry.com/pub/hungry/viewkit
  50.  
  51.  
  52. Allen Fogleson (foggie@dtx.net) writes:  I have compiled [the Hungry
  53. Programmers' version] on my linux system using RedHat Motif 2.0, There is no
  54. documentation, but the technical paper on the SGI site should be enough to get
  55. most people going. There is very little in the way of documentation either, so
  56. I should note that if you are using Motif2.0 you must either #define
  57. USE_MOTIF20 in a header file, or add it to the CXXFLAGS, and CFLAGS line of
  58. the makefile or you will get many errors when compiling the combo box
  59. bindings. Also for some reason the viewkit did not install correctly for me
  60. and I ended up hand installing it myself. I have compiled some simple
  61. applications with it, and it seems to be working fine. It is intended to
  62. follow the SGI API. They are working on a programmers guide and a reference
  63. manual for the product. All in All this is a very affordable (spelled cheap)
  64. answer to C++ development of OSF/Motif Apps.
  65.  
  66. Viewkit is now available for a variety of platforms from ICS.  The Linux
  67. version is free.  Their web site include free technical papers and ordering
  68. information:
  69.  
  70.     http://www.viewkit.com/
  71.  
  72. Ken Lee, http://www.rahul.net/kenton/
  73.  
  74. -----------------------------------------------------------------------------
  75. Subject: 229)  Is there a C++ binding for Motif?
  76.  
  77. [Last modified: Nov 96]
  78.  
  79. Answer:  See also the previous answer concerning ViewKit (from Doug Young and
  80. the Hungry Programmers.
  81.  
  82. (Added Oct. 95) YACL is a freely available C++ class library that includes GUI
  83. classes based on the Model-View-Controller paradigm. The class protocols are
  84. designed in a platform independent manner, and are implemented under Motif 1.2
  85. as well as under Microsoft Windows and OS/2. This makes it possible to
  86. maintain a single code base for an application that runs on all three
  87. platforms. YACL also includes a suite of container and data storage classes
  88. for general-purpose programming. YACL is available from ftp.cs.sc.edu in
  89. pub/yacl. For more information, see the web page:
  90.  
  91.         http://www.cs.sc.edu/~sridhar/yacl.html.
  92.  
  93. Thanks to M. A. Sridhar, sridhar@usceast.cs.sc.edu.
  94.  
  95. (Added Sept. 95; URL updated Jan. 96) Amulet User Interface Toolkit from Brad
  96. A. Myers, Rich McDaniel, Andrew Mickish, Alex Klimovitski, Carnegie Mellon
  97. University.  Amulet is a user interface software environment for C++ to
  98. support future user interface software research.  This environment, which will
  99. be portable across X/11, Microsoft Windows, and the Macintosh, is designed to
  100. be very flexible: parts can be replaced and new technologies and widgets can
  101. be easily created and evaluated.  Built-in support will be provided for direct
  102. manipulation, multi-font text editing, gesture recognition, speech
  103. recognition, 2-D and 3-D animations, visualizations including maps and large
  104. data sets, world-wide-web browsing and editing, and multiple people
  105. interacting with the system at the same time (CSCW).  Another goal is to be
  106. useful for students, which means that Amulet must be easy to learn.  Finally,
  107. the system will provide sufficient performance, robustness and documentation
  108. so it will be useful for general user interface developers.  See:
  109.  
  110.         http://www.cs.cmu.edu/Web/Groups/amulet/amulet-home.html
  111.  
  112. Answer:  ObjectBuilder by Openware Technologies, Inc. is a complete C++
  113. implementation of Motif. Kris Gottschalk (kris@boulder.openware.com) wrote
  114. [I've condensed his features list and a few others details...ksall@cen.com]:
  115.  
  116. Since Solbourne began developing OI around 1988, it was purchased by ParcPlace
  117. Systems (at which time ObjectBuilder was developed) and as of Oct. '94,
  118. ObjectBuilder/OI was purchased by Openware Technologies, Inc from ParcPlace.
  119. OI is now on release 4.6 and has a customer base of about 3,000 seats.
  120.  
  121. [ObjectBuilder's features include: Visual Subclassing, Dynamic Reparenting,
  122. Customizable Main Window, Xt Kit, Resource Editors, Flexible Geometry
  123. Management, Customizable palattes and attribute editors, 16 Bit
  124. Internationalization, Mnemonics and Accelerator Editor, Motif or OPEN LOOK
  125. look-and-feel switch, Help Editor.]
  126.  
  127. ObjectBuilder is currently available on Sun/Solaris, HP 9000/700 and IBM AIX
  128. RS6000.  We will also be supporting SGI, DEC Alpha, Sco UNIX, Unysis Unixware
  129. and NCR SVR4 throughout the first half of 1995.  And our anxiously awaited
  130. Windows NT platform will be available in late 1995.  In addition, Openware
  131. will be launching a full array of C++ development tools including an Object
  132. Repository, Debugger, OI Table Widget and Adapter.  Also anticipate an
  133. ObjectBuilder upgrade 2.6/4.6 in April and a new ObjectBuilder release 3.0/5.0
  134. in the summer.
  135.  
  136. If you have any more interests or questions or would like to set up a
  137. evaluation of ObjectBuilder, please contact:
  138.  
  139.         Kris Gottschalk
  140.         Account Manager
  141.         Openware Technologies, Inc.
  142.         Object Technologies Business Unit
  143.         4909 East Pearl Circle  Suite 200
  144.         Boulder, CO  80301
  145.         Phone: 303-440-9991 x4224
  146.         Fax: 303-440-9934
  147.         email: kris@boulder.openware.com
  148.  
  149.  
  150. Answer:  Wind/U implements MFC (Microsoft Foundation Classes) on Unix using
  151. Motif.  Bristol Technology, Inc. (203) 438-6969, info@bristol.com.  Microsoft
  152. Visual C++ together with Wind/U can be used to create Motif applications.
  153. According to J. Daniel Smith <dan@bristol.com>, here's how it works: you
  154. create the application on the PC using MSVC++ and then port it to Unix (or
  155. VMS) using Wind/U.  Since Wind/U uses X and Motif to implement the Windows
  156. API, you end up with a true Motif application running native on the target
  157. platform.
  158.  
  159. Answer:  WWL is a library which defines C++ classes around X Toolkit Widgets.
  160. It is intended to simplify the task of C++ code writers when using the Toolkit
  161. by providing them with C++ objects, methods, type checking and several utility
  162. functions and classes.
  163.  
  164. WWL has been tested under SunOs4.0.3 on sun3 and sun4, HPUX version 6.5 and
  165. 7.0 and Ultrix 4.0 on DECstation 3100 and 5000. It is expected to work on most
  166. other UNIX systems without too many problems.
  167.  
  168. WWL is distributed as a tar file with all the source, documentation and
  169. example. The file is available using anonymous ftp from
  170.  
  171.         ftp.x.org            /R5contrib/WWW-1.2.tar.Z
  172.  
  173. ( ftp://ftp.x.org/R5contrib/WWW-1.2.tar.Z )
  174.  
  175. Answer:  Rogue Wave Software has a C++ binding for Motif called View.h++.
  176.  
  177. "View.h++ is a complete C++ interface to OSF/Motif.  It doesn't just
  178. encapsulate it, but also includes a set of classes that provide a level of
  179. abstraction above Motif, thus simplifying menu and dialog creation, XmStrings,
  180. XmFontLists, etc.  View.h++ supports a Model- View-Controller architecture,
  181. allowing for an even more object-oriented interface design.  Includes a copy
  182. of Rogue Wave's Tools.h++ (foundation class library)"
  183.  Rogue Wave also offers full support for View.h++.
  184.  
  185. It is currently available for Sun Sparc, IBM RS/6000, HP 9000/700 series, SCO,
  186. Intel SVR4 ESIX.  Please call for Silicon Graphics and DEC Ultrix status.
  187.  
  188. For additional information, please contact:
  189.  
  190.         Matt Steinauer
  191.         Rogue Wave Software, Inc.
  192.         P.O. Box 2328
  193.         Corvallis, OR 97339
  194.         Phone: (503)754-3010
  195.         Fax:   (503)757-6650
  196.         email:   matts@roguewave.com
  197.  
  198.  
  199. Answer:  Builder Xcessory 3.0, an interface builder from ICS, allows the user
  200. to visually build C++ classes from Motif and user-written widgets.  C++ code
  201. is generated in the "Doug Young" fashion.  (Doug actually worked on this
  202. project with ICS.)  C and UIL can also be generated.
  203.  
  204. Integrated Computer Solutions, Inc. (ICS) 201 Broadway, Cambridge, MA  02139
  205. USA info@ics.com   617/621-0060
  206.  
  207. Answer:  Andreas.Baecker@gmd.de wrote: The GINA++ application framework
  208. contains an encapsulation of the OSF/Motif widg et classes and the Xt
  209. functionality into C++ classes. Its functionality is comparab le to that of
  210. the ULowell binding and the WWL. Additionally, it provides an easy-to -use
  211. framework for modeling new composite and primitive widget classes, plus an
  212. application framework similar to ET++ or MacApp build on top of it. The
  213. binding may be used independently from the framework classes. GINA++ is
  214. available through anonymous ftp from ftp.gmd.de [129.26.8.90] in the directory
  215. /gmd/ginaplus.  Documentation about the Motif binding has been published in
  216. the X Resource Journal, Number 2, 1992, Pages 106-130. The binding compiles
  217. with AT&T C++ 2.1 and GNU G+ + 2.1 and has been tested on SunOS 4.1.[12],
  218. X11R4 and Motif 1.1.3.
  219.  
  220. Answer:  Motif++ is a library that defines C++ class "wrappers" for the
  221. widgets defined in the X11R5 OSF/Motif-1.2 widget library.  It also supports
  222. X11R4/Motif-1.1 as well.
  223.  
  224. Motif++ is also an application toolkit that provides other tools in
  225. conjunction with the widget wrapper classes.  It has support for the Xbae
  226. widget set, plus other widgets.  It has Imake support, and lots of test files.
  227. Motif++ also has alot of contributed software.
  228.  
  229. Motif++ is very similar to other public domain widget libraries such as The
  230. Widget Wrapper Library (WWL) and the C++ Binding for OSF/Motif developed at
  231. the University of Lowell. The two latter libraries are the result of much
  232. larger efforts.
  233.  
  234. Available via anonymous ftp:
  235.  
  236.         ftp://src.doc.ic.ac.uk/packages/motif++/motif++.30.jul.94.tar.gz
  237.  
  238. The /packages/motif++ also contains documentation.  For more information,
  239. contact Ronald van Loon (rvloon@motif.xs4all.nl).  There is also mailing list
  240. for Motif++:
  241.  
  242.         motif++@motif.xs4all.nl
  243.  
  244. To join, send email to the administrative address:
  245.  
  246.         motif++-request@motif.xs4all.nl
  247.  
  248.  
  249. Answer:  C++ Report, a magazine published by SIGS Publications, now regularly
  250. publishes articles on X, Xt and Motif vs. C++ written by Ronald van Loon.
  251.  
  252. Answer:  Xm++ is a user interface framework for the C++ language built upon
  253. X11 and the X-Toolkit. It is designed to be a simple and intuitive programming
  254. interface to access the functionality of commonly used widgets.  Xm++ was
  255. initially created for the Motif widget set, now support for the Athena widgets
  256. was added. Applications created with Xm++ run in both environments without
  257. changes, although many nice features are only available when using Motif.
  258.  
  259. Xm++ is available on: ftp.x.org as: /R5contrib/Xm++.0.53.tar.Z (
  260. ftp://ftp.x.org/R5contrib/Xm++.0.53.tar.Z ).
  261.  
  262. Answer:  wxWindows is a toolkit for platform-independent GUI programming in
  263. C++. It consists of several class libraries and tools.  wxWindows has been
  264. made freely available with no commercial restrictions. As well as undergoing
  265. further development at AIAI ( http://www.aiai.ed.ac.uk/ ), outside
  266. contributors are helping to extend its abilities and range of platforms.  See
  267. http://www.aiai.ed.ac.uk/~jacs/wxwin.html .
  268.  
  269. Answer:  (updated Sept. 95) Intersolv now markets, maintains, and enhances
  270. C++/Views (formerly from Liant).  The C++/Views solution provides an
  271. extensible object class library with visual development environment.  See
  272. http://www.intersolv.com/cpls.html. Thanks to Uwe Baemayr (uwe@liant.com) for
  273. the correction.
  274.  
  275. Answer:  Quest has ObjectViews.
  276.  
  277. Answer:  Doug Young has written a book "Object Oriented Programming with C++
  278. and Motif", Prentice-Hall ISBN 0-13-630252-1 about using C++ without requiring
  279. one of these toolkits.
  280.  
  281. Unfortunately, this library (last released in 9/92) has the same name as the
  282. one by Ronald van Loon (rvloon@motif.hacktic.nl).  Motif++1.2 is a library
  283. that defines C++ class "wrappers" for the widgets defined in the OSF/Motif-1.1
  284. widget library.  Motif++1.2 is also an application toolkit that provides other
  285. tools in conjunction with the widget wrapper classes.
  286.     One enhancement of Motif++1.2 beyond its wrapper classes are the addition
  287. of an "application" class which takes care of the low-level tasks including
  288. initializing X, creating and managing one or more top-level shells, and
  289. entering the main event loop.
  290.     Another feature of Motif++1.2 is its integration with The Widget Creation
  291. Library (Wcl).  Motif++1.2 makes it easy to initialize Wcl and create C++
  292. wrappers for desired widgets in the widget tree.
  293.     Availability: anonymous FTP at ftp.arc.umn.edu (137.66.130.11), file
  294. pub/Motif++1.2.tar.Z.  Contact Paul Felix, felix@ahpcrc.umn.edu or
  295. pfelix@vx.cis.umn.edu.
  296.  
  297. submitted by:  mvc!biggers@duke.cs.duke.edu ( Mark R. Biggers )
  298.  
  299. -----------------------------------------------------------------------------
  300. Subject: 230)  How can I avoid C++ String class and typedef char *String
  301. conflicts?  We're using the USL C++ Standard Components which has the String
  302. class.  This, however, conflicts with the typedef char *String found in
  303. <X11/Intrinsic.h>
  304.  
  305. [Last modified: Oct 94]
  306.  
  307. Answer:  This is very simple to workaround.  I agree that it is "wrong" but
  308. all you need to do is:
  309.  
  310. #define String XtStringType
  311. #include "all the X files"
  312. #undef String
  313.  
  314.  
  315. This will translate the offending symbol.
  316.  
  317. Thanks to Doug Rand <drand@sgi.com>
  318.  
  319. -----------------------------------------------------------------------------
  320. Subject: 231)  How can I have a C++ member function in a callback?
  321.  
  322. [Last modified: Oct 94]
  323.  
  324. Answer:  There are three common user problems with C++ callbacks.  First, make
  325. sure you use the correct function prototype for the function declarations.
  326. Second, the callback function must be declared as a static member of the
  327. class.  Third, when registering it with XtAddCallback(), you must use its full
  328. signature.  For example: (from Ken Lee, http://www.rahul.net/kenton/)
  329.  
  330.  
  331.     class MyClass {
  332.         ...
  333.         void createWidgets();
  334.         static void myButtonCB(Widget, XtPointer, XtPointer);
  335.         ...
  336.     };
  337.     void MyClass::createWidgets() {
  338.         ...
  339.         w = XtCreatePushButton(...);
  340.         XtAddCallback(w, XmNactivateCallback, &MyClass::myButtonCB,
  341.             (XtPointer) this);
  342.         ...
  343.     }
  344.     void myButtonCB(Widget w, XtPointer clientData, XtPointer callData) {
  345.         MyClass *myclass = (MyClass *) clientData;
  346.         ...
  347.     }
  348.  
  349. Note that the "this" pointer is used as the client data.  This technique is
  350. popular, but not required.
  351.  
  352.  
  353. Motif++ has a nice tutorial summarizing mechanisms (Ronald van Loon,
  354. rvloon@motif.xs4all.nl).  See his articles in the September, 1994 and
  355. Nov/December, 1994 issues of C++ Report.
  356.  
  357. Doug Young's book deals extensively with one of these. The problem is that you
  358. don't get the object when you just use the function as a callback.  You need
  359. to pass the object as a pointer through as the client_data.  (use "this" as
  360. the client_data.) Then you can retrieve the object's address, and dereference
  361. from there. For example (Leo O'Donnell, Email: leo@avs.com),
  362.  
  363.     class MyButton {
  364.       public:
  365.                 MyButton (Widget parent, const char *name) {
  366.                     _button = XtVaCreateManagedWidget (
  367.                         name, xmPushButtonWidgetClass, parent, NULL, 0);
  368.                     XtAddCallback (
  369.                         _button,
  370.                         XmNactivateCallback,
  371.                         &MyButton::activateCB,
  372.                         (XtPointer) this);
  373.                 }
  374.                 ~MyButton () { XtDestroyWidget (_button); }
  375.       private:
  376.         Widget  _button;
  377.         static  void activateCB (Widget, XtPointer, XtPointer);
  378.     };
  379.  
  380.     void MyButton::activateCB (Widget, XtPointer thisBtn, XtPointer)
  381.     {
  382.         MyButton *btn = (MyButton *) thisBtn;
  383.  
  384.         // OK you've got the button instance now. Do some stuff with it!
  385.     }
  386.  
  387.  
  388. -----------------------------------------------------------------------------
  389. Subject: 232)  Is there a Common Lisp binding for Motif?
  390.  
  391. [Last modified: Oct 94]
  392.  
  393. Answer:  Try CLM. This includes a toolkit demon (in C) that takes a widget
  394. description (with callbacks), and forks a new process for each Motif
  395. application (which can be just a single menu, or whatever).  Lisp can then
  396. continue running, with a separate lightweight lisp process handling the
  397. connection & callbacks.  In North America & net environs, CLM-2.3.tar.Z is
  398. available from ftp.x.org.
  399.  
  400. There is also CLIM, the Common Lisp Interface Manager. It provides access to
  401. motif and other toolkits and window systems.  Here is some blurb:  "Version
  402. 2.0 of the Common Lisp Interface Manager (CLIM) provides access to Motif. CLIM
  403. is the emerging standard for GUI development in Common Lisp.  It offers a set
  404. of high-level facilities that enable rapid construction of user interfaces.
  405. Applications written using CLIM are portable across a variety of window
  406. systems and toolkits.  For example, on the X window System, both Motif
  407. (OSF/Motif) and Openlook (OLIT) are supported.  CLIM accesses the toolkit
  408. directly rather than emulating the look and feel."
  409.  
  410. CLIM is available from a variety of Common Lisp vendors including Symbolics
  411. and Franz Inc. (info@franz.com).
  412.  
  413. -----------------------------------------------------------------------------
  414. Subject: 233)  Is there an Ada binding for Motif? (Part 1 of 2)
  415.  
  416. [Last modified: Jan 96]
  417.  
  418. Answer:  Most of the information in this answer (parts 1 and 2) is probably
  419. very dated by now. If anyone wants to provide updates, I'll include them. In
  420. the meantime, Ada users are encouraged to visit the Ada Information
  421. Clearinghouse (AdaIC) at:
  422.  
  423.         http://sw-eng.falls-church.va.us/AdaIC/
  424.  
  425. (The Jan. 96 change updates the information provided by Thomson Software
  426. Products.)
  427.  
  428. Answer:  Integrated Computer Solutions, Inc. (ICS) supplies Ada bindings to
  429. Motif for a number of platforms and Ada compilers.  ICS also provides Builder
  430. Xcessory, a Motif interface builder, which outputs Ada code usable with the
  431. Ada bindings.  The product family is known collectively as the Ada Xcessories.
  432.  
  433. Integrated Computer Solutions, Inc. (ICS) 201 Broadway, Cambridge, MA  02139
  434. USA info@ics.com   617/621-0060
  435.  
  436.  
  437. Information on Ada bindings to Motif and other services (such as SQL and
  438. POSIX) can be found in a document maintained by the Ada Information
  439. Clearinghouse.  The report can be found at
  440.  
  441.         host:   ajpo.sei.cmu.edu
  442.         loc:    /public/ada-info/bindings.hlp.*
  443.         access: anonymous ftp
  444.  
  445. The suffix to the file (indicated above with an asterix) is the date of the
  446. latest update to the document.  For example, the full name of the report
  447. updated on 14 June 1993 would be
  448.  
  449.         /public/ada-info/bindings.hlp.14Jun93.
  450.  
  451. The file is ASCII.
  452.  
  453. ------ Included File
  454.  
  455.  
  456. [...Excerpted from the AdaIC report bindings.hlp.14Jun93...]
  457. [...Updates can be found on ajpo.sei.cmu.edu, in the    ...]
  458. [...file /public/ada-info/bindings.hlp.*  The suffix    ...]
  459. [...is always the date of the lastest version to the    ...]
  460. [...report.                                             ...]
  461.  
  462.                                      SECTION 12
  463.                                   X-Window System:
  464.                                OSF Motif and Open Look
  465.                                Available Ada Bindings
  466.  
  467.  
  468. 12.1  Description and Standardization Efforts
  469.  
  470. The X-Window System is a network-transparent window system.  It supports one
  471. or more screens containing overlapping windows or subwindows.  X display
  472. servers distribute user input to and accept output requests from various
  473. client programs located either on the same machine or elsewhere in the
  474. network.
  475.  
  476.             OSF Motif (Open Software Foundation/Motif) is a graphical user
  477.             interface from OSF that provides a Presentation Manager look and
  478.             feel for applications running on any system with X Window version
  479.             11.  It conforms to POSIX, ANSI C and X/Open's XPG3 standards.
  480.  
  481. 12.2  Resources Available from Software Reuse Libraries/Repositories
  482.  
  483.  
  484. ASSET                                               (Updated:  November 1992)
  485.  
  486. The following information was taken in its entirety from the ASSET Library
  487. Repository Catalog, October 9, 1992.  For more information on ASSET, see
  488. Appendix C.
  489.  
  490.  
  491. INTERFACE TO THE X WINDOW SYSTEM
  492.  
  493. VERSION_NUMBER    : 1.1
  494. DEVELOPED_BY      : SAIC
  495. RELEASE_DATE      : 29-SEP-88
  496. UNIQUE_IDENTIFIER : ASSET_A_240
  497. ALTERNATE_NAME    : SAICX2
  498. ASSET_TYPE        : SOFTWARE CODE
  499. FUNCTIONS         : INTERFACE, BIND
  500. OBJECTS           : ADA, X WINDOWS
  501. KEYWORDS          : STANDARDS, BINDINGS
  502. COLLECTION        : STARS FOUNDATIONS
  503. DISTRIBUTION      : UNLIMITED
  504.  
  505. DESCRIPTION       :
  506.  
  507. Interface to the X Window System
  508.       An expression of the various concepts in Ada that provides a full,
  509. working Ada specification of the X Window system.
  510.      Approved for public release; distribution is unlimited.
  511.  
  512. 12.3  Products Available from Vendors
  513.  
  514.  
  515. Advanced Technology Center                           (Updated:  November 1992)
  516.  
  517. The Advanced Technology Center (ATC) has an Ada binding to OSF Motif for their
  518. AXI~ product.  AXI is currently available for most UNIX-based platforms, and
  519. is supported by Verdix, Meridian, and TeleSoft compilers.
  520.  
  521. AXI is an Ada-to-X-Window System interface that provides the Ada programmer
  522. access to the 500+ functions, libraries, and procedures contained in the X
  523. library (Xlib), the X Toolkit (Xt), the X Extensible Library, the X
  524. Miscellaneous Utilities, the Motif widget set and the Motif Resource Manager.
  525.  
  526. ATC is planning to develop an Ada binding to Open Look for AXI.
  527.  
  528. For more information, contact:Larry Paulson, Advanced Technology Center, 22982
  529.                         Mill Creek Drive, Laguna Hills, CA  92653, USA; Phone:
  530.                         714-583-9119
  531.  
  532.  
  533. Thomson Software Products (formerly Alsys)                 (Updated:  Jan
  534. 1996)
  535.  
  536. Thomson Software Products markets the following Ada products:  ObjectAda,
  537. AdaWorld for Cross Development, ActivAda, ActivAda Real-Time, and perfoRMAx,
  538. each described below. (Contact Thomson for pricing info.)
  539.  
  540. Product Name:       ObjectAda Hardware  SPARC-based systems OS        Solaris
  541.  
  542. ObjectAda is a complete object-oriented environment which is based on the new
  543. standard for the Ada language, Ada 95.  ObjectAda gathers in a single
  544. integrated environment all the tools needed for the development of Object
  545. Oriented Ada applications and allows developers to increase productivity by
  546. simplifying the repetitive tasks of the programming process.  ObjectAda
  547. includes an Ada compiler which emphasizes compile-time error checking to
  548. reduce mistakes and fully optimized code for compact, high-performance
  549. applications.   A comprehensive, integrated toolset that is easy to use via an
  550. OSF/Motif-based graphical user interface is included in the ObjectAda
  551. environment, allowing programmers to reap the full power of all the tools with
  552. minimum training.  The environment also  includes an Ada sensitive editor,
  553. source-level symbolic debugger, profiler, and additional tools and bindings.
  554.  
  555. Product Name:       AdaWorld for Cross Development Hardware  Hosts: SPARC-
  556. based systems, HP-RT, IBM,
  557.           Targets:  680x0, 80x86, MIPS, PowerPC OS        Solaris, SunOS,
  558. UNIX, DOS, LynxOS
  559.  
  560.  
  561.                                     - 10 -
  562.  
  563.  
  564. For developing embedded, real-time applications, Thomson Software Products+
  565. offers Ada development environments to assure maximum programmer productivity
  566. while generating highly-optimized Ada applications.  Hosted on a broad range
  567. of platforms, each environment includes a  powerful Ada compiler and runtime
  568. system, as well as a comprehensive, integrated toolset that is easy to use via
  569. an OSF/Motif-based graphical user interface. The environment also  includes an
  570. Ada sensitive editor,  multi-library system, source-level symbolic debugger,
  571. profiler, and additional tools and bindings.
  572.   Ada development environments are available for cross development targeting
  573. the Motorola 680x0, Intel 386/486, MIPS, and PowerPC.
  574.  
  575.  
  576. Product Name:       ActivAda Hardware  386, 486, or Pentium system OS
  577. Windows, Windows NT, Windows 95
  578.  
  579. ActivAda is an Ada Integrated Development Environment (IDE) delivering the
  580. combined power of 32-bit architecture, the Windows operating system and Ada in
  581. one comprehensive product.  ActivAda+s robust functionality assures reliable,
  582. high-quality code with dramatically reduced development time. ActivAda is
  583. geared to the entire development cycle, providing a Windows Graphical User
  584. Interface (GUI) with full point-and-click access to all development tools.
  585. Development of Win32 applications is possible for both Windows,  Windows NT
  586. and Windows 95.  In addition, a GUI Builder that generates Ada code, Ada
  587. bindings to the Win32s API, a Win32s CodeView Debugger, and an interface to
  588. Microsoft Visual C++ are all included.  All of these features are bundled
  589. together with a validated Ada compiler and comprehensive toolset, providing a
  590. solid technology base that has been in use in major development projects for
  591. over 10 years.
  592.  
  593.  
  594. Product Name:       ActivAda Real-Time Hardware  Hosts:  386/486/Pentium
  595.           Targets:  386/486/Pentium OS        Windows, Windows 95
  596.  
  597. Finally, developers can create tight, fast code for Intel targets from an
  598. easy-to-use Windows environment, while enjoying the full benefits of the Ada
  599. language.  We+ve merged two powerful technologies:  our award-winning ActivAda
  600. development environment, and our highly-optimized Intel cross compilation
  601. system to produce a uniquely powerful and economical real-time development
  602. platform.  ActivAda provides real-time and embedded developers with everything
  603. they need to create cutting-edge, highly reliable Intel target code, all in
  604. one package.
  605.  
  606. Product Name:       perfoRMAx Hardware  Hosts:  PC OS        Windows, Windows
  607. 95, Windows NT
  608.  
  609. perfoRMAx is a unique, easy-to-use graphical tool suite that applies the
  610. mathematical principles of Rate Monotonic Analyst and other scheduling
  611. techniques to your real-time system.  Used during proposal, specification,
  612. design, implementation, and maintenance phases, perfoRMAx can save months or
  613. years of wasted effort, millions of wasted dollars, and can even save lives
  614. and assets.  perfoRMAx is an advanced engineering tool that enables real-time
  615. developers and engineers to focus on the temporal aspects of real-time system
  616. development and maintenance.  Through its unique analysis process, perfoRMAx
  617. provides a framework for analyzing system timing behavior.
  618.  
  619.  
  620. For more information, contact:
  621.      Marianne Worley
  622.      Thomson Software Products (formerly Alsys)
  623.      10251 Vista Sorrento Parkway
  624.      Suite 300
  625.      San Diego, CA 92121
  626.      Tel:  (619) 457-2700 x244
  627.      Toll Free:  (800) 833-0085 x244
  628.      Fax:  (619) 452-2117
  629.      Email:  adainfo@thomsoft.com
  630.      WWW: http://www.thomsoft.com/
  631.  
  632.  
  633. Digital Equipment Corporation                       (Updated:  November 1992)
  634.  
  635. Digital Equipment Corporation has bindings available for GKS, PHIGS, SQL, and
  636. OSF Motif for VAX Ada/VMS.  The Ada bindings are provided either as part of a
  637. compiler product or the services/facilities that are provided by Digital and
  638. its suppliers.
  639.  
  640. Host/Target:DEC VAX under VMS
  641.  
  642. For more information, contact:Mary Anne Cacciola, Digital Equipment
  643.                         Corporation, 110 Spit Brook Road, Nashua, NH  03062,
  644.                         USA; Phone:  (603) 881-1028
  645.  
  646.  
  647. IBM                                              (Updated:  November 1992)
  648.  
  649. IBM's AIX Ada/6000 product provides a binding to GPEF and IBM AIXWindows (X-
  650. Windows ... not Motif).  It runs on all models of the IBM RISC System/6000
  651. under the IBM AIX Version 3.2 operating system. See also entries for Systems
  652. Engineering Research Corporation (SERC) and Advanced Technology Center (ATC)
  653. for Motif, GKS or PHIGS bindings for use with IBM AIX Ada/6000 products.
  654.  
  655.  
  656. The AIX Ada/6000 licensed programs (5706-291 and 5706-294) consist of an
  657. optimizing compiler, a run-time environment, a symbolic debugger, an Ada
  658. "makefile" generator for use in automating and minimizing recompilation, Ada
  659. library management tools and Ada language bindings to some key AIX subsystems.
  660. With the exception of some system-specific aspects of the language, the Ada
  661. language for the AIX operating system is source compatible with the Ada
  662. language supported by IBM licensed programs in VM/CMS and MVS.
  663.  
  664. Host/Target:IBM RISC System/6000 under the IBM AIX Version 3.2 operating
  665.             system
  666.  
  667. This product conforms to the following standards:  ANSI/MIL-STD-1815A - Ada at
  668. current level (1.11) of the ACVC test suite.
  669.  
  670. For more information, contact:Barry Lee, IBM Corporation, 844 Don Mills Road,
  671.                         North York, Ontario, Canada  M3C 1V7; Phone:  (416)
  672.                         448-3174; Fax: (416) 448-4810
  673.  
  674. Objective Interface Systems, Inc.                  (Updated:  November 1992)
  675.  
  676. Objective Interface Systems, Inc., has an Ada binding to X-windows (OSF Motif)
  677. for its Screen Machine~ product.  The Screen Machine binding to Motif includes
  678. a WYSIWYG drawing tool and an Ada code generator.
  679.  
  680. Host/Target:
  681.  
  682.       Sun SPARC/SunOS         Rational R1000/Delta    HP 9000/7XX; 8X7
  683.       IBM RISC System/6000/AIXPC 386/486/ISC UNIX     HFSI WIS Workstation
  684.       PC 286/386/486/MS-DOS   PC 386/486/SCO UNIX     DEC Ultrix; DEC VMS
  685.  
  686. For more information, contact:Phil Carrasco, Object Interface Systems, Inc.
  687.                         1895 Preston White Drive, Suite 250, Reston, VA
  688.                         22091-5448, USA; Phone: (703) 264-1900; Fax:
  689.                         703-264-1721; email info@ois.com (internet)
  690.  
  691.  
  692. SL Corporation                                     (Updated: November 1992)
  693.  
  694. SL Corporation's SL-GMS toolkit includes Ada bindings to GPEF, GPPF, POSIX,
  695. SQL, TCP/IP, OSF/Motif, and Open Look.
  696.  
  697. SL-GMS is a toolkit for developing dynamic graphics screens for real-time or
  698. highly interactive applications.  Non-programmers can design application
  699. screens in a standard drawing-tool mode, connect them to real-time data
  700. sources and animate screen objects to visualize changing data values.  SL-GMS
  701. allows the design of custom "GISMOs" to input values or control the
  702. application and supports MOTIF, OPEN LOOK and other X toolkit widgets.
  703.  
  704. SL-GMS is used extensively to provide real-time graphics for applications in
  705. the fields of manufacturing, process control, network management, avionics and
  706. financial tracking.
  707.  
  708. Host/Target:Validated Verdix and DEC compilers support SL-GMS for the
  709.             following machines as both host and target:
  710.  
  711.  
  712.       DEC-DECstation/ULTRIX 4.0DEC-VAXstation/ULTRIX 4.0
  713.       DEC-VAXstation/VMS 5.4  DEC-VAXstation/VMS 5.5
  714.  
  715.       IBM-RS6000/AIX
  716.  
  717.       HP-9000/300/UNIX        HP-9000/400/UNIX
  718.       HP-9000/800/UNIX        HP-9000/700/UNIX
  719.  
  720.       PC-386/IX UNIX          PC-386/SCO UNIX
  721.       PC-386/Lynx             PC-386/0S2
  722.       PC-386/System 5.4
  723.  
  724.       SGI-4D/IRIX 3.3
  725.  
  726.       Sun-3/SunOS 4.1         SunSPARC/SunOS 4.1
  727.  
  728.       88 Open/BCS Compliant
  729.  
  730. For more information, contact: Mike Meagher, SL Corporation, 240 Tamal Vista
  731.                         Boulevard, Corte Madera, CA  94926, USA Phone: (415)
  732.                         927-1724; Fax: (415) 927-2931
  733.  
  734.  
  735. Sunrise Software International                         (Updated:  May 1992)
  736.  
  737. Sunrise Software International's product, ezx, is a rapid application
  738. development tool that automates the creation of graphical user interfaces for
  739. OSF/MOTIF and generates C, UIL, or Ada.  ezx provides WYSIWYG screen layout;
  740. color, font and pixmap editors; presentation tools and dialog management.  A
  741. prototype can be developed in hours and using a script language similar to
  742. Hypertalk, demonstrated to end-users before the first line of code is written.
  743. Then portable C, UIL or Ada can be generated automatically.  Ada bindings are
  744. provided.  The total code required to develop a GUI is reduced by
  745. approximately 75%.   The appearance and behavior of the GUI is defined in an X
  746. resource file which the application loads at run time.  This provides explicit
  747. separation between the GUI and the computational core of the application. Thus
  748. the GUI can be revised without recompiling (and retesting) the application.
  749.  
  750. ezx provides cost savings throughout the software development cycle, from
  751. requirements analysis through design, code, test and maintenance.
  752.  
  753.  
  754. Host/Target:DEC RISC under ULTRIX, DEC VAX under VMS, IBM 386 under UNIX, IBM
  755.             RS 6000 under AIX, SGI under, SUN SPARC under UNIX
  756.  
  757. For more information, contact:Frederick Sells, Sunrise Software International,
  758.                         170 Enterprise Center, Middletown, RI  02840, USA;
  759.                         Phone:  401-847-7868
  760.  
  761. Systems Engineering Research Corporation (SERC)     (Updated:  November 1992)
  762.  
  763. -----------------------------------------------------------------------------
  764. Subject: 234)  Is there an Ada binding for Motif? (Part 2 of 2)
  765.  
  766. [Last modified: Apr 94 ]
  767.  
  768. Answer:  (This answer hasn't changed since the date given, but I needed to
  769. break it into 2 parts.)
  770.  
  771. SERC's Ada/MOTIF is a complete binding to X Window and OSF/Motif for the Ada
  772. programming language that was based in part upon the SAIC/Unisys (STARS)
  773. public domain bindings.  That work was leveraged as a starting point for this
  774. development; many of the bug fixes and additional capabilities beyond the
  775. public domain releases in Ada/MOTIF have been incorporated.  Most noteworthy
  776. are the capabilities included in Ada/Motif for Ada tasking, callback
  777. registration, memory leak detection/prevention and capabilities for developing
  778. customized widgets.  Paramax/STARS considers Ada/Motif to be the commercial
  779. version of their STARS bindings, according to SERC.
  780.  
  781. Ada/MOTIF is supported by the ALSYS, VERDIX, SUNAda, IBM Ada, and SGI Ada
  782. compilers.
  783.  
  784.  
  785. Host/Target:SUN 4, HP 300/400, HP 700, IBM RS 6000, SGI, 386
  786.             SUN OS 4.1.1, SOLARIS 2.0 (coming), HPUX 8.0, SGI 3.2 & 4.0, IBM
  787.             ATX 3.2, SCO 3.2
  788.  
  789. For more information, contact:
  790.  
  791.         Theo Kusiolek or Scott Cleveland, Systems
  792.         Engineering Research Corporation (SERC), 2555
  793.         Charleston Road, Mountain View, CA  94043, USA;
  794.         Phone:  800-ADA-SERC or 415/962-9092; Fax:  415/962-0330;
  795.         E-mail:  Well!sercmail@apple.com.
  796.  
  797.  
  798. TeleSoft                                            (Updated:  November 1992)
  799.  
  800. TeleSoft's TeleUSE/Ada automates the creation of OSF/Motif graphical user
  801. interfaces for Ada applications.  It includes a special version of the TeleUse
  802. User Interface Management System -- which generates Ada source code -- and Ada
  803. bindings to the TeleUSE run-time routines.
  804.  
  805. TeleUse/Ada tools allow a GUI to be prototyped and designed using a WYSIWYG
  806. editor and a PDL, and also includes tools for debugging, generating production
  807. code and maintaining the GUI.  TeleUse/Ada can save the developer up to 90
  808. percent of the time required to hand code X Window System GUIs.
  809.  
  810. Host/Target:SPARC under UNIX, Sun-4 under UNIX
  811.  
  812.  
  813. TeleSoft's TeleWindows is a set of Ada bindings to the X Window System and
  814. OSF/Motif.  This includes Xlib, XT, X extensions Library, XT+, X miscellaneous
  815. utilities, Motif widget set, XM, MWM, Motif resource manager.  It supports X-
  816. 11 R4 and is not based on the public domain version.  It closely follows the C
  817. Xlib syntax and allows Ada applications to co-exist with C applications.
  818.  
  819. Host/Target:IBM System/370 under VM/CMS
  820.  
  821. For more information, contact:Karen Johnson, TeleSoft, 5959 Cornerstone Court
  822.                         West, San Diego, CA  92121-9891, USA; Phone:  (619)
  823.                         457-2700
  824.  
  825. Verdix                                              (Updated:  May 1992)
  826.  
  827. The Verdix Ada Development System (VADS), is a complete Ada Compiler System
  828. offering a fully validated Ada compiler with chapter 13 support.  Verdix
  829. supplies VADSself and VADScross.   VADSself provides a complete toolset for
  830. self-targeted applications.  It easily interfaces to databases, windowing
  831. systems and program management tools.  VADScross provides real-time support
  832. for host-to-target system development.  VADScross produces small and fast
  833. object code.  VADS is hosted on the largest number of platforms and targets
  834. the greatest number of microprocessors.
  835.  
  836. Host/Target:88000 BCS under UNIX, DEC VAX under VMS / ULTRIX / UNIX,
  837.             DECStation (RISC) under UNIX, DECSystem (RISC) under UNIX, HP 9000
  838.             Series 300 under HP-UX  (UNIX), IBM PS/2 under AIX  (UNIX), IBM
  839.             RISC System/6000 under AIX, SCO Systems V/386 (ABI) under UNIX,
  840.             Sun SPARC systems under UNIX, Sun-3 systems under UNIX
  841.  
  842. Verdix AXI provides an Ada binding to the full Motif, Xt, and Xlib libraries.
  843. The product works with user-supplied Motif 1.1 and X11R4 libraries regardless
  844. of source.
  845.  
  846. Host/Target:DEC RISC under Ultrix, IBM RS6000 under AIX, MIPS under MIPSos,
  847.             Sun-4 under SunOS, Sys V386 under ISC UNIX, Sys V386 under SCO
  848.             UNIX
  849.  
  850. For more information, contact:Tim Ruhe, Verdix Corporation, 205 Van Buren,
  851.                         Herndon, VA  22070, USA; Phone:  (703) 318-5800
  852.  
  853. Answer:  Integrated Computer Solutions, Inc. (ICS) supplies Ada bindings to
  854. Motif for a number of platforms and Ada compilers.  ICS also provides Builder
  855. Xcessory, a Motif interface builder, which outputs Ada code usable with the
  856. Ada bindings.  The product family is known collectively as the Ada Xcessories.
  857.  
  858. Integrated Computer Solutions, Inc. (ICS) 201 Broadway, Cambridge, MA  02139
  859. USA info@ics.com   617/621-0060
  860.  
  861. -----------------------------------------------------------------------------
  862. Subject: 235)  Is there a Poplog binding for Motif?
  863.  
  864. [Last modified: May 93]
  865.  
  866. Answer:
  867.  A integrated programming environment consisting of the programming
  868.     languages Pop-11, Prolog, Standard ML, and Lisp which are compiled
  869.     to machine code via a common virtual machine. Pop-11 provides a rich
  870.     interface to the X Toolkit which can be accessed from all other
  871.     Poplog languages. The OLIT, Motif, and Athena widget sets are
  872.     supported, in addition to the custom Poplog (Xpw) widget set. XVed
  873.     provides a sophisticated, customisable multi-window editor. Under
  874.     OPEN LOOK and Motif the Poplog User Interface (PUI) provides a
  875.     graphical interface to the Poplog system. High-level Pop-11
  876.     libraries allow graph drawing, turtle graphics, and the simple
  877.     creation of basic button/menu based interfaces.
  878.  
  879. Contact:
  880.  
  881.     UK EDUCATION SITES:
  882.         Poplog Sales. School of Cognitive and Computing Sciences.
  883.         Brighton. BN1 9QN. England.
  884.         Phone: +44 (0)273 678188
  885.         Email: popsales@cogs.susx.ac.uk
  886.     USA AND CANADIAN EDUCATION SITES:
  887.         Computable Functions Inc. 35 South Orchard Drive. Amherst.
  888.         MA 01002. USA.
  889.         Phone: (413) 253-7637
  890.     ALL OTHER SALES:
  891.         Integral Solutions Ltd. Unit 3, Campbell Court. Bramley.
  892.         Basingstoke. Hampshire. RG26 5EG. England.
  893.         Phone:  +44 (0)256 882028
  894.         Fax:    +44 (0)256 882182
  895.         Email:  isl@integ.uucp
  896.  
  897.  
  898. -----------------------------------------------------------------------------
  899. Subject: 236)  TOPIC: SPECIFIC PLATFORMS
  900.  
  901. -----------------------------------------------------------------------------
  902. Subject: 237)  Is it easy to build Motif for a Sun?
  903.  
  904. Answer:  See next question for Solaris 2.  No pattern has emerged to problems
  905. about compiling Motif on the Sun (although people seem to have a lot of
  906. different minor problems), and many reports are that it is straightforward.
  907. Read the Motif install instructions (which often have specific reference to
  908. Sun installation), light the blue touch paper and just standback. [My
  909. experience was that I had to add -D_NO_PROTO for 1.1 on a Sparc OS 4.1, and
  910. that was all.  Others have added STRINGS_ALIGNED and NO_REGEXP].
  911.  
  912.  
  913. -----------------------------------------------------------------------------
  914. Subject: 238)  How do I build Motif 1.2.2 on Solaris 2.1 with Sun C?
  915.  
  916. [Last modified: Oct 94]
  917.  
  918. Prepared by Ric Steinberger.  ric@updike.sri.com  4/09/93
  919.  
  920. What follows is a description of the steps I used to build Motif 1.2.2 on a
  921. SUN IPX running Solaris 2.1.  Sun's C compiler (2.0.1) was used.  Many thanks
  922. go to Kaleb Keithley (kaleb@devvax.jpl.nasa.gov) for several useful
  923. suggestions.  Other people, including OSF staff, especially David Brooks
  924. (dbrooks@osf.org), helped as well.  My thanks to you all.
  925.  
  926. 1. Build X11R5 from the mit distribution.  You need to retrieve the sources
  927.    from ftp.x.org (in pub/R5) and patches 1 - 22 (or fixes 1-26)
  928.    pub/R5/fixes).  There are several other sites that contain the X11R5
  929.    sources.  After installing patch 19, apply PEXlib.tar.Z, also available
  930.    from ftp.x.org in pub/R5/fixes.  You can apply also
  931.    R5.Xsun.multi-screen and R5.SunOS5.patch.  There are .README files
  932.    that explain how to patch.  Be SURE to read
  933.    R5.SunOS5.patch.README for details on how to BUILD X11.  You probably
  934.    want to use the ProjectRoot feature in the site.def file in the
  935.    mit/config directory.  You will NEED to edit that file to do that.
  936.  
  937. 2. Obtain the Motif 1.2.2 distribution from OSF (617-621-7300).  You may
  938.    need to first install the 1.2 tape, then the 1.2.1 and finally the
  939.    1.2.2 tape.  You might want to do a "chmod -R u+w ." after unloading
  940.    each tape.
  941.  
  942. 3. In the config directory, there are several changes.  Some of the changes
  943.    are based on R5.SunOS5.patch files.  A complete set of config files
  944.    relevant to Solaris have been placed in the anon-ftp account of
  945.    updike.sri.com in pub/motif/solaris21-motif122-config.tar.Z.  They are
  946.    also available from OSF on their mail response server (available to
  947.    support contract holders) and they will send them directly to full
  948.    support contract holders.  Decompress and untar this file in your Motif
  949.    config subdirectory.  Copy site.def.sample to site.def, then edit
  950.    site.def.  You will probably want to uncomment the ProjectRoot section
  951.    and use the same value used in your X11R5 build.  Also, you will probably
  952.    want to use /usr/ucb/install in you installed the UCB compatibility
  953.    suite.  Otherwise you might want to use the install supplied at the end
  954.    of this memo.  [I used the UCB version and can't swear that this works.
  955.    Bit it should.  Put it someplace like /usr/local/bin and chmod +x it.]
  956.  
  957.    There are two patches to consider.  One fixes a cursor problem
  958.    in ./lib/Xm/TextF.c.  The other removes a Berkeleyism.  These
  959.    patches should probably be consider unofficial at present.
  960.    Failure to deal with the Berkeleyism (bzero) means you will need to
  961.    link with -lucb -lelf.  This will probably work, but why bother?
  962.    Furthermore, if you move the Motif binaries to a machine without
  963.    the ucb compatability suite, you won't have the sharable libs you need.
  964.  
  965. [The actual patches have been censored because they contain OSF source code]
  966.  
  967.    Patch 1:  In TextF.c there are several places
  968. _XmTextFieldDrawInsertionPoint is called. These should be moved two or three
  969. lines further down *after* the "if (!XtIsRealized(tf)) return True;"
  970. statement.
  971.  
  972.  
  973.    patch 2:  The call to bzero in lib/Xm/Visual.c should be replaced by the
  974. equivalent call to memset
  975.  
  976.  
  977.     Both these patches can be applied in the ./lib/Xm directory.
  978.     If you don't have the patch program (how did you build X11?),
  979.     you can get it in the vendor/cygnus directory of ftp.uu.net,
  980.     or you can build it from source.  Be sure to get the latest
  981.     version (2.0.12.u8).
  982.  
  983. 4) Use the README-1.2.1 file as a guideline for building motif.  I followed
  984.    directions in the section called, "Using X11R5 Installed Libraries
  985.    and Header Files."  If you make a mistake after your first build
  986.    attempt, copy Makefile.ini to Makefile before retrying.  You may
  987.    need to do this in the config subdirectory too, depending on what
  988.    went wrong.
  989.  
  990. 5) After make Makefiles, do make includes, make depend, then make (or
  991.    as OSF recommends, make -k).  This gets as far as motifshell in the
  992.    demos, which fails to build because O_RDONLY and L_XTND are
  993.    not defined.  O_RDONLY is in fcntl.h (actually <sys/fcntl.h>, but
  994.    fcntl.h includes this.)  L_XTND can be replaced by SEEK_END.
  995.    SEEK_END is in stdio.h.  These two fixes will allow motifshell to build.
  996.    Note: many MANY compiler warning messages will be generated during
  997.    the build process.
  998.  
  999. 6) You can go to the demos/xmsamplers directory and do a make there.
  1000.    Other demos may build, or not depending on whatever. . . .
  1001.  
  1002. 7) make install will do the install.  [It will fail at motifshell
  1003.    if you don't fix it, as mentioned above.]  You can do a make install
  1004.    in demos/xmsamplers if you want these.
  1005.  
  1006. 8) If running on a SUN (as opposed to an X term), you will (probably) need
  1007.    to start openwin with something like:
  1008.  
  1009.         openwin -server /usr/X11R5/bin/Xsun
  1010.  
  1011.  
  1012.    [You might want to use an alias for this.]
  1013.    This fixes an annoying problem: The mouse keys stop working after you
  1014.    click on an icon to get the icon menu (on SUNs only, not X terms).
  1015.    The ALT keys still work, if you get stuck.  I don't know whether this
  1016.    is a bug in SUN's server or whether it is Motif related.
  1017.  
  1018.    Here is a copy of my .xinitrc:  It's not elegant.  Sun's default
  1019.    openwin startup file is in: /usr/openwin/lib/Xinitrc.  You can
  1020.    copy this to ~/.xinitrc and customize as desired.  Obviously, the
  1021.    default behavior is to start the OpenLook environment (boo!).
  1022.  
  1023.  
  1024. #!/bin/sh
  1025. #
  1026. # .xinitrc - OpenWindows startup script.
  1027. #
  1028. if [ -f $HOME/.Xdefaults ]; then
  1029.     xrdb $HOME/.Xdefaults              # Load Users X11 resource database
  1030. fi
  1031. if [ -f $HOME/.Xdefaults.sun ]; then
  1032.     xrdb -merge $HOME/.Xdefaults.sun
  1033. fi
  1034. DISPLAY=`hostname`:0.0
  1035. export DISPLAY
  1036. xhost + > /dev/null
  1037. #xterm -sb -sl 512 -T `hostname` -ls -n `hostname` &
  1038. xterm -sb -sl 512 -T `hostname` -n `hostname` &
  1039. mwm &
  1040. xclock -geometry +1010+0 &
  1041. xload -geometry +710+5 -fg red &
  1042. xsetroot -solid salmon &
  1043. xterm -sb -sl 100 -T CONSOLE_DO_NOT_LOGOUT -C -n console -iconic
  1044. #wait
  1045.  
  1046. Here's .Xdefaults.sun, which gives me a more readable font for use with
  1047. motif on Sun monitors:
  1048.  
  1049. !Some additional .Xdefaults values specifically for SUN
  1050. !
  1051. ! After loading .Xdefaults, xrdb -merge .Xdefaults.sun
  1052. !
  1053. Mwm*fontList:           8x16
  1054. !Mwm*fontList:          vtbold
  1055. !Change as desired.
  1056.  
  1057.  
  1058.      You will probably want to maintain LD_LIBRARY_PATH to something like:
  1059. /opt/SUNWspro/lib:/usr/ccs/lib:/usr/ucblib:/usr/X11R5/lib:/usr/lib:
  1060. /usr/openwin/lib.  If you use emacs, you will need to leave /usr/openwin/lib
  1061. there.  [This is because you probably, like me, used the distributed version
  1062. of s-sol2.h, which explicitly refers to windowing libraries as being in the
  1063. /usr/openwin locations.  Yes, I know that emacs/Solaris ought to allow
  1064. LibXt.so.N.M to be "picked up" from elsewhere, like /usr/X11R5/lib, but the
  1065. one emacs links with is LibXt.so.4.something, and the mit one is
  1066. LibXt.so.5.something.  So it seems to want the .4 one.  Any comments?  I'd
  1067. prefer not to rebuild emacs based on the X11R5 libs because I occassionally
  1068. need to move the emacs binaries to machines without the mit files.]
  1069.  
  1070. -----------------------------------------------------------------------------
  1071. Subject: 239)  What compile errors/warnings might I get in both Sun 3 and Sun
  1072. 4?
  1073.  
  1074. Answer:
  1075.  
  1076.  
  1077. make: Warning: Too many rules defined for target
  1078. make: Warning: Too many rules defined for target
  1079. "callbacks.c", line 1530: warning: illegal combination of pointer
  1080. and integer, op =
  1081. "callbacks.c", line 1531: warning: illegal combination of pointer
  1082. and integer, op =
  1083. "callbacks.c", line 1532: warning: illegal combination of pointer
  1084. and integer, op =
  1085. "utils.c", line 73: warning: illegal combination of pointer and integer, op =
  1086. "utils.c", line 74: warning: illegal combination of pointer and integer, op =
  1087. "utils.c", line 122: warning: illegal combination of pointer and integer, op =
  1088. "utils.c", line 123: warning: illegal combination of pointer and integer, op =
  1089. "utils.c", line 191: warning: illegal combination of pointer and integer, op =
  1090. "utils.c", line 194: warning: illegal combination of pointer and integer, op =
  1091. "utils.c", line 195: warning: illegal combination of pointer and integer, op =
  1092. "utils.c", line 196: warning: illegal combination of pointer and integer, op =
  1093. "utils.c", line 316: warning: illegal combination of pointer and integer, op =
  1094. "utils.c", line 334: warning: illegal combination of pointer and integer, op =
  1095. "utils.c", line 338: warning: illegal combination of pointer and integer, op =
  1096. "utils.c", line 341: warning: illegal combination of pointer and integer, op =
  1097. "xmdialogs.c", line 838: warning: illegal combination of pointer
  1098. and integer, op =
  1099. "xmeditor.c", line 1152: warning: illegal combination of pointer
  1100. and integer, op =
  1101.  
  1102. These warning messages can be ignored. OSF is aware of these warnings.
  1103.  
  1104.  
  1105. -----------------------------------------------------------------------------
  1106. Subject: 240)  On a Sun 3, what are the mwm startup error messages about?  I
  1107. get
  1108.  
  1109. mwm: Invalid accelerator specification on line 7 of
  1110.      specification string
  1111. mwm: Invalid accelerator specification on line 31 of
  1112.       configuration file
  1113.  
  1114.  
  1115. Answer:  This is because some Sun keyboards do not have an F10 key and some
  1116. sun workstations which have an F10 key do not have X-servers which recognize
  1117. it.  The F10 key is used by mwm.  If the machine does have an F10 key, the
  1118. user should use xmodmap to tell the server it exists.  Otherwise, change the
  1119. definition of the DefaultWindowMenu in /usr/lib/X11/system.mwmrc (after
  1120. installation) or in /lib/clients/mwm/system.mwmrc (before installation).
  1121. Change the accelerator of "Maximize" (it is "Alt<Key>F10)" to something else.
  1122. Also, you should change the definition of DEFAULTSYSTEMMENU in the file
  1123. /clients/mwm/WmResource.c in a similar fashion.  There is as yet no standard
  1124. redefinition for F10.
  1125.  
  1126.  
  1127. -----------------------------------------------------------------------------
  1128. Subject: 241)  Are there problems making shared libraries on a Sun?
  1129.  
  1130. Answer:  If you use the -pic option you may run out of offset table space.
  1131. use the -PIC option instead.
  1132.  
  1133. You may get the message "ld.so: Undefined symbol: __XtInherit" when executing
  1134. UIL. There is a problem in shared library build when you compare a function
  1135. variable to a routine name, but don't call the routine.  Either, you can build
  1136. the Xt library nonshared, or you can put a reference to XtToolkitInitialize in
  1137. the UIL main program (or even include a module that references it).  The
  1138. routine doesn't even have to be called; it just has to be there.
  1139.  
  1140.  
  1141. -----------------------------------------------------------------------------
  1142. Subject: 242)  Why does the OpenWindows server hangs when I popup a menu with
  1143. Button 3?
  1144.  
  1145. [Last modified: August 92]
  1146.  
  1147. Answer:  This is an OpenWindows problem, but if you have Motif source you can
  1148. fix your own applications. From Steve Sistare of Thinking Machines Corp.:
  1149. "Change the 2 calls to XtGrabButton in RowColumn.c such that ButtonReleaseMask
  1150. | ButtonPressMask is passed for the event mask.  Currently, only
  1151. ButtonReleaseMask is passed.  Also, change the owner_event argument to FALSE.
  1152. " This has not been fixed in Motif as at 1.1.5.
  1153.  
  1154. -----------------------------------------------------------------------------
  1155. Subject: 243)  Has anyone made shared libraries on an IBM RS/6000?
  1156.  
  1157. Answer:  [NOTE: This may not a problem any longer; I believe that AIX is now
  1158. delivered with shared Xm libraries. If you know the status of this, email
  1159. ksall@cen.com.]
  1160.  
  1161. Sakari Jalovaara wrote:  There is a problem: Xm redefines VendorShell and the
  1162. AIX linker put _both_ Xm's and Xt's VendorShell into programs.  When an AIX
  1163. shared library is created as many references inside the library are resolved
  1164. as possible.  If the symbol vendorShellClassRec is defined in libXt and
  1165. referenced, say, from a function XtFoo() also in libXt, the "ld" run that
  1166. creates the shared library resolves the reference:
  1167.  
  1168.         XtFoo() -> vendorShellClassRec
  1169.  
  1170. Then I create the Motif library that has its own vendorShellClassRec and an
  1171. XmBar() function that uses it; libXm will also contain a resolved reference to
  1172. vendorShellClassRec:
  1173.  
  1174.         XmBar() -> vendorShellClassRec
  1175.  
  1176. Finally, I link a program that uses both XtFoo() and XmBar() and the program
  1177. will end up with _two_ independent "vendorShellClassRec"s:
  1178.  
  1179.         XtFoo() -> vendorShellClassRec [Xt version]
  1180.         XmBar() -> vendorShellClassRec [Xm version]
  1181.  
  1182. Instant schizo zaphod mode.  In reality, vendorShellClassRec is not referenced
  1183. from functions but from other widget class records.
  1184.  
  1185. I can't just pull Vendor.o out from the shared Xt (Vendor.o appears to define
  1186. the only external symbols redefined by libXm) because AIX shared libraries
  1187. apparently can't contain unresolved external references.  If I take out
  1188. Vendor.o I have to take out every other file that uses symbols defined there -
  1189. and then files that need those files, etc.  I tried it and ended up with three
  1190. or four object files in libXt and the res non-sharable.
  1191.  
  1192. I kludged around this by putting all of libXt (minus Vendor.o) into the shared
  1193. libXm.  It isn't a pretty solution but it works - and beats having a
  1194. statically linked two-megabyte "periodic" demo...
  1195.  
  1196.  
  1197. -----------------------------------------------------------------------------
  1198. Subject: 244)  What is the error  "Unaligned access in XmString" under Ultrix?
  1199.  
  1200. Answer:  Compile XmString.c with STRINGS_ALIGNED.
  1201.  
  1202.  
  1203. -----------------------------------------------------------------------------
  1204. Subject: 245)  Can bugs in Sun's OpenWindows server cause Motif clients to
  1205. crash?
  1206.  
  1207. [Last modified: Oct 95]
  1208.  
  1209. Answer:  Yes.  Patch 100444-73 (or later) from Sun fixes most of these bugs.
  1210. Alternatively, you can compile and run the X11R6 sample server from MIT.  See
  1211. the SunSolve web page:
  1212.  
  1213.         http://sunsolve1.sun.com/pub-cgi/patchpage.pl
  1214.  
  1215. Thanks to Ken Lee, http://www.rahul.net/kenton/, with an update from Bob Cox,
  1216. rwcox@mcw.edu.
  1217.  
  1218. -----------------------------------------------------------------------------
  1219. Subject: 246)  Why does Motif on Linux crash when I open a file selection box?
  1220.  
  1221. [Last modified: Oct 95]
  1222.  
  1223. Answer:  Make sure you use libc version 4.6.27 or later.  Linux Motif's are
  1224. very sensitive about this.
  1225.  
  1226. Ken Lee, http://www.rahul.net/kenton/
  1227.  
  1228. -----------------------------------------------------------------------------
  1229. Subject: 247)  How can I install Motif on my PC?
  1230.  
  1231. [Last modified: Jan 96]
  1232.  
  1233. Answer:  There's a paper on this in the September issue of *The X Advisor*:
  1234. http://landru.unx.com/DD/advisor/index.shtml
  1235.  
  1236.         Motif Development on Your Home PC
  1237.         http://landru.unx.com/DD/advisor/docs/sep95/sep95.klee.shtml
  1238.  
  1239. Ken Lee, http://www.rahul.net/kenton/
  1240.  
  1241. -----------------------------------------------------------------------------
  1242. END OF PART SEVEN
  1243.