View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003974CMakeCMakepublic2006-10-24 10:182016-06-10 14:30
ReporterSteve Boyd 
Assigned ToBill Hoffman 
PrioritynormalSeverityfeatureReproducibilityalways
StatusclosedResolutionmoved 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0003974: OpenVMS support
DescriptionA new feature is needed for CMake to function on OpenVMS operating systems. It should generate files that support MMS which is an OpenVMS make utility.

Some supporting information

VMS is command-line based and has extensive scripting capabilities. Compiling simple programs can be done as follows:

$ c64 hello_world_extended.c
$ link /exe=hello_world_extended.c some_lib/lib

There is an OpenVMS tool called MMS available which is similar to unix make files. This link describes MMS:

http://h71000.www7.hp.com/doc/73FINAL/5825/5825_.htm [^]

To start MMS, type:

$ mms

It uses descrip.mms files to define the build environment (equivalent to Makefile). An example is included here:

==================================================
.IGNORE
FFLAGS =
/FAST/OPT=(LEVEL=5,TUNE=EV68,INL=ALL)/OBJECT=$(MMS$TARGET_NAME).OBJ
FGENER = /ALIGN=(NATURAL, SEQUENCE)/ASSUME=NOACCURACY/OPT=(LEVEL=5,TUNE=GENERIC
,INL=ALL)/OBJECT=$(MMS$TARGET_NAME).OBJ_G

.FOR.OBJ
        $(FORT)$(FFLAGS) UD:$(MMS$TARGET_NAME).FOR
        $(FORT)$(FGENER) UD:$(MMS$TARGET_NAME).FOR
.FOR.INC
        $(FORT)$(FFLAGS) UD:$(MMS$TARGET_NAME).FOR
        $(FORT)$(FGENER) UD:$(MMS$TARGET_NAME).FOR

all :: uct_reconstruction.exe, uct_reconstruction.exe_generic
        write sys$output "UCT_RECONSTRUCTION.EXE generated"

uct_reconstruction.exe :: -
        recoident.opt, -
        uct_reconstruction.obj, -
        scli:uct_reco_constants.inc, -
        calc_fan_beam_angles.obj, -
        rebinning.obj, -
        raw_to_rpro.obj, -
        conereco.obj

        link/exe=uct_reconstruction.exe -
        recoident/opt, -
        uct_reconstruction.obj, -
        calc_fan_beam_angles, -
        rebinning, -
        raw_to_rpro, -
        conereco, -
        scanco_lib/lib

uct_reconstruction.exe_generic :: -
        recoident.opt_g, -
        uct_reconstruction.obj_g, -
        scli:uct_reco_constants.inc, -
        calc_fan_beam_angles.obj_g, -
        raw_to_rpro.obj_g, -
        rebinning.obj_g, -
        conereco.obj_g

        link/exe=uct_reconstruction.exe_generic -
        recoident/opt, -
        uct_reconstruction.obj_g, -
        calc_fan_beam_angles.obj_g, -
        raw_to_rpro.obj_g, -
        rebinning.obj_g, -
        conereco.obj_g, -
        scanco_lib/lib

uct_reconstruction.obj :: ud:uct_reconstruction.for, -
        scli:uct_reco_constants.inc

calc_fan_beam_angles.obj :: ud:calc_fan_beam_angles.for, -
        scli:uct_reco_constants.inc

raw_to_rpro.obj :: ud:raw_to_rpro.for, -
        scli:uct_reco_constants.inc

rebinning.obj :: ud:rebinning.for, -
        scli:uct_reco_constants.inc, -
        scli:ctdata_header_structure.inc

conereco.obj :: ud:conereco.for, -
        scli:uct_reco_constants.inc

==================================================

NOTE 1: The 'ud' in the above file is a system logical that is specific to the system on which this descrip.mms file was generated. Ignore it.

