RFR: Add support for AIX in build process [v3]
Jorn Vernee
jvernee at openjdk.org
Mon Dec 1 18:02:52 UTC 2025
On Thu, 20 Nov 2025 15:01:05 GMT, Suchismith Roy <sroy at openjdk.org> wrote:
>> Summary of the issues:
>>
>> 1. There is no support for compiling AIX dynamic .a library and the tool was compiling .so files instead.
>> 2. There is no logic to support libclang.a.
>> 3. There is no support to load shared member of .a dynamic libraries of AIX.
>>
>> JBS Issue: [CODETOOLS-7904116](https://bugs.openjdk.org/browse/CODETOOLS-7904116)
>
> Suchismith Roy has updated the pull request incrementally with one additional commit since the last revision:
>
> remove debug codE
Also, please check the failing GitHub actions.
build.gradle line 41:
> 39: }
> 40: def clang_version = clang_versions[0]
> 41:
Please clean up the spurious white space changes from the patch.
build.gradle line 95:
> 93: include("libclang.a")
> 94: into("$buildDir/test-libs")
> 95: }
This doesn't look right. This task is meant from creating the jmod inputs, not for setting up tests. This shouldn't be needed any way, since the tests are run on a runtime image that includes the library already.
build.gradle line 281:
> 279: tasks.named("jtreg") {
> 280: dependsOn("copyLibClangToTestLib")
> 281: }
I'm not sure why this needs to be done. Jextract should be able to load the libclang library from the runtime image we create for the tests. If this extra copy step is needed as well, that would indicate that the runtime image is not functional.
make/Common.gmk line 95:
> 93: endif
> 94: endif
> 95: endif
Please undo the format changes.
src/main/java/org/openjdk/jextract/clang/libclang/Index_h.java line 88:
> 86: static {
> 87: String osName = System.getProperty("os.name");
> 88: String libName = "";
This variable doesn't look like it needs to be hoisted.
src/main/java/org/openjdk/jextract/clang/libclang/Index_h.java line 105:
> 103: }
> 104: }
> 105: SYMBOL_LOOKUP = SymbolLookup.libraryLookup(libName + "(libclang.so.14)", Arena.global());
Pleas fix the indentation here.
test/test-support/CMakeLists.txt line 32:
> 30: # Link against libm to resolve sqrt() and other math symbols
> 31: target_link_libraries(${LIB_NAME} m)
> 32:
This does not work on Windows:
LINK : fatal error LNK1181: cannot open input file 'm.lib'
-------------
PR Comment: https://git.openjdk.org/jextract/pull/297#issuecomment-3598076388
PR Review Comment: https://git.openjdk.org/jextract/pull/297#discussion_r2577785978
PR Review Comment: https://git.openjdk.org/jextract/pull/297#discussion_r2577789402
PR Review Comment: https://git.openjdk.org/jextract/pull/297#discussion_r2577794443
PR Review Comment: https://git.openjdk.org/jextract/pull/297#discussion_r2577797083
PR Review Comment: https://git.openjdk.org/jextract/pull/297#discussion_r2578091244
PR Review Comment: https://git.openjdk.org/jextract/pull/297#discussion_r2578014464
PR Review Comment: https://git.openjdk.org/jextract/pull/297#discussion_r2578024219
More information about the jextract-dev
mailing list