RFR(M): 8057538: Build the freetype library during configure on Windows
Erik Joelsson
erik.joelsson at oracle.com
Fri Sep 5 13:35:01 UTC 2014
On 2014-09-05 14:59, Volker Simonis wrote:
> On Fri, Sep 5, 2014 at 12:31 PM, Erik Joelsson <erik.joelsson at oracle.com> wrote:
>> Hello Volker,
>>
>> This is certainly an interesting proposition.
>>
>> The grep for "SDKs" as test wasn't enough for Visual Studio 2010 as we have
>> an SDK directory then too, containing "v7.0A". I changed it to the below to
>> make it work for me, but I'm not sure it's a good enough test. Magnus will
>> likely have an opinion on this.
>>
>> if $ECHO "$VS_PATH" | grep -q 'Microsoft Visual Studio 10.0'; then
>> freetype_platform_toolset=""
>> elif $ECHO "$VS_PATH" | grep -q 'SDKs'; then
>> freetype_platform_toolset="/p:PlatformToolset=Windows7.1SDK"
>> fi
>>
> I see. This seems to be much trickier than I thought. Unfortunately
> 'Microsoft Visual Studio 10.0' is also in the path if we have a
> SDK-only installation:)
>
> So if Magnus doesn't come up with a better idea maybe we have to
> remember the toolset in a variable right during the detection process?
>
> But apart from that - did it work for you?
>
> Thank you and best regards,
> Volker
>
It's probably better to get the value from our toolchain detecting code.
Parsing the path will not cover cases where it's installed in non
standard places. Not sure what kind of strings are acceptable for that
parameter to msbuild or how you could extract what you have? Also,
instead of guessing where msbuild is, I think you will find it if you
have VS_PATH as your path. Maybe just add a AC_PATH_PROG(msbuild) (or
whichever variant we use) during the toolchain setup?
Other than that it seemed to work, but it did uncover another bug
related to freetype. In Copy-java.desktop.gmk, an explicit $(CP) is used
to copy the file instead of the standard macro $(install-file). The
build failed for me because the target directory didn't exist yet.
/Erik
More information about the build-dev
mailing list