Integrated: 8263856: Github Actions for macos/aarch64 cross-build
On Tue, 30 Mar 2021 15:03:29 GMT, Anton Kozlov wrote: > Please review a change that adds cross-compiled macos/aarch64 platform build > into Github Actions test workflow. > > The steps are basically copy-paste of macos/x86-64 build with the necessary > platform name adjustments. Xcode 12.4 is also used for as macos/aarch64 build. > > I've checked the produced build (can be found in > https://github.com/AntonKozlov/jdk/actions/runs/667527036), it starts on the > actual aarch64 machine. This pull request has now been integrated. Changeset: 114e3c3e Author:Anton Kozlov Committer: Vladimir Kempik URL: https://git.openjdk.java.net/jdk/commit/114e3c3e Stats: 107 lines in 1 file changed: 107 ins; 0 del; 0 mod 8263856: Github Actions for macos/aarch64 cross-build Reviewed-by: erikj - PR: https://git.openjdk.java.net/jdk/pull/3270
Re: CMake replacing Autotools?
Hi Christoph, > On 19 Mar 2021, at 00:00, Christoph Grüninger wrote: > > ... > > 2. More choices to actually build the project: Use integrated build > tools of IDEs (Visual Studio, Xcode) or use Ninja, which is faster than > gmake > > ... > > 4. CMake is better supported by IDEs like Visual Studio, Qt Creator, > KDevelop. Regarding the IDE support points, it’s possible to generate a CMakeLists.txt from the compile_commands.json file created when building using the current make system. You could then use CMake to generate a native project file for your IDE of choice, and use that for compiling and debugging HotSpot (final linking etc would still be done by make). I have a prototype for this that worked reasonably well with at least Xcode, CLion and Visual Studio as I remember it. If this sounds interesting to anyone I could perhaps try to make it available somewhere.. :) Best regards, Robin > > 5. A lot of code bases were ported to CMake like KDE, Qt, or LLVM. Their > arguments apply here, too. Also their trade-offs between investment and > benefit. > >> At various times, I have dreamed of replacing the configure script with >> something that is more modern and easy to maintain than this bash/m4 >> mix. We have a very well-defined API for the configure script: the user >> calls "bash configure" in the root directory of the project, with a set >> of --options, and as a result we create a spec.gmk file that defines the >> configuration. This could easily be replicated in another system. But if >> I were to rewrite this from scratch, I'd rather write the whole >> configure logic in Java (apart from some thin shell script logic needed >> to find the boot jdk), rather than trying to shoehorn in our build model >> in CMake. > > I understand your temptation, but writing and maintaining all the > configure/find logic and quirks will be a burden. I'd try to reduce the > build system code to a minimum and rely on a third-party solution to do > as much as possible for me. > > Bye > Christoph > > -- > Als wär es nix, leb' ich von [IT] und mach' nur, was ich lieb' > Lebe wie im Paradies, womit hab' ich das verdient? > Die Wahrheit ist: Hab' ich nicht, ich bin nur reicher beschenkt > Als jemand in einem armen Land mit dem gleichen Talent > [frei nach Tua von Die Orsons - Oioioiropa]
Re: RFR: 8263856: Github Actions for macos/aarch64 cross-build [v2]
On Tue, 6 Apr 2021 06:22:47 GMT, Anton Kozlov wrote: >> Please review a change that adds cross-compiled macos/aarch64 platform build >> into Github Actions test workflow. >> >> The steps are basically copy-paste of macos/x86-64 build with the necessary >> platform name adjustments. Xcode 12.4 is also used for as macos/aarch64 >> build. >> >> I've checked the produced build (can be found in >> https://github.com/AntonKozlov/jdk/actions/runs/667527036), it starts on the >> actual aarch64 machine. > > Anton Kozlov has updated the pull request with a new target base due to a > merge or a rebase. The incremental webrev excludes the unrelated changes > brought in by the merge/rebase. The pull request contains three additional > commits since the last revision: > > - Specify Xcode version; don't use --extra-{c,cxx,ld}flags > - Merge remote-tracking branch 'upstream/jdk/master' into > 8263856-gha-macos-aarch64 > - Add macos/aarch64 build workflow Marked as reviewed by erikj (Reviewer). - PR: https://git.openjdk.java.net/jdk/pull/3270
Re: RFR: 8263856: Github Actions for macos/aarch64 cross-build [v2]
On Tue, 30 Mar 2021 16:29:49 GMT, Erik Joelsson wrote: >> Anton Kozlov has updated the pull request with a new target base due to a >> merge or a rebase. The incremental webrev excludes the unrelated changes >> brought in by the merge/rebase. The pull request contains three additional >> commits since the last revision: >> >> - Specify Xcode version; don't use --extra-{c,cxx,ld}flags >> - Merge remote-tracking branch 'upstream/jdk/master' into >> 8263856-gha-macos-aarch64 >> - Add macos/aarch64 build workflow > > .github/workflows/submit.yml line 1444: > >> 1442: --with-conf-name=macos-aarch64 >> 1443: --openjdk-target=aarch64-apple-darwin >> 1444: --with-extra-cflags="-arch arm64" > > If configure isn't adding these flags automatically, that's something that we > should fix. Thanks for review! The problem with flags is resolved by merging in master with https://bugs.openjdk.java.net/browse/JDK-8264650 The Xcode version if fixed to 12.4, which is consistent with the current state of PR #3258 (https://bugs.openjdk.java.net/browse/JDK-8264224) - PR: https://git.openjdk.java.net/jdk/pull/3270