217 MANDIR=$MANDIR |
217 MANDIR=$MANDIR |
218 #foreach( $var in $vars ) |
218 #foreach( $var in $vars ) |
219 ${var.varName}=$${var.varName} |
219 ${var.varName}=$${var.varName} |
220 #end |
220 #end |
221 __EOF__ |
221 __EOF__ |
222 cat > "$TEMP_DIR/config.mk" << __EOF__ |
222 sort -u -o "$TEMP_DIR/vars.mk" "$TEMP_DIR/vars.mk" |
223 # |
223 |
224 # config.mk generated by configure |
224 |
225 # |
225 # toolchain detection utilities |
226 __EOF__ |
|
227 sort -u "$TEMP_DIR/vars.mk" >> "$TEMP_DIR/config.mk" |
|
228 |
|
229 |
|
230 # toolchain detection |
|
231 # this will insert make vars to config.mk |
|
232 . make/toolchain.sh |
226 . make/toolchain.sh |
233 if [ -n "$TOOLCHAIN_ERROR" ]; then |
|
234 echo "Toolchain error: $TOOLCHAIN_ERROR" |
|
235 echo "Abort." |
|
236 abort_configure |
|
237 fi |
|
238 |
227 |
239 # |
228 # |
240 # DEPENDENCIES |
229 # DEPENDENCIES |
241 # |
230 # |
242 |
231 |
245 |
234 |
246 test_pkg_config() |
235 test_pkg_config() |
247 { |
236 { |
248 if "$PKG_CONFIG" --exists "$1" ; then : |
237 if "$PKG_CONFIG" --exists "$1" ; then : |
249 else return 1 ; fi |
238 else return 1 ; fi |
250 if [ -n "$2" ] && "$PKG_CONFIG" --atleast-version="$2" "$1" ; then : |
239 if [ -z "$2" ] || "$PKG_CONFIG" --atleast-version="$2" "$1" ; then : |
251 else return 1 ; fi |
240 else return 1 ; fi |
252 if [ -n "$3" ] && "$PKG_CONFIG" --exact-version="$3" "$1" ; then : |
241 if [ -z "$3" ] || "$PKG_CONFIG" --exact-version="$3" "$1" ; then : |
253 else return 1 ; fi |
242 else return 1 ; fi |
254 if [ -n "$4" ] && "$PKG_CONFIG" --max-version="$4" "$1" ; then : |
243 if [ -z "$4" ] || "$PKG_CONFIG" --max-version="$4" "$1" ; then : |
255 else return 1 ; fi |
244 else return 1 ; fi |
256 return 0 |
245 return 0 |
257 } |
246 } |
258 |
247 |
259 #foreach( $dependency in $namedDependencies ) |
248 #foreach( $dependency in $namedDependencies ) |
383 done |
391 done |
384 break |
392 break |
385 done |
393 done |
386 #end |
394 #end |
387 |
395 |
388 # add unnamed dependency flags to config.mk |
396 # add general dependency flags to flags.mk |
389 echo >> "$TEMP_DIR/config.mk" |
397 echo "# general flags" >> "$TEMP_DIR/flags.mk" |
390 if [ -n "${TEMP_CFLAGS}" ]; then |
398 if [ -n "${TEMP_CFLAGS}" ]; then |
391 echo "CFLAGS += $TEMP_CFLAGS" >> "$TEMP_DIR/config.mk" |
399 echo "CFLAGS += $TEMP_CFLAGS" >> "$TEMP_DIR/flags.mk" |
|
400 fi |
|
401 if [ -n "${TEMP_CXXFLAGS}" ]; then |
|
402 echo "CXXFLAGS += $TEMP_CXXFLAGS" >> "$TEMP_DIR/flags.mk" |
392 fi |
403 fi |
393 if [ -n "${TEMP_LDFLAGS}" ]; then |
404 if [ -n "${TEMP_LDFLAGS}" ]; then |
394 echo "LDFLAGS += $TEMP_LDFLAGS" >> "$TEMP_DIR/config.mk" |
405 echo "LDFLAGS += $TEMP_LDFLAGS" >> "$TEMP_DIR/flags.mk" |
395 fi |
406 fi |
396 #end |
407 #end |
397 |
408 |
398 # |
409 # |
399 # OPTION VALUES |
410 # OPTION VALUES |
411 if [ $VERR -ne 0 ]; then |
422 if [ $VERR -ne 0 ]; then |
412 return 1 |
423 return 1 |
413 fi |
424 fi |
414 #foreach( $def in $val.defines ) |
425 #foreach( $def in $val.defines ) |
415 TEMP_CFLAGS="$TEMP_CFLAGS ${def.toFlags()}" |
426 TEMP_CFLAGS="$TEMP_CFLAGS ${def.toFlags()}" |
|
427 TEMP_CXXFLAGS="$TEMP_CXXFLAGS ${def.toFlags()}" |
416 #end |
428 #end |
417 #if( $val.hasMake() ) |
429 #if( $val.hasMake() ) |
418 cat >> "$TEMP_DIR/make.mk" << __EOF__ |
430 cat >> "$TEMP_DIR/make.mk" << __EOF__ |
419 $val.make |
431 $val.make |
420 __EOF__ |
432 __EOF__ |
427 # |
439 # |
428 # TARGETS |
440 # TARGETS |
429 # |
441 # |
430 |
442 |
431 #foreach( $target in $targets ) |
443 #foreach( $target in $targets ) |
|
444 echo >> "$TEMP_DIR/flags.mk" |
432 #if ( $target.name ) |
445 #if ( $target.name ) |
433 # Target: $target.name |
446 # Target: $target.name |
|
447 echo "# flags for target $target.name" >> "$TEMP_DIR/flags.mk" |
434 #else |
448 #else |
435 # Target |
449 # Target |
|
450 echo "# flags for unnamed target" >> "$TEMP_DIR/flags.mk" |
436 #end |
451 #end |
437 TEMP_CFLAGS= |
452 TEMP_CFLAGS= |
|
453 TEMP_CXXFLAGS= |
438 TEMP_LDFLAGS= |
454 TEMP_LDFLAGS= |
439 |
455 |
440 #foreach( $dependency in $target.dependencies ) |
456 #foreach( $dependency in $target.dependencies ) |
441 if dependency_error_$dependency; then |
457 if dependency_error_$dependency; then |
442 DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED ${dependency} " |
458 DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED ${dependency} " |
504 #end |
520 #end |
505 fi |
521 fi |
506 fi |
522 fi |
507 #end |
523 #end |
508 |
524 |
509 echo >> "$TEMP_DIR/config.mk" |
|
510 if [ -n "${TEMP_CFLAGS}" ]; then |
525 if [ -n "${TEMP_CFLAGS}" ]; then |
511 echo "${target.getCFlags()} += $TEMP_CFLAGS" >> "$TEMP_DIR/config.mk" |
526 echo "${target.getCFlags()} += $TEMP_CFLAGS" >> "$TEMP_DIR/flags.mk" |
|
527 fi |
|
528 if [ -n "${TEMP_CXXFLAGS}" ]; then |
|
529 echo "${target.getCXXFlags()} += $TEMP_CXXFLAGS" >> "$TEMP_DIR/flags.mk" |
512 fi |
530 fi |
513 if [ "$BUILD_TYPE" = "debug" ]; then |
531 if [ "$BUILD_TYPE" = "debug" ]; then |
514 echo '${target.getCFlags()} += ${DEBUG_FLAGS}' >> "$TEMP_DIR/config.mk" |
532 echo '${target.getCFlags()} += ${DEBUG_CC_FLAGS}' >> "$TEMP_DIR/flags.mk" |
|
533 echo '${target.getCXXFlags()} += ${DEBUG_CXX_FLAGS}' >> "$TEMP_DIR/flags.mk" |
515 fi |
534 fi |
516 if [ "$BUILD_TYPE" = "release" ]; then |
535 if [ "$BUILD_TYPE" = "release" ]; then |
517 echo '${target.getCFlags()} += ${RELEASE_FLAGS}' >> "$TEMP_DIR/config.mk" |
536 echo '${target.getCFlags()} += ${RELEASE_CC_FLAGS}' >> "$TEMP_DIR/flags.mk" |
|
537 echo '${target.getCXXFlags()} += ${RELEASE_CXX_FLAGS}' >> "$TEMP_DIR/flags.mk" |
518 fi |
538 fi |
519 if [ -n "${TEMP_LDFLAGS}" ]; then |
539 if [ -n "${TEMP_LDFLAGS}" ]; then |
520 echo "${target.getLDFlags()} += $TEMP_LDFLAGS" >> "$TEMP_DIR/config.mk" |
540 echo "${target.getLDFlags()} += $TEMP_LDFLAGS" >> "$TEMP_DIR/flags.mk" |
521 fi |
541 fi |
522 |
542 |
523 #end |
543 #end |
|
544 |
|
545 # final result |
524 if [ $ERROR -ne 0 ]; then |
546 if [ $ERROR -ne 0 ]; then |
525 echo |
547 echo |
526 echo "Error: Unresolved dependencies" |
548 echo "Error: Unresolved dependencies" |
527 echo "$DEPENDENCIES_FAILED" |
549 echo "$DEPENDENCIES_FAILED" |
528 abort_configure |
550 abort_configure |