NOTE 2: An alternative to MMS is Madgoat MMK (http://www.madgoat.com/mmk.html [^])
TagsNo tags attached.
Attached Files

 Relationships

  Notes
(0005516)
Brad King (manager)
2006-10-24 10:31

I'm assigning this to myself because I asked the reporter to submit it.
(0005520)
Bill Hoffman (manager)
2006-10-24 12:11

If CMake support for OpenVMS is added, someone needs to run a dashboard at a minimum, and best case give remote access to cmake developers to the machine. But if we spend the time to get it working, then to keep it working a nightly dashboard would have to be in place. Also, does gmake build for VMS? It might be a quicker path for getting something working.
(0005875)
Werner Smekal (reporter)
2006-12-05 03:19

GNUmake is available (at least version 3.60) from here http://h71000.www7.hp.com/freeware/freeware80/ [^] (and maybe other places, scroll down to make). So, using gnu make in vms is possible, but mms and mmk (free version of mms) also use Make syntax as far as i know.

HTH,
Werner
(0005876)
Bill Hoffman (manager)
2006-12-05 08:54

IF they use make sytanx then it should work, there are no gmake specific constructs in cmake makefiles. However, if it is not a standard make, then it will not work. Basically, someone has to try this... I am thinking gmake will be the easiest way to get it working. Then of course there is the compiler flags and such.
(0016694)
Brad King (manager)
2009-06-10 13:15

We've made some progress on OpenVMS support, but I've run out of time for now.
I've been working on a system with GNV bash and make.

After the commits below I can bootstrap and get a generated build tree for CMake (currently with one error that is worked around by running "Bootstrap_cmk/cmake ." again by hand). The resulting build tree almost completes, failing only because of a mismatched .EXE extension on the CMake binaries.

COMP: Avoid String.c inclusion by Compaq templates
/cvsroot/CMake/CMake/Source/kwsys/CMakeLists.txt,v <-- Source/kwsys/CMakeLists.txt
new revision: 1.145; previous revision: 1.144
/cvsroot/CMake/CMake/Source/kwsys/String.c,v <-- Source/kwsys/String.c
new revision: 1.2; previous revision: 1.1
/cvsroot/CMake/CMake/Source/kwsys/kwsysPrivate.h,v <-- Source/kwsys/kwsysPrivate.h
new revision: 1.7; previous revision: 1.6
/cvsroot/CMake/CMake/bootstrap,v <-- bootstrap
new revision: 1.119; previous revision: 1.118

BUG: Fix non-select process impl without timeout
/cvsroot/CMake/CMake/Source/kwsys/ProcessUNIX.c,v <-- Source/kwsys/ProcessUNIX.c
new revision: 1.83; previous revision: 1.82

ENH: Teach KWSys Process basic VMS support
/cvsroot/CMake/CMake/Source/kwsys/ProcessUNIX.c,v <-- Source/kwsys/ProcessUNIX.c
new revision: 1.84; previous revision: 1.83

COMP: Use HAVE_SYS_PARAM_H properly in libtar
/cvsroot/CMake/CMake/Utilities/cmtar/append.c,v <-- Utilities/cmtar/append.c
new revision: 1.14; previous revision: 1.13
/cvsroot/CMake/CMake/Utilities/cmtar/decode.c,v <-- Utilities/cmtar/decode.c
new revision: 1.6; previous revision: 1.5
/cvsroot/CMake/CMake/Utilities/cmtar/extract.c,v <-- Utilities/cmtar/extract.c
new revision: 1.15; previous revision: 1.14
/cvsroot/CMake/CMake/Utilities/cmtar/libtar.c,v <-- Utilities/cmtar/libtar.c
new revision: 1.19; previous revision: 1.18
/cvsroot/CMake/CMake/Utilities/cmtar/util.c,v <-- Utilities/cmtar/util.c
new revision: 1.8; previous revision: 1.7
/cvsroot/CMake/CMake/Utilities/cmtar/wrapper.c,v <-- Utilities/cmtar/wrapper.c
new revision: 1.10; previous revision: 1.9

COMP: Fix cmcurl build on VMS
/cvsroot/CMake/CMake/Utilities/cmcurl/setup.h,v <-- Utilities/cmcurl/setup.h
new revision: 1.3; previous revision: 1.2

COMP: Fix cmtar build on VMS
/cvsroot/CMake/CMake/Utilities/cmtar/extract.c,v <-- Utilities/cmtar/extract.c
new revision: 1.16; previous revision: 1.15

BUG: Avoid std::unique algorithm on VMS
/cvsroot/CMake/CMake/Source/cmGlobalUnixMakefileGenerator3.cxx,v <-- Source/cmGlobalUnixMakefileGenerator3.cxx
new revision: 1.134; previous revision: 1.133

ENH: Teach KWSys SystemTools about VMS paths
/cvsroot/CMake/CMake/Source/kwsys/SystemTools.cxx,v <-- Source/kwsys/SystemTools.cxx
new revision: 1.244; previous revision: 1.243

ENH: On VMS use _dir and _tmp, not .dir and .tmp
/cvsroot/CMake/CMake/Source/cmGeneratedFileStream.cxx,v <-- Source/cmGeneratedFileStream.cxx
new revision: 1.21; previous revision: 1.20
/cvsroot/CMake/CMake/Source/cmLocalUnixMakefileGenerator3.cxx,v <-- Source/cmLocalUnixMakefileGenerator3.cxx
new revision: 1.263; previous revision: 1.262
/cvsroot/CMake/CMake/Source/cmTarget.cxx,v <-- Source/cmTarget.cxx
new revision: 1.245; previous revision: 1.244

ENH: Skip 'SHELL = /bin/sh' in Makefiles on VMS
/cvsroot/CMake/CMake/Source/cmLocalUnixMakefileGenerator3.cxx,v <-- Source/cmLocalUnixMakefileGenerator3.cxx
new revision: 1.264; previous revision: 1.263

ENH: Enable basic OpenVMS platform support
/cvsroot/CMake/CMake/Source/cmGlobalUnixMakefileGenerator3.cxx,v <-- Source/cmGlobalUnixMakefileGenerator3.cxx
new revision: 1.135; previous revision: 1.134

ENH: Make bootstrap script work on VMS bash
/cvsroot/CMake/CMake/bootstrap,v <-- bootstrap
new revision: 1.120; previous revision: 1.119
(0041326)
Kitware Robot (administrator)
2016-06-10 14:27

Resolving issue as `moved`.

This issue tracker is no longer used. Further discussion of this issue may take place in the current CMake Issues page linked in the banner at the top of this page.

 Issue History
Date Modified Username Field Change
2009-06-10 13:12 Brad King Assigned To Brad King => Bill Hoffman
2009-06-10 13:15 Brad King Note Added: 0016694
2016-06-10 14:27 Kitware Robot Note Added: 0041326
2016-06-10 14:27 Kitware Robot Status assigned => resolved
2016-06-10 14:27 Kitware Robot Resolution open => moved
2016-06-10 14:30 Kitware Robot Status resolved => closed


Copyright © 2000 - 2018 MantisBT Team