Hi, one-process methodology cannot be used on VMS because fork/pipe/dup2 aren't fully supported. To avoid a build failure, it is therefore better to build using two-process methodology.
But, when twoprocess is selected, gcc emits a warning due to a missing specifier in printf. The patch fixes that. Manually tested on x86_64-darwin by configuring with --enable-twoprocess. I am pretty sure that fixinclude cannot be used as-is on VMS due to the filename convention and missing shell, but at least we can build a cross and a native canadian on UNIX. Ok for trunk ? Tristan. fixincludes/ 2012-04-17 Tristan Gingold <ging...@adacore.com> * fixincl.c (fix_with_system): Add missing specifier. * configure.ac: Default to twoprocess on vms. * configure: Regenerate. diff --git a/fixincludes/configure.ac b/fixincludes/configure.ac index e7de791..f1fb2ff 100644 --- a/fixincludes/configure.ac +++ b/fixincludes/configure.ac @@ -53,7 +53,8 @@ fi], i?86-*-msdosdjgpp* | \ i?86-*-mingw32* | \ x86_64-*-mingw32* | \ - *-*-beos* ) + *-*-beos* | \ + *-*-*vms*) TARGET=twoprocess ;; diff --git a/fixincludes/fixincl.c b/fixincludes/fixincl.c index 9f399ab..1133534 100644 --- a/fixincludes/fixincl.c +++ b/fixincludes/fixincl.c @@ -829,7 +829,7 @@ fix_with_system (tFixDesc* p_fixd, /* * Now add the fix number and file names that may be needed */ - sprintf (pz_scan, " %ld '%s' '%s'", (long) (p_fixd - fixDescList), + sprintf (pz_scan, " %ld '%s' '%s' '%s'", (long) (p_fixd - fixDescList), pz_fix_file, pz_file_source, pz_temp_file); } else /* NOT an "internal" fix: */