# Copyright (c) 2004-2005 Sean Chittenden <sean@chittenden.org>
#
# Licensed under the MIT license (see ./COPYING for details)
#
# $Nexadesic: src/lib/libmemcache/pmkfile,v 1.16 2005/01/24 07:36:17 sean Exp $

SETTINGS {
	LANG="C"
	TARGET=("Makefile.pmk")
	DETECT = ("CC")
}

SWITCHES {
	debug = FALSE
}

IF(!debug) {
	DEFINE {
		CFLAGS = "-std=c99 -pipe -O3"
	}
}

IF(debug) {
	DEFINE {
		CFLAGS = "-std=c99 -g -Wall -Wunused -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wmissing-noreturn -Wformat -Wpacked -Wdeprecated-declarations -Wredundant-decls -Wnested-externs -Winline -Wdisabled-optimization -pipe -pedantic"
	}
}

DEFINE {
	BASE = "$PREFIX"
	LIBDIR = "\$(BASE)/lib"
}

CHECK_BINARY(bzip_config) {
	REQUIRED = FALSE
	NAME = "bzip2"
	VARIABLE = "BIN_BZIP"
}

CHECK_BINARY(chown_config) {
	REQUIRED = FALSE
	NAME = "chown"
	VARIABLE = "BIN_CHOWN"
}

CHECK_BINARY(cvs_config) {
	REQUIRED = FALSE
	NAME = "cvs"
	VARIABLE = "BIN_CVS"
}

CHECK_BINARY(cvs2cl_config) {
	REQUIRED = FALSE
	NAME = "cvs2cl.pl"
	VARIABLE = "BIN_CVS2CL"
}

CHECK_BINARY(cvs2cl_config) {
	REQUIRED = FALSE
	NAME = "cvs2cl"
	VARIABLE = "BIN_CVS2CL"
}

CHECK_BINARY(echo_config) {
	REQUIRED = TRUE
	NAME = "echo"
	VARIABLE = "BIN_ECHO"
}

CHECK_BINARY(killall_config) {
	REQUIRED = FALSE
	NAME = "killall"
	VARIABLE = "BIN_KILLALL"
}

CHECK_BINARY(ln_config) {
	REQUIRED = TRUE
	NAME = "ln"
	VARIABLE = "BIN_LN"
}

CHECK_BINARY(memcached_config) {
	REQUIRED = FALSE
	NAME = "memcached"
	VARIABLE = "BIN_MEMCACHED"
}

CHECK_BINARY(mv_config) {
	REQUIRED = FALSE
	NAME = "mv"
	VARIABLE = "BIN_MV"
}

CHECK_BINARY(pmk_config) {
	REQUIRED = FALSE
	NAME = "pmk"
	VARIABLE = "BIN_PMK"
}

CHECK_BINARY(rm_config) {
	REQUIRED = FALSE
	NAME = "rm"
	VARIABLE = "BIN_RM"
}

# CHECK_BINARY(sudo_config) {
# 	REQUIRED = FALSE
# 	NAME = "sudo"
# 	VARIABLE = "BIN_SUDO"
# }

CHECK_BINARY(tar_config) {
	REQUIRED = FALSE
	NAME = "tar"
	VARIABLE = "BIN_TAR"
}

CHECK_HEADER(include_read) {
	REQUIRED=TRUE
	FUNCTION="read"
	NAME="unistd.h"
}

CHECK_HEADER(include_socket) {
	REQUIRED=TRUE
	FUNCTION="socket"
	NAME="sys/socket.h"
}

CHECK_HEADER(include_setsockopt) {
	REQUIRED=TRUE
	FUNCTION="setsockopt"
	NAME="sys/socket.h"
}

CHECK_HEADER(include_connect) {
	REQUIRED=TRUE
	FUNCTION="setsockopt"
	NAME="sys/socket.h"
}

CHECK_HEADER(include_freeaddrinfo) {
	REQUIRED=TRUE
	FUNCTION="freeaddrinfo"
	NAME="netdb.h"
}

CHECK_HEADER(include_getaddrinfo) {
	REQUIRED=TRUE
	FUNCTION="getaddrinfo"
	NAME="netdb.h"
}

CHECK_HEADER(include_types) {
	REQUIRED=TRUE
	NAME="sys/types.h"
}

