#!/bin/sh
# $1 - compiler
cat > .conftest.c << EOF
#include <sys/sysmacros.h>
int main() { return 0; }
EOF
if $1 .conftest.c 1>/dev/null 2>/dev/null
then sysmacros="-D_HAVE_SYS_SYSMACROS_H"; echo "<sys/sysmacros.h> present" 1>&2
else sysmacros="-U_HAVE_SYS_SYSMACROS_H"; echo "<sys/sysmacros.h> absent" 1>&2
fi
rm -f .conftest* a.out
cat > .conftest.c << EOF
#include <sys/stat.h>
#include <sys/types.h>
#ifdef _HAVE_SYS_SYSMACROS_H
# include <sys/sysmacros.h>
#endif
int main()
{
int dev = major(0177000) | minor(0377);
(void)dev;
return 0;
}
EOF
if $1 .conftest.c $sysmacros 1>/dev/null 2>/dev/null
then majorminor="-D_HAVE_MAJOR_MINOR"; echo "major/minor present" 1>&2
else majorminor="-U_HAVE_MAJOR_MINOR"; echo "major/minor absent" 1>&2
fi
rm -f .conftest* a.out
echo "$sysmacros $majorminor"
syntax highlighted by Code2HTML, v. 0.9.1