This repository has been archived on 2022-02-17. You can view files and clone it, but cannot push or open issues or pull requests.
op25-legacy/blocks/config/gr_omnithread.m4

52 lines
1.7 KiB
Plaintext

# Check for Omnithread (pthread/NT) thread support. -*- Autoconf -*-
# Copyright 2003 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Boston, MA
# 02110-1301, USA.
AC_DEFUN([GR_OMNITHREAD],
[
# Check first for POSIX
ACX_PTHREAD(
[ ot_posix="yes"
AC_DEFINE(OMNITHREAD_POSIX,[1],[Define to 1 to enable pthread])
],[
# If no POSIX support found, then check for NT threads
AC_MSG_CHECKING([for NT threads])
AC_LINK_IFELSE([
#include <windows.h>
#include <winbase.h>
int main() { InitializeCriticalSection(NULL); return 0; }
],
[
ot_nt="yes"
AC_DEFINE(OMNITHREAD_NT,[1],[Define to 1 to enable NT thread])
],
[AC_MSG_FAILURE([OP25 requires POSIX threads. pthreads not found.])]
)
AC_MSG_RESULT(yes)
])
AM_CONDITIONAL(OMNITHREAD_POSIX, test "x$ot_posix" = xyes)
AM_CONDITIONAL(OMNITHREAD_NT, test "x$ot_nt" = xyes)
save_LIBS="$LIBS"
AC_SEARCH_LIBS([clock_gettime], [rt], [PTHREAD_LIBS="$PTHREAD_LIBS $LIBS"])
AC_CHECK_FUNCS([clock_gettime gettimeofday nanosleep])
LIBS="$save_LIBS"
])