RFR: 8352064: AIX: now also able to build static-jdk image with a statically linked launcher

Joachim Kern jkern at openjdk.org
Mon Mar 17 13:13:53 UTC 2025


On Mon, 17 Mar 2025 10:02:12 GMT, Joachim Kern <jkern at openjdk.org> wrote:

>> make/StaticLibs.gmk line 116:
>> 
>>> 114: #    DEPS :=  $(STATIC_LIB_FILE), \
>>> 115: #    OUTPUT_FILE := $(STATIC_LIB_EXPORT_FILES), \
>>> 116: #    COMMAND := $(AR) $(ARFLAGS) -w $(patsubst %.exp, %, $@) | $(GREP) -v '^\.' | $(AWK) '{print $$1}' | sort -u >$@, \
>> 
>> The problem with using SetupExecute here is using `$@` variables in the command line. To get this to work you need to delay resolving such variables. It may work by adding an adequate number of extra `$`, but I'm not sure how many would be needed or if it would actually work. You could try this, but it's probably trickier to get right than just doubling:
>> 
>> Suggestion:
>> 
>> #    COMMAND := $(AR) $(ARFLAGS) -w $$(patsubst %.exp, %, $$@) | $(GREP) -v '^.' | $(AWK) '{print $$$$1}' | sort -u >$$@, \
>> 
>> 
>> You are probably better off using the explicit output file variable `$(STATIC_LIB_EXPORT_FILES)`.
>
> Thanks Eric, this might help with the command, but my problem is the dependency. The rules to generate the export files is not called, because in the build output I cannot find any line 'Generating export list for static libs'. Can you help out here too?

The problem seems to be that `$(generate_export_list)` is empty and I do not know why.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/24062#discussion_r1998701815


More information about the core-libs-dev mailing list