CHECK_HEADER(include_time) {
	REQUIRED=TRUE
	NAME="sys/time.h"
}

# #define's
# EX_PROTOCOL

CHECK_HEADER(include_isspace) {
	REQUIRED=TRUE
	FUNCTION="isspace"
	NAME="ctype.h"
}

CHECK_HEADER(include_readv) {
	REQUIRED=TRUE
	FUNCTION="readv"
	NAME="sys/uio.h"
}

CHECK_HEADER(include_errno) {
	REQUIRED=FALSE
	FUNCTION="errno"
	NAME="errno.h"
}

CHECK_HEADER(include_fcntl) {
	REQUIRED=TRUE
	FUNCTION="fcntl"
	NAME="fcntl.h"
}

CHECK_HEADER(include_write) {
	REQUIRED=TRUE
	FUNCTION="write"
	NAME="unistd.h"
}

CHECK_HEADER(include_writev) {
	REQUIRED=TRUE
	FUNCTION="writev"
	NAME="sys/uio.h"
}

CHECK_HEADER(include_snprintf) {
	REQUIRED=TRUE
	FUNCTION="snprintf"
	NAME="stdio.h"
}

CHECK_HEADER(include_err) {
	REQUIRED=TRUE
	FUNCTION="err"
	NAME="err.h"
}

CHECK_HEADER(include_errx) {
	REQUIRED=TRUE
	FUNCTION="errx"
	NAME="err.h"
}

CHECK_HEADER(include_warn) {
	REQUIRED=TRUE
	FUNCTION="warn"
	NAME="err.h"
}

CHECK_HEADER(include_warnx) {
	REQUIRED=TRUE
	FUNCTION="warnx"
	NAME="err.h"
}

CHECK_HEADER(include_sysexits) {
	REQUIRED=TRUE
	NAME="sysexits.h"
}

CHECK_HEADER(include_abort) {
	REQUIRED=TRUE
	FUNCTION="abort"
	NAME="stdlib.h"
}

CHECK_HEADER(include_free) {
	REQUIRED=TRUE
	FUNCTION="free"
	NAME="stdlib.h"
}

CHECK_HEADER(include_malloc) {
	REQUIRED=TRUE
	FUNCTION="malloc"
	NAME="stdlib.h"
}

CHECK_HEADER(include_realloc) {
	REQUIRED=TRUE
	FUNCTION="realloc"
	NAME="stdlib.h"
}

CHECK_HEADER(include_memcmp) {
	REQUIRED=TRUE
	FUNCTION="memcmp"
	NAME="string.h"
}

CHECK_HEADER(include_memchr) {
	REQUIRED=TRUE
	FUNCTION="memchr"
	NAME="string.h"
}

CHECK_HEADER(include_bcopy) {
	REQUIRED=TRUE
	FUNCTION="bcopy"
	NAME="strings.h"
}

CHECK_HEADER(include_bzero) {
	REQUIRED=TRUE
	FUNCTION="bzero"
	NAME="strings.h"
}

CHECK_HEADER(include_select) {
	REQUIRED=TRUE
	FUNCTIOn="select"
	NAME="sys/select.h"
}

CHECK_HEADER(include_strdup) {
	REQUIRED=TRUE
	FUNCTION="strdup"
	NAME="string.h"
}

CHECK_HEADER(include_strlen) {
	REQUIRED=TRUE
	FUNCTION="strlen"
	NAME="string.h"
}

CHECK_HEADER(include_strtol) {
	REQUIRED=TRUE
	FUNCTION="strtol"
	NAME="stdlib.h"
}

CHECK_HEADER(include_strtoll) {
	REQUIRED=TRUE
	FUNCTION="strtoll"
	NAME="stdlib.h"
}

CHECK_HEADER(include_close) {
	REQUIRED=TRUE
	FUNCTION="close"
	NAME="unistd.h"
}

DEFINE {
	MAJORVER = "1"
	MINORVER = "2"
	MICROVER = "3"
}

BUILD_SHLIB_NAME {
	NAME = "memcache"
	MAJOR = "1"
	MINOR = "2"
	VERSION_NONE = "LIBNAME"
	VERSION_FULL = "LIBNAMEV"
}
