Hi Daniel, > > Do you have a set of configure settings that you would recommend on z/OS? > > So that we can add this info to the Gnow-How wiki [1]... > > There are quite a few, unfortunately. Before getting into them, however, > there is something I am not clear on: > > How should platform-specific compiler flags, feature-test macros, etc. > be split up among the following? > > 1. Flags set in Autoconf (common system/compiler checks) > > 2. Flags set in Automake ("compile" script) > > 3. Flags set in Gnulib's AC_USE_SYSTEM_EXTENSIONS() > > 4. Flags set in other Gnulib modules > > 5. Flags set by the user in the environment or configure command line > (obtained from online documentation, discussions, etc.) > > z/OS has a number of idiosyncrasies that are not shared even by the > other strange Unix platforms, and putting a lot of weight in bucket #5 > seems to me like it will make the system needlessly tricky to navigate > for GNU users unfamiliar with it. > > Here are examples of what I currently think should go in each bucket: > > 1. -qhaltonmsg=CCN3296, so that missing header files are treated as > errors, not warnings (thus allowing header checks to return > meaningful results); > > 2. The -qnosearch/-qsearch logic previously described for xlc-wrap, > so that it is possible for a project to replace an existing > system header; > > 3 or 4. Feature-test macros needed to obtain a recognizable > pthreads API; > > 5. CC=xlc (there are a few usable XLC compiler frontends, and the user > might prefer one or another for whatever reason)
You're asking good questions. However, I would like to suggest to start simple and get the more complex things done afterwards. By that, I mean: - Put the xlc-wrap logic into the 'compile' script. We should not have two different compile scripts, one for MSVC and one for z/OS. A single script should do it. - Other than that, use documentation. I have added the most important information (from this mail thread) in <https://gitlab.com/ghwiki/gnow-how/-/wikis/Platforms/Configuration> and would like to invite you to create a new wiki page <https://gitlab.com/ghwiki/gnow-how/-/wikis/Platforms/Configuration/zOS>. Reason: - There are few people trying to build GNU software for z/OS; therefore communication among you and them should be fairly simple. - Autoconf and Automake releases are not frequent these days; therefore you would have to wait a long time until modified macros AC_PROG_CC etc. become universally available. - What you have written about this environment so far indicates that there are a lot of complexities; therefore it is likely that you will have to tweak your recommendations regarding compiler options and environment variables. (Just like I tweaked the recommended options for building on HP-UX today. And HP-UX is _way_ simpler than z/OS!) Bruno