Branch :
#! /bin/sh
echo "$PWD/configure"
CONFIGURE_H=.configure.h
CONFIGURE_MK=.configure.mk
echo "/* gen by configure */
#ifndef ACME_CLIENT_CONFIGURE_H
#define ACME_CLIENT_CONFIGURE_H
" > "${CONFIGURE_H}"
echo "#!/bin/sh
# gen by configure
" > "${CONFIGURE_MK}"
update_configure_h() {
if ! cmp "${CONFIGURE_H}" configure.h; then
echo "-> $PWD/configure.h"
cp "${CONFIGURE_H}" configure.h
fi
}
update_configure_mk() {
if ! cmp "${CONFIGURE_MK}" configure.mk; then
echo "-> $PWD/configure.mk"
cp "${CONFIGURE_MK}" configure.mk
fi
}
: ${prefix:=/usr/local}
: ${CC:=cc}
if ! which "$CC" >/dev/null; then
echo "CC=$CC was not found in path"
fi
CFLAGS="$CFLAGS -D_GNU_SOURCE"
CFLAGS="$CFLAGS -D_OPENBSD_SOURCE"
if pkg-config libbsd; then
CFLAGS="$CFLAGS $(pkg-config --cflags libbsd-overlay)"
CFLAGS="$CFLAGS -DLIBBSD_OPENBSD_VIS"
LIBS="$LIBS $(pkg-config --libs libbsd-overlay)"
LIBS="$LIBS -lresolv"
fi
if pkg-config libtls; then
CFLAGS="$CFLAGS $(pkg-config --cflags libtls)"
LIBS="$LIBS $(pkg-config --libs libtls)"
fi
OUT=".configure.recallocarray"
OUT_C="${OUT}.c"
echo "/* gen by configure */" > "${OUT_C}"
echo "#include <stdlib.h>" >> "${OUT_C}"
echo "int main () {" >> "${OUT_C}"
echo " char *p = recallocarray(NULL, 0, 16, 1);" >> "${OUT_C}"
echo " return 0;" >> "${OUT_C}"
echo "}" >> "${OUT_C}"
if ${CC} ${CFLAGS} "${OUT_C}" -o "${OUT}" ${LIBS} 2>/dev/null; then
HAVE_RECALLOCARRAY=true
echo "#define HAVE_RECALLOCARRAY 1" >> "${CONFIGURE_H}"
else
HAVE_RECALLOCARRAY=false
echo "#define HAVE_RECALLOCARRAY 0" >> "${CONFIGURE_H}"
fi
rm -f "${OUT}" "${OUT_C}"
echo "#endif /* ACME_CLIENT_CONFIGURE_H */" >> "${CONFIGURE_H}"
update_configure_h
echo CFLAGS = "$CFLAGS" >> ${CONFIGURE_MK}
echo LDFLAGS = "$LDFLAGS" >> ${CONFIGURE_MK}
echo LIBS = "$LIBS" >> ${CONFIGURE_MK}
echo prefix = "$prefix" >> ${CONFIGURE_MK}
update_configure_mk