test/make/toolchain.sh

changeset 180
93b2368451f6
parent 164
099448bcc943
equal deleted inserted replaced
179:ba9431028671 180:93b2368451f6
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 }

mercurial