#! /bin/sh

# Copyright (C) 2005-2017 The RTAI project
# This [file] is free software; the RTAI project
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.



staging=${DESTDIR}
prefix="/usr"
exec_prefix="/usr"
libdir="/usr/lib64"
datarootdir="${prefix}/share"
datadir="/usr/share"
pkgdatadir="${datadir}/rtai"
includedir="/usr/include/rtai"

RTAI_VERSION="5.3"
RTAI_PREFIX="${staging}${prefix}"
RTAI_CC="gcc"
RTAI_CXX="g++"
RTAI_TARGET_ARCH="x86"
RTAI_TARGET_SUBARCH="64"
RTAI_CONFIG="${staging}${pkgdatadir}/config-rtai-${RTAI_VERSION}"
RTAI_LINUX_DIR="/usr/src/linux-obj/x86_64/0404rtai"
RTAI_LINUX_VERSION="4.4.257"
RTAI_KERNEL_CFLAGS="-I.  -I${staging}${includedir} -g   -ffast-math -mhard-float"
RTAI_KERNEL_CXXFLAGS="-I.  -I${staging}${includedir} -g  -fno-rtti -fno-exceptions -fno-strength-reduce -pipe  -ffast-math -mhard-float"
RTAI_MODULE_DIR="${staging}/lib/modules/4.4.257-7-0404rtai/extra"
RTAI_LXRT_CFLAGS="-I.  -I${staging}${includedir} -I/usr/src/linux-obj/x86_64/0404rtai/include  -Wall -Wstrict-prototypes -pipe"
RTAI_LXRT_LDFLAGS="-L${staging}${libdir} -llxrt -lpthread"
RTAI_LIBRARY_DIR="${staging}${libdir}"
COMEDI_DIR=""
EFLTK_DIR=""
RTAI_MODULE_EXT=".ko"
RTAI_POSIX_WRAP=" -Wl,--wrap -Wl,timer_create -Wl,--wrap -Wl,timer_delete -Wl,--wrap -Wl,timer_getoverrun -Wl,--wrap -Wl,timer_gettime -Wl,--wrap -Wl,timer_settime -Wl,--wrap -Wl,clock_getres -Wl,--wrap -Wl,clock_gettime -Wl,--wrap -Wl,clock_settime -Wl,--wrap -Wl,clock_nanosleep -Wl,--wrap -Wl,nanosleep -Wl,--wrap -Wl,pthread_barrier_init -Wl,--wrap -Wl,pthread_barrier_destroy -Wl,--wrap -Wl,pthread_barrier_wait -Wl,--wrap -Wl,pthread_barrierattr_init -Wl,--wrap -Wl,pthread_barrierattr_destroy -Wl,--wrap -Wl,pthread_barrierattr_getpshared -Wl,--wrap -Wl,pthread_barrierattr_setpshared -Wl,--wrap -Wl,pthread_cond_init -Wl,--wrap -Wl,pthread_cond_destroy -Wl,--wrap -Wl,pthread_cond_signal -Wl,--wrap -Wl,pthread_cond_broadcast -Wl,--wrap -Wl,pthread_cond_wait -Wl,--wrap -Wl,pthread_cond_timedwait -Wl,--wrap -Wl,pthread_condattr_init -Wl,--wrap -Wl,pthread_condattr_destroy -Wl,--wrap -Wl,pthread_condattr_getpshared -Wl,--wrap -Wl,pthread_condattr_setpshared -Wl,--wrap -Wl,pthread_condattr_getclock -Wl,--wrap -Wl,pthread_condattr_setclock -Wl,--wrap -Wl,pthread_mutex_init -Wl,--wrap -Wl,pthread_mutex_destroy -Wl,--wrap -Wl,pthread_mutex_lock -Wl,--wrap -Wl,pthread_mutex_timedlock -Wl,--wrap -Wl,pthread_mutex_trylock -Wl,--wrap -Wl,pthread_mutex_unlock -Wl,--wrap -Wl,pthread_mutexattr_init -Wl,--wrap -Wl,pthread_mutexattr_destroy -Wl,--wrap -Wl,pthread_mutexattr_getpshared -Wl,--wrap -Wl,pthread_mutexattr_setpshared -Wl,--wrap -Wl,pthread_mutexattr_settype -Wl,--wrap -Wl,pthread_mutexattr_gettype -Wl,--wrap -Wl,pthread_rwlock_init -Wl,--wrap -Wl,pthread_rwlock_destroy -Wl,--wrap -Wl,pthread_rwlock_rdlock -Wl,--wrap -Wl,pthread_rwlock_tryrdlock -Wl,--wrap -Wl,pthread_rwlock_timedrdlock -Wl,--wrap -Wl,pthread_rwlock_wrlock -Wl,--wrap -Wl,pthread_rwlock_trywrlock -Wl,--wrap -Wl,pthread_rwlock_timedwrlock -Wl,--wrap -Wl,pthread_rwlock_unlock -Wl,--wrap -Wl,pthread_rwlockattr_init -Wl,--wrap -Wl,pthread_rwlockattr_destroy -Wl,--wrap -Wl,pthread_rwlockattr_getpshared -Wl,--wrap -Wl,pthread_rwlockattr_setpshared -Wl,--wrap -Wl,pthread_rwlockattr_getkind_np -Wl,--wrap -Wl,pthread_rwlockattr_setkind_np -Wl,--wrap -Wl,pthread_spin_init -Wl,--wrap -Wl,pthread_spin_destroy -Wl,--wrap -Wl,pthread_spin_lock -Wl,--wrap -Wl,pthread_spin_trylock -Wl,--wrap -Wl,pthread_spin_unlock -Wl,--wrap -Wl,sem_open -Wl,--wrap -Wl,sem_close -Wl,--wrap -Wl,sem_unlink -Wl,--wrap -Wl,sem_init -Wl,--wrap -Wl,sem_destroy -Wl,--wrap -Wl,sem_wait -Wl,--wrap -Wl,sem_trywait -Wl,--wrap -Wl,sem_timedwait -Wl,--wrap -Wl,sem_post -Wl,--wrap -Wl,sem_getvalue"

