Skip to content
Snippets Groups Projects
ast_func_fork.m4 1.69 KiB
Newer Older
  • Learn to ignore specific revisions
  • # AST_FUNC_FORK
    # -------------
    AN_FUNCTION([fork],  [AST_FUNC_FORK])
    AN_FUNCTION([vfork], [AST_FUNC_FORK])
    AC_DEFUN([AST_FUNC_FORK],
    [AC_REQUIRE([AC_TYPE_PID_T])dnl
    AC_CHECK_HEADERS(vfork.h)
    AC_CHECK_FUNCS(fork vfork)
    if test "x$ac_cv_func_fork" = xyes; then
      _AST_FUNC_FORK
    else
      ac_cv_func_fork_works=$ac_cv_func_fork
    fi
    if test "x$ac_cv_func_fork_works" = xcross; then
      case $host in
    
        *-*-amigaos* | *-*-msdosdjgpp* | *-*-uclinux* )
    
          # Override, as these systems have only a dummy fork() stub
          ac_cv_func_fork_works=no
          ;;
        *)
          ac_cv_func_fork_works=yes
          ;;
      esac
      AC_MSG_WARN([result $ac_cv_func_fork_works guessed because of cross compilation])
    fi
    ac_cv_func_vfork_works=$ac_cv_func_vfork
    if test "x$ac_cv_func_vfork" = xyes; then
      _AC_FUNC_VFORK
    fi;
    if test "x$ac_cv_func_fork_works" = xcross; then
      ac_cv_func_vfork_works=$ac_cv_func_vfork
      AC_MSG_WARN([result $ac_cv_func_vfork_works guessed because of cross compilation])
    fi
    
    if test "x$ac_cv_func_vfork_works" = xyes; then
      AC_DEFINE(HAVE_WORKING_VFORK, 1, [Define to 1 if `vfork' works.])
    else
      AC_DEFINE(vfork, fork, [Define as `fork' if `vfork' does not work.])
    fi
    if test "x$ac_cv_func_fork_works" = xyes; then
      AC_DEFINE(HAVE_WORKING_FORK, 1, [Define to 1 if `fork' works.])
    
      PBX_WORKING_FORK=1
      AC_SUBST(PBX_WORKING_FORK)
    
    fi
    ])# AST_FUNC_FORK
    
    
    # _AST_FUNC_FORK
    # -------------
    AC_DEFUN([_AST_FUNC_FORK],
      [AC_CACHE_CHECK(for working fork, ac_cv_func_fork_works,
        [AC_RUN_IFELSE(
          [AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
    	[
    	  /* By Ruediger Kuhlmann. */
    	  return fork () < 0;
    	])],
          [ac_cv_func_fork_works=yes],
          [ac_cv_func_fork_works=no],
          [ac_cv_func_fork_works=cross])])]
    )# _AST_FUNC_FORK