RFR: 8338290: Xcode project generator for hotspot
Erik Joelsson
erikj at openjdk.org
Wed Aug 21 13:16:04 UTC 2024
On Tue, 13 Aug 2024 09:57:51 GMT, Magnus Ihse Bursie <ihse at openjdk.org> wrote:
> Add a make target to generate an Xcode project file for Hotspot.
>
> This PR is the result of a cooperation between me and @gerard-ziemski. Gerard developed the original Xcode generator (as a stand-alone project in https://github.com/gerard-ziemski/xcode), and I have written the build system "glue" to integrate it, and refactored the code to modern JDK standards.
>
> Usage: Run `make hotspot-xcode-project`, and an Xcode project file will be generated in `build/$BUILD/xcode`. You can also have this automatically opened in Xcode by `make open-hotspot-xcode-project` (but note that for repeated runs of this, `make open-hotspot-xcode-project-only` is greatly preferred).
Build system changes look fine overall. Left a couple of nit questions.
make/common/native/Link.gmk line 203:
> 201:
> 202: # This is for IDE integration purposes only, and is not normally generated
> 203: $1_LD_JSON := $$(MAKESUPPORT_OUTPUTDIR)/compile-commands/$$($1_NAME)-ldflags.txt
Should this be called `JSON` if it's not actually a json file? In the other file it's referenced as a LINKER_FLAGS_FILE.
make/ide/xcode/hotspot/CreateXcodeProject.gmk line 40:
> 38:
> 39: PROJECT_MAKER_DIR := $(TOPDIR)/make/ide/xcode/hotspot
> 40: TOOLS_OUTPUTDIR := $(MAKESUPPORT_OUTPUTDIR)/ide/xcode
I would have expected this to go in `$(BUILDTOOLS_OUTPUTDIR)`. Not that it matters that much. It only really affects which clean target removes what.
-------------
PR Review: https://git.openjdk.org/jdk/pull/20564#pullrequestreview-2250744799
PR Review Comment: https://git.openjdk.org/jdk/pull/20564#discussion_r1725016281
PR Review Comment: https://git.openjdk.org/jdk/pull/20564#discussion_r1725021741
More information about the ide-support-dev
mailing list