diff --git a/configure b/configure index c573a777fc..c9cb740130 100755 --- a/configure +++ b/configure @@ -537,8 +537,24 @@ elif check_define __sun__ ; then targetos='SunOS' elif check_define __HAIKU__ ; then targetos='Haiku' +elif check_define __FreeBSD__ ; then + targetos='FreeBSD' +elif check_define __FreeBSD_kernel__ && check_define __GLIBC__; then + targetos='GNU/kFreeBSD' +elif check_define __DragonFly__ ; then + targetos='DragonFly' +elif check_define __NetBSD__; then + targetos='NetBSD' +elif check_define __APPLE__; then + targetos='Darwin' +elif check_define _AIX; then + targetos='AIX' else - targetos=$(uname -s) + # This is a fatal error, but don't report it yet, because we + # might be going to just print the --help text, or it might + # be the result of a missing compiler. + targetos='bogus' + bogus_os='yes' fi # Some host OSes need non-standard checks for which CPU to use. @@ -782,12 +798,6 @@ Linux) QEMU_INCLUDES="-I\$(SRC_PATH)/linux-headers -I$(pwd)/linux-headers $QEMU_INCLUDES" supported_os="yes" ;; -*) - # This is a fatal error, but don't report it yet, because we - # might be going to just print the --help text, or it might - # be the result of a missing compiler. - bogus_os="yes" -;; esac if [ "$bsd" = "yes" ] ; then @@ -1582,7 +1592,7 @@ if test "$bogus_os" = "yes"; then # the compiler works (so the results of the check_defines we used # to identify the OS are reliable), if we didn't recognize the # host OS we should stop now. - error_exit "Unrecognized host OS $targetos" + error_exit "Unrecognized host OS (uname -s reports '$(uname -s)')" fi gcc_flags="-Wold-style-declaration -Wold-style-definition -Wtype-limits"