On 2/18/19 12:57 AM, Bryan Erickson wrote:
[...]
I have modified the make.conf of the build system to include the following:

CPUTYPE?=sandybridge
CFLAGS= -mno-aes

However, neither of the changes seem to impact the resulting error message.

Looking at the build logs, I can see the issue:

This is the Qt Open Source Edition.
You have already accepted the terms of the Open Source license.
Running configuration tests...
Checking for valid makespec... yes
Checking for target architecture... x86_64
Checking for SSE2 instructions... yes
Checking for AES new instructions... yes
[...]
But it does see my custom CFLAGS and CPUType:
[...]
Would you have any advice on how to proceed?

Is there an additional modification that I need to my make.conf or is there 
some method for the build process to override the checks if the CFLAGS state no 
AES or the CPUTYPE is of a processor which doesn't have AES support?

If I understood you correctly, you're building the packages on a machine that does support AES, but you have control over CPUTYPE and other flags on a per-target basis, so that you can set them to a different value for your SandyBridge machine that doesn't support AES, right?

You essentially need to pass -no-aesni to Qt's configure script. We already do something similar in spirit to disable SSE2 on i386 when it's not supported (see Mk/Uses/qt-dist.mk). I think the quickest option for you would be patching that file and adding a check for CPUTYPE=="sandybridge" and passing that extra argument in CONFIGURE_ARGS.

We could do that in the ports tree, but there doesn't seem to be an entry for aesni we could check in bsd.cpu.mk as far as I can see.

Reply via email to