From: BG - Ben Armstrong Date: 2005-06-03T22:46:55+09:00 Subject: Where to put non-GNU build system components VMS doesn't have a complete GNU environment yet. (See gnv.sf.net for the status of this work.) Thus, I have some files that would ordinarily be build products from running ./configure and make that need to be part of the VMS port. Now, it seems the cleanest thing to do would be to locate these all in ruby/vms, but I'm not sure exactly how. I have one .opt file (linker options) and one .mms file (VMS's own non-GNU makefile) per directory. One idea I am considering would be to put an entire skeletal build tree in CVS under ruby/vms/build and just deposit the .opt and .mms files here. The top-level descrip.mms file in ruby/vms/build would then copy all source files into the build tree for the build, and clean them up again afterwards, along with all other build products. Using this plan, we would have in CVS: ruby/vms/build ruby/vms/build/descrip.mms (top-level Makefile) ... ruby/vms/build/ext/socket/descrip.mms ruby/vms/build/ext/socket/link.opt ... I am wary, though, of creating such a large directory structure in CVS, given that deletion of CVS directories is impossible, and ultimately we would like this "scaffolding" for a proper GNU tools based build system to disappear. Alternatively, I could include a single patchfile in CVS: ruby/vms/build.diff This patchfile could be used to create the build structure. However, maintaining this patchfile would be unpleasant. Another alternative is that the .mms and .opt files could be generated somehow. But at this stage in the port, I don't know if I could write such a generator, except for the very simple .opt files, without extra data files per directory to support all of the specific needs of each module. Finally, if I felt that GNV would very soon provide a complete build system so I could do away with these extra files, I could simply maintain all of these files outside of CVS, with a view to replacing them with a proper GNU-based build system as soon as GNV is ready. However, I don't have faith that GNV will finish this work soon, and besides it would make it difficult for any others to obtain the VMS port and try to build it themselves. This is my least favourite alternative, but is in fact what I am doing today. Thoughts, anyone? Ben