[PATCH v3] build: support z/OS (OS/390).
- From
- Haritha via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Feb 25, 2024, 06:10 UTC
- Message-ID
- <pull.1663.v3.git.git.1708841439516.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.1663.v2.git.git.1708660111.gitgitgadget@gmail.com>
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. Also introduced z/OS (OS/390) as a platform in config.mak.uname
Signed-off-by: Haritha D <harithamma.d@ibm.com>
---
This PR enables a successful git build on z/OS.
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, we workaround this by adding the -L option. And,
Introduced z/OS (OS/390) as a platform in config.mak.uname
Thanks for taking the time to contribute to Git! Please be advised that
the Git community does not use github.com for their contributions.
Instead, we use a mailing list (git@vger.kernel.org) for code
submissions, code reviews, and bug reports. Nevertheless, you can use
GitGitGadget (https://gitgitgadget.github.io/) to conveniently send your
Pull Requests commits to our mailing list.
Please read the "guidelines for contributing" linked above!Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1663%2FHarithaIBM%2Fzos-v3 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1663/HarithaIBM/zos-v3 Pull-Request: https://github.com/git/git/pull/1663
Range-diff vs v2:
1: 53e211d7a65 ! 1: 2f1ad41bc14 build: support z/OS (OS/390).
@@ config.mak.uname: ifeq ($(uname_S),NONSTOP_KERNEL)
+ NO_MEMMEM = YesPlease
+ NO_GECOS_IN_PWENT = YesPlease
+ HAVE_STRINGS_H = YesPlease
-+ NEEDS_MODE_TRANSLATION = YesPlease
++ NEEDS_MODE_TRANSLATION = YesPlease
+endif
ifeq ($(uname_S),MINGW)
ifeq ($(shell expr "$(uname_R)" : '1\.'),2)
$(error "Building with MSys is no longer supported")
-
- ## configure.ac ##
-@@ configure.ac: else
- CC_LD_DYNPATH=-Wl,+b,
- else
- CC_LD_DYNPATH=
-+ if test "$(uname -s)" = "OS/390"; then
-+ CC_LD_DYNPATH=-L
-+ fi
- AC_MSG_WARN([linker does not support runtime path to dynamic libraries])
- fi
- fi
2: 05df5d7e2d5 < -: ----------- an improvement: removed configure.ac changesconfig.mak.uname | 12 ++++++++++++ 1 file changed, 12 insertions(+)
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 +endif ifeq ($(uname_S),MINGW) ifeq ($(shell expr "$(uname_R)" : '1\.'),2) $(error "Building with MSys is no longer supported") base-commit: f41f85c9ec8d4d46de0fd5fded88db94d3ec8c11
-- gitgitgadget