[comp.lang.lisp.x] winterp

matthew1@stretch.cs.mun.ca (Matthew J. Newhook) (11/22/90)

Hello:
	Has anybody successfully compiled winterp on a machine other the the 
	phux machine that the distrubution was designed for.  It seems to want
	some non-standard header file (stdsym.h) and some X headers that we
	are missing (Xm/Xm.h).  

	Matthew Newhook
-- 
----------------matthew1@stretch.cs.mun.ca 
"Living in the limelight; the universal dream for those who wish to 
seem. Those who wish to be must put aside the alienation, get on with 
the facination, the real relation, the underlying theme" - Rush

kan@bugs-bunny.rtp.dg.com (Victor Kan) (11/29/90)

> In article <1990Nov21.181031.21486@stretch.cs.mun.ca> matthew1@stretch.cs.mun.ca (Matthew J. Newhook) writes:
> 
>  Hello:
>   Has anybody successfully compiled winterp on a machine other the the 
>   phux machine that the distrubution was designed for.  It seems to want
>   some non-standard header file (stdsym.h) and some X headers that we
>   are missing (Xm/Xm.h).  

I've built (and used) it successfully on the Data General AViiON m88k
machines running DG/UX 4.30 with the GNU C compiler 1.37.23.  It took
quite a bit of modification by hand in some of the header files
because those long chains of #defines depending on previous #defines
simply baffles the GNU cpp.

My system doesn't have /usr/include/sys/stdsym.h either, but a link to
/usr/include/syms.h works fine for me.

As for missing Motif headers, I haven't experienced that with
X11R3/Motif 1.0.x.  However, building against X11R4/Motif 1.1 will
need some work.  It seems that OSF is getting picky about what header
files users should be allowed to have, e.g. Xm/*[IP].h.

There's probably quite a bit more work needed than just getting the
right header files to get things working on Motif 1.1, what with new
widgets, new behaviors (aka bug "fixes"), etc. to consider.

To the credit of the X11R4 folks, my X11R3 built winterp works fine on
my X11R4 server.

--
| Victor Kan               | I speak only for myself.               |  ***
| Data General Corporation | Edo emacibus, ergo sum.                | ****
| 62 T.W. Alexander Drive  | Columbia Lions Win, 8 October 1988 for | **** %%%%
| RTP, NC  27709           | a record of 1-44.  Way to go, Lions!   |  *** %%%

darrylo@hpnmdla.HP.COM (Darryl Okahata) (11/30/90)

In comp.lang.lisp.x, matthew1@stretch.cs.mun.ca (Matthew J. Newhook) writes:

> Hello:
> 	Has anybody successfully compiled winterp on a machine other the the 
> 	phux machine that the distrubution was designed for.  It seems to want
> 	some non-standard header file (stdsym.h) and some X headers that we
> 	are missing (Xm/Xm.h).  

1. Where did you get your version of WINTERP?  I just did a grep on the
   WINTERP 1.01 sources, and could not find any reference to "stdsym.h".

2. WINTERP is written for the Motif widgets.  If you don't have Motif,
   you can't use WINTERP (the include file "Xm/Xm.h" is a Motif include
   file).

     -- Darryl Okahata
	UUCP: {hplabs!, hpcea!, hpfcla!} hpnmd!darrylo
	Internet: darrylo%hpnmd@hp-sde.sde.hp.com

DISCLAIMER: this message is the author's personal opinion and does not
constitute the support, opinion or policy of Hewlett-Packard or of the
little green men that have been following him all day.

mayer@hplabsz.HPL.HP.COM (Niels Mayer) (11/30/90)

In article <1990Nov21.181031.21486@stretch.cs.mun.ca> matthew1@stretch.cs.mun.ca (Matthew J. Newhook) writes:
>	Has anybody successfully compiled winterp on a machine other the the 
>	phux machine that the distrubution was designed for.  It seems to want
>	some non-standard header file (stdsym.h) and some X headers that we
>	are missing (Xm/Xm.h).  


I didn't really "design for" HPUX, however, I only have access to HP's
68030/68040 and PA-RISC Unix workstations, so I can't test for every
manufacturers interpretation of what "Unix" means. I have received reports
that the latest released version (Winterp v 1.01) has supposedly compiled
w/o modification on DEC Ultrix, SUN Sparcstation, etc.

<Xm/Xm.h> is the header file for Motif 1.0. To build WINTERP, you need the
Motif toolkit library and headers. Motif is supplied as part of the Unix
distributions provided by DEC, MIPS, HP, IBM, DataGeneral, etc; for Sun,
you can get Motif source for $1000.00 from OSF and compile it yourself.
Alternately, ICS, Inc. will sell you compiled Motif binaries for Sun for
about $300.00 (??). (If the lack of Motif on Sun bothers you, complain to
Sun, or better yet, get your workstations from HP). If you already have
Motif on your Suns, but you haven't installed the Motif include directory
in a standard location, then you can use the -I<fullpath>/Xm compiler
directive in your Makefile's CFLAGS.

stdsym.h is an HPUX file that is included by some other Unix include file
used by WINTERP. The reason for the error is that you used 'Makefile' or
'Makefile.hpux' without remaking the files. Both of which need to be remade
if you are compiling on an OS other than HPUX.

You should not be using 'Makefile' as is. That file is created by the
'imake' program distributed with the MIT X11r4 distribution. The
distributed 'Makefile' was created for HPUX 7.0, and you must use imake to
create a new top-level makefile, and then do (1) 'make makefiles' (2) 'make
includes' (3) 'make depend' -- now you will have a machine specific
makefile and are ready for the last step -- (4) make.

'imake' is a somewhat convoluted program to use, but it is the ONLY
STANDARD way to build X11 software that is portable. Most importantly, in
conjunction with X11 headers <X11/Xos.h>, imake will put cpp defines into
your compile that will take care of SYSV vs BSD differences like strchr()
vs index() '#include <strning.h>' vs '#include <strings.h>', '#include
<time.h>' vs. '#include <sys/time.h>' and sigvec() vs sigvector()...

If you don't want to mess with Imake, then I suggest you use Makefile.hpux
as a template for your own build process. First, you should remove all the
EXTHDRS files, and second, you should remove all the dependency information
(the rules of the form '*.o: foo.h bar.h baz.h'). The EXTHDRS and
dependencies are strictly for HPUX 7.0 and were created with the 'mkmf'
program available on HPUX. If you have 'mkmf' (which I believe is BSD),
then you may just want to do 'cp Makefile.hpux Makefile.sun' followed by
'mkmf -f Makefile.sun'. (Note that this needs to be done for
winterp/src-server/Makefile.hpux, winterp/src-client/Makefile.hpux, and
winterp/src-server/xlisp/Makefile.hpux).

Ok?

-------------------------------------------------------------------------------
	    Niels Mayer -- hplabs!mayer -- mayer@hplabs.hp.com
		  Human-Computer Interaction Department
		       Hewlett-Packard Laboratories
			      Palo Alto, CA.
				   *