| 160 echo "${TOOLCHAIN_CXX:-"not found"}" |
160 echo "${TOOLCHAIN_CXX:-"not found"}" |
| 161 return 1 |
161 return 1 |
| 162 fi |
162 fi |
| 163 } |
163 } |
| 164 |
164 |
| |
165 is_flag_not_specified() |
| |
166 { |
| |
167 # 1: flag to test |
| |
168 # 2: toolchain.mk file |
| |
169 if [ -n "$2" ] && grep "^ *$1 *=" "$2" > /dev/null; then |
| |
170 return 1 |
| |
171 else |
| |
172 return 0 |
| |
173 fi |
| |
174 } |
| |
175 |
| 165 write_toolchain_defaults() |
176 write_toolchain_defaults() |
| 166 { |
177 { |
| |
178 if [ -f "make/${TOOLCHAIN_NAME}.mk" ]; then |
| |
179 mkfile="make/${TOOLCHAIN_NAME}.mk" |
| |
180 elif [ -f 'make/cc.mk' ]; then |
| |
181 mkfile='make/cc.mk' |
| |
182 else |
| |
183 mkfile='' |
| |
184 fi |
| |
185 |
| 167 echo "# toolchain" >> "$1" |
186 echo "# toolchain" >> "$1" |
| 168 if [ -n "$TOOLCHAIN_CC" ]; then |
187 if [ -n "$TOOLCHAIN_CC" ]; then |
| 169 echo "CC = ${TOOLCHAIN_CC}" >> "$1" |
188 echo "CC = ${TOOLCHAIN_CC}" >> "$1" |
| |
189 if is_flag_not_specified 'CFLAGS' "$mkfile"; then |
| |
190 echo 'CFLAGS =' >> "$1" |
| |
191 fi |
| |
192 if is_flag_not_specified 'DEBUG_CFLAGS' "$mkfile"; then |
| |
193 echo 'DEBUG_CFLAGS = -g' >> "$1" |
| |
194 fi |
| |
195 if is_flag_not_specified 'RELEASE_CFLAGS' "$mkfile"; then |
| |
196 echo 'RELEASE_CFLAGS = -O3 -DNDEBUG' >> "$1" |
| |
197 fi |
| |
198 if is_flag_not_specified 'SHLIB_CFLAGS' "$mkfile"; then |
| |
199 echo 'SHLIB_CFLAGS = -fPIC' >> "$1" |
| |
200 fi |
| 170 fi |
201 fi |
| 171 if [ -n "$TOOLCHAIN_CXX" ]; then |
202 if [ -n "$TOOLCHAIN_CXX" ]; then |
| 172 echo "CXX = ${TOOLCHAIN_CXX}" >> "$1" |
203 echo "CXX = ${TOOLCHAIN_CXX}" >> "$1" |
| |
204 if is_flag_not_specified 'CXXFLAGS' "$mkfile"; then |
| |
205 echo 'CXXFLAGS =' >> "$1" |
| |
206 fi |
| |
207 if is_flag_not_specified 'DEBUG_CXXFLAGS' "$mkfile"; then |
| |
208 echo 'DEBUG_CXXFLAGS = -g' >> "$1" |
| |
209 fi |
| |
210 if is_flag_not_specified 'RELEASE_CXXFLAGS' "$mkfile"; then |
| |
211 echo 'RELEASE_CXXFLAGS = -O3 -DNDEBUG' >> "$1" |
| |
212 fi |
| |
213 if is_flag_not_specified 'SHLIB_CXXFLAGS' "$mkfile"; then |
| |
214 echo 'SHLIB_CXXFLAGS = -fPIC' >> "$1" |
| |
215 fi |
| |
216 fi |
| |
217 if is_flag_not_specified 'LDFLAGS' "$mkfile"; then |
| |
218 echo 'LDFLAGS =' >> "$1" |
| |
219 fi |
| |
220 if is_flag_not_specified 'SHLIB_LDFLAGS' "$mkfile"; then |
| |
221 echo 'SHLIB_LDFLAGS = -shared' >> "$1" |
| 173 fi |
222 fi |
| 174 echo >> "$1" |
223 echo >> "$1" |
| 175 if [ -f "make/${TOOLCHAIN_NAME}.mk" ]; then |
224 if [ -n "$mkfile" ]; then |
| 176 cat "make/${TOOLCHAIN_NAME}.mk" >> "$1" |
225 cat "$mkfile" >> "$1" |
| 177 elif [ -f "make/cc.mk" ]; then |
226 fi |
| 178 cat "make/cc.mk" >> "$1" |
227 } |
| 179 else |
|
| 180 echo "!!! WARNING !!! Default toolchain flags not found. Configuration might be incomplete." |
|
| 181 fi |
|
| 182 } |
|