RFR: 8351323: Parameterize compiler and linker flags for iconv
Magnus Ihse Bursie
ihse at openjdk.org
Wed Mar 12 12:14:52 UTC 2025
On Tue, 11 Mar 2025 19:45:58 GMT, snake66 <duke at openjdk.org> wrote:
> We could just do:
>
> ```
> CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) \
> $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS) $(PNG_CFLAGS) $(LIBZ_CFLAGS) \
> $(ICONV_CFLAGS), \
> ```
>
> The reason I kept it separate for now is that it used separate assignments for the LDFLAGS variable per platform.
>
> However, it you consider it better to combine it into one platform neutral assignment, I can do that instead.
This form is much preferred -- if it is possible and correct. That is, if iconv is used on all platforms where it is available.
>From the diff in the PR, it looks like iconv is used exclusively on macOS and AIX. If so, you can change the definition of ICONV_CFLAG etc to be empty on all platforms except on macOS and AIX (and in the upcoming BSD port), and just add the ICONV variables directly as platform neutral.
But for this to be a good idea, there need to be some sense that this is "futureproof", as in that there will likely never be a need for iconv on Linux, and that there is a reasonable assumption to think that if a JDK library needs iconv it will need it on all "iconv platforms", that is macOS, AIX and BSD. I don't know enough about the specifics of iconv to say this with certainty. Another way to phrase this is perhaps: "why don't we need iconv on linux?"
-------------
PR Comment: https://git.openjdk.org/jdk/pull/23995#issuecomment-2717683240
More information about the build-dev
mailing list