On Fri, 19 Sep 2025 16:43:50 GMT, Magnus Ihse Bursie <[email protected]> wrote:
> We currently have three macros (as in "functions", not just simple strings)
> that are assigned in spec.gmk. This is in contrast with the rest of the
> values assigned in spec.gmk, and it is surprising and is forcing an odd
> syntax. Furthermore, these macros are named as constants, and not as we
> normally name functions/macros.
>
> We should move them to normal .gmk code, and rename them.
>
> The three macros are `SET_SHARED_LIBRARY_ORIGIN`, `SET_EXECUTABLE_ORIGIN` and
> `SET_SHARED_LIBRARY_NAME`.
make/common/native/Link.gmk line 66:
> 64: SetSharedLibraryName = \
> 65: -Wl,-soname=$1
> 66: endif
Indentation looks off here.
Suggestion:
ifeq ($(call isCompiler, gcc), true)
SetSharedLibraryName = \
-Wl,-soname=$1
else ifeq ($(call isCompiler, clang), true)
ifeq ($(call isTargetOs, macosx), true)
SetSharedLibraryName = \
-Wl,-install_name,@rpath/$1
else ifeq ($(call isTargetOs, aix), true)
SetSharedLibraryName =
else
# Default works for linux, might work on other platforms as well.
SetSharedLibraryName = \
-Wl,-soname=$1
endif
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/27394#discussion_r2368327647