The system compiler in OpenBSD is gcc 4.2.1 which is too old for our needs. If doing 'pkg_add gcc' you can get a much newer version (4.9.4 in OpenBSD 6.1) which works with QEMU. This installs binaries with two naming schemes:
$ pkg_info -L gcc | grep bin /usr/local/bin/ecpp /usr/local/bin/egcc /usr/local/bin/egcc-ar /usr/local/bin/egcc-nm /usr/local/bin/egcc-ranlib /usr/local/bin/egcov /usr/local/bin/x86_64-unknown-openbsd6.0-egcc /usr/local/bin/x86_64-unknown-openbsd6.0-egcc-ar /usr/local/bin/x86_64-unknown-openbsd6.0-egcc-nm /usr/local/bin/x86_64-unknown-openbsd6.0-egcc-ranlib /usr/local/bin/x86_64-unknown-openbsd6.0-gcc-4.9.3 We pick the short name this it won't change across OpenBSD releases. This means users don't need to manually pass custom --cc and --cxx args to configure to avoid immediate failure. Signed-off-by: Daniel P. Berrange <berra...@redhat.com> --- configure | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/configure b/configure index 06f18ea9af..fcb7523933 100755 --- a/configure +++ b/configure @@ -255,7 +255,21 @@ cross_prefix="" audio_drv_list="" block_drv_rw_whitelist="" block_drv_ro_whitelist="" -host_cc="cc" + +case `uname -s` in + OpenBSD) + # Default system cc in OpenBSD is unsufficient + # we need the 'gcc' pkg added, whch provides + # these modified binary names + host_cc="egcc" + host_cxx="eg++" + ;; + *) + host_cc="cc" + host_cxx="c++" + ;; +esac + libs_softmmu="" libs_tools="" audio_pt_int="" @@ -466,7 +480,7 @@ else fi if test -z "${CXX}${cross_prefix}"; then - cxx="c++" + cxx="$host_cxx" else cxx="${CXX-${cross_prefix}g++}" fi -- 2.13.5