home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: vmsnet.vms-posix
- Path: sparky!uunet!elroy.jpl.nasa.gov!nntp-server.caltech.edu!eql.caltech.edu!rankin
- From: rankin@eql.caltech.edu (Pat Rankin)
- Subject: Re: How do *you* port applications in vms_posix?
- Message-ID: <3SEP199217525047@eql.caltech.edu>
- News-Software: VAX/VMS VNEWS 1.41
- Sender: news@cco.caltech.edu
- Nntp-Posting-Host: eql.caltech.edu
- Organization: California Institute of Technology
- References: <1992Sep3.152821.9632@ncar.ucar.edu>
- Date: Fri, 4 Sep 1992 00:52:00 GMT
- Lines: 58
-
- [Note to hyper-attentive readers: this reply was actually composed in
- response to a similar posting in comp.os.vms; the quoted text reflects
- that other message rather than the one I'm following up here.]
-
- In article <1992Sep3.152821.9632@ncar.ucar.edu>,\
- pack@acd.acd.ucar.edu (Daniel Packman) writes...
- > Has anyone tried porting a unix application within the VMS_POSIX
- > environment?
-
- I ported GAWK; the first thing I did was add -UVMS to CFLAGS in the
- Unix Makefile, in order to throw out all the existing VMS-specific code.
- After that, only a handful of minor changes were needed. (I haven't tried
- to tackle anything more ambitious yet.)
-
- > The installation creates some files in /usr/include, but certainly not
- > all of them. Some include files, particularly for X11 have mixed case.
- > Has anyone copied these to /usr/include/X11 and renamed them to
- > correspond to standard mixed case?
-
- There's no need to move any of the DECwindows related header files
- into the container file environment. Lack of case sensitivity in the
- VMS file environment will not pose a problem unless you try to have two
- different files whose names differ in case only. (Not likely with C,
- but I gather that C++ typically introduces such problems.)
-
- > Any tips on effective use of this environment will be appreciated.
-
- I just tested the following:
- |$ create foo.c
- |#include <X11/X.h>
- |long foo(void) { return KeyPressMask; }
- ^Z
- |$ set proc/priv=grpnam
- |$ define/group x11 decw$include:
- |$ posix
- |psx> c89 -E foo.c | grep '..'
-
- And got back
- |# 1 "_LIZARD$DKA100:[USER.RANKIN]_1_2020036E_FOO.C;1"
- |#module foo
- |# line 0 "foo.c"
- |# 1 "SYS$COMMON:[DECW$INCLUDE]X.H;1"
- |typedef unsigned long XID;
- |typedef XID Window;
- [ several other typedefs omitted ]
- |
- |# 1 "foo.c"
- |# line 2 "foo.c"
- |long foo(void) { return (1L<<0); }
- |psx>
-
- This just illustrated that headers not found within POSIX can still be
- found "normally" when c89 uses DCL is used to execute VAXC. There's a
- section in the release notes which decribes how to compile and link
- POSIX applications with DECwindows; it evidently requires that you do so
- from the VMS environment rather than from within POSIX.
-
- Pat Rankin, rankin@eql.caltech.edu
-