📄 configure.in
字号:
dnl Autoconf configure script for Cygwin.dnl Copyright 1996, 1997, 1998, 2000, 2001 Red Hat, Inc.dnldnl This file is part of Cygwin.dnldnl This software is a copyrighted work licensed under the terms of thednl Cygwin license. Please consult the file "CYGWIN_LICENSE" fordnl details.dnldnl Process this file with autoconf to produce a configure script.AC_PREREQ(2.12)dnlAC_INIT(init.cc)AC_CONFIG_HEADER(config.h)AC_PROG_INSTALLdnl FIXME: We temporarily define our own version of AC_PROG_CC. This isdnl copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. Wednl are probably using a cross compiler, which will not be able to fullydnl link an executable. This should really be fixed in autoconfdnl itself.AC_DEFUN(LIB_AC_PROG_CC,[AC_BEFORE([$0], [AC_PROG_CPP])dnlAC_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])fiAC_PROG_CC_GNUif test $ac_cv_prog_gcc = yes; then GCC=yesdnl Check whether -g works, even if CFLAGS is set, in case the packagednl plays around with CFLAGS (such as to build both debugging anddnl 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" fielse GCC= test "${CFLAGS+set}" = set || CFLAGS="-g"fi])AC_DEFUN(LIB_AC_PROG_CXX,[AC_BEFORE([$0], [AC_PROG_CPP])dnlAC_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])fiCXXFLAGS='$(CFLAGS)'])AC_CANONICAL_SYSTEMLIB_AC_PROG_CCLIB_AC_PROG_CXXcase "$with_cross_host" in ""|*cygwin*) all_host="all_host" install_host="install_host" ;; *) all_host= install_host= ;;esacAC_SUBST(all_host)AC_SUBST(install_host)AC_CHECK_TOOL(AR, ar, ar)dnl AC_SUBST(AR)AC_CHECK_TOOL(AS, as, as)dnl C_SUBST(AS)AC_CHECK_TOOL(RANLIB, ranlib, ranlib)dnl C_SUBST(RANLIB)AC_CHECK_TOOL(LD, ld, ld)dnl C_SUBST(LD)AC_CHECK_TOOL(NM, nm, nm)dnl C_SUBST(NM)AC_CHECK_TOOL(DLLTOOL, dlltool, dlltool)dnl C_SUBST(DLLTOOL)AC_CHECK_TOOL(WINDRES, windres, windres)dnl C_SUBST(WINDRES)AC_ALLOCAAC_PROG_MAKE_SETdnl check whether gcc supports __builtin_memset.# Test for builtin mem* functions.AC_LANG_SAVEAC_LANG_CPLUSPLUSAC_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)fiAC_LANG_RESTOREdnl set default mt safeness and then process the options.mt_safe_val=1MT_SAFE=yesAC_ARG_ENABLE(threadsafe,[ --enable-threadsafe=[runtime] Build a cygwin DLL which is thread safe],[case "${enableval}" inyes) dnl default. ;;runtime) mt_safe_val=2 MT_SAFE=yes ;;no) mt_safe_val=0 MT_SAFE=no ;;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}" inyes) 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)fidnl Makefile uses MT_SAFE, so we subst as well as defining it.AC_SUBST(MT_SAFE)AC_ARG_ENABLE(debugging,[ --enable-debugging Build a cygwin DLL which has more consistency checking for debugging],[case "${enableval}" inyes) AC_DEFINE(DEBUGGING) ;;no) ;;esac])MALLOC_OFILES=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}" inyes) 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" inno) ;;yes|*) AC_DEFINE_UNQUOTED(NEWVFORK) ;;esacdnl The only time we might want to transform the install namesdnl is for unix x cygwin. Otherwise we don't. For now we don'tdnl transform names.dnl if test "x$cross_compiling" = "xno" -a ; thendnl if test "x$program_transform_name" = "xs,x,x,"; thendnl program_transform_name=""dnl fidnl if test "x$program_transform_name" = "x"; thendnl program_transform_name="s,^,$target_alias-,"dnl elsednl program_transform_name="$program_transform_name -e s,^,$target_alias-,"dnl fidnl fidnldnl If newlib is part of build tree, always set EXE_LDFLAGS to point todnl it; this is important in cases where the installed newlib is perhapsdnl not compatible. Check and warn for installed newlib only if it's notdnl part of the build tree.dnlAC_MSG_CHECKING([if newlib is part of the build tree])EXE_LDFLAGS=if test -d ../newlibthen AC_MSG_RESULT(yes) EXE_LDFLAGS="-B../../newlib/ -B../"else AC_MSG_RESULT(no)fi AC_SUBST(EXE_LDFLAGS)if test x"$EXE_LDFLAGS" = xthen 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))fiAC_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\") ;;esacAC_SUBST(MALLOC_OFILES)AC_SUBST(DLL_ENTRY)AC_SUBST(DEF_DLL_ENTRY)AC_SUBST(ALLOCA)AC_SUBST(CONFIG_DIR)AC_OUTPUT(Makefile cygwin.def:cygwin.din)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -