[vlc-devel] [PATCH] contrib: Unexport env variables when cross-compiling

Marvin Scholz epirat07 at gmail.com
Thu Jun 6 14:51:19 CEST 2019


On 6 Jun 2019, at 14:31, Steve Lhomme wrote:

> On 2019-06-06 13:47, Marvin Scholz wrote:
>> Meson always interprets these env variables for the build compiler,
>
> This does not seem like a bug. The ones found in the cross compile 
> file are for the target and the environment ones are assumed to be for 
> the current host to compile native tools. I suppose that's the 
> intention.

Yes it is, this is not a bug in meson, this is by design this way.

>
> This is not how autotools does it though. There are CC_FOR_BUILD (and 
> other variants) to achieve that. And I think CMake has its own probe 
> to find a native compiler on the system.
>
> Is there a way to set the native compiler in the meson crossfile ?

No, the cross file is just for the cross stuff. Meson correctly detects 
the native compiler though
so I do not think thats necessary currently. Afaik none of the 
dependencies we have that use meson
actually builds any native tools right now.

>
>> even when cross-compiling, therefore we need to unset them,
>> they are anyway included in HOSTVARS already for other build systems.
>> ---
>>   contrib/src/main.mak | 22 +++++++++++++++++++---
>>   1 file changed, 19 insertions(+), 3 deletions(-)
>>
>> diff --git a/contrib/src/main.mak b/contrib/src/main.mak
>> index 8944a5a1d7..c7a45964cb 100644
>> --- a/contrib/src/main.mak
>> +++ b/contrib/src/main.mak
>> @@ -329,9 +329,25 @@ HOSTVARS_PIC := $(HOSTTOOLS) \
>>   	CXXFLAGS="$(CXXFLAGS) $(PIC)" \
>>   	LDFLAGS="$(LDFLAGS)"
>>  -# Keep a version of HOSTVARS without the tools, since meson 
>> requires the
>> -# tools variables to point to the native ones
>> -HOSTVARS_MESON := $(HOSTVARS)
>> +# For cross-compilation with meson, we need to unset compiler and 
>> flags
>> +# env variables as meson will always use them for the BUILD machine 
>> compiler!
>> +ifdef HAVE_CROSS_COMPILE
>> +HOSTVARS_MESON := PATH="$(PREFIX)/bin:$(PATH)"
>> +unexport CC
>> +unexport CXX
>> +unexport LD
>> +unexport AR
>> +unexport CCAS
>> +unexport RANLIB
>> +unexport STRIP
>> +unexport CPPFLAGS
>> +unexport CFLAGS
>> +unexport CXXFLAGS
>> +unexport LDFLAGS
>> +else
>> +HOSTVARS_MESON := $(HOSTTOOLS) $(HOSTVARS)
>> +endif
>> +
>>   HOSTVARS := $(HOSTTOOLS) $(HOSTVARS)
>>    download_git = \
>> -- 
>> 2.20.1 (Apple Git-117)
>>
>> _______________________________________________
>> vlc-devel mailing list
>> To unsubscribe or modify your subscription options:
>> https://mailman.videolan.org/listinfo/vlc-devel
>>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel


More information about the vlc-devel mailing list