mirror of
https://github.com/irungentoo/toxcore.git
synced 2024-03-22 13:30:51 +08:00
106 lines
2.1 KiB
Bash
Executable File
106 lines
2.1 KiB
Bash
Executable File
#!/bin/sh -e
|
|
|
|
okabi | (
|
|
while read abi
|
|
do
|
|
|
|
rm -f cpucycles.o cpucycles.h
|
|
|
|
(
|
|
case "$abi" in
|
|
ppc*)
|
|
echo powerpccpuinfo
|
|
echo powerpcmacos
|
|
;;
|
|
amd64*)
|
|
echo amd64tscfreq
|
|
echo amd64cpuinfo
|
|
echo amd64cpuspeed
|
|
;;
|
|
x86*)
|
|
echo x86tscfreq
|
|
echo x86cpuinfo
|
|
echo x86cpuspeed
|
|
echo x86estimate
|
|
;;
|
|
cell*)
|
|
echo celllinux
|
|
;;
|
|
sparc*)
|
|
echo sparccpuinfo
|
|
echo sparc32cpuinfo
|
|
;;
|
|
mips*)
|
|
echo mips
|
|
;;
|
|
hppa*)
|
|
echo hppapstat
|
|
;;
|
|
alpha*)
|
|
echo alpha
|
|
;;
|
|
sgi*)
|
|
echo sgi
|
|
;;
|
|
arm*)
|
|
echo cortex
|
|
echo dev4ns
|
|
;;
|
|
esac
|
|
|
|
echo amd64tscfreq
|
|
echo amd64cpuinfo
|
|
echo amd64cpuspeed
|
|
echo x86tscfreq
|
|
echo x86cpuinfo
|
|
echo x86cpuspeed
|
|
echo x86estimate
|
|
echo ia64cpuinfo
|
|
echo powerpccpuinfo
|
|
echo powerpcmacos
|
|
echo celllinux
|
|
echo sparccpuinfo
|
|
echo sparc32cpuinfo
|
|
echo mips
|
|
echo hppapstat
|
|
echo alpha
|
|
echo sgi
|
|
echo cortex
|
|
echo dev4ns
|
|
echo monotoniccpuinfo
|
|
echo monotonic
|
|
echo gettimeofday
|
|
) | (
|
|
while read n
|
|
do
|
|
okc-$abi | (
|
|
while read c
|
|
do
|
|
echo "=== `date` === Trying $n.c with $c..." >&2
|
|
rm -f test cpucycles-impl.o cpucycles-impl.h cpucycles-impl.c
|
|
cp $n.c cpucycles-impl.c || continue
|
|
cp $n.h cpucycles-impl.h || continue
|
|
$c -c cpucycles-impl.c || continue
|
|
$c -o test test.c cpucycles-impl.o || continue
|
|
./test || continue
|
|
echo "=== `date` === Success. Using $n.c." >&2
|
|
mkdir -p lib/$abi
|
|
mv cpucycles-impl.o lib/$abi/cpucycles.o
|
|
mkdir -p include/$abi
|
|
mv cpucycles-impl.h include/$abi/cpucycles.h
|
|
exit 0
|
|
done
|
|
exit 111
|
|
) && exit 0
|
|
done
|
|
exit 111
|
|
) || (
|
|
echo ===== Giving up. >&2
|
|
rm -f test cpucycles-impl.o cpucycles-impl.h cpucycles-impl.c
|
|
exit 111
|
|
) || exit 0
|
|
|
|
done
|
|
exit 0
|
|
) || exit 111
|