#
# Copyright 2014, NICTA
#
# This software may be distributed and modified according to the terms of
# the BSD 2-Clause license. Note that NO WARRANTY is provided.
# See "LICENSE_BSD2.txt" for details.
#
# @TAG(NICTA_BSD)
#

menuconfig LIB_SEL4_UTILS
    bool "libsel4utils"
    depends on HAVE_LIB_SEL4 && HAVE_LIBC && HAVE_LIB_ELF && HAVE_LIB_CPIO && HAVE_LIB_UTILS
    select HAVE_SEL4_LIBS
    select HAVE_LIB_SEL4_UTILS
    default y
    help
        A library of utils for building an OS on seL4, including virtual memory, process and 
        thread creation.

if LIB_SEL4_UTILS
    config SEL4UTILS_STACK_SIZE
    int "Size of stacks in bytes to allocate if using vspace interface in this library"
    default 65536

    config SEL4UTILS_CSPACE_SIZE_BITS
    int "Size of default cspace to spawn processes with"
    range 4 27
    default 12

    config SEL4UTILS_PROFILE
    bool "Profiling tools"
    default n
    help
        Enables the functionality of a set of profiling tools. When disabled these profiling tools
        will compile down to nothing.
endif

config HAVE_LIB_SEL4_UTILS
    bool
