dnl Autoconf configure script for Cygwin. dnl Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2003 Red Hat, Inc. dnl dnl This file is part of Cygwin. dnl dnl This software is a copyrighted work licensed under the terms of the dnl Cygwin license. Please consult the file "CYGWIN_LICENSE" for dnl details. dnl dnl Process this file with autoconf to produce a configure script. AC_PREREQ(2.12)dnl AC_INIT(init.cc) AC_CONFIG_HEADER(config.h) INSTALL="/bin/sh "`cd $srcdir/../..; echo $(pwd)/install-sh -c` AC_PROG_INSTALL dnl FIXME: We temporarily define our own version of AC_PROG_CC. This is dnl copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We dnl are probably using a cross compiler, which will not be able to fully dnl link an executable. This should really be fixed in autoconf dnl itself. AC_DEFUN(LIB_AC_PROG_CC, [AC_BEFORE([$0], [AC_PROG_CPP])dnl AC_CHECK_TOOL(CC, gcc, gcc) if test -z "$CC"; then AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc) test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH]) fi AC_PROG_CC_GNU if test $ac_cv_prog_gcc = yes; then GCC=yes dnl Check whether -g works, even if CFLAGS is set, in case the package dnl plays around with CFLAGS (such as to build both debugging and dnl normal versions of a library), tasteless as that idea is. ac_test_CFLAGS="${CFLAGS+set}" ac_save_CFLAGS="$CFLAGS" CFLAGS= AC_PROG_CC_G if test "$ac_test_CFLAGS" = set; then CFLAGS="$ac_save_CFLAGS" elif test $ac_cv_prog_cc_g = yes; then CFLAGS="-gstabs+ -O2" else CFLAGS="-O2" fi else GCC= test "${CFLAGS+set}" = set || CFLAGS="-g" fi ]) AC_DEFUN(LIB_AC_PROG_CXX, [AC_BEFORE([$0], [AC_PROG_CPP])dnl AC_CHECK_TOOL(CXX, g++, g++) if test -z "$CXX"; then AC_CHECK_PROG(CXX, c++, c++, , , ) test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH]) fi CXXFLAGS='$(CFLAGS)' ]) AC_CANONICAL_SYSTEM LIB_AC_PROG_CC LIB_AC_PROG_CXX case "$with_cross_host" in ""|*cygwin*) all_host="all_host" install_host="install_host" LIBSERVER='$(bupdir)/cygserver/libcygserver.a' ;; *) all_host= install_host= LIBSERVER= ;; esac test -n "$LIBSERVER" && AC_DEFINE(USE_SERVER) AC_SUBST(all_host) AC_SUBST(install_host) AC_CHECK_TOOL(AR, ar, ar) AC_CHECK_TOOL(AS, as, as) AC_CHECK_TOOL(RANLIB, ranlib, ranlib) AC_CHECK_TOOL(LD, ld, ld) AC_CHECK_TOOL(NM, nm, nm) AC_CHECK_TOOL(DLLTOOL, dlltool, dlltool) AC_CHECK_TOOL(WINDRES, windres, windres) AC_ALLOCA AC_PROG_MAKE_SET dnl check whether gcc supports __builtin_memset. # Test for builtin mem* functions. AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_TRY_COMPILE([ #include void foo(char *s, int c, size_t n) { __builtin_memset(s, c, n); } ], [ ], use_builtin_memset=yes, use_builtin_memset=no) if test $use_builtin_memset = "yes"; then AC_DEFINE(HAVE_BUILTIN_MEMSET) fi AC_LANG_RESTORE AC_ARG_ENABLE(debugging, [ --enable-debugging Build a cygwin DLL which has more consistency checking for debugging], [case "${enableval}" in yes) AC_DEFINE(DEBUGGING) ;; no) ;; esac ]) AC_ARG_ENABLE(server, [ --enable-server Build a cygwin DLL which can communicate with cygserver], [case "${enableval}" in yes) ;; no) LIBSERVER=;; esac ]) MALLOC_OFILES=malloc.o AC_ARG_ENABLE(malloc-debugging, [ --enable-malloc-debugging Build a cygwin DLL with heap sanity checking (this is very slow, use only if you have heap corruption problems)], [case "${enableval}" in yes) AC_DEFINE(MALLOC_DEBUG) MALLOC_OFILES=dlmalloc.o ;; no) ;; esac ]) AC_ARG_ENABLE(vfork, [ --enable-vfork Build a cygwin DLL which uses experimental vfork code], vfork="${enableval}" ]) case "$vfork" in no) ;; yes) AC_DEFINE_UNQUOTED(NEWVFORK) ;; esac dnl The only time we might want to transform the install names dnl is for unix x cygwin. Otherwise we don't. For now we don't dnl transform names. dnl if test "x$cross_compiling" = "xno" -a ; then dnl if test "x$program_transform_name" = "xs,x,x,"; then dnl program_transform_name="" dnl fi dnl if test "x$program_transform_name" = "x"; then dnl program_transform_name="s,^,$target_alias-," dnl else dnl program_transform_name="$program_transform_name -e s,^,$target_alias-," dnl fi dnl fi case "$target_cpu" in i?86) DLL_ENTRY="_dll_entry@12" DEF_DLL_ENTRY="dll_entry@12" ALLOCA="_alloca" CONFIG_DIR="i386" ;; *) AC_MSG_ERROR(Invalid target processor \"$target_cpu\") ;; esac AC_SUBST(MALLOC_OFILES) AC_SUBST(LIBSERVER) AC_SUBST(DLL_ENTRY) AC_SUBST(DEF_DLL_ENTRY) AC_SUBST(ALLOCA) AC_SUBST(CONFIG_DIR) AC_OUTPUT(Makefile)