AX_CHECK_X86_FEATURES behaviour

Kip Warner <[email protected]> Mon, 27 May 2019 11:28:12 -0700
Newsgroups gmane.comp.sysutils.autoconf.archive-maintainers
Message-ID <[email protected]>
Hey list,

I am using AX_CHECK_X86_FEATURES in my configure.ac to check for
various CPU features. 

I noticed when building for s390x architecture the macro bailed because
the s390x' gcc's __builtin_cpu_init function is needed to perform the
probe but doesn't exist. I read up on that function and it appears
that's only available on i*86 and amd64 hosts. 

What I had expected the macro to do was to check for certain features,
set various flags accordingly, and that's it. If the
__builtin_cpu_init() function doesn't exist, I would have expected it
to set all flags to false and that would be the end of it.

I realize it may be tempting to suggest that one should only use this
macro when they are certain the host (or build as well?) are of i*86 or
amd64 architectures, but that partially defeats the whole point of the
macro and the intention behind portable configure scripts.

Should this be considered a design flaw or bug in
AX_CHECK_X86_FEATURES? Or should I check prior to calling it whether it
can be called?

-- 
Kip Warner | Senior Software Engineer
OpenPGP signed/encrypted mail preferred
https://www.thevertigo.com
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEaUi0dj/qpTzsKe4xRLRlxF7U4wQFAlzsLDwACgkQRLRlxF7U
4wSyHw/+PdMKrP0q9OPcnW0EwRjNS5796oKd8hKiaLlKrlo8iN0wXVNWCebJAy03
H3myLCvHBx9CP2Vtupfbtmp/XPTkU8ppSZF1tdVPZvCAexq3AI3yP5gF7QZunwt3
en7w50NHQPj+EuUZSo1Eof5Ci4+N/IuhVG+INU8z1s56iJiCsUTw9SaF3oIWFVlo
uRcOJ+KUXYfIcjgqRu7dfjTsP0vftopn5qSVEBAOkt0yghV3PxKwXRZAUNhK4SoE
LTcgsZ8yFRXzy4FSsW9hsqlKhiDgQQu0e0+cpBbmzpK7CaeXRNk7ZYhx8EHI90jG
q9iIuzDppX0I95yJmhCiDJaUHMUX73MnW9aj/emb31/LCHyQwjmzFEIgLWQA3HI4
XbJNxoK4StvJbo9dZSXLDtVXCmpK9zRNr3+fsPOjTvXdV4ArpI3p0BeUoVrStvOA
peBr8d/i82Ygeep9pHpHLfwPmwxgTCjIwDDsSG6HWcVg+Uzx2RIZlVS5d6zZoLor
8vW/2KECCfW0Xi6kMjQoAltcXrWb60axY0/qvGBlrSMC9TK4Hfj6Uwuc/JqO3Nr4
DkCav+UpwAI0z8oeqrHQxoUq5fUxf4YcaHhGwU8Yelv75AZhHusSQZoZM5BBqYwW
skVslWRXAdj+hmntWQGqfhDxt4zP4/yfwuWRXu26Joxbx8WVdC8=
=Aqv8
-----END PGP SIGNATURE-----