Sun, 22 Dec 2024 22:10:04 +0100
don't trust that size_t always has word width
it should be the case on all platforms supported by UCX, but it's not strictly defined in POSIX that it must be the case
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1 | #!/bin/sh |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2 | # |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
3 | # toolchain detection |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
4 | # |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
5 | |
815
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
6 | if isplatform "bsd" && notisplatform "openbsd"; then |
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
7 | C_COMPILERS="clang gcc cc" |
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
8 | CPP_COMPILERS="clang++ g++ CC" |
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
9 | else |
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
10 | C_COMPILERS="gcc clang suncc cc" |
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
11 | CPP_COMPILERS="g++ clang++ sunCC CC" |
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
12 | fi |
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
13 | unset TOOLCHAIN |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
14 | unset TOOLCHAIN_NAME |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
15 | unset TOOLCHAIN_CC |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
16 | unset TOOLCHAIN_CXX |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
17 | |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
18 | check_c_compiler() |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
19 | { |
815
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
20 | cat > "$TEMP_DIR/test.c" << __EOF__ |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
21 | /* test file */ |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
22 | #include <stdio.h> |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
23 | int main(int argc, char **argv) { |
815
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
24 | #if defined(_MSC_VER) |
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
25 | printf("msc\n"); |
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
26 | #elif defined(__clang__) |
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
27 | printf("clang gnuc\n"); |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
28 | #elif defined(__GNUC__) |
815
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
29 | printf("gcc gnuc\n"); |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
30 | #elif defined(__sun) |
815
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
31 | printf("suncc\n"); |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
32 | #else |
815
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
33 | printf("unknown\n"); |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
34 | #endif |
815
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
35 | return 0; |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
36 | } |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
37 | __EOF__ |
815
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
38 | rm -f "$TEMP_DIR/checkcc" |
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
39 | $1 -o "$TEMP_DIR/checkcc" $CFLAGS $LDFLAGS "$TEMP_DIR/test.c" 2> /dev/null |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
40 | } |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
41 | |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
42 | check_cpp_compiler() |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
43 | { |
815
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
44 | cat > "$TEMP_DIR/test.cpp" << __EOF__ |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
45 | /* test file */ |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
46 | #include <iostream> |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
47 | int main(int argc, char **argv) { |
815
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
48 | #if defined(_MSC_VER) |
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
49 | std::cout << "msc" << std::endl; |
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
50 | #elif defined(__clang__) |
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
51 | std::cout << "clang gnuc" << std::endl; |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
52 | #elif defined(__GNUC__) |
815
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
53 | std::cout << "gcc gnuc" << std::endl; |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
54 | #elif defined(__sun) |
815
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
55 | std::cout << "suncc" << std::endl; |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
56 | #else |
815
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
57 | std::cout << "cc" << std::endl; |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
58 | #endif |
815
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
59 | return 0; |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
60 | } |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
61 | __EOF__ |
815
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
62 | rm -f "$TEMP_DIR/checkcc" |
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
63 | $1 -o "$TEMP_DIR/checkcc" $CXXFLAGS $LDFLAGS "$TEMP_DIR/test.cpp" 2> /dev/null |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
64 | } |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
65 | |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
66 | create_libtest_source() |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
67 | { |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
68 | # $1: filename |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
69 | # $2: optional include |
815
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
70 | cat > "$TEMP_DIR/$1" << __EOF__ |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
71 | /* libtest file */ |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
72 | int main(int argc, char **argv) { |
815
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
73 | return 0; |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
74 | } |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
75 | __EOF__ |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
76 | if [ -n "$2" ]; then |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
77 | echo "#include <$2>" >> "$TEMP_DIR/$1" |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
78 | fi |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
79 | } |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
80 | |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
81 | check_c_lib() |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
82 | { |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
83 | # $1: libname |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
84 | # $2: optional include |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
85 | if [ -z "$TOOLCHAIN_CC" ]; then |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
86 | return 1 |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
87 | fi |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
88 | create_libtest_source "test.c" "$2" |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
89 | rm -f "$TEMP_DIR/checklib" |
815
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
90 | $TOOLCHAIN_CC -o "$TEMP_DIR/checklib" $CFLAGS $LDFLAGS "-l$1" "$TEMP_DIR/test.c" 2> /dev/null |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
91 | } |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
92 | |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
93 | check_cpp_lib() |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
94 | { |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
95 | # $1: libname |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
96 | # $2: optional include |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
97 | if [ -z "$TOOLCHAIN_CXX" ]; then |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
98 | return 1 |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
99 | fi |
815
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
100 | create_libtest_source "test.cpp" "$2" |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
101 | rm -f "$TEMP_DIR/checklib" |
815
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
102 | $TOOLCHAIN_CXX -o "$TEMP_DIR/checklib" $CXXFLAGS $LDFLAGS "-l$1" "$TEMP_DIR/test.cpp" 2> /dev/null |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
103 | } |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
104 | |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
105 | check_lib() |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
106 | { |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
107 | # $1: libname |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
108 | # $2: optional include |
815
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
109 | if [ -n "$TOOLCHAIN_CC" ]; then |
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
110 | check_c_lib "$1" "$2" |
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
111 | elif [ -n "$TOOLCHAIN_CXX" ]; then |
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
112 | check_cpp_lib "$1" "$2" |
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
113 | fi |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
114 | } |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
115 | |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
116 | detect_c_compiler() |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
117 | { |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
118 | if [ -n "$TOOLCHAIN_CC" ]; then |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
119 | return 0 |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
120 | fi |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
121 | printf "detect C compiler... " |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
122 | if [ -n "$CC" ]; then |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
123 | if check_c_compiler "$CC"; then |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
124 | TOOLCHAIN_CC=$CC |
815
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
125 | TOOLCHAIN=`"$TEMP_DIR/checkcc"` |
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
126 | TOOLCHAIN_NAME=`echo "$TOOLCHAIN" | cut -f1 -d' ' -` |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
127 | echo "$CC" |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
128 | return 0 |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
129 | else |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
130 | echo "$CC is not a working C compiler" |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
131 | return 1 |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
132 | fi |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
133 | else |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
134 | for COMP in $C_COMPILERS |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
135 | do |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
136 | if check_c_compiler "$COMP"; then |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
137 | TOOLCHAIN_CC=$COMP |
815
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
138 | TOOLCHAIN=`"$TEMP_DIR/checkcc"` |
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
139 | TOOLCHAIN_NAME=`echo "$TOOLCHAIN" | cut -f1 -d' ' -` |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
140 | echo "$COMP" |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
141 | return 0 |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
142 | fi |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
143 | done |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
144 | echo "not found" |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
145 | return 1 |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
146 | fi |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
147 | } |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
148 | |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
149 | detect_cpp_compiler() |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
150 | { |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
151 | if [ -n "$TOOLCHAIN_CXX" ]; then |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
152 | return 0 |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
153 | fi |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
154 | printf "detect C++ compiler... " |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
155 | |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
156 | if [ -n "$CXX" ]; then |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
157 | if check_cpp_compiler "$CXX"; then |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
158 | TOOLCHAIN_CXX=$CXX |
815
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
159 | TOOLCHAIN=`"$TEMP_DIR/checkcc"` |
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
160 | TOOLCHAIN_NAME=`echo "$TOOLCHAIN" | cut -f1 -d' ' -` |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
161 | echo "$CXX" |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
162 | return 0 |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
163 | else |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
164 | echo "$CXX is not a working C++ compiler" |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
165 | return 1 |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
166 | fi |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
167 | else |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
168 | for COMP in $CPP_COMPILERS |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
169 | do |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
170 | if check_cpp_compiler "$COMP"; then |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
171 | TOOLCHAIN_CXX=$COMP |
815
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
172 | TOOLCHAIN=`"$TEMP_DIR/checkcc"` |
b0c4750cecd8
update uwproj and check toolchain dependency for coverage flags - fixes #345
Mike Becker <universe@uap-core.de>
parents:
753
diff
changeset
|
173 | TOOLCHAIN_NAME=`echo "$TOOLCHAIN" | cut -f1 -d' ' -` |
753
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
174 | echo "$COMP" |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
175 | return 0 |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
176 | fi |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
177 | done |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
178 | echo "${TOOLCHAIN_CXX:-"not found"}" |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
179 | return 1 |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
180 | fi |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
181 | } |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
182 | |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
183 | write_toolchain_defaults() |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
184 | { |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
185 | echo "# toolchain" >> "$1" |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
186 | if [ -n "$TOOLCHAIN_CC" ]; then |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
187 | echo "CC = ${TOOLCHAIN_CC}" >> "$1" |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
188 | fi |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
189 | if [ -n "$TOOLCHAIN_CXX" ]; then |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
190 | echo "CXX = ${TOOLCHAIN_CXX}" >> "$1" |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
191 | fi |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
192 | echo >> "$1" |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
193 | if [ -f "make/${TOOLCHAIN_NAME}.mk" ]; then |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
194 | cat "make/${TOOLCHAIN_NAME}.mk" >> "$1" |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
195 | elif [ -f "make/cc.mk" ]; then |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
196 | cat "make/cc.mk" >> "$1" |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
197 | else |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
198 | echo "!!! WARNING !!! Default toolchain flags not found. Configuration might be incomplete." |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
199 | fi |
24dc84788dee
replace most of the build system with uwproj
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
200 | } |