configure: Copy mmacosx-version-min option from CFLAGS to WINEPRELOADER_LDFLAGS.
piotr at codeweavers.com
Thu Nov 7 10:58:52 CST 2019
On 11/7/19 5:45 PM, Ken Thomases wrote:
> On Nov 7, 2019, at 10:29 AM, Piotr Caban <piotr at codeweavers.com> wrote:
>> Hi Ken,
>> On 11/7/19 5:12 PM, Ken Thomases wrote:
>>> On Nov 7, 2019, at 9:22 AM, Piotr Caban <piotr at codeweavers.com> wrote:
>>>> We fail to link preloader when CFLAGS="-mmacosx-version-min=10.7" (because configure check also includes CFLAGS).
>>> To make sure I understand: the problem is that, when CFLAGS already contains "-mmacosx-version-min=10.7", the WINE_TRY_CFLAGS() just above doesn't detect that the preloader needs that flag for linking and it's not added to WINEPRELOADER_LDFLAGS, right?
>>> That suggests that WINE_TRY_CFLAGS() isn't the right macro to use for those checks. We'd want a hypothetical WINE_TRY_LDFLAGS(). Or, perhaps, it's enough to temporarily clear CFLAGS around those checks.
>> Yes, that's the problem.
>> I don't think we can clear CFLAGS completely. It might contain options that are needed during test compilation. We can remove some of the options from CFLAGS but I don't think it's better.
>> The WINE_TRY_LDFLAGS like macro will need to divide the check phase into compilation phase (that uses CFLAGS) and linking phase. This will probably leave a temporary file if configure is killed between this steps. I don't know if it's something that can be done in clean way.
> Hmm. We already use AC_LINK_IFELSE() elsewhere. Can we use that here?
The WINE_TRY_LDFLAGS uses AC_LINK_IFELSE as well. AC_LINK_IFELSE does
compilation and linking steps. It will resolve to something like:
gcc -o out $CFLAGS $LDFLAGS source.c
While we would need something like:
gcc -c $CFLAGS source.c
gcc -o out $LDFLAGS source.o
More information about the wine-devel