Re: [PATCH v3] build: support z/OS (OS/390).
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Feb 26, 2024, 17:30 UTC
- Message-ID
- <xmqq7circevo.fsf@gitster.g>
- In-Reply-To
- <pull.1663.v3.git.git.1708841439516.gitgitgadget@gmail.com>
"Haritha via GitGitGadget" <gitgitgadget@gmail.com> writes:
Show 8 quoted lines
> From: Haritha D <harithamma.d@ibm.com> > > Since the z/OS linker does not support searching dynamic libraries, > and the current setting of CC_LD_DYNPATH results in a directory > to be supplied to the link step with no option as the suffix, > it causes a linker error because the z/OS LD linker > does not accept directories as input. > Therefore, -L option is added.
Shouldn't all of the above removed by now, with 07bbe4ca (Merge branch 'jc/make-libpath-template', 2024-02-06) that merged the support for platforms whose linker does not have a way to specify the path used at runtime to locate dynamic libraries and is already in the Git 2.44 release? The autoconf-generated config.mak.autogen would leave CC_LD_DYNPATH to empty on such a platform, which then adds only one "-L $where" (instead of the usual "-L $where -R $where") on the linker command line, making your earlier workaround to use "-L $where -L $where" unnecessary?
> Also introduced z/OS (OS/390) as a platform in config.mak.uname
"Introduce z/OS ..." (cf. Documentation/SubmittingPatches)
Or perhaps
Add platform specific settings in config.mak.uname for zOS (OS/390).
Show 19 quoted lines
> diff --git a/config.mak.uname b/config.mak.uname > index dacc95172dc..03ee2b74525 100644 > --- a/config.mak.uname > +++ b/config.mak.uname > @@ -638,6 +638,18 @@ ifeq ($(uname_S),NONSTOP_KERNEL) > SANE_TOOL_PATH = /usr/coreutils/bin:/usr/local/bin > SHELL_PATH = /usr/coreutils/bin/bash > endif > +ifeq ($(uname_S),OS/390) > + NO_SYS_POLL_H = YesPlease > + NO_STRCASESTR = YesPlease > + NO_REGEX = YesPlease > + NO_MMAP = YesPlease > + NO_NSEC = YesPlease > + NO_STRLCPY = YesPlease > + NO_MEMMEM = YesPlease > + NO_GECOS_IN_PWENT = YesPlease > + HAVE_STRINGS_H = YesPlease > + NEEDS_MODE_TRANSLATION = YesPlease
All of the above should be indented with TAB to imitate the support for other platforms, I think.
Thanks.
Show 6 quoted lines
> +endif > ifeq ($(uname_S),MINGW) > ifeq ($(shell expr "$(uname_R)" : '1\.'),2) > $(error "Building with MSys is no longer supported") > > base-commit: f41f85c9ec8d4d46de0fd5fded88db94d3ec8c11