X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=configure.ac;h=271bbb2c3489c1700865c6c049d6bb417f1175a4;hb=7b92d97d242b6de7a4125b6586cbfcffdba5fe39;hp=9bf9c2ceb2d77989471ff82a8cfbd7dba401867c;hpb=b7ea1a1c8ed1cea410bb43c7cc6621c951e4b621;p=ust.git diff --git a/configure.ac b/configure.ac index 9bf9c2c..271bbb2 100644 --- a/configure.ac +++ b/configure.ac @@ -4,9 +4,11 @@ #AC_PREREQ([2.63]) AC_INIT([ust], [0.0], [pierre-marc dot fournier at polymtl dot ca]) AC_CONFIG_AUX_DIR([config]) +AC_CANONICAL_TARGET +AC_CANONICAL_HOST AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE([0.0 foreign dist-bzip2 no-dist-gzip]) -AC_CONFIG_SRCDIR([ust/ust.c]) +AC_CONFIG_SRCDIR([ustctl/ustctl.c]) AC_CONFIG_HEADERS([config.h]) # Checks for programs. @@ -50,33 +52,37 @@ AC_C_INLINE AC_FUNC_MALLOC AC_CHECK_FUNCS([gettimeofday munmap socket strerror strtol]) -AC_ARG_WITH(urcu, [ --with-urcu path Path to userspace RCU source], [ - AC_CHECK_FILE(["$withval/urcu.h"], [ - URCU_CFLAGS="-I$withval" - URCU_LIBS="-L$withval -lurcu-bp" ], - AC_MSG_ERROR([Cannot find urcu.h in urcu directory])) -], [ - PKG_CHECK_MODULES(URCU, [liburcu], , [ - AC_MSG_ERROR([Must specify urcu path.])]) -]) -AC_SUBST(URCU_CFLAGS) -AC_SUBST(URCU_LIBS) +# URCU -AC_ARG_WITH(kcompat, [ --with-kcompat path Path to userspace kcompat source -], [ - AC_CHECK_FILE("$withval/kcompat.h", [ - KCOMPAT_CFLAGS="-I$withval $URCU_CFLAGS" - KCOMPAT_LIBS= - ], AC_MSG_ERROR([Cannot find kcompat.h in kcompat directory])) -], [ - PKG_CHECK_MODULES(KCOMPAT, [libkcompat], , [ - AC_MSG_ERROR([Must specify kcompat path.])]) -]) -AC_SUBST(KCOMPAT_CFLAGS) -AC_SUBST(KCOMPAT_LIBS) +# urcu - check if we just find the headers it out of the box. +AC_CHECK_HEADERS([urcu-bp.h], [], [AC_MSG_ERROR([Cannot find [URCU] headers (urcu-bp.h). Use [CFLAGS]=-Idir to specify their location.])]) + +# urcu - check that URCU lib is available to compilation +AC_CHECK_LIB([urcu-bp], [synchronize_rcu], [], [AC_MSG_ERROR([Cannot find liburcu-bp lib. Use [LDFLAGS]=-Ldir to specify its location.])]) + +# kcompat + +AC_CHECK_HEADERS([kcompat.h], [], [AC_MSG_ERROR([Cannot find kcompat headers (kcompat.h). Use [CFLAGS]=-Idir to specify their location.])]) + +AC_MSG_CHECKING([library format for the target system]) +case $target_cpu in + i386) LIBFORMAT="elf32-i386" ;; + i486) LIBFORMAT="elf32-i386" ;; + i586) LIBFORMAT="elf32-i386" ;; + i686) LIBFORMAT="elf32-i386" ;; + x86_64) LIBFORMAT="elf64-x86-64" ;; + ppc) LIBFORMAT="elf32-powerpc" ;; + ppc64) LIBFORMAT="elf64-powerpc" ;; + s390) LIBFORMAT="elf32-s390" ;; + s390x) LIBFORMAT="elf64-s390" ;; + *) AC_MSG_ERROR([unable to detect library format (unsupported architecture?)]) ;; +esac +AC_SUBST(LIBFORMAT) +AC_MSG_RESULT($LIBFORMAT) AC_CONFIG_FILES([ Makefile + include/Makefile libust/Makefile tests/Makefile tests/hello/Makefile @@ -87,7 +93,6 @@ AC_CONFIG_FILES([ libmallocwrap/Makefile libinterfork/Makefile ustd/Makefile - ust/Makefile - java/Makefile + ustctl/Makefile ]) AC_OUTPUT