configure.ac 30.3 KB
Newer Older
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
1
dnl Process this file with autoconf to produce a configure script.
2
AC_PREREQ(2.62)
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
3

Philippe Gerum's avatar
Philippe Gerum committed
4 5
# The config/version-code file defines the general versioning data
# as: <major>.<minor>.<subrev>, giving the full Xenomai version stamp.
6 7 8 9
# config/apirev defines the revision level of the user API we
# implement (which actually expresses the revision level of the
# Copperplate library).  The kernel ABI is Cobalt-specific and is
# defined for each architecture in the asm/features.h file.
Philippe Gerum's avatar
Philippe Gerum committed
10
AC_INIT([Xenomai],m4_normalize(m4_include([config/version-label])),xenomai@xenomai.org)
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
11

12 13 14 15 16 17 18 19 20 21
AC_CONFIG_HEADERS(include/xeno_config.h)
AC_CONFIG_AUX_DIR(config)
AC_CONFIG_MACRO_DIR([config])
AC_CONFIG_SRCDIR(lib/cobalt/thread.c)
AC_PREFIX_DEFAULT(/usr/xenomai)
# We want $prefix to be set for the configure script
if test x$prefix = xNONE; then
   prefix=$ac_default_prefix
fi

Philippe Gerum's avatar
Philippe Gerum committed
22
version_code=`cat $srcdir/config/version-code`
Philippe Gerum's avatar
Philippe Gerum committed
23 24 25
CONFIG_XENO_VERSION_MAJOR=`expr $version_code : '\([[0-9]]*\)'`
CONFIG_XENO_VERSION_MINOR=`expr $version_code : '[[0-9]]*\.\([[0-9]]*\)'`
CONFIG_XENO_REVISION_LEVEL=`expr $version_code : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
26
CONFIG_XENO_UAPI_LEVEL=`cat $srcdir/config/apirev`
Philippe Gerum's avatar
Philippe Gerum committed
27
CONFIG_XENO_VERSION_STRING="$PACKAGE_VERSION"
Philippe Gerum's avatar
Philippe Gerum committed
28
CONFIG_XENO_VERSION_NAME=`cat $srcdir/config/version-name`
29
topdir=`cd $srcdir && pwd`
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
30

31 32
dnl Find out whether we build for Cobalt core, i.e. dual kernel mode,
dnl or Mercury (single image kernel). Defaults to Cobalt.
33
rtcore_type=cobalt
34 35 36 37 38 39
AC_MSG_CHECKING([whether we build for Cobalt or Mercury core])
AC_ARG_WITH(core,
    AS_HELP_STRING([--with-core=<cobalt | mercury>],[build for dual kernel or single image]),
    [
	case "$withval" in
	"" | y | ye | yes | n | no)
40
	    AC_MSG_ERROR([You must supply an argument to --with-core])
41 42 43 44 45 46 47 48 49
	  ;;
	cobalt|mercury)
	   rtcore_type=$withval
	   ;;
	*)
	    AC_MSG_ERROR([--with-core=<cobalt | mercury>])
	esac
    ])
AC_MSG_RESULT($rtcore_type)
50 51

AM_CONDITIONAL(XENO_COBALT,[test x$rtcore_type = xcobalt])
52 53 54
test x$rtcore_type = xcobalt && AC_DEFINE(CONFIG_XENO_COBALT,1,[config])
AM_CONDITIONAL(XENO_MERCURY,[test x$rtcore_type = xmercury])
test x$rtcore_type = xmercury && AC_DEFINE(CONFIG_XENO_MERCURY,1,[config])
55
XENO_TARGET_CORE=$rtcore_type
56

57 58 59 60 61 62
if test "x$CFLAGS" = "x"; then
	XENO_EMPTY_CFLAGS=true
else
	XENO_EMPTY_CFLAGS=false
fi

63 64 65 66
if eval test $includedir = /usr/include; then
  AC_MSG_ERROR([Using /usr/include as includedir is not supported. Please change your --prefix or specify another --includedir])
fi

Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
67 68 69 70 71 72 73 74 75
AC_CANONICAL_BUILD
AC_CANONICAL_HOST
AC_PROG_INSTALL

AC_ARG_WITH(cc,
    AS_HELP_STRING([--with-cc=compiler],[use specific C compiler]),
    [
	case "$withval" in
	"" | y | ye | yes | n | no)
76
	    AC_MSG_ERROR([You must supply an argument to --with-cc])
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
77 78 79 80 81 82
	  ;;
	esac
	CC="$withval"
    ])
AC_PROG_CC

83 84 85 86 87
# Do not let autoconf set the default value of CFLAGS
if $XENO_EMPTY_CFLAGS; then
	CFLAGS=""
fi

Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
88
AC_PROG_CC_FOR_BUILD
Philippe Gerum's avatar
Philippe Gerum committed
89 90 91 92 93 94 95 96 97
AC_PROG_GREP
LT_PATH_NM

XENO_SYMBOL_PREFIX=
LT_SYS_SYMBOL_USCORE
if test \! x$sys_symbol_underscore = xno; then
   XENO_SYMBOL_PREFIX=_
fi
AC_SUBST(XENO_SYMBOL_PREFIX)
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
98 99 100 101 102

AC_DEFINE_UNQUOTED(CONFIG_XENO_BUILD_STRING,"$build",[Build system alias])
XENO_BUILD_STRING="$build"
AC_DEFINE_UNQUOTED(CONFIG_XENO_HOST_STRING,"$host",[Host system alias])
XENO_HOST_STRING="$host"
103 104
XENO_BUILD_COMPILER="`$CC -v 2>&1 | tail -n 1`"
AC_DEFINE_UNQUOTED(CONFIG_XENO_COMPILER,"$XENO_BUILD_COMPILER",[Compiler])
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
105

Philippe Gerum's avatar
Philippe Gerum committed
106
AM_INIT_AUTOMAKE([foreign no-exeext dist-bzip2 tar-ustar subdir-objects])
107
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
108 109 110 111
AM_MAINTAINER_MODE
AM_PROG_AS
AM_PROG_LEX

112 113
XENO_BUILD_ARGS="$ac_configure_args"

Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
114 115
AC_MSG_CHECKING([for target architecture])

Philippe Gerum's avatar
Philippe Gerum committed
116 117 118 119 120 121
if test x$host_alias = x; then
  build_for=$host
else
  build_for=$host_alias
fi

122
use_tls=no
Philippe Gerum's avatar
Philippe Gerum committed
123
case "$build_for" in
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
124
 i*86*-*)
125
	use_tls=yes
126
	target_cpu_arch=x86
127
	CONFIG_XENO_DEFAULT_PERIOD=100000
128
	;;
129
 ppc-*|powerpc-*|powerpc64-*|ppc64-*)
130
	use_tls=yes
131
	target_cpu_arch=powerpc
132
	CONFIG_XENO_DEFAULT_PERIOD=100000
133
	;;
134
 bfin-*|bfinnommu-*|blackfin-*)
135
	target_cpu_arch=blackfin
136
	CONFIG_XENO_DEFAULT_PERIOD=100000
137
	;;
138
 arm*-*)
139
	target_cpu_arch=arm
140
	CONFIG_XENO_DEFAULT_PERIOD=1000000
141
	;;
Philippe Gerum's avatar
Philippe Gerum committed
142
 x86_64-*|amd64-*)
143
	use_tls=yes
144
	target_cpu_arch=x86
145
	CONFIG_XENO_DEFAULT_PERIOD=100000
146
	;;
147 148 149 150 151 152 153 154 155 156 157 158 159
 *)
	if test $rtcore_type = cobalt; then
	   echo ""
	   echo "**********************************************"
	   echo "Cobalt not supported over $build_for."
	   echo "**********************************************"
	   echo ""
	   exit 1
	else
	   CONFIG_XENO_DEFAULT_PERIOD=100000
	   target_cpu_arch=`echo $build_for|cut -d- -f1`
	fi
	;;
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
160 161
esac

162 163
AC_MSG_RESULT([$target_cpu_arch])
XENO_TARGET_ARCH=$target_cpu_arch
164
AC_ENABLE_SHARED
165 166
AC_PROG_LIBTOOL

Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
167 168 169 170
dnl
dnl Parse options
dnl

171
dnl Debug build (default: off, no symbols)
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
172

173
debug_mode=
174
debug_symbols=
175
AC_MSG_CHECKING(whether to enable debug mode)
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
176
AC_ARG_ENABLE(debug,
177 178
	AS_HELP_STRING([--enable-debug], [Enable debug mode in programs]),
	[case "$enableval" in
179 180 181 182
	symbols)
		debug_symbols=y
		;;
	y | yes | partial)
183 184
		debug_mode=partial
		debug_symbols=y
185 186 187
		;;
	full)
		debug_mode=full
188
		debug_symbols=y
189 190 191 192 193 194 195 196
		;;
	n | no)
		debug_mode=
		debug_symbols=
		;;
	*)
		 AC_MSG_ERROR([invalid debug level $enableval])
		 ;;
197 198
	esac])
AC_MSG_RESULT(${debug_mode:-no})
199
AM_CONDITIONAL(XENO_DEBUG,[test \! x$debug_mode = x])
200
test \! x$debug_mode = x && AC_DEFINE(CONFIG_XENO_DEBUG,1,[config])
201
AM_CONDITIONAL(XENO_DEBUG_FULL,[test x$debug_mode = xfull])
202
test x$debug_mode = xfull && AC_DEFINE(CONFIG_XENO_DEBUG_FULL,1,[config])
203

204
dnl Low resolution clock (default: off)
205

206
unset lores_clock
207 208 209 210 211 212 213 214 215 216 217 218
AC_MSG_CHECKING(whether to enable the low resolution clock)
AC_ARG_ENABLE(lores-clock,
	AS_HELP_STRING([--enable-lores-clock], [Enable low resolution clock]),
	[case "$enableval" in
	y | yes) lores_clock=y ;;
	*) unset lores_clock ;;
	esac])
AC_MSG_RESULT(${lores_clock:-no})
if test x$lores_clock = x; then
	AC_DEFINE(CONFIG_XENO_LORES_CLOCK_DISABLED,1,[config])
fi

219 220
dnl Raw monotonic clock (default: cobalt=on, mercury=off)

221
if test $rtcore_type = cobalt; then
222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237
   raw_monotonic_clock=y
else
   raw_monotonic_clock=
fi
AC_MSG_CHECKING(whether we may use CLOCK_MONOTONIC_RAW)
AC_ARG_ENABLE(clock-monotonic-raw,
	AS_HELP_STRING([--enable-clock-monotonic-raw], [Use CLOCK_MONOTONIC_RAW for timings]),
	[case "$enableval" in
	y | yes) raw_monotonic_clock=y ;;
	*) unset raw_monotonic_clock ;;
	esac])
AC_MSG_RESULT(${raw_monotonic_clock:-no})
if test x$raw_monotonic_clock = xy; then
	AC_DEFINE(CONFIG_XENO_RAW_CLOCK_ENABLED,1,[config])
fi

238 239 240 241 242
checkflags="-nostdinc -isystem \$(SYSROOT)/usr/include -Wbitwise -Wno-transparent-union -D_GNU_SOURCE -D_XOPEN_SOURCE=500 -D_REENTRANT \$(DEFS) \$(DEFAULT_INCLUDES) \$(INCLUDES) \$(AM_CPPFLAGS) \$(CPPFLAGS) -I\$(top_srcdir)/include -isystem \$(shell \$(CC) -print-file-name=include) -include \$(top_builddir)/include/xeno_config.h \$(shell \$(CC) -dM -E -xc /dev/null|sed -e 's/^\\#define /-D/' -e \"s/ /=\'/\" -e \"s/\$\$/\'/\")"

dnl Used with sparse
AC_SUBST(CHECKFLAGS, $checkflags)

243
dnl Enable assertions (default: depends on debug mode)
244

245
test x$debug_mode = x || use_assert=y
246 247 248 249 250
AC_MSG_CHECKING(whether assertions should be enabled)
AC_ARG_ENABLE(assert,
	AS_HELP_STRING([--enable-assert], [Enable runtime assertions]),
	[case "$enableval" in
	y | yes) use_assert=y ;;
251
	*) unset use_assert ;;
252 253 254
	esac])
AC_MSG_RESULT(${use_assert:-no})

255
dnl Enable asynchronous cancellation (default: off)
256

257
async_cancel=
258
AC_MSG_CHECKING(whether asynchronous cancellation of threads is enabled)
259
AC_ARG_ENABLE(async-cancel,
260 261 262 263 264 265 266 267 268 269 270
	AS_HELP_STRING([--enable-async-cancel], [Enable asynchronous cancellation]),
	[case "$enableval" in
	y | yes) async_cancel=y ;;
	n | no) unset async_cancel ;;
	esac])
AC_MSG_RESULT(${async_cancel:-no})

if test x$async_cancel = xy; then
	AC_DEFINE(CONFIG_XENO_ASYNC_CANCEL,1,[config])
fi

271 272 273 274 275 276 277 278 279 280 281 282
dnl Work-around for broken PI with condvars on Mercury (default: off)

unset workaround_condvar_pi
AC_MSG_CHECKING(whether to enable the workaround for broken PI with condvars)
AC_ARG_ENABLE(condvar-workaround,
	AS_HELP_STRING([--enable-condvar-workaround], [Enable workaround for broken PI with condvars in glibc]),
	[case "$enableval" in
	y | yes) workaround_condvar_pi=y ;;
	*) unset workaround_condvar_pi ;;
	esac])
AC_MSG_RESULT(${workaround_condvar_pi:-no})
if test x$workaround_condvar_pi = xy; then
283
   if test $rtcore_type = mercury; then
284 285 286 287 288 289
	AC_DEFINE(CONFIG_XENO_WORKAROUND_CONDVAR_PI,1,[config])
   else
        AC_MSG_WARN([PI workaround for condvars useless over Cobalt - ignoring])
   fi
fi

290 291 292 293 294 295
dnl Enable shared multi-processing (default: off)

use_pshared=
AC_MSG_CHECKING(whether shared multi-processing should be supported)
AC_ARG_ENABLE(pshared,
	AS_HELP_STRING([--enable-pshared], [Enable shared multi-processing for capable skins]),
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
296
	[case "$enableval" in
297 298
	y | yes) use_pshared=y ;;
	*) unset use_pshared ;;
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
299
	esac])
300 301 302 303 304 305 306 307 308 309
AC_MSG_RESULT(${use_pshared:-no})

if test x$use_pshared = xy; then
	AC_DEFINE(CONFIG_XENO_PSHARED,1,[config])
fi
AM_CONDITIONAL(XENO_PSHARED,[test x$use_pshared = xy])

dnl Registry support in user-space (FUSE-based, default: off)

use_registry=
310
registry_root=
311 312 313 314
AC_MSG_CHECKING(whether the registry should be enabled)
AC_ARG_ENABLE(registry,
	AS_HELP_STRING([--enable-registry], [Export real-time objects to a registry]),
	[case "$enableval" in
315
	y | yes) use_registry=y; registry_root=/var/run/xenomai ;;
316
	/*) use_registry=y; registry_root=$enableval ;;
317 318
	*) unset use_registry ;;
	esac])
319
AC_MSG_RESULT(${use_registry:-no}${registry_root:+[,] mounted on ${registry_root}})
320 321

if test x$use_registry = xy; then
322
	PKG_CHECK_MODULES(FUSE, fuse)
323
	FUSE_CFLAGS="$FUSE_CFLAGS -DFUSE_USE_VERSION=25"
324
	AC_DEFINE(CONFIG_XENO_REGISTRY,1,[config])
325
	AC_DEFINE_UNQUOTED(CONFIG_XENO_REGISTRY_ROOT,"$registry_root",[config])
326 327
fi
AM_CONDITIONAL(XENO_REGISTRY,[test x$use_registry = xy])
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
328

329
dnl SMP support (default: on for cobalt/x86, off otherwise)
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
330 331

CONFIG_SMP=
332
if test $target_cpu_arch = x86 -a $rtcore_type = cobalt; then
333 334
	CONFIG_SMP=y
fi
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
335 336 337 338 339 340 341 342 343
AC_MSG_CHECKING(for SMP support)
AC_ARG_ENABLE(smp,
	AS_HELP_STRING([--enable-smp], [Enable SMP support]),
	[case "$enableval" in
	y | yes) CONFIG_SMP=y ;;
	*) unset CONFIG_SMP ;;
	esac])
AC_MSG_RESULT(${CONFIG_SMP:-no})

344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361
dnl Runtime sanity checks (default: on)

CONFIG_XENO_SANITY=y
AC_MSG_CHECKING(whether to enable sanity checks)
AC_ARG_ENABLE(sanity,
	AS_HELP_STRING([--enable-sanity], [Enable sanity checks at runtime]),
	[case "$enableval" in
	y | yes) CONFIG_XENO_SANITY=y ;;
	*) unset CONFIG_XENO_SANITY= ;;
	esac])
AC_MSG_RESULT(${CONFIG_XENO_SANITY:-no})

if test x$CONFIG_XENO_SANITY = xy; then
  AC_DEFINE(CONFIG_XENO_SANITY,1,[config])
else
  AC_DEFINE(CONFIG_XENO_SANITY,0,[config])
fi

362
dnl VSYSCALL (default: enabled) for Cobalt/x86
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
363

364 365
if test $XENO_TARGET_ARCH = x86 -a $rtcore_type = cobalt; then
  CONFIG_XENO_X86_VSYSCALL=y
366 367 368
  AC_MSG_CHECKING(for x86 VSYSCALL availability)
  AC_ARG_ENABLE(x86-vsyscall,
	AS_HELP_STRING([--enable-x86-vsyscall], [Assume VSYSCALL enabled for issuing syscalls]),
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
369
	[case "$enableval" in
370 371
	y | yes) CONFIG_XENO_X86_VSYSCALL=y ;;
	*) unset CONFIG_XENO_X86_VSYSCALL ;;
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
372
	esac])
373
  AC_MSG_RESULT(${CONFIG_XENO_X86_VSYSCALL:-no})
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
374 375 376 377
fi

dnl Documentation package.

378
XENO_BUILD_DOC=
379
XENO_DOC_GIT=
380 381 382
AC_MSG_CHECKING(whether to build documentation)
AC_ARG_ENABLE(doc-build,
	AS_HELP_STRING([--enable-doc-build], [Build Xenomai documentation]),
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
383
	[case "$enableval" in
384
	y | yes) XENO_BUILD_DOC=y ;;
385 386
	n | no) ;;
	*) if test \! x$enableval = x; then
387 388 389 390
	      XENO_BUILD_DOC=y
	      XENO_DOC_GIT=$enableval
	   fi
	   ;;
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
391
	esac])
392
AM_CONDITIONAL(XENO_BUILD_DOC,[test "$XENO_BUILD_DOC" = y])
393
AC_SUBST(XENO_DOC_GIT)
394

Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
395 396
AC_CHECK_PROG(DOXYGEN, doxygen, doxygen)

397 398
if test x${XENO_BUILD_DOC} = xy -a x"$DOXYGEN" = x ; then
   AC_MSG_ERROR([Missing the Doxygen tools to build the documentation])
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
399 400 401
fi

AC_CHECK_PROG(DOXYGEN_HAVE_DOT, dot, YES, NO)
402
if test x"$DOXYGEN_HAVE_DOT" = xYES ; then
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
403 404 405 406 407
   DOXYGEN_SHOW_INCLUDE_FILES=NO
else
   DOXYGEN_SHOW_INCLUDE_FILES=YES
fi

408 409 410
LATEX_BATCHMODE=YES
LATEX_MODE=batch
AC_MSG_CHECKING(for LaTeX mode)
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
411
AC_ARG_ENABLE(verbose-latex,
412
	AS_HELP_STRING([--enable-nonstop-latex], [Use LaTeX non-stop mode]),
413
	[case "$enableval" in
414
	y | yes)
415 416 417 418
	   LATEX_BATCHMODE=NO
	   LATEX_MODE=non-stop
	   ;;
	*) ;;
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
419
	esac])
420
AC_MSG_RESULT(${LATEX_MODE})
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
421 422

AC_CHECK_PROG(ASCIIDOC, asciidoc, asciidoc)
423 424
if test x${XENO_BUILD_DOC} = xy -a x"$ASCIIDOC" = x ; then
   AC_MSG_ERROR([Missing the asciidoc tool to build the documentation])
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
425 426
fi
AC_CHECK_PROG(A2X, a2x, a2x)
427 428
if test x${XENO_BUILD_DOC} = xy -a x"$A2X" = x ; then
   AC_MSG_ERROR([Missing the a2x tool to build the documentation])
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
429 430
fi
AC_CHECK_PROG(W3M, w3m, w3m)
431 432
if test x${XENO_BUILD_DOC} = xy -a x"$W3M" = x ; then
   AC_MSG_ERROR([Missing the w3m tool to build the documentation])
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
433 434
fi

435 436 437 438 439 440 441 442 443 444 445 446 447 448
dnl Set better default values for pdfdir, mandir and htmldir
dnl This won't override user settings, unless the user wants
dnl the default values, which we ban...

if test x$pdfdir = x'${docdir}'; then
   pdfdir='${docdir}/pdf'
fi
AC_SUBST(pdfdir)
if test x$mandir = x'${docdir}'; then
   mandir='${docdir}/man'
fi
AC_SUBST(mandir)
if test x$htmldir = x'${docdir}'; then
   htmldir='${docdir}/html'
449
fi
450
AC_SUBST(htmldir)
451

452 453 454 455 456
dnl Check for Valgrind client API support.
dnl Some GCC releases produce broken assembly code for Valgrind
dnl client calls, so we check this too. --disable-valgrind-client
dnl may be used to forcibly turn this API off.

457
AC_CHECK_HEADER(valgrind/valgrind.h,CONFIG_XENO_VALGRIND_API=y)
458 459 460 461 462 463 464 465 466 467 468

AC_MSG_CHECKING(for Valgrind client API)
AC_ARG_ENABLE(valgrind-client,
	AS_HELP_STRING([--enable-valgrind-client], [Enable Valgrind client API]),
	[case "$enableval" in
	n | no) unset CONFIG_XENO_VALGRIND_API ;;
	esac])
AC_MSG_RESULT(${CONFIG_XENO_VALGRIND_API:-no})

if test \! x$CONFIG_XENO_VALGRIND_API = x ; then
   AC_MSG_CHECKING([whether GCC emits sane code for Valgrind calls])
469 470 471 472
   AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <valgrind/valgrind.h>]],
   				      [[return RUNNING_ON_VALGRIND;]])],
				      [ac_cv_valgrind_client=yes],
				      [ac_cv_valgrind_client="no (DISABLING)"])
473 474 475 476 477 478
   if [[ \! "$ac_cv_valgrind_client" = yes ]]; then
      unset CONFIG_XENO_VALGRIND_API
   fi
   AC_MSG_RESULT([$ac_cv_valgrind_client])
fi

479
test x$CONFIG_XENO_VALGRIND_API = xy && AC_DEFINE(CONFIG_XENO_VALGRIND_API,1,[config])
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
480

481 482 483 484
dnl Check for obstack support in *libc
AC_CHECK_HEADERS(obstack.h,libc_has_obstack=y)
AM_CONDITIONAL(XENO_PRIVATE_OBSTACK,[test x$libc_has_obstack = x])

485 486 487
dnl Check for presence of some headers
AC_CHECK_HEADERS(mqueue.h)

488 489 490
dnl Check for presence of some routines we need
save_LIBS="$LIBS"
LIBS="$LIBS -lrt -lpthread"
491 492 493 494 495 496 497
AC_CHECK_FUNCS([pthread_mutexattr_setprotocol	\
		pthread_mutexattr_getprotocol	\
		pthread_mutexattr_setrobust_np	\
		pthread_condattr_getclock	\
		pthread_condattr_setclock	\
		pthread_spin_lock fork		\
		pthread_attr_setaffinity_np	\
498
		pthread_setaffinity_np		\
499 500 501 502
		pthread_getattr_np		\
		pthread_atfork			\
		pthread_setname_np		\
		sched_getcpu			\
503 504
		clock_nanosleep			\
		shm_open			\
505 506
		shm_unlink			\
		backtrace])
507 508
LIBS="$save_LIBS"

509 510 511
save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
AC_CHECK_DECLS([PTHREAD_PRIO_NONE], [], [], [#include <pthread.h>])
512 513
AC_CHECK_DECLS([PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP], [], [], [#include <pthread.h>])
AC_CHECK_DECLS([PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP], [], [], [#include <pthread.h>])
514 515
CPPFLAGS=$save_CPPFLAGS

516
dnl If we can't set the clock for condvar timeouts, then
517 518 519 520 521 522 523
dnl we have to restrict the Copperplate clock to CLOCK_REALTIME over
dnl Mercury unconditionally. Cobalt is different: although we may not
dnl have pthread_condattr_setclock() available from the threading library,
dnl Copperplate is still able to attach Cobalt condvars to specific clocks
dnl internally, therefore we don't have to use a restricted clock in
dnl Copperplate.
dnl
524
dnl In effect this means that updating the host system date may affect
525 526 527 528 529 530
dnl wait times of all blocking services implemented by Copperplate over
dnl Mercury, but will only affect explicit calls to pthread_cond_timedwait()
dnl over Cobalt.
dnl
dnl This is a provision for running over legacy threading libraries
dnl such as linuxthreads.
531 532 533 534 535 536 537
dnl
dnl CAUTION: the CLOCK_COPPERPLATE value is part of the ABI between
dnl the Xenomai core libraries and the applications. Therefore it shall
dnl remain stable even if applications depend on a different libc
dnl than Xenomai libraries were built against originally. Hence the
dnl built-in CONFIG_XENO_COPPERPLATE_CLOCK_RESTRICTED flag, which
dnl won't vary for a given Xenomai installation.
538 539 540 541 542

if test $rtcore_type = mercury; then
   AC_CHECK_FUNC(pthread_condattr_setclock,,
	 [AC_DEFINE(CONFIG_XENO_COPPERPLATE_CLOCK_RESTRICTED, 1,[config])])
fi
543

544 545 546 547 548 549 550
dnl Check that Copperplate can implement a shared heap if
dnl --enable-pshared was given.
if test x$use_pshared = xy;  then
  AC_CHECK_FUNC(shm_open,,
      [AC_MSG_ERROR([shm_open() is missing, --disable-pshared is required])])
fi

Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
551 552 553 554 555 556 557
dnl
dnl Produce the info needed to build xeno_config.h
dnl

AC_DEFINE_UNQUOTED(CONFIG_XENO_VERSION_MAJOR,$CONFIG_XENO_VERSION_MAJOR,[config])
AC_DEFINE_UNQUOTED(CONFIG_XENO_VERSION_MINOR,$CONFIG_XENO_VERSION_MINOR,[config])
AC_DEFINE_UNQUOTED(CONFIG_XENO_REVISION_LEVEL,$CONFIG_XENO_REVISION_LEVEL,[config])
558
AC_DEFINE_UNQUOTED(CONFIG_XENO_UAPI_LEVEL,$CONFIG_XENO_UAPI_LEVEL,[config])
Philippe Gerum's avatar
Philippe Gerum committed
559
AC_DEFINE_UNQUOTED(CONFIG_XENO_VERSION_STRING,"$CONFIG_XENO_VERSION_STRING",[config])
Philippe Gerum's avatar
Philippe Gerum committed
560
AC_DEFINE_UNQUOTED(CONFIG_XENO_VERSION_NAME,"$CONFIG_XENO_VERSION_NAME",[config])
561
AC_DEFINE_UNQUOTED(CONFIG_XENO_PREFIX,"$prefix",[config])
562
AC_DEFINE_UNQUOTED(CONFIG_XENO_BUILD_ARGS,"$XENO_BUILD_ARGS",[config])
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
563 564 565 566 567 568 569 570

dnl
dnl Features we enabled and likely want to find at kernel level.
dnl When applicable, we reuse the kernel option symbol so that we
dnl don't need to make particular cases with kernel code which may
dnl also be compiled in user-space libs.
dnl

571
test x$CONFIG_XENO_X86_VSYSCALL = xy && AC_DEFINE(CONFIG_XENO_X86_VSYSCALL,1,[config])
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
572
test x$CONFIG_SMP = xy && AC_DEFINE(CONFIG_SMP,1,[config])
573

574 575 576 577 578 579
dnl
dnl Userland may want to know about MMU availability on the target.
dnl For now, we assume that having fork() means having an MMU.
dnl
test x$ac_cv_func_fork = xyes && AC_DEFINE(CONFIG_MMU,1,[config])

580
AM_CONDITIONAL(CONFIG_XENO_SHARED,[test "$enable_shared" = 'yes'])
581

582 583 584
# Default sampling period (ns) used in various tests
AC_DEFINE_UNQUOTED(CONFIG_XENO_DEFAULT_PERIOD,$CONFIG_XENO_DEFAULT_PERIOD,[config])

585
dnl Allocator for Copperplate
586
dnl Note: in dual kernel mode, we don't want malloc, no matter what.
587
dnl We switch to malloc only over the Mercury core in debug mode, to ease
588
dnl debugging with valgrind, instrumented glibc etc.
589 590
AM_CONDITIONAL(XENO_TLSF,[test $rtcore_type = cobalt -o x$debug_mode = x])
test $rtcore_type = cobalt -o x$debug_mode = x && AC_DEFINE(CONFIG_XENO_TLSF,1,[config])
591

592 593 594 595
dnl Check for atomic builtins. For now we only check for the legacy
dnl interface, i.e. __sync_*.

AC_CACHE_CHECK([whether the compiler provides atomic builtins], ac_cv_atomic_builtins, [
596
LIBS=
597 598 599 600 601 602
AC_TRY_LINK([
int atomic_sub(int i) { return __sync_sub_and_fetch(&i, 1); }
int atomic_add(int i) { return __sync_add_and_fetch(&i, 1); }
], [], ac_cv_atomic_builtins="yes")
])
if test "$ac_cv_atomic_builtins" != "yes"; then
603
   AC_MSG_ERROR([compiler does not support atomic builtins])
604 605
fi

606 607 608 609 610 611 612 613 614 615
unset want_fortify
AC_MSG_CHECKING(for fortify support)
AC_ARG_ENABLE([fortify],
	      AC_HELP_STRING([--enable-fortify],
			     [Enable _FORTIFY_SOURCE]),
	      [case "$enableval" in
	      y | yes) want_fortify=yes;;
	      *) want_fortify=no;;
	      esac])
AC_MSG_RESULT(${want_fortify:-autodetect})
616 617 618 619 620
AC_CHECK_FUNC(__vfprintf_chk,
      [AC_DEFINE(CONFIG_XENO_FORTIFY, 1,[config])],
      [if test x"$want_fortify" = "xyes"; then
      AC_MSG_ERROR([Fortify support enabled but not available in *libc])
      fi])
621

622
dnl Exported CFLAGS and LDFLAGS, shared with internal flags
623
XENO_USER_APP_CFLAGS="-D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables"
624
XENO_USER_APP_LDFLAGS=
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
625

626
if test x$use_registry = xy; then
627 628
   XENO_FUSE_CFLAGS=$FUSE_CFLAGS
   XENO_USER_APP_LDFLAGS="$XENO_USER_APP_LDFLAGS $FUSE_LIBS"
629 630
fi

631 632
dnl Internal CFLAGS and LDFLAGS, may be enhanced per-arch below
XENO_USER_CFLAGS="$XENO_USER_APP_CFLAGS -pipe -fstrict-aliasing \
633
-Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long \
634
-Wno-unused-parameter -Werror -Wformat-security -D__XENO__ -D__IN_XENO__"
635
if test x$want_fortify = xyes -a x$debug_mode != xfull; then
636
   XENO_USER_CFLAGS="$XENO_USER_CFLAGS -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2"
637
fi
638
XENO_USER_LDADD="$XENO_USER_APP_LDFLAGS"
639

640 641 642 643 644
dnl Add any flags forced on the command line, but only
dnl for building apps.
XENO_USER_APP_CFLAGS="$CFLAGS $XENO_USER_APP_CFLAGS"
XENO_USER_APP_LDFLAGS="$LDFLAGS  $XENO_USER_APP_LDFLAGS"

645
if test x$debug_mode = xpartial; then
646
   XENO_USER_CFLAGS="-g -O2 $XENO_USER_CFLAGS"
647
elif test x$debug_mode = xfull; then
648
   XENO_USER_CFLAGS="-g -O0 $XENO_USER_CFLAGS"
649 650
elif test x$debug_symbols = xy; then
   XENO_USER_CFLAGS="-g -O2 $XENO_USER_CFLAGS"
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
651 652 653 654
else
   XENO_USER_CFLAGS="-O2 $XENO_USER_CFLAGS"
fi

655 656 657 658
if test x$use_assert = x; then
   XENO_USER_CFLAGS="-DNDEBUG $XENO_USER_CFLAGS"
fi

659 660
XENO_USER_CFLAGS_STDLIB="$XENO_USER_CFLAGS"
XENO_USER_CFLAGS="$XENO_USER_CFLAGS -I$topdir/include/$rtcore_type"
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
661

662 663 664 665 666 667
AC_MSG_CHECKING([whether ld supports @file])
AC_CACHE_VAL(ac_cv_ld_file_option,
  AC_LANG_SAVE
  AC_LANG_C
  save_LDFLAGS="$LDFLAGS"
  [LDFLAGS="-Wl,@/dev/null"]
668
  AC_LINK_IFELSE([AC_LANG_SOURCE([main(){}])],
669 670 671 672 673 674 675
    [ac_cv_ld_file_option=yes],
    [ac_cv_ld_file_option=no])
  LDFLAGS="$save_LDFLAGS"
  AC_LANG_RESTORE)
AC_MSG_RESULT(${ac_cv_ld_file_option:-no})
LD_FILE_OPTION=$ac_cv_ld_file_option
AC_SUBST(LD_FILE_OPTION)
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
676

677 678 679
AC_MSG_CHECKING(whether to enable dlopening of Xenomai libraries)
AC_ARG_ENABLE(dlopen-libs,
	AC_HELP_STRING([--enable-dlopen-libs], [Allow dynamic loading of Xenomai libraries]),
Philippe Gerum's avatar
Philippe Gerum committed
680 681
	[case "$enableval" in
	y | yes) CONFIG_XENO_LIBS_DLOPEN=y ;;
682
	*) CONFIG_XENO_LIBS_DLOPEN=$enableval ;;
Philippe Gerum's avatar
Philippe Gerum committed
683 684 685 686
	esac])
AC_MSG_RESULT(${CONFIG_XENO_LIBS_DLOPEN:-no})
if test x$CONFIG_XENO_LIBS_DLOPEN = xy; then
	AC_DEFINE(CONFIG_XENO_LIBS_DLOPEN,1,[config])
687 688 689 690
	AC_DEFINE_UNQUOTED(CONFIG_XENO_TLS_MODEL,"global-dynamic",[TLS model])
else
	AC_DEFINE_UNQUOTED(CONFIG_XENO_TLS_MODEL,"initial-exec",[TLS model])
	XENO_LIB_LDFLAGS="-Wl,-z -Wl,nodlopen"
Philippe Gerum's avatar
Philippe Gerum committed
691
fi
692
AM_CONDITIONAL(CONFIG_XENO_LIBS_DLOPEN,[test x$CONFIG_XENO_LIBS_DLOPEN = xy])
Philippe Gerum's avatar
Philippe Gerum committed
693

694 695 696 697 698 699
AC_MSG_CHECKING(whether to enable TLS support)
AC_ARG_ENABLE([tls],
	    AC_HELP_STRING([--enable-tls],
			   [Enable thread local storage]),
	    [use_tls=$enableval])
AC_MSG_RESULT($use_tls)
700 701

dnl Check whether the compiler supports the __thread keyword.
702 703
if test "x$use_tls" != xno; then
	AC_CACHE_CHECK([for __thread keyword], libc_cv_gcc_tls,
704 705
	[cat > conftest.c <<\EOF
__thread int a __attribute__ ((tls_model ("initial-exec"))) = 42;
706
__thread int b __attribute__ ((tls_model ("global-dynamic"))) = 12;
707 708
EOF
	if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -c -Werror conftest.c >&AS_MESSAGE_LOG_FD]); then
709
		libc_cv_gcc_tls=yes
710
	else
711
		libc_cv_gcc_tls=no
712 713
	fi
	rm -f conftest*])
714 715
	if test "$libc_cv_gcc_tls" = yes; then
		AC_DEFINE(HAVE_TLS,1,[config])
716 717 718
	fi
fi

719
AC_MSG_CHECKING(location for test executables)
720
AC_ARG_WITH(testdir,
721
    AS_HELP_STRING([--with-testdir=<test-exec-dir>],[location for test executables (defaults to $bindir)]),
722 723 724
    [
	case "$withval" in
	"" | y | ye | yes | n | no)
725
	    AC_MSG_ERROR([You must supply an argument to --with-testdir])
726 727 728 729 730 731
	  ;;
	esac
	XENO_TEST_DIR="$withval"
    ], [XENO_TEST_DIR=$bindir])
AC_MSG_RESULT($XENO_TEST_DIR)

732
demodir='${exec_prefix}/demo'
733 734
AC_MSG_CHECKING(location for demo programs)
AC_ARG_WITH(demodir,
735
    AS_HELP_STRING([--with-demodir=<demo-program-dir>],[location for demo programs (defaults to $prefix/demo)]),
736 737 738 739 740 741 742
    [
	case "$withval" in
	"" | y | ye | yes | n | no)
	    AC_MSG_ERROR([You must supply an argument to --with-demodir])
	  ;;
	esac
	XENO_DEMO_DIR="$withval"
743
    ], [XENO_DEMO_DIR=$demodir])
744 745
AC_MSG_RESULT($XENO_DEMO_DIR)

746 747 748 749
AC_MSG_CHECKING([for test source generation])
AC_RUN_IFELSE([AC_LANG_PROGRAM([[ ]], [[ ]])],
    [AC_MSG_RESULT(ok)], [AC_MSG_RESULT(failed)], [AC_MSG_RESULT(untestable)])

750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773
dnl CAUTION: We need to have the CONFIG_XENO_XX symbols always
dnl defined when the configuration header is read, but we want the
dnl Autoconf-produced symbols to be defined only when compiling
dnl Xenomai. This way, we won't pollute the namespace with the latter
dnl when our configuration header is indirectly included by a client
dnl application. To achieve this, we ask autoheader to produce the
dnl following header structure:
dnl #define CONFIG_XX
dnl #define CONFIG_XX ...
dnl #ifdef __IN_XENO__
dnl <Autoconf-defined symbols>
dnl #endif /* __IN_XENO__ */
dnl This is quite a hack since we have to rely on the fact that
dnl all Autoconf-generated symbols are lexicographically sorted
dnl after CONFIG_XENO_XX ones, but, well...
dnl Use a key which will cause the verbatim string to be put after
dnl all CONFIG_XENO_XX symbols, but still before any Autoconf-generated
dnl symbol, hence CONFIG_XENO___.
AH_VERBATIM(CONFIG_XENO___,[#ifdef __IN_XENO__])

dnl Now we can close the conditional section, right after all
dnl Autoconf-generated symbols have been listed.
AH_BOTTOM([#endif /* __IN_XENO__ */])

774
if test $rtcore_type = cobalt; then
775
   XENO_USER_CFLAGS="-I$topdir/lib/cobalt/arch/$XENO_TARGET_ARCH/include -I$topdir/kernel/cobalt/arch/$XENO_TARGET_ARCH/include $XENO_USER_CFLAGS"
776 777 778 779 780 781 782 783 784
   XENO_COBALT_CFLAGS="$XENO_USER_CFLAGS"
   case "$build_for" in
    i*86*-*) XENO_COBALT_CFLAGS="$XENO_COBALT_CFLAGS -fno-omit-frame-pointer";;
    esac

dnl Build wrapping information. XENO_POSIX_WRAPPERS lists all wrapping
dnl directives in a format the linker understands, for building the
dnl in-tree executables which require POSIX symbol wrapping.

785
   modechk_wrappers="$topdir/lib/cobalt/modechk.wrappers"
786
   cobalt_wrappers="$topdir/lib/cobalt/cobalt.wrappers"
787
   if [[ $ac_cv_ld_file_option = yes ]]; then
788
	XENO_POSIX_WRAPPERS="-Wl,@$modechk_wrappers -Wl,@$cobalt_wrappers"
789
   else
790
	XENO_POSIX_WRAPPERS=`cat $modechk_wrappers $cobalt_wrappers | \