unset prefix exec_prefix libdir datadir pkgdatadir includedir

usage ()
{
cat <<EOF
Usage rtai-config OPTIONS
Options :
        --help
        --version
        --cc
        --cxx
        --arch
        --subarch
        --prefix
        --config
        --module-cflags
        --module-cxxflags
        --module-ext
        --lxrt-cflags
        --lxrt-ldflags
        --linux-dir
        --linux-version
        --module-dir
        --library-dir
        --comedi-dir
        --efltk-dir
        --posix-wrap
EOF
    exit $1
}

if test $# -eq 0; then
    usage 1 1>&2
fi

while test $# -gt 0; do
    case "$1" in
        --version)
            echo $RTAI_VERSION
            ;;
        --cc)
            echo $RTAI_CC
            ;;
        --cxx)
            echo $RTAI_CXX
            ;;
        --arch)
            echo $RTAI_TARGET_ARCH
            ;;
        --subarch)
            echo $RTAI_TARGET_SUBARCH
            ;;
        --prefix)
            echo $RTAI_PREFIX
            ;;
        --datarootdir)
            echo $RTAI_PREFIX
            ;;
        --config)
            echo $RTAI_CONFIG
            ;;
        --mod*-cflags|--kernel-cflags)
            echo $RTAI_KERNEL_CFLAGS
            ;;
        --mod*-ext)
            echo $RTAI_MODULE_EXT
            ;;
        --mod*-cxxflags|--kernel-cxxflags)
            echo $RTAI_KERNEL_CXXFLAGS
            ;;
        --lxrt-cflags|--user-cflags)
            echo $RTAI_LXRT_CFLAGS
            ;;
        --lxrt-ldflags)
            echo $RTAI_LXRT_LDFLAGS
            ;;
        --mod*-dir)
            echo $RTAI_MODULE_DIR
            ;;
        --lib*-dir|--libdir|--user-libdir)
            echo $RTAI_LIBRARY_DIR
            ;;
        --linux-dir|--linux)
            echo $RTAI_LINUX_DIR
            ;;
        --linux-ver*)
            echo $RTAI_LINUX_VERSION
            ;;
        --comedi-dir)
            echo $COMEDI_DIR
            ;;
        --efltk-dir)
            echo $EFLTK_DIR
            ;;
        --posix-wrap)
            echo $RTAI_POSIX_WRAP
            ;;
        *)
         usage 1 1>&2
         ;;
    esac
    shift
done
