78 #if( $options.size() > 0 ) |
78 #if( $options.size() > 0 ) |
79 Options: |
79 Options: |
80 --debug add extra compile flags for debug builds |
80 --debug add extra compile flags for debug builds |
81 --release add extra compile flags for release builds |
81 --release add extra compile flags for release builds |
82 #foreach( $opt in $options ) |
82 #foreach( $opt in $options ) |
83 --${opt.getArgument()}=${opt.getValuesString()} |
83 --${opt.argument}=${opt.valuesString} |
84 #end |
84 #end |
85 |
85 |
86 #end |
86 #end |
87 #if( $features.size() > 0 ) |
87 #if( $features.size() > 0 ) |
88 Optional Features: |
88 Optional Features: |
89 #foreach( $feature in $features ) |
89 #foreach( $feature in $features ) |
90 #if( $feature.default ) |
90 #if( $feature.auto ) |
91 --disable-${feature.arg} |
91 --disable-${feature.arg} |
92 #else |
92 #else |
93 --enable-${feature.arg} |
93 --enable-${feature.arg} |
94 #end |
94 #end |
95 #end |
95 #end |
121 "--mandir"*) MANDIR=${D}{ARG#--mandir} ;; |
121 "--mandir"*) MANDIR=${D}{ARG#--mandir} ;; |
122 "--help"*) printhelp; abort_configure ;; |
122 "--help"*) printhelp; abort_configure ;; |
123 "--debug") BUILD_TYPE="debug" ;; |
123 "--debug") BUILD_TYPE="debug" ;; |
124 "--release") BUILD_TYPE="release" ;; |
124 "--release") BUILD_TYPE="release" ;; |
125 #foreach( $opt in $options ) |
125 #foreach( $opt in $options ) |
126 "--${opt.getArgument()}="*) ${opt.getVarName()}=${D}{ARG#--${opt.getArgument()}=} ;; |
126 "--${opt.argument}="*) ${opt.varName}=${D}{ARG#--${opt.argument}=} ;; |
127 #end |
127 #end |
128 #foreach( $feature in $features ) |
128 #foreach( $feature in $features ) |
129 "--enable-${feature.arg}") ${feature.getVarName()}=on ;; |
129 "--enable-${feature.arg}") ${feature.varName}=on ;; |
130 "--disable-${feature.arg}") unset ${feature.getVarName()} ;; |
130 "--disable-${feature.arg}") unset ${feature.varName} ;; |
131 #end |
131 #end |
132 "-"*) echo "unknown option: $ARG"; abort_configure ;; |
132 "-"*) echo "unknown option: $ARG"; abort_configure ;; |
133 esac |
133 esac |
134 done |
134 done |
135 |
135 |
257 |
257 |
258 #foreach( $dependency in $namedDependencies ) |
258 #foreach( $dependency in $namedDependencies ) |
259 dependency_error_${dependency.id}() |
259 dependency_error_${dependency.id}() |
260 { |
260 { |
261 printf "checking for ${dependency.name}... " |
261 printf "checking for ${dependency.name}... " |
262 #foreach( $sub in $dependency.getSubdependencies() ) |
262 #foreach( $sub in $dependency.subdependencies ) |
263 # dependency $sub.getFullName() |
263 # dependency $sub.fullName |
264 while true |
264 while true |
265 do |
265 do |
266 #if( $sub.platform ) |
266 #if( $sub.platform ) |
267 if notisplatform "${sub.platform}"; then |
267 if notisplatform "${sub.platform}"; then |
268 break |
268 break |
269 fi |
269 fi |
270 #end |
270 #end |
271 #foreach( $np in $sub.getNotList() ) |
271 #foreach( $np in $sub.notList ) |
272 if isplatform "${np}"; then |
272 if isplatform "${np}"; then |
273 break |
273 break |
274 fi |
274 fi |
275 #end |
275 #end |
276 #foreach( $lang in $sub.lang ) |
276 #foreach( $lang in $sub.lang ) |
469 fi |
469 fi |
470 #end |
470 #end |
471 |
471 |
472 # Features |
472 # Features |
473 #foreach( $feature in $target.features ) |
473 #foreach( $feature in $target.features ) |
474 if [ -n "$${feature.getVarName()}" ]; then |
474 if [ -n "$${feature.varName}" ]; then |
475 #foreach( $dependency in $feature.dependencies ) |
475 #foreach( $dependency in $feature.dependencies ) |
476 # check dependency |
476 # check dependency |
477 if dependency_error_$dependency ; then |
477 if dependency_error_$dependency ; then |
478 # "auto" features can fail and are just disabled in this case |
478 # "auto" features can fail and are just disabled in this case |
479 if [ "$${feature.getVarName()}" = "auto" ]; then |
479 if [ "$${feature.varName}" = "auto" ]; then |
480 DISABLE_${feature.getVarName()}=1 |
480 DISABLE_${feature.varName}=1 |
481 else |
481 else |
482 DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED ${dependency} " |
482 DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED ${dependency} " |
483 ERROR=1 |
483 ERROR=1 |
484 fi |
484 fi |
485 fi |
485 fi |
486 #end |
486 #end |
487 if [ -n "$DISABLE_${feature.getVarName()}" ]; then |
487 if [ -n "$DISABLE_${feature.varName}" ]; then |
488 unset ${feature.getVarName()} |
488 unset ${feature.varName} |
489 fi |
489 fi |
490 fi |
490 fi |
491 #end |
491 #end |
492 |
492 |
493 #foreach( $opt in $target.options ) |
493 #foreach( $opt in $target.options ) |
494 # Option: --${opt.argument} |
494 # Option: --${opt.argument} |
495 if [ -z ${D}${opt.getVarName()} ]; then |
495 if [ -z ${D}${opt.varName} ]; then |
496 SAVED_ERROR="$ERROR" |
496 SAVED_ERROR="$ERROR" |
497 SAVED_DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED" |
497 SAVED_DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED" |
498 ERROR=1 |
498 ERROR=1 |
499 while true |
499 while true |
500 do |
500 do |
520 DEPENDENCIES_FAILED="$SAVED_DEPENDENCIES_FAILED" |
520 DEPENDENCIES_FAILED="$SAVED_DEPENDENCIES_FAILED" |
521 else |
521 else |
522 if false; then |
522 if false; then |
523 false |
523 false |
524 #foreach( $optval in $opt.values ) |
524 #foreach( $optval in $opt.values ) |
525 elif [ "${D}${opt.getVarName()}" = "${optval.value}" ]; then |
525 elif [ "${D}${opt.varName}" = "${optval.value}" ]; then |
526 echo " ${opt.argument}: ${D}${opt.getVarName()}" >> $TEMP_DIR/options |
526 echo " ${opt.argument}: ${D}${opt.varName}" >> $TEMP_DIR/options |
527 if $optval.func ; then |
527 if $optval.func ; then |
528 : |
528 : |
529 else |
529 else |
530 ERROR=1 |
530 ERROR=1 |
531 fi |
531 fi |
533 fi |
533 fi |
534 fi |
534 fi |
535 #end |
535 #end |
536 |
536 |
537 if [ -n "${TEMP_CFLAGS}" -a -n "$lang_c" ]; then |
537 if [ -n "${TEMP_CFLAGS}" -a -n "$lang_c" ]; then |
538 echo "${target.getCFlags()} += $TEMP_CFLAGS" >> "$TEMP_DIR/flags.mk" |
538 echo "${target.cFlags} += $TEMP_CFLAGS" >> "$TEMP_DIR/flags.mk" |
539 fi |
539 fi |
540 if [ -n "${TEMP_CXXFLAGS}" -a -n "$lang_cpp" ]; then |
540 if [ -n "${TEMP_CXXFLAGS}" -a -n "$lang_cpp" ]; then |
541 echo "${target.getCXXFlags()} += $TEMP_CXXFLAGS" >> "$TEMP_DIR/flags.mk" |
541 echo "${target.cxxFlags} += $TEMP_CXXFLAGS" >> "$TEMP_DIR/flags.mk" |
542 fi |
542 fi |
543 if [ "$BUILD_TYPE" = "debug" ]; then |
543 if [ "$BUILD_TYPE" = "debug" ]; then |
544 if [ -n "$lang_c" ]; then |
544 if [ -n "$lang_c" ]; then |
545 echo '${target.getCFlags()} += ${DEBUG_CC_FLAGS}' >> "$TEMP_DIR/flags.mk" |
545 echo '${target.cFlags} += ${DEBUG_CC_FLAGS}' >> "$TEMP_DIR/flags.mk" |
546 fi |
546 fi |
547 if [ -n "$lang_cpp" ]; then |
547 if [ -n "$lang_cpp" ]; then |
548 echo '${target.getCXXFlags()} += ${DEBUG_CXX_FLAGS}' >> "$TEMP_DIR/flags.mk" |
548 echo '${target.cxxFlags} += ${DEBUG_CXX_FLAGS}' >> "$TEMP_DIR/flags.mk" |
549 fi |
549 fi |
550 fi |
550 fi |
551 if [ "$BUILD_TYPE" = "release" ]; then |
551 if [ "$BUILD_TYPE" = "release" ]; then |
552 if [ -n "$lang_c" ]; then |
552 if [ -n "$lang_c" ]; then |
553 echo '${target.getCFlags()} += ${RELEASE_CC_FLAGS}' >> "$TEMP_DIR/flags.mk" |
553 echo '${target.cFlags} += ${RELEASE_CC_FLAGS}' >> "$TEMP_DIR/flags.mk" |
554 fi |
554 fi |
555 if [ -n "$lang_cpp" ]; then |
555 if [ -n "$lang_cpp" ]; then |
556 echo '${target.getCXXFlags()} += ${RELEASE_CXX_FLAGS}' >> "$TEMP_DIR/flags.mk" |
556 echo '${target.cxxFlags} += ${RELEASE_CXX_FLAGS}' >> "$TEMP_DIR/flags.mk" |
557 fi |
557 fi |
558 fi |
558 fi |
559 if [ -n "${TEMP_LDFLAGS}" ]; then |
559 if [ -n "${TEMP_LDFLAGS}" ]; then |
560 echo "${target.getLDFlags()} += $TEMP_LDFLAGS" >> "$TEMP_DIR/flags.mk" |
560 echo "${target.ldFlags} += $TEMP_LDFLAGS" >> "$TEMP_DIR/flags.mk" |
561 fi |
561 fi |
562 |
562 |
563 #end |
563 #end |
564 |
564 |
565 # final result |
565 # final result |
580 cat "$TEMP_DIR/options" |
580 cat "$TEMP_DIR/options" |
581 #end |
581 #end |
582 #if ( $features.size() > 0 ) |
582 #if ( $features.size() > 0 ) |
583 echo "Features:" |
583 echo "Features:" |
584 #foreach( $feature in $features ) |
584 #foreach( $feature in $features ) |
585 if [ -n "$${feature.getVarName()}" ]; then |
585 if [ -n "$${feature.varName}" ]; then |
586 echo " $feature.name: on" |
586 echo " $feature.name: on" |
587 else |
587 else |
588 echo " $feature.name: off" |
588 echo " $feature.name: off" |
589 fi |
589 fi |
590 #end |
590 #end |