⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 configure.ac

📁 Linux下的中文输入法
💻 AC
📖 第 1 页 / 共 2 页
字号:
AC_CHECK_MCSC(mcsc=yes, mcsc=no)dnl #  check for SJLJ methodAC_CHECK_HEADERS(signal.h)AC_CHECK_FUNCS(sigsetjmp siglongjmp setjmp longjmp _setjmp _longjmp)AC_CHECK_FUNCS(sigaltstack sigstack)AC_CHECK_SJLJ(sjlj=yes, sjlj=no, sjlj_type)dnl #dnl #  2. make a general decisiondnl #if test ".$mcsc" = .yes; then    mctx_mth=mcsc    mctx_dsp=sc    mctx_stk=mcelif test ".$sjlj" = .yes; then    mctx_mth=sjlj    mctx_dsp=$sjlj_type    mctx_stk=none    AC_IFALLYES(func:sigstack,    mctx_stk=ss)    AC_IFALLYES(func:sigaltstack, mctx_stk=sas)    case $mctx_dsp in         sjljlx|sjljisc|sjljw32 ) mctx_stk=none    esacelse    AC_ERROR([no appropriate mctx method found])fidnl #dnl #  3. allow decision to be overridden by userdnl #AC_ARG_WITH(mctx-mth,dnl[  --with-mctx-mth=ID      force mctx method      (mcsc,sjlj)],[case $withval in    mcsc|sjlj ) mctx_mth=$withval ;;    * ) AC_ERROR([invalid mctx method -- allowed: mcsc,sjlj]) ;;esac])dnlAC_ARG_WITH(mctx-dsp,dnl[  --with-mctx-dsp=ID      force mctx dispatching (sc,ssjlj,sjlj,usjlj,sjlje,...)],[case $withval in    sc|ssjlj|sjlj|usjlj|sjlje|sjljlx|sjljisc|sjljw32 ) mctx_dsp=$withval ;;    * ) AC_ERROR([invalid mctx dispatching -- allowed: sc,ssjlj,sjlj,usjlj,sjlje,sjljlx,sjljisc,sjljw32]) ;;esac])dnlAC_ARG_WITH(mctx-stk,dnl[  --with-mctx-stk=ID      force mctx stack setup (mc,ss,sas,...)],[case $withval in    mc|ss|sas|none ) mctx_stk=$withval ;;    * ) AC_ERROR([invalid mctx stack setup -- allowed: mc,ss,sas,none]) ;;esac])dnldnl #dnl #  4. determine a few additional detailsdnl #dnl #  whether sigaltstack has to use stack_t instead of struct sigaltstackAC_CHECK_TYPEDEF(stack_t, signal.h)dnl #  direction of stack growAC_CHECK_STACKGROWTH(PTH_STACKGROWTH)if test ".$ac_cv_check_stackgrowth" = ".down"; then    PTH_STACK_GROWTH="down"else    PTH_STACK_GROWTH="up"fiAC_SUBST(PTH_STACK_GROWTH)dnl #  GNU Hurd has a broken libc which has stubs for sigaltstack anddnl #  sigstack. When the following Autoconf checks for them are run, itdnl #  even crashes the system. So we have to disable these checks here.case $PLATFORM in    *86-*-gnu0* ) ac_cv_func_sigaltstack="no"; ac_cv_func_sigstack="no" ;;esacdnl #  how to specify stacks for the various functionsAC_CHECK_STACKSETUP(makecontext, pth_skaddr_makecontext, pth_sksize_makecontext)AC_CHECK_STACKSETUP(sigaltstack, pth_skaddr_sigaltstack, pth_sksize_sigaltstack)AC_CHECK_STACKSETUP(sigstack,    pth_skaddr_sigstack,    pth_sksize_sigstack)dnl #  how to implement POSIX compliant sig{set,long}jmp()case $mctx_dsp in [    ssjlj )        pth_sigjmpbuf='sigjmp_buf'        pth_sigsetjmp='sigsetjmp(buf,1)'        pth_siglongjmp='siglongjmp(buf,val)'        ;;    sjlj )        pth_sigjmpbuf='jmp_buf'        pth_sigsetjmp='setjmp(buf)'        pth_siglongjmp='longjmp(buf,val)'        ;;    usjlj )        pth_sigjmpbuf='jmp_buf'        pth_sigsetjmp='_setjmp(buf)'        pth_siglongjmp='_longjmp(buf,val)'        ;;    sjlje )        pth_sigjmpbuf='jmp_buf'        pth_sigsetjmp='setjmp(buf)'        pth_siglongjmp='longjmp(buf,val)'        ;;    sjljlx|sjljisc|sjljw32 )        pth_sigjmpbuf='sigjmp_buf'        pth_sigsetjmp='sigsetjmp(buf,1)'        pth_siglongjmp='siglongjmp(buf,val)'        ;;] esacpth_sigjmpbuf="#define pth_sigjmpbuf $pth_sigjmpbuf"pth_sigsetjmp="#define pth_sigsetjmp(buf) $pth_sigsetjmp"pth_siglongjmp="#define pth_siglongjmp(buf,val) $pth_siglongjmp"AC_SUBST(pth_sigjmpbuf)AC_SUBST(pth_sigsetjmp)AC_SUBST(pth_siglongjmp)dnl #dnl #  5. export the resultsdnl #AC_DEFINE_UNQUOTED(PTH_MCTX_MTH_use, [PTH_MCTX_MTH_$mctx_mth], [define for machine context method])AC_DEFINE_UNQUOTED(PTH_MCTX_DSP_use, [PTH_MCTX_DSP_$mctx_dsp], [define for machine context dispatching])AC_DEFINE_UNQUOTED(PTH_MCTX_STK_use, [PTH_MCTX_STK_$mctx_stk], [define for machine context stack])PTH_MCTX_ID="$mctx_mth/$mctx_dsp/$mctx_stk"AC_MSG_RESULT([decision on mctx implementation... ${TB}${PTH_MCTX_ID}${TN}])AC_SUBST(PTH_MCTX_ID)AC_MSG_VERBOSE([decided mctx method: $mctx_mth])AC_MSG_VERBOSE([decided mctx dispatching: $mctx_dsp])AC_MSG_VERBOSE([decided mctx stack setup: $mctx_stk])dnl ##dnl ##  SYSTEM CALL MAPPINGdnl ##AC_MSG_PART(System Call Mapping)dnl #   check for syscall(2)AC_CHECK_HEADERS(sys/syscall.h sys/socketcall.h)AC_CHECK_FUNCS(syscall)AC_CHECK_DEFINE(SYS_read, sys/syscall.h)dnl #   check for dlsym(3) with RTLD_NEXTAC_CHECK_HEADERS(dlfcn.h)AC_CHECK_LIB(dl, dlsym)AC_CHECK_FUNCS(dlopen dlsym dlclose)AC_CHECK_DEFINE(RTLD_NEXT, dlfcn.h)dnl #   check for path to dynamic C libraryAC_MSG_CHECKING([for syscall dynamic libraries])pth_syscall_libs=""dirs=`echo "$LDFLAGS" |\      sed -e 's;-L\([[^ ]]*\);<\1>;g' |\      sed -e 's;^[[^<]]*<;;' -e 's;>[[^<]]*<; ;g' -e 's;>.*$;;'`dirs="$dirs /usr/lib /lib"libs=`echo "$LIBS" |\      sed -e 's;-l\([[^ ]]*\);<\1>;g' |\      sed -e 's;^[[^<]]*<;;' -e 's;>[[^<]]*<; ;g' -e 's;>.*$;;'`libs="$libs c"for lib in $libs; do    for dir in $dirs; do        for ext in so sl; do            if test -f "${dir}/lib${lib}.${ext}"; then                if test ".$pth_syscall_libs" = .; then                    pth_syscall_libs="${dir}/lib${lib}.${ext}"                else                    pth_syscall_libs="${pth_syscall_libs}:${dir}/lib${lib}.${ext}"                fi            fi        done    donedoneAC_MSG_RESULT([$pth_syscall_libs])AC_DEFINE_UNQUOTED(PTH_SYSCALL_LIBS,                    ["$pth_syscall_libs"],                   [define for the paths to syscall dynamic libraries])AC_MSG_CHECKING([whether soft system call mapping is used])AC_ARG_ENABLE(syscall-soft,dnl[  --enable-syscall-soft   enable soft system call mapping (default=no)],enable_syscall_soft="$enableval",if test ".$enable_syscall_soft" = .; then    enable_syscall_soft=nofi)dnlif test .$enable_syscall_soft = .yes; then    PTH_SYSCALL_SOFT=1    msg="yes"else    PTH_SYSCALL_SOFT=0    msg="no"fiAC_MSG_RESULT([$msg])AC_SUBST(PTH_SYSCALL_SOFT)AC_MSG_CHECKING([whether hard system call mapping is used])AC_ARG_ENABLE(syscall-hard,dnl[  --enable-syscall-hard   enable hard system call mapping (default=no)],enable_syscall_hard="$enableval",[if test ".$enable_syscall_hard" = .; then    enable_syscall_hard=nofi])dnlif test ".$enable_syscall_hard" = .yes; then    AC_IFALLYES(func:syscall header:sys/syscall.h define:SYS_read,                enable_syscall_hard=yes, enable_syscall_hard=no)fiif test ".$enable_syscall_hard" = .yes; then    PTH_SYSCALL_HARD=1    msg="yes"else    PTH_SYSCALL_HARD=0    msg="no"fiAC_MSG_RESULT([$msg])AC_SUBST(PTH_SYSCALL_HARD)if test ".$enable_syscall_hard" = .yes; then    echo "${TB}Warning: The hard system call mapping variant is an experimental feature.${TN}"    echo "${TB}         It is not guaranteed to work if the mapped system calls on your${TN}"    echo "${TB}         platform do not 100% comply to the POSIX.1-2001/SUSv3 prototypes.${TN}"fidnl ##dnl ##  BUILD PARAMETERSdnl ##AC_MSG_PART(Build Parameters)dnl #  check for various build parametersAC_CHECK_BUILDPARAMdnl #  whether to build Pthread libraryAC_MSG_CHECKING(whether to build Pthread library)AC_ARG_ENABLE(pthread,dnl[  --enable-pthread        build Pthread library (default=no)],enable_pthread="$enableval",if test ".$enable_pthread" = .; then    enable_pthread=nofi)dnlAC_MSG_RESULT([$enable_pthread])if test ".$enable_pthread" = .yes; then    PTHREAD_O=pthread.o       dnl # only for stripped down Pth source tree    LIBPTHREAD_A=libpthread.a dnl # only for stripped down Pth source tree    LIBPTHREAD_LA=libpthread.la    PTHREAD_CONFIG_1='$(S)pthread-config.1'    PTHREAD_3='$(S)pthread.3'    INSTALL_PTHREAD=install-pthread    UNINSTALL_PTHREAD=uninstall-pthread    TEST_PTHREAD=test_pthread    enable_syscall_soft=yes    PTH_SYSCALL_SOFT=1    AC_HAVE_HEADERS(pthread.h)    ac_warn=no    if test ".$ac_cv_header_pthread_h" = .yes; then        warn=yes        changequote(<<,>>)        case $PLATFORM in            *-*-freebsd* ) ac_warn=no ;;            *-*-linux*   ) ac_warn=no ;;            *-*-solaris* ) ac_warn=no ;;            *-*-irix*    ) ac_warn=no ;;        esac        changequote([,])    fi    if test ".$ac_warn" = .yes; then        echo "${TB}Warning: You seem to have a vendor Pthread library installed.${TN}"        echo "${TB}         There might be conflicts with its pthread.h under compile-time!${TN}"    fielse    PTHREAD_O=""     dnl # only for stripped down Pth source tree    LIBPTHREAD_A=""  dnl # only for stripped down Pth source tree    LIBPTHREAD_LA=""    PTHREAD_CONFIG_1=""    PTHREAD_3=""    INSTALL_PTHREAD=""    UNINSTALL_PTHREAD=""    TEST_PTHREAD=""fiAC_SUBST(PTHREAD_O)AC_SUBST(LIBPTHREAD_A)AC_SUBST(LIBPTHREAD_LA)AC_SUBST(PTHREAD_CONFIG_1)AC_SUBST(PTHREAD_3)AC_SUBST(INSTALL_PTHREAD)AC_SUBST(UNINSTALL_PTHREAD)AC_SUBST(TEST_PTHREAD)dnl #   whether to build against OSSP ex libraryAC_CHECK_EXTLIB(OSSP ex, ex, __ex_ctx, ex.h,                AC_DEFINE(PTH_EX, 1, [define if using OSSP ex in GNU pth]))dnl #   whether to build against Sfio libraryPTH_EXT_SFIO=0AC_CHECK_EXTLIB(Sfio, sfio, sfdisc, sfio.h, PTH_EXT_SFIO=1)AC_SUBST(PTH_EXT_SFIO)dnl #   whether to build against Dmalloc libraryAC_CHECK_EXTLIB(Dmalloc, dmalloc, dmalloc_debug, dmalloc.h,                AC_DEFINE(PTH_DMALLOC, 1, [define if using Dmalloc in GNU pth]))dnl ##dnl ##  OUTPUT SUBSTITUTIONdnl ##AC_MSG_PART(Output Substitution)AC_OUTPUT(dnlMakefile dnlpthread-config dnlpthread.h dnlpth-config dnlpth.h dnlpth_acmac.h dnl,dnlchmod +rx pthread-configchmod +rx pth-config)dnlif test ".$enable_pthread" = .no; then    rm -f pthread-config    rm -f pthread.hfiif test ".$enable_batch" != .yes; then    echo ""    echo "Now please type \`${TB}make${TN}' to compile. Good luck."    echo ""fi

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -