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