243 lines
9.1 KiB
HTML
243 lines
9.1 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
|
<HTML>
|
|
<HEAD>
|
|
<TITLE>GL widgets for Xt/Motif - XFree86 implementation</TITLE>
|
|
<META NAME="generator" CONTENT="Only VIM and me.">
|
|
</HEAD>
|
|
<BODY BGCOLOR="#FFFFFF">
|
|
|
|
<!-- $XFree86: xc/lib/GLw/README.html,v 1.2 2000/11/06 21:57:10 dawes Exp $ -->
|
|
|
|
<H1 ALIGN=CENTER>GL widgets for Xt/Motif</H1>
|
|
<H2 ALIGN=CENTER>XFree86 implementation</H1>
|
|
<P ALIGN=CENTER>by Carlos A. M. dos Santos<BR>casantos@cpmet.ufpel.tche.br</P>
|
|
|
|
<HR NOSHADE>
|
|
|
|
<H3>1. Introduction</H3>
|
|
<P>
|
|
This directory contains the source code for SGI's OpenGL Xt/Motif(TM) widgets,
|
|
slightly modified to generate both Motif 1.x and 2.x versions of
|
|
the widget even if Motif is not available, as in the XFree86 distribution of
|
|
the X Window System. This code is based on that distributed by Silicon
|
|
Graphics as part of it's OpenGL Sample Implementation, not on the modified version
|
|
distributed with Mesa.
|
|
|
|
|
|
<H3>2. Installation</H3>
|
|
<P>
|
|
This code is intended to be compiled as part of the normal XFree86 building
|
|
process, under the xc/lib/GLw directory. To compile the library out of the X
|
|
source tree, follow instructions below.
|
|
|
|
<H3>2.1. Requirements</H3>
|
|
<P>
|
|
Gzip and tar are needed to extract the files from the distribution <A
|
|
HREF="http://www.inf.ufrgs.br/~casantos/libGLw/GLw.tar.gz">archive</A>. Tar is
|
|
a standard UNIX utility but if you don't have it use GNU tar, available in
|
|
source form at <A
|
|
HREF="ftp://ftp.gnu.org/pub/gnu/">ftp://ftp.gnu.org/pub/gnu/</A>. Gzip is not
|
|
a standard UNIX utility, though available in many systems. You may obtain it
|
|
(also source form) at the same FTP server as GNU tar.
|
|
|
|
<P>
|
|
You need xmkmf and imake too. Depending on your operating system you may need
|
|
to install some kind of X Window System development kit, so check the vendor
|
|
documentation first. I was told that some UNIX systems don't have imake:
|
|
report this as a bug (to your vendor, not me).
|
|
|
|
<P>
|
|
Of course you will need a C compiler.
|
|
|
|
<H3>2.2. Steps</H3>
|
|
<P>
|
|
<OL>
|
|
<LI>Extract the source code from the distribution archive.
|
|
<P>
|
|
<CODE>
|
|
gzip -dc GLw.tar.gz | tar xf -
|
|
</CODE>
|
|
<P>
|
|
<LI>Go to the surce code directory and generate the makefile.
|
|
<P>
|
|
<CODE>
|
|
cd GLw<BR>
|
|
xmkmf
|
|
</CODE>
|
|
<P>For LessTif, use "mxmkmf" instead of "xmkmf". Imake support
|
|
is much better in recent versions of LessTif (since late july 2000).
|
|
If your Motif or OpenGL libraries and/or include files are installed in
|
|
non-standard locations (some UNIX vendors seem to be very creative :-)
|
|
then edit the file named Imakefile, remove the leading XCOMM of the
|
|
lines containing MOTIF_INCLUDES and MOTIF_LDFLAGS and set the
|
|
appropriate values.
|
|
<P>
|
|
<LI>Compile the code with
|
|
<P>
|
|
<CODE>
|
|
make includes<BR>
|
|
make standalone
|
|
</CODE>
|
|
<P>
|
|
<LI>Install the library and manual pages with
|
|
<P>
|
|
<CODE>
|
|
make install<BR>
|
|
make install.man
|
|
</CODE>
|
|
<P>
|
|
<LI>Optionally, you may compile two test programs: xmdemo and xtdemo. You need OpenGL
|
|
(or Mesa) for both and Motif (or LessTif) for xmdemo. There are four
|
|
extra make targers for these programs: demos, stand-demos, stand-xmdemo
|
|
and stand-xtdemo. You may use them with:
|
|
<P>
|
|
<CODE>
|
|
make stand-demos<BR>
|
|
./xmdemo
|
|
./xtdemo
|
|
</CODE>
|
|
</OL>
|
|
|
|
<H3>2.3. Creating a shared library</H3>
|
|
<P>
|
|
By default only a static library is created because most of the UNIX loaders,
|
|
if not all, complain about unresolved symbols even if the application doesn't
|
|
use the modules in which such symbols are referenced. However, if your system
|
|
supports libraries with weak symbols (e.g. Solaris, FreeBSD and Linux) it is
|
|
possible to fool the loader. All you have to do is edit the Imakefile,
|
|
changing "#define SharedLibGLw" and "#define GLwUseXmStubs" to YES, then
|
|
repeat the compilation process starting from step 2 in the previous section.
|
|
|
|
<H3>2.4. Problems</H3>
|
|
<P>
|
|
If you have trouble, ask for help in the XFree86 "xperts" mailing list. Look
|
|
at <A HREF="http://www.xfree86.org">http://www.xfree86.org</A> for
|
|
instructions on how to subscribe. In desperation, send an email to <A
|
|
HREF="mailto:casantos@cpmet.ufpel.tche.br">casantos@cpmet.ufpel.tche.br</A>.
|
|
|
|
<P>
|
|
PLEASE DO NOT SEND ME EMAIL ASKING HOW TO INSTALL OR CONFIGURE YOUR OPERATING
|
|
SYSTEM, MODEM, NETWORK CARD, BREAD TOASTER, COFEE MAKER OR WHATEVER ELSE!
|
|
|
|
|
|
<H3>3. Copyrights</H3>
|
|
<P>
|
|
Most of the code is covered by the following license terms:
|
|
<BLOCKQUOTE>
|
|
<P>
|
|
License Applicability. Except to the extent portions of this file are
|
|
made subject to an alternative license as permitted in the SGI Free
|
|
Software License B, Version 1.1 (the "License"), the contents of this
|
|
file are subject only to the provisions of the License. You may not use
|
|
this file except in compliance with the License. You may obtain a copy
|
|
of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
|
|
Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
|
|
<P>
|
|
<A
|
|
HREF="http://oss.sgi.com/projects/FreeB">http://oss.sgi.com/projects/FreeB</A>
|
|
<P>
|
|
Note that, as provided in the License, the Software is distributed on an
|
|
"AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
|
|
DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
|
|
CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
|
|
PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
|
|
<P>
|
|
Original Code. The Original Code is: OpenGL Sample Implementation,
|
|
Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
|
|
Inc. The Original Code is Copyright © 1991-2000 Silicon Graphics, Inc.
|
|
Copyright in any portions created by third parties is as indicated
|
|
elsewhere herein. All Rights Reserved.
|
|
<P>
|
|
Additional Notice Provisions: The application programming interfaces
|
|
established by SGI in conjunction with the Original Code are The
|
|
OpenGL® Graphics System: A Specification (Version 1.2.1), released
|
|
April 1, 1999; The OpenGL® Graphics System Utility Library (Version
|
|
1.3), released November 4, 1998; and OpenGL® Graphics with the X
|
|
Window System® (Version 1.3), released October 19, 1998. This software
|
|
was created using the OpenGL® version 1.2.1 Sample Implementation
|
|
published by SGI, but has not been independently verified as being
|
|
compliant with the OpenGL® version 1.2.1 Specification.
|
|
</BLOCKQUOTE>
|
|
|
|
<P>
|
|
The demonstration programs are covered by the following license terms:
|
|
|
|
<BLOCKQUOTE>
|
|
<P>
|
|
Copyright © Mark J. Kilgard, 1995, 1996.
|
|
|
|
<P>
|
|
NOTICE: This source code distribution contains source code contained in
|
|
the book "Programming OpenGL for the X Window System" (ISBN:
|
|
0-201-48359-9) published by Addison-Wesley. The programs and associated
|
|
files contained in the distribution were developed by Mark J. Kilgard and
|
|
are Copyright 1994, 1995, 1996 by Mark J. Kilgard (unless otherwise
|
|
noted). The programs are not in the public domain, but they are freely
|
|
distributable without licensing fees. These programs are provided without
|
|
guarantee or warrantee expressed or implied.
|
|
</BLOCKQUOTE>
|
|
|
|
<P>
|
|
The files contained in directory GLwXm are fake Motif headers, covered by
|
|
the XFree86 license, they permit us to generate both Motif 1.x and 2.x
|
|
versions of the widget without having Motif. Notice that they are NOT part of
|
|
a standard Motif distribution and shall not be used to compile any other code.
|
|
|
|
|
|
<H3>4. Thanks</H3>
|
|
|
|
<P>
|
|
Many thanks to Silicon Graphics and Mark J. Kilgard for making their
|
|
software free.
|
|
|
|
|
|
<H3>5. No thanks</H3>
|
|
|
|
<BLOCKQUOTE>
|
|
<P>
|
|
<STRONG>
|
|
THIS SECTION CONTAINS MY PERSONAL OPINIONS AND
|
|
DOESN'T REPRESENT AN OFFICIAL POSITION OF THE XFree86 PROJECT.
|
|
</STRONG>
|
|
</BLOCKQUOTE>
|
|
|
|
<P>
|
|
The first incarnation of this version of libGLw used eight header files from
|
|
<A HREF="http://www.lesstif.org/">LessTif</A>, four for each Motif version.
|
|
LessTif is covered by the GNU Library General Public License (LGPL) whose
|
|
terms are not compatible with the XFree86 licensing policy. Since the
|
|
copyright holder of LessTif is the <A HREF="http://www.fsf.org/">Free Software
|
|
Foundation</A> (FSF), I asked Richard Stallman, president of FSF and so called
|
|
"leader of the Free Software movement", permission to redistribute a copy of
|
|
those eight headers under XFree86 terms, still maintaining the FSF copyright.
|
|
|
|
<P>
|
|
Observe that I was not asking him to change the license of LessTif as a whole,
|
|
but only to allow me to distribute copies of some header files containing
|
|
function prototypes, variable declarations and data type definitions. Even so,
|
|
Stallman said no because the files contained "more than 6000 lines of code".
|
|
Which code? The LessTif headers are mostly copies of the Motif ones and don't
|
|
contain any original GNU "code"! I can't still imagine a reason for Stallman's
|
|
negative answer except for paranoia. He seems to ignore what Motif is and
|
|
that LessTif's API is simply a copy of Motif's one.
|
|
|
|
<P>
|
|
After spending some time, I made my own headers, that became much smaller than
|
|
the previous ones because I included only a subset of the Motif API and merged
|
|
everything into four files: 417 lines instead 6000. Humm, perhaps I should be
|
|
grateful to Sallman too :-).
|
|
|
|
|
|
<H3>6. Trademarks</H3>
|
|
|
|
<P>
|
|
<UL>
|
|
<LI>OpenGL is a trademark of Silicon Graphics, Inc.
|
|
<LI>Motif is a trademark of the Open Group.
|
|
</UL>
|
|
|
|
<HR NOSHADE>
|
|
|
|
</BODY>
|
|
</HTML>
|