open-cas-linux/configure.d/1_bio_err.conf
Michal Rakowski 0f2ea7ade7 configure: more deseralization & cleanup
Signed-off-by: Michal Rakowski <michal.rakowski@intel.com>
2019-09-09 16:10:31 +02:00

45 lines
1019 B
Bash

#!/bin/bash
#
# Copyright(c) 2012-2019 Intel Corporation
# SPDX-License-Identifier: BSD-3-Clause-Clear
#
. $(dirname $3)/conf_framework
check() {
cur_name=$(basename $2)
config_file_path=$1
if compile_module $cur_name "struct bio b;b.bi_status" "linux/bio.h"
then
echo $cur_name "1" >> $config_file_path
elif compile_module $cur_name "struct bio b;b.bi_error" "linux/bio.h"
then
echo $cur_name "2" >> $config_file_path
elif compile_module $cur_name "bio_endio(NULL, 0)" "linux/bio.h"
then
echo $cur_name "3" >> $config_file_path
else
echo $cur_name "X" >> $config_file_path
fi
}
apply() {
case "$1" in
"1")
add_define "CAS_BIO_OP_STATUS(bio) \\
bio->bi_status" ;;
"2")
add_define "CAS_BIO_OP_STATUS(bio) \\
bio->bi_error" ;;
"3")
# If bio_endio is available, we do not need to provide our own status accessors.
# This case-switch prevents false errors during executing 'configure' script.
return 0 ;;
*)
exit 1
esac
}
conf_run $@