bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: IBM z/OS compatibility issues


From: Bruno Haible
Subject: Re: IBM z/OS compatibility issues
Date: Fri, 13 Dec 2019 13:58:01 +0100
User-agent: KMail/5.1.3 (Linux/4.4.0-166-generic; KDE/5.18.0; x86_64; ; )

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]