@@ -701,7 +701,8 @@ static int bench_init_linux(void)
checkasm_bench_stop = checkasm_bench_linux_perf_stop;
return 0;
}
-#elif CONFIG_MACOS_KPERF
+#endif
+#if CONFIG_MACOS_KPERF
static int bench_init_kperf(void)
{
ff_kperf_init();
@@ -720,25 +721,27 @@ static int bench_init_ffmpeg(void)
checkasm_bench_start = checkasm_bench_stop = ff_read_time;
return 0;
}
-#else
-static int bench_init_ffmpeg(void)
-{
- fprintf(stderr, "checkasm: --bench is not supported on your system\n");
- return -1;
-}
#endif
static int bench_init(void)
{
+ int ret = -1;
#if CONFIG_LINUX_PERF
- int ret = bench_init_linux();
-#elif CONFIG_MACOS_KPERF
- int ret = bench_init_kperf();
-#else
- int ret = bench_init_ffmpeg();
+ if (ret < 0)
+ ret = bench_init_linux();
+#endif
+#if CONFIG_MACOS_KPERF
+ if (ret < 0)
+ ret = bench_init_kperf();
#endif
+#ifdef AV_READ_TIME
if (ret < 0)
- return ret;
+ ret = bench_init_ffmpeg();
+#endif
+ if (ret < 0) {
+ fputs("checkasm: --bench is not supported on your system\n", stderr);
+ return -1;
+ }
state.nop_time = measure_nop_time();
printf("nop: %d.%d\n", state.nop_time/10, state.nop_time%10);