icu icon indicating copy to clipboard operation
icu copied to clipboard

ICU-22714 fix zos build, use OpenXL

Open alexgubanow opened this issue 1 year ago • 8 comments

I have fixed the git clone of this repo on zos and moved build from old XLc compiler to new OpenXL compiler. More details https://unicode-org.atlassian.net/browse/ICU-22714 As of now:

  • tests are passing, some issues with files not being UTF-8 on zos, will address that in separate PR
  • results of build was tested internally, we have own test suite
  • following files had no BOM, need to fix tool that is used to generate those: icu4c/source/data/misc/currencyNumericCodes.txt icu4c/source/data/misc/icustd.txt icu4c/source/data/misc/zoneinfo64.txt
Checklist
  • [x] Required: Issue filed: https://unicode-org.atlassian.net/browse/ICU-22714
  • [x] Required: The PR title must be prefixed with a JIRA Issue number.
  • [x] Required: The PR description must include the link to the Jira Issue, for example by completing the URL in the first checklist item
  • [x] Required: Each commit message must be prefixed with a JIRA Issue number.
  • [ ] Issue accepted (done by Technical Committee after discussion)
  • [x] Tests included, if applicable
  • [x] API docs and/or User Guide docs changed or added, if applicable

alexgubanow avatar May 14 '24 17:05 alexgubanow

CLA assistant check
All committers have signed the CLA.

CLAassistant avatar May 14 '24 17:05 CLAassistant

Hooray! The files in the branch are the same across the force-push. 😃

~ Your Friendly Jira-GitHub PR Checker Bot

Hooray! The files in the branch are the same across the force-push. 😃

~ Your Friendly Jira-GitHub PR Checker Bot

lots of good deletion here!

For the BOMs, would it make sense just to fix them up with a build step?

srl295 avatar May 15 '24 14:05 srl295

OpenXL is basically clang, that allowed me to get rid of many "OS390 only" code and tricks. Actually i have found one bug in OpenXL v2.1, it fails to generate correct name for sidedeck if output path is relative and library name has no suffix, for output library path like: ../../lib/LICU76DA openxl v2.1 linker will generate ..x name of sidedeck Fix for that, is already implemented, but no idea when it will be released by IBM, so i made a workaround, added "-Wl,[email protected]" to linker command, so linker do not guess the name of sidedeck and no bug occur

I have added BOM fix in build time generated index files, also made sure those generated as UTF-8.

But regarding this files: icu4c/source/data/misc/currencyNumericCodes.txt icu4c/source/data/misc/icustd.txt icu4c/source/data/misc/zoneinfo64.txt i don't know when/who and how updates/generates it. Maybe you guys can guide me there? also i would suggest to do it in separate ticket/PR

alexgubanow avatar May 15 '24 14:05 alexgubanow

Hello @markusicu @srl295 what is missing for this PR to be merged?

alexgubanow avatar May 19 '24 20:05 alexgubanow

@markusicu LGTM ready to merge?

srl295 avatar Jun 05 '24 16:06 srl295

Hello @markusicu , can we merge this? is anything missing?

alexgubanow avatar Aug 29 '24 11:08 alexgubanow

Notice: the branch changed across the force-push!

  • docs/userguide/icu4c/build.md is different
  • icu4c/source/common/udata.cpp is different
  • icu4c/source/common/unicode/platform.h is different
  • icu4c/source/config/dist.mk is different
  • icu4c/source/data/Makefile.in is different
  • icu4c/source/data/misc/currencyNumericCodes.txt is different
  • icu4c/source/data/misc/zoneinfo64.txt is different
  • icu4c/source/runConfigureICU is different
  • icu4c/source/test/intltest/intltest.h is different
  • icu4c/source/tools/pkgdata/pkgdata.cpp is different

View Diff Across Force-Push

~ Your Friendly Jira-GitHub PR Checker Bot

I had to rebase in order to make a newer CI check work. Now we find out if it still works with the latest checks, even pre-merge...

markusicu avatar Sep 20 '24 23:09 markusicu