[CMake] Getting CMake to run on OpenVMS
Alan Antonuk
antonuka at msu.edu
Fri Sep 28 11:27:21 EDT 2007
Update:
I've ported the bootstrap script to DCL (yuck) and it has most of the
functionality of the bash version of the script.
I decided to take a dependency on the A9 porting library a.k.a. "The
Jackets" (http://h71000.www7.hp.com/openvms/products/ips/porting.html) to
help with some of the small issues I was having with compatibility of unix
header files. It also includes a port of gmake (3.76.1).
Compiling the bootstrap I run into only one issue:
In ProcessUNIX.c, there is a sigaction struct, and the version on VMS does
not have the sa_sigaction member of the sigaction struct, and
correspondingly the SA_SIGINFO constant is not defined. The sigaction
struct looks like this:
void (*sa_handler)(int);
sigset_t sa_mask;
int sa_flags;
As a fix would I get correct results if I were to instead of sa_sigaction,
assign to sa_handler (the Unix manpage seems to claim that on some
implementations sa_sigaction and sa_handler are a union - so they end up
being called for the same reasons. My logic maybe flawed here.
-Alan
On 9/20/07, Bill Hoffman <bill.hoffman at kitware.com> wrote:
>
> Alan Antonuk wrote:
> > Hi;
> >
> > I'm trying to get cmake to run on the OpenVMS operating system with a
> > goal of eventually getting ITK to run on VMS. Searching through this
> > list and on the website it doesn't appear as if this effort has been
> > made. My first question: has anyone successfully got cmake to run on
> > VMS?
> >
> > I am prepared to put in the effort to get cmake to run on
> > OpenVMS. Looking at a mail-thread
> > (http://public.kitware.com/pipermail/cmake/2006-October/011622.html
> > <http://public.kitware.com/pipermail/cmake/2006-October/011622.html>)
> > posted earlier I can answer those questions:
> > 1.) Is it command-line based? Does it support scripting in any form?
> > ANSWER: Yes it is command line based, and it does support scripting
> > called DCL - which is not compatible in anyway unix versions of *sh
> > 2.) What would the build sequence look like for a simple hello-world.c
> > program?
> > ANSWER:
> > $ CC /OBJECT=hello-world.OBJ hello-world.c
> > $ LINK hello-world.obj /EXECUTABLE=hello-world.EXE
> > C++ is similar
> > $ CXX /OBJECT= hello-world.OBJ hello-world.cpp
> > $ CXXLINK hello-world.OBJ /EXECUTABLE=hello-world.EXE
> >
> > 3.) Is there a make tool or native build tool of some kind?
> > ANSWER: Yes there's a utility called MMS which uses a syntax very
> > similar to make with some key differences (
> > http://h71000.www7.hp.com/doc/73FINAL/5825/5825_014.htm - look at
> > Appendix B)
> >
> > My plan of attack for porting cmake - would be to port the bootstrap
> > file to use the DCL scripting language, and then go from there trying
> > to build it. Is this a sensible way to go?
> I looked into this in the past. My approach was going to be to first
> use gmake on OpenVMS which is ported. So, if you used the cmake "Unix
> Makefiles" generator and gmake, you should be able to just create some
> platform files to get this going.
>
> -Bill
>
>
--
+––– –– – – – – –
| Alan Antonuk
| antonuka at msu.edu, aega at umich.edu
tel cell: (734) 646-4476
| tel work: (734) 647-1386
addr: 1705 Morehead Dr., Ann Arbor, MI 48103
| aim: alanxz1
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://public.kitware.com/pipermail/cmake/attachments/20070928/77e1ec87/attachment.htm
More information about the CMake
mailing list