791 792 793
			while read wrap_option symbol ; do \
				echo -n "-Wl,$wrap_option,$symbol " ; \
			done`
794 795 796
   fi

   AC_SUBST(XENO_POSIX_WRAPPERS)
797
   AC_SUBST([CONFIG_STATUS_DEPENDENCIES], ["$modechk_wrappers $cobalt_wrappers"])
798 799
fi

800 801 802 803 804
dnl
dnl Build the Makefiles
dnl

XENO_AUTOINIT_LDFLAGS='$(top_builddir)/lib/boilerplate/init/bootstrap-internal.o'" -Wl,--wrap=main -Wl,--dynamic-list=$topdir/scripts/dynlist.ld"
805 806
AC_SUBST(XENO_AUTOINIT_LDFLAGS)

807 808
XENO_CORE_LDADD="\$(top_builddir)/lib/$rtcore_type/lib${rtcore_type}.la"
if test $rtcore_type = cobalt; then
809
   XENO_CORE_LDADD="$XENO_CORE_LDADD \$(top_builddir)/lib/cobalt/libmodechk.la"
810 811
fi
AC_SUBST(XENO_CORE_LDADD)
812

Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
813 814 815 816 817 818
AC_SUBST(DOXYGEN_SHOW_INCLUDE_FILES)
AC_SUBST(DOXYGEN_HAVE_DOT)
AC_SUBST(DOXYGEN)
AC_SUBST(LATEX_BATCHMODE)
AC_SUBST(LATEX_MODE)

Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
819 820 821 822
AC_SUBST(ASCIIDODC)
AC_SUBST(A2X)
AC_SUBST(W3M)

823
AC_SUBST(XENO_TARGET_CORE)
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
824 825 826
AC_SUBST(XENO_TARGET_ARCH)
AC_SUBST(XENO_BUILD_STRING)
AC_SUBST(XENO_HOST_STRING)
827
AC_SUBST(XENO_COBALT_CFLAGS)
828
AC_SUBST(XENO_LIB_LDFLAGS)
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
829
AC_SUBST(XENO_USER_CFLAGS)
830
AC_SUBST(XENO_USER_CFLAGS_STDLIB)
831
AC_SUBST(XENO_USER_LDADD)
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
832
AC_SUBST(XENO_USER_APP_CFLAGS)
Philippe Gerum's avatar
Philippe Gerum committed
833
AC_SUBST(XENO_USER_APP_LDFLAGS)
834
AC_SUBST(XENO_FUSE_CFLAGS)
835
AC_SUBST(XENO_TEST_DIR)
836
AC_SUBST(XENO_DEMO_DIR)
837
AC_SUBST(XENO_BUILD_COMPILER)
838
AC_SUBST(XENO_BUILD_ARGS)
839

Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
840 841 842 843
AC_CONFIG_FILES([ \
	Makefile \
	config/Makefile \
	scripts/Makefile \
844
	scripts/xeno-config:scripts/xeno-config-$rtcore_type.in \
845
	scripts/xeno \
846
	lib/Makefile \
847
	lib/boilerplate/Makefile \
848
	lib/boilerplate/init/Makefile \
849
	lib/cobalt/Makefile \
850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866
	lib/cobalt/arch/Makefile \
	lib/cobalt/arch/arm/Makefile \
	lib/cobalt/arch/arm/include/Makefile \
	lib/cobalt/arch/arm/include/asm/Makefile \
	lib/cobalt/arch/arm/include/asm/xenomai/Makefile \
	lib/cobalt/arch/powerpc/Makefile \
	lib/cobalt/arch/powerpc/include/Makefile \
	lib/cobalt/arch/powerpc/include/asm/Makefile \
	lib/cobalt/arch/powerpc/include/asm/xenomai/Makefile \
	lib/cobalt/arch/blackfin/Makefile \
	lib/cobalt/arch/blackfin/include/Makefile \
	lib/cobalt/arch/blackfin/include/asm/Makefile \
	lib/cobalt/arch/blackfin/include/asm/xenomai/Makefile \
	lib/cobalt/arch/x86/Makefile \
	lib/cobalt/arch/x86/include/Makefile \
	lib/cobalt/arch/x86/include/asm/Makefile \
	lib/cobalt/arch/x86/include/asm/xenomai/Makefile \
867
	lib/mercury/Makefile \
868
	lib/copperplate/Makefile \
869
	lib/copperplate/regd/Makefile \
Philippe Gerum's avatar
Philippe Gerum committed
870
	lib/alchemy/Makefile \
871 872 873
	lib/vxworks/Makefile \
	lib/psos/Makefile \
	lib/analogy/Makefile \
874
	lib/smokey/Makefile \
875
	lib/trank/Makefile \
876 877 878
	testsuite/Makefile \
	testsuite/latency/Makefile \
	testsuite/switchtest/Makefile \
879
	testsuite/gpiotest/Makefile \
880
	testsuite/spitest/Makefile \
881 882
	testsuite/smokey/Makefile \
	testsuite/smokey/arith/Makefile \
883
	testsuite/smokey/dlopen/Makefile \
884 885
	testsuite/smokey/sched-quota/Makefile \
	testsuite/smokey/sched-tp/Makefile \
886
	testsuite/smokey/setsched/Makefile \
887 888
	testsuite/smokey/rtdm/Makefile \
	testsuite/smokey/vdso-access/Makefile \
889 890 891 892
	testsuite/smokey/posix-cond/Makefile \
	testsuite/smokey/posix-mutex/Makefile \
	testsuite/smokey/posix-clock/Makefile \
	testsuite/smokey/posix-fork/Makefile \
893
	testsuite/smokey/posix-select/Makefile \
894 895 896
	testsuite/smokey/xddp/Makefile \
	testsuite/smokey/iddp/Makefile \
	testsuite/smokey/bufp/Makefile \
Jan Kiszka's avatar
Jan Kiszka committed
897
	testsuite/smokey/sigdebug/Makefile \
898
	testsuite/smokey/timerfd/Makefile \
899
	testsuite/smokey/tsc/Makefile \
900
	testsuite/smokey/leaks/Makefile \
901 902
	testsuite/smokey/net_udp/Makefile \
	testsuite/smokey/net_packet_dgram/Makefile \
903
	testsuite/smokey/net_packet_raw/Makefile \
904
	testsuite/smokey/net_common/Makefile \
905
	testsuite/smokey/cpu-affinity/Makefile \
906 907 908
	testsuite/clocktest/Makefile \
	testsuite/xeno-test/Makefile \
	utils/Makefile \
909
	utils/hdb/Makefile \
910 911 912 913
	utils/can/Makefile \
	utils/analogy/Makefile \
	utils/ps/Makefile \
	utils/slackspot/Makefile \
914
	utils/corectl/Makefile \
915
	utils/autotune/Makefile \
916 917 918
	utils/net/rtnet \
	utils/net/rtnet.conf \
	utils/net/Makefile \
919 920
	demo/Makefile \
	demo/posix/Makefile \
921
	demo/posix/cyclictest/Makefile \
922 923 924
	demo/posix/cobalt/Makefile \
	demo/alchemy/Makefile \
	demo/alchemy/cobalt/Makefile \
925
	include/Makefile \
926
	include/cobalt/uapi/Makefile \
927 928
	include/cobalt/uapi/asm-generic/Makefile \
	include/cobalt/uapi/kernel/Makefile \
929 930
	include/cobalt/Makefile \
	include/cobalt/sys/Makefile \
931
	include/cobalt/kernel/Makefile \
932
	include/cobalt/kernel/rtdm/Makefile \
933
	include/cobalt/kernel/rtdm/analogy/Makefile \
934
	include/cobalt/boilerplate/Makefile \
935
	include/rtdm/Makefile \
936
	include/rtdm/uapi/Makefile \
937
	include/mercury/Makefile \
938 939
	include/mercury/boilerplate/Makefile \
	include/boilerplate/Makefile \
940
	include/copperplate/Makefile \
Philippe Gerum's avatar
Philippe Gerum committed
941
	include/alchemy/Makefile \
942 943
	include/vxworks/Makefile \
	include/psos/Makefile \
944
	include/smokey/Makefile \
945 946 947 948
	include/trank/Makefile \
	include/trank/posix/Makefile \
	include/trank/native/Makefile \
	include/trank/rtdm/Makefile \
949
	include/xenomai/Makefile \
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
950 951
	doc/Makefile \
	doc/doxygen/Makefile \
952 953
	doc/doxygen/xeno3prm-common.conf \
	doc/doxygen/xeno3prm-html.conf \
954
	doc/doxygen/xeno3prm-latex.conf \
955
	doc/gitdoc/Makefile \
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
956
	doc/asciidoc/Makefile \
Philippe Gerum's avatar
Philippe Gerum committed
957
	])
Gilles Chanteperdrix's avatar
Gilles Chanteperdrix committed
958 959

AC_OUTPUT()