configure()
{
    mk_config_header "include/config.h"
    
    lw_define_feature_macros

    MK_CFLAGS="$MK_CFLAGS -Wall -Werror"
    
    mk_define LOCALSTATEDIR "\"$MK_LOCALSTATEDIR\""
    mk_define BINDIR "\"$MK_BINDIR\""
    mk_define SBINDIR "\"$MK_SBINDIR\""
    mk_define LIBDIR "\"$MK_LIBDIR\""
    mk_define PREFIXDIR "\"$MK_PREFIX\""
    mk_define DATADIR "\"$MK_DATADIR\""

    # Check endianness
    mk_multiarch_do
        lw_check_isa
        lw_check_endian
    mk_multiarch_done

    mk_check_headers \
        sys/types.h signal.h

    mk_check_headers \
        HEADERDEPS="sys/types.h" \
        inttypes.h fcntl.h limits.h stdlib.h string.h \
        strings.h syslog.h unistd.h sys/types.h fcntl.h \
        sys/stat.h sys/param.h sys/pstat.h proc/readproc.h \
        sys/ioctl.h sys/termio.h utmps.h utmpx.h utmp.h \
        procfs.h sys/procfs.h kvm.h sys/sysctl.h sys/user.h \
        time.h sys/time.h

    mk_check_functions \
	HEADERDEPS="signal.h" \
	sigprocmask

    mk_check_functions \
	HEADERDEPS="ctype.h" \
        isblank

    mk_check_functions \
	HEADERDEPS="stdlib.h" \
	strtol strtoll __strtoll strtoul strtoull __strtoull

    mk_check_functions \
        HEADERDEPS="unistd.h" \
        sysconf

    mk_declare -o \
        expanded_bindir="$MK_BINDIR" \
        expanded_libexecdir="$MK_LIBEXECDIR"

    mk_output_file ConfigureLogin
}

make()
{
    mk_program \
        PROGRAM="lw-sysauth" \
        SOURCES="ctmem.c ctarray.c ctfileutils.c ctexec.c lwexc.c \
                 ctshell.c cthash.c ctstrutils.c ctuser.c ctprocutils.c \
                 djnsswitch.c djpamconf.c djlogger.c djdistroinfo.c \
                 djmodule.c djdaemonmgr.c djdaemonmgr_nonmac.c djprocutils.c \
                 main.c" \
        INCLUDEDIRS="include" \
        HEADERDEPS="lwadvapi.h lw/base.h" \
        LIBDEPS="lwadvapi_nothr lwbase_nothr"

    mk_stage \
        DESTDIR="$MK_LIBEXECDIR" \
        MODE="0755" \
        ConfigureLogin
}
