Hello, in general, "The Autoconf Way" is to check for feattures, not for platform name. For example: > *-cygwin*) > EXE_EXT=".exe" A variable "EXEEXT" is provided automatically by Autoconf. And the detection works also for mingw and all other platforms. > case "$host" in > *-sun-solaris*) > CFLAGS="$CFLAGS -DSunOS=1" > ;; This hack might be necessary, though. I'm not sure what you want to achieve. But if you are using Automake, then AC_SUBST([AM_CPPFLAGS], [-DSunOS=1]) might be more appropriate here. > [...] configure acts absolutely crazy ... > checking sys/ioctl.h usability... no > checking sys/ioctl.h presence... yes > configure: WARNING: sys/ioctl.h: present but cannot be compiled > configure: WARNING: sys/ioctl.h: check for missing prerequisite headers? > configure: WARNING: sys/ioctl.h: see the Autoconf documentation > configure: WARNING: sys/ioctl.h: section "Present But Cannot Be Compiled" > configure: WARNING: sys/ioctl.h: proceeding with the preprocessor's result > configure: WARNING: sys/ioctl.h: in the future, the compiler will take precedence > configure: WARNING: ## ------------------------------------------ ## > configure: WARNING: ## Report this to the AC_PACKAGE_NAME lists. ## > configure: WARNING: ## ------------------------------------------ ## There is nothing crazy here. Perhaps there are some headers have to be included before sys/ioctl.h? Look into config.log, to see details. > *-*-openbsd* | *-*-freebsd*) > CFLAGS="$CFLAGS -pthread" > ac_ext=c > ac_cpp='$CPP $CPPFLAGS' ... > So, autoconf just drops the end of the case statement. No, it doesn't, the esac is somewhere below. It just happens that the expansion of AC_CHECK_LIB is that long. But it seems AC_SEARCH_LIBS might be more appropriate here: AC_SEARCH_LIBS([pthread_exit], [c_r kse], [pthread=yes]) It also modifies LIBS; see the manual for details. HTH, Stepan _______________________________________________ Autoconf mailing list Autoconf@xxxxxxx http://lists.gnu.org/mailman/listinfo/autoconf