util-linux/mount/swap.configure

37 lines
1.0 KiB
Plaintext

# Find out whether we can include <sys/swap.h>
# and whether libc thinks that swapon() has two arguments.
# Prepare test
CC=${CC-cc}
compile="$CC -o conftest conftest.c >/dev/null 2>&1"
rm -f conftest conftest.c swapargs.h
# What include files shall we try?
# Unfortunately, recent versions of swap.h use PAGE_SIZE and hence need page.h
# It is used only in mkswap, not in swapon/swapoff, so we might just pick any
# random value (like #define PAGE_SIZE 4096) instead of including page.h.
SWAPH=
PAGEH=
if [ -f /usr/include/sys/swap.h ]; then
SWAPH="#include <sys/swap.h>"
if [ -f /usr/include/asm/page.h ]; then
PAGEH="#include <asm/page.h>"
fi
fi
echo $PAGEH > conftest.c
echo $SWAPH >> conftest.c
echo '#include <unistd.h>
main(){ exit(0); swapon("/dev/null", 0); }' >> conftest.c
eval $compile
if test -s conftest && ./conftest 2>/dev/null; then
echo "#define SWAPON_HAS_TWO_ARGS" > swapargs.h
echo $PAGEH >> swapargs.h
echo $SWAPH >> swapargs.h
else
echo > swapargs.h
echo "
Your libc thinks that swapon has 1 arg only.
" 1>&2
fi
rm -f conftest conftest.c