Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/configure.in')
-rw-r--r--winsup/cygwin/configure.in229
1 files changed, 229 insertions, 0 deletions
diff --git a/winsup/cygwin/configure.in b/winsup/cygwin/configure.in
new file mode 100644
index 000000000..0aaea9bbd
--- /dev/null
+++ b/winsup/cygwin/configure.in
@@ -0,0 +1,229 @@
+dnl Autoconf configure script for Cygwin.
+dnl Copyright 1996, 1997, 1998, 2000 Cygnus Solutions.
+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)
+
+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="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+ if test "$ac_test_CXXFLAGS" != set; then
+ CXXFLAGS='$(CFLAGS)'
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+AC_CANONICAL_SYSTEM
+
+LIB_AC_PROG_CC
+
+AC_CHECK_TOOL(AR, ar, ar)
+AC_SUBST(AR)
+AC_CHECK_TOOL(AS, as, as)
+AC_SUBST(AS)
+AC_CHECK_TOOL(RANLIB, ranlib, ranlib)
+AC_SUBST(RANLIB)
+AC_CHECK_TOOL(LD, ld, ld)
+AC_SUBST(LD)
+AC_CHECK_TOOL(DLLTOOL, dlltool, dlltool)
+AC_SUBST(DLLTOOL)
+AC_CHECK_TOOL(WINDRES, windres, windres)
+AC_SUBST(WINDRES)
+
+AC_ALLOCA
+AC_CONFIG_SUBDIRS(utils doc)
+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 <string.h>
+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(strace-hhmmss,
+[ --enable-strace-hhmmss strace log output has date/time stamp],
+[case "${enableval}" in
+yes)
+ AC_DEFINE(STRACE_HHMMSS)
+ ;;
+no)
+ ;;
+*)
+ AC_MSG_ERROR(bad value ${enableval} given for enable-strace-hhmmss option)
+ ;;
+esac
+])
+
+dnl set default mt safeness and then process the options.
+mt_safe_val=1
+MT_SAFE=yes
+PTH_ALLOW=''
+
+AC_ARG_ENABLE(threadsafe,
+[ --enable-threadsafe=[runtime] Build a cygwin DLL which is thread safe],
+[case "${enableval}" in
+yes)
+ dnl default.
+ ;;
+runtime)
+ mt_safe_val=2
+ MT_SAFE=yes
+ ;;
+no)
+ mt_safe_val=0
+ MT_SAFE=no
+ PTH_ALLOW=';'
+ ;;
+esac
+])
+
+AC_ARG_ENABLE(extra-threadsafe-checking,
+[ --enable-extra-threadsafe-checking Build a cygwin DLL which is thread safe with extra consistency checking],
+[case "${enableval}" in
+yes)
+ mt_safe_val=1
+ MT_SAFE=yes
+ AC_DEFINE(_CYG_THREAD_FAILSAFE)
+ ;;
+no)
+ dnl Don't do anything here to avoid overriding --enable-threadsafe.
+ ;;
+esac
+])
+
+if test "$MT_SAFE" = "yes"; then
+ AC_DEFINE_UNQUOTED(_MT_SAFE,$mt_safe_val)
+fi
+
+dnl Makefile uses MT_SAFE, so we subst as well as defining it.
+AC_SUBST(MT_SAFE)
+AC_SUBST(PTH_ALLOW)
+
+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
+])
+
+
+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
+
+dnl
+dnl If newlib is part of build tree, always set EXE_LDFLAGS to point to
+dnl it; this is important in cases where the installed newlib is perhaps
+dnl not compatible. Check and warn for installed newlib only if it's not
+dnl part of the build tree.
+dnl
+
+AC_MSG_CHECKING([if newlib is part of the build tree])
+
+EXE_LDFLAGS=
+if test -d ../newlib
+then
+ AC_MSG_RESULT(yes)
+ EXE_LDFLAGS="-B../../newlib/ -B../"
+else
+ AC_MSG_RESULT(no)
+fi
+ AC_SUBST(EXE_LDFLAGS)
+
+if test x"$EXE_LDFLAGS" = x
+then
+ AC_MSG_CHECKING([if installed newlib needed])
+ AC_TRY_LINK(,
+ [/* main already defined */]
+ ,
+ AC_MSG_RESULT(no)
+ ,
+ AC_MSG_RESULT(yes)
+ AC_MSG_WARN(newlib not found - utility .exe's may not link))
+fi
+AC_SUBST(EXE_LDFLAGS)
+
+case "$target_cpu" in
+ i386|i486|i586|i686) DLL_ENTRY="_dll_entry@12"
+ DEF_DLL_ENTRY="dll_entry@12"
+ ALLOCA="_alloca"
+ CONFIG_DIR="i386" ;;
+ powerpc*) DLL_ENTRY="dll_entry"
+ DEF_DLL_ENTRY="dll_entry"
+ ALLOCA=" __allocate_stack"
+ CONFIG_DIR="ppc" ;;
+ *) AC_MSG_ERROR(Invalid target processor \"$target_cpu\") ;;
+esac
+
+AC_SUBST(DLL_ENTRY)
+AC_SUBST(DEF_DLL_ENTRY)
+AC_SUBST(ALLOCA)
+AC_SUBST(CONFIG_DIR)
+AC_OUTPUT(Makefile cygwin.def:cygwin.din)
+