1# ETL M4 Macro
2# For GNU Autotools
3# $Id$
4#
5# By Robert B. Quattlebaum Jr. <darco@users.sf.net>
6#
7
8AC_DEFUN([ETL_DEPS],
9[
10	AC_C_BIGENDIAN
11
12	AC_CHECK_LIB(user32, main)
13	AC_CHECK_LIB([kernel32], [CreateMutex])
14	AC_CHECK_LIB([pthread], [pthread_mutex_init])
15
16	AC_HEADER_STDC
17
18	AC_CHECK_HEADERS(pthread.h)
19	AC_CHECK_HEADERS(sched.h)
20	AC_CHECK_HEADERS(sys/times.h)
21	AC_CHECK_HEADERS(sys/time.h)
22	AC_CHECK_HEADERS(unistd.h)
23	AC_CHECK_HEADERS(windows.h)
24	AC_CHECK_FUNCS([pthread_create])
25	AC_CHECK_FUNCS([pthread_rwlock_init])
26	AC_CHECK_FUNCS([pthread_yield])
27	AC_CHECK_FUNCS([sched_yield])
28	AC_CHECK_FUNCS([CreateThread])
29	AC_CHECK_FUNCS([__clone])
30	AC_CHECK_FUNCS([QueryPerformanceCounter])
31
32	AC_CHECK_FUNCS([gettimeofday])
33	AC_CHECK_FUNCS([vsscanf])
34	AC_CHECK_FUNCS([vsprintf])
35	AC_CHECK_FUNCS([vasprintf])
36	AC_CHECK_FUNCS([vsnprintf],[],[
37		AC_CHECK_FUNC([_vsnprintf],[
38			AC_DEFINE(vsnprintf,_vsnprintf,[define if the vsnprintf function is mangled])
39			AC_DEFINE(HAVE_VSNPRINTF,1)
40		])
41	])
42
43	$1
44])
45
46AC_DEFUN([USING_ETL],
47[
48	AC_ARG_WITH(ETL-includes,
49	[  --with-ETL-includes    Specify location of ETL headers],[
50	CXXFLAGS="$CXXFLAGS -I$withval"
51	])
52
53	AC_PATH_PROG(ETL_CONFIG,ETL-config,no)
54
55	if test "$ETL_CONFIG" = "no"; then
56		no_ETL_config="yes"
57		$2
58	else
59		AC_MSG_CHECKING([if $ETL_CONFIG works])
60		if $ETL_CONFIG --libs >/dev/null 2>&1; then
61			ETL_VERSION="`$ETL_CONFIG --version`"
62			AC_MSG_RESULT([yes, $ETL_VERSION])
63			CXXFLAGS="$CXXFLAGS `$ETL_CONFIG --cxxflags`"
64			$1
65		else
66			AC_MSG_RESULT(no)
67			no_ETL_config="yes"
68			$2
69		fi
70	fi
71
72	ETL_DEPS($1,$2)
73])
74
75
76