test/make/toolchain.sh

changeset 70
d79fc765fd4a
parent 69
96d8badffe58
child 101
7f40964bf1e9
equal deleted inserted replaced
69:96d8badffe58 70:d79fc765fd4a
51 __EOF__ 51 __EOF__
52 rm -f "$TEMP_DIR/checkcc" 52 rm -f "$TEMP_DIR/checkcc"
53 $1 -o "$TEMP_DIR/checkcc" $CXXFLAGS $LDFLAGS "$TEMP_DIR/test.cpp" 2> /dev/null 53 $1 -o "$TEMP_DIR/checkcc" $CXXFLAGS $LDFLAGS "$TEMP_DIR/test.cpp" 2> /dev/null
54 } 54 }
55 55
56 check_c_lib() 56 create_libtest_source()
57 { 57 {
58 if [ -z "$TOOLCHAIN_CC" ]; then 58 # $1: filename
59 return 1 59 # $2: optional include
60 fi 60 cat > "$TEMP_DIR/$1" << __EOF__
61 cat > "$TEMP_DIR/test.c" << __EOF__
62 /* libtest file */ 61 /* libtest file */
63 int main(int argc, char **argv) { 62 int main(int argc, char **argv) {
64 return 0; 63 return 0;
65 } 64 }
66 __EOF__ 65 __EOF__
66 if [ -n "$2" ]; then
67 echo "#include <$2>" >> "$TEMP_DIR/$1"
68 fi
69 }
70
71 check_c_lib()
72 {
73 # $1: libname
74 # $2: optional include
75 if [ -z "$TOOLCHAIN_CC" ]; then
76 return 1
77 fi
78 create_libtest_source "test.c" "$2"
67 rm -f "$TEMP_DIR/checklib" 79 rm -f "$TEMP_DIR/checklib"
68 $TOOLCHAIN_CC -o "$TEMP_DIR/checklib" $CFLAGS $LDFLAGS "-l$1" "$TEMP_DIR/test.c" 2> /dev/null 80 $TOOLCHAIN_CC -o "$TEMP_DIR/checklib" $CFLAGS $LDFLAGS "-l$1" "$TEMP_DIR/test.c" 2> /dev/null
69 } 81 }
70 82
71 check_cpp_lib() 83 check_cpp_lib()
72 { 84 {
85 # $1: libname
86 # $2: optional include
73 if [ -z "$TOOLCHAIN_CXX" ]; then 87 if [ -z "$TOOLCHAIN_CXX" ]; then
74 return 1 88 return 1
75 fi 89 fi
76 cat > "$TEMP_DIR/test.cpp" << __EOF__ 90 create_libtest_source "test.cpp" "$2"
77 /* libtest file */
78 int main(int argc, char **argv) {
79 return 0;
80 }
81 __EOF__
82 rm -f "$TEMP_DIR/checklib" 91 rm -f "$TEMP_DIR/checklib"
83 $TOOLCHAIN_CXX -o "$TEMP_DIR/checklib" $CXXFLAGS $LDFLAGS "-l$1" "$TEMP_DIR/test.cpp" 2> /dev/null 92 $TOOLCHAIN_CXX -o "$TEMP_DIR/checklib" $CXXFLAGS $LDFLAGS "-l$1" "$TEMP_DIR/test.cpp" 2> /dev/null
84 } 93 }
85 94
86 check_lib() 95 check_lib()
87 { 96 {
97 # $1: libname
98 # $2: optional include
88 if [ -n "$TOOLCHAIN_CC" ]; then 99 if [ -n "$TOOLCHAIN_CC" ]; then
89 check_c_lib "$1" 100 check_c_lib "$1" "$2"
90 elif [ -n "$TOOLCHAIN_CXX" ]; then 101 elif [ -n "$TOOLCHAIN_CXX" ]; then
91 check_cpp_lib "$1" 102 check_cpp_lib "$1" "$2"
92 fi 103 fi
93 } 104 }
94 105
95 detect_c_compiler() 106 detect_c_compiler()
96 { 107 {

mercurial