blob: 229bd5993ec357aa56b46758c540ca6ffcb3fdd2 [file] [log] [blame]
#!/bin/sh
OPTS=
TEMP=obj/check-c-lib.c
mkdir -p obj || exit 1
CC="$*"
if [ "$CC" = "" ] ; then
CC=cc
fi
CC="$CC -o /dev/null $TEMP"
cat >$TEMP << EOF
int main() {
return 0;
}
EOF
$CC 1>/dev/null 2>&1
if [ "$?" != 0 ] ; then
# Not GCC ?
exit 0
fi
cat >$TEMP << EOF
#include <stdlib.h>
int main() {
return *canonicalize_file_name("");
}
EOF
$CC 1>/dev/null 2>&1
if [ "$?" = 0 ] ; then
OPTS="$OPTS -DUSE_canonicalize_file_name=1"
else
OPTS="$OPTS -DUSE_canonicalize_file_name=0"
fi
cat >$TEMP << EOF
#include <sys/ptrace.h>
int main() {
enum __ptrace_request cmd = (enum __ptrace_request)0;
return cmd != 0;
}
EOF
$CC 1>/dev/null 2>&1
if [ "$?" = 0 ] ; then
OPTS="$OPTS -DUSE_enum_ptrace_request=1"
else
OPTS="$OPTS -DUSE_enum_ptrace_request=0"
fi
cat >$TEMP << EOF
#include <string.h>
int main() {
char buf[256];
strlcpy(buf, "", sizeof(buf));
strlcat(buf, "", sizeof(buf));
return 0;
}
EOF
$CC 1>/dev/null 2>&1
if [ "$?" = 0 ] ; then
OPTS="$OPTS -DUSE_strlcpy_strlcat=1"
else
OPTS="$OPTS -DUSE_strlcpy_strlcat=0"
fi
cat >$TEMP << EOF
#include <sys/auxv.h>
#include <asm/hwcap.h>
int main() {
unsigned long hwcap = getauxval(AT_HWCAP);
return (hwcap & HWCAP_ARM_VFP) == 0;
}
EOF
$CC 1>/dev/null 2>&1
if [ "$?" = 0 ] ; then
OPTS="$OPTS -DUSE_getauxval=1"
else
OPTS="$OPTS -DUSE_getauxval=0"
fi
rm $TEMP
echo $OPTS