UNIXworkcode

1 #!/bin/sh 2 3 4 # some utility functions 5 isplatform() 6 { 7 for p in $PLATFORM 8 do 9 if [ "$p" = "$1" ]; then 10 return 0 11 fi 12 done 13 return 1 14 } 15 notisplatform() 16 { 17 for p in $PLATFORM 18 do 19 if [ "$p" = "$1" ]; then 20 return 1 21 fi 22 done 23 return 0 24 } 25 istoolchain() 26 { 27 for t in $TOOLCHAIN 28 do 29 if [ "$t" = "$1" ]; then 30 return 0 31 fi 32 done 33 return 1 34 } 35 notistoolchain() 36 { 37 for t in $TOOLCHAIN 38 do 39 if [ "$t" = "$1" ]; then 40 return 1 41 fi 42 done 43 return 0 44 } 45 46 # clean abort 47 abort_configure() 48 { 49 rm -Rf "$TEMP_DIR" 50 exit 1 51 } 52 53 # Test for availability of pkg-config 54 PKG_CONFIG=`command -v pkg-config` 55 : ${PKG_CONFIG:="false"} 56 57 # Simple uname based platform detection 58 # $PLATFORM is used for platform dependent dependency selection 59 OS=`uname -s` 60 OS_VERSION=`uname -r` 61 ARCH=`uname -m` 62 printf "Configure script for platform: " 63 if [ "$OS" = "SunOS" ]; then 64 PLATFORM="solaris sunos unix svr4" 65 elif [ "$OS" = "Linux" ]; then 66 PLATFORM="linux unix" 67 elif [ "$OS" = "FreeBSD" ]; then 68 PLATFORM="freebsd bsd unix" 69 elif [ "$OS" = "OpenBSD" ]; then 70 PLATFORM="openbsd bsd unix" 71 elif [ "$OS" = "NetBSD" ]; then 72 PLATFORM="netbsd bsd unix" 73 elif [ "$OS" = "Darwin" ]; then 74 PLATFORM="macos osx bsd unix" 75 elif echo "$OS" | grep -i "MINGW" > /dev/null; then 76 PLATFORM="windows mingw" 77 else 78 PLATFORM="unix" 79 fi 80 PLATFORM_NAME=`echo "$PLATFORM" | cut -f1 -d' ' -` 81 echo "$PLATFORM_NAME" 82 83 84 # help text 85 printhelp() 86 { 87 echo "Usage: $0 [OPTIONS]..." 88 if [ $has_overridable_config_vars__ -eq 1 ] ; then 89 echo 90 echo "Configuration:" 91 fi 92 if true \ 93 ; then 94 : 95 if [ -z "$prefix__described__" ] ; then 96 prefix__described__=1 97 cat << '__EOF__' 98 --prefix path prefix for architecture-independent files 99 [`pwd`/work] 100 __EOF__ 101 fi 102 fi 103 cat << '__EOF__' 104 105 Build Types: 106 --debug add extra compile flags for debug builds 107 --release add extra compile flags for release builds 108 109 Optional Features: 110 --disable-defaultplugins 111 --enable-postgresql 112 113 __EOF__ 114 abort_configure 115 } 116 117 # create temporary directory 118 TEMP_DIR=".tmp-`uname -n`" 119 rm -Rf "$TEMP_DIR" 120 if mkdir -p "$TEMP_DIR"; then 121 : 122 else 123 echo "Cannot create tmp dir $TEMP_DIR" 124 echo "Abort" 125 exit 1 126 fi 127 touch "$TEMP_DIR/options" 128 touch "$TEMP_DIR/features" 129 130 # config variables 131 has_overridable_config_vars__=0 132 if true \ 133 ; then 134 : 135 if [ -z "$prefix__initialized__" ] ; then 136 has_overridable_config_vars__=1 137 prefix__initialized__=1 138 prefix=`pwd`/work 139 fi 140 if [ -z "$host__initialized__" ] ; then 141 host__initialized__=1 142 host=`uname -n` 143 fi 144 fi 145 146 # features 147 FEATURE_DEFAULTPLUGINS=auto 148 149 # 150 # parse arguments 151 # 152 BUILD_TYPE="default" 153 for ARG in "$@" 154 do 155 case "$ARG" in 156 "--prefix="*) prefix=${ARG#--prefix=} ;; 157 "--help"*) printhelp ;; 158 "--debug") BUILD_TYPE="debug" ;; 159 "--release") BUILD_TYPE="release" ;; 160 "--enable-defaultplugins") FEATURE_DEFAULTPLUGINS=on ;; 161 "--disable-defaultplugins") unset FEATURE_DEFAULTPLUGINS ;; 162 "--enable-postgresql") FEATURE_POSTGRESQL=on ;; 163 "--disable-postgresql") unset FEATURE_POSTGRESQL ;; 164 "-"*) echo "unknown option: $ARG"; abort_configure ;; 165 esac 166 done 167 168 # toolchain detection utilities 169 . make/toolchain.sh 170 171 # check languages 172 lang_c= 173 lang_cpp= 174 if detect_c_compiler ; then 175 lang_c=1 176 fi 177 178 179 180 # set defaults for dir variables 181 : ${exec_prefix:="$prefix"} 182 : ${bindir:='${exec_prefix}/bin'} 183 : ${sbindir:='${exec_prefix}/sbin'} 184 : ${libdir:='${exec_prefix}/lib'} 185 : ${libexecdir:='${exec_prefix}/libexec'} 186 : ${datarootdir:='${prefix}/share'} 187 : ${datadir:='${datarootdir}'} 188 : ${sharedstatedir:='${prefix}/com'} 189 if [ -z "$sysconfdir" ]; then 190 if [ "$prefix" = '/usr' ]; then 191 sysconfdir='/etc' 192 else 193 sysconfdir='${prefix}/etc' 194 fi 195 fi 196 if [ -z "$localstatedir" ]; then 197 if [ "$prefix" = '/usr' ]; then 198 localstatedir='/var' 199 else 200 localstatedir='${prefix}/var' 201 fi 202 fi 203 if [ -z "$runstatedir" ]; then 204 if [ "$prefix" = '/usr' ]; then 205 runstatedir='/var/run' 206 else 207 runstatedir='${prefix}/var' 208 fi 209 fi 210 : ${includedir:='${prefix}/include'} 211 : ${infodir:='${datarootdir}/info'} 212 : ${mandir:='${datarootdir}/man'} 213 : ${localedir:='${datarootdir}/locale'} 214 215 216 # check if a config.site exists and load it 217 CONFIG_SITE_OK=0 218 if [ -n "$CONFIG_SITE" ]; then 219 # CONFIG_SITE may contain space separated file names 220 for cs in $CONFIG_SITE; do 221 printf "loading defaults from $cs... " 222 if [ -f "$cs" ]; then 223 . "$cs" 224 echo ok 225 CONFIG_SITE_OK=1 226 break 227 else 228 echo "not found" 229 fi 230 done 231 elif [ -f "$prefix/share/config.site" ]; then 232 printf "loading site defaults... " 233 . "$prefix/share/config.site" 234 echo ok 235 CONFIG_SITE_OK=1 236 elif [ -f "$prefix/etc/config.site" ]; then 237 printf "loading site defaults... " 238 . "$prefix/etc/config.site" 239 echo ok 240 CONFIG_SITE_OK=1 241 fi 242 243 if [ $CONFIG_SITE_OK -eq 0 ]; then 244 # try to detect the correct libdir on our own, except it was changed by the user 245 if [ "$libdir" = '${exec_prefix}/lib' ] ; then 246 if [ "$TOOLCHAIN_WSIZE" = "64" ] ; then 247 if [ "$OS" = "SunOS" ]; then 248 [ -d "${exec_prefix}/lib/64" ] && libdir='${exec_prefix}/lib/64' 249 else 250 [ -d "${exec_prefix}/lib64" ] && libdir='${exec_prefix}/lib64' 251 fi 252 elif [ "$TOOLCHAIN_WSIZE" = "32" ] ; then 253 if [ "$OS" = "SunOS" ]; then 254 [ -d "${exec_prefix}/lib/32" ] && libdir='${exec_prefix}/lib/32' 255 else 256 [ -d "${exec_prefix}/lib32" ] && libdir='${exec_prefix}/lib32' 257 fi 258 fi 259 fi 260 fi 261 262 263 # generate vars.mk 264 echo '# configuration' > "$TEMP_DIR/vars.mk" 265 echo "prefix=$prefix" >> "$TEMP_DIR/vars.mk" 266 echo "host=$host" >> "$TEMP_DIR/vars.mk" 267 echo >> "$TEMP_DIR/vars.mk" 268 269 # 270 # DEPENDENCIES 271 # 272 273 # create buffer for make variables required by dependencies 274 echo > "$TEMP_DIR/make.mk" 275 276 test_pkg_config() 277 { 278 if "$PKG_CONFIG" --exists "$1" ; then : 279 else return 1 ; fi 280 if [ -z "$2" ] || "$PKG_CONFIG" --atleast-version="$2" "$1" ; then : 281 else return 1 ; fi 282 if [ -z "$3" ] || "$PKG_CONFIG" --exact-version="$3" "$1" ; then : 283 else return 1 ; fi 284 if [ -z "$4" ] || "$PKG_CONFIG" --max-version="$4" "$1" ; then : 285 else return 1 ; fi 286 return 0 287 } 288 289 print_check_msg() 290 { 291 if [ -z "$1" ]; then 292 shift 293 printf "$@" 294 fi 295 } 296 297 dependency_error_libpq() 298 { 299 print_check_msg "$dep_checked_libpq" "checking for libpq... " 300 # dependency libpq 301 while true 302 do 303 if [ -z "$PKG_CONFIG" ]; then 304 break 305 fi 306 if test_pkg_config "libpq" "" "" "" ; then 307 TEMP_CFLAGS="$TEMP_CFLAGS `"$PKG_CONFIG" --cflags libpq`" 308 TEMP_LDFLAGS="$TEMP_LDFLAGS `"$PKG_CONFIG" --libs libpq`" 309 else 310 break 311 fi 312 cat >> $TEMP_DIR/make.mk << __EOF__ 313 314 # dependency: libpq 315 CFLAGS += -DENABLE_POSTGRESQL 316 PLUGINS += postgresql 317 TEST_PLUGIN_LDFLAGS += -lwspgtest 318 __EOF__ 319 print_check_msg "$dep_checked_libpq" "yes\n" 320 dep_checked_libpq=1 321 return 1 322 done 323 324 print_check_msg "$dep_checked_libpq" "no\n" 325 dep_checked_libpq=1 326 return 0 327 } 328 dependency_error_openssl() 329 { 330 print_check_msg "$dep_checked_openssl" "checking for openssl... " 331 # dependency openssl 332 while true 333 do 334 if [ -z "$PKG_CONFIG" ]; then 335 break 336 fi 337 if test_pkg_config "openssl" "" "" "" ; then 338 TEMP_CFLAGS="$TEMP_CFLAGS `"$PKG_CONFIG" --cflags openssl`" 339 TEMP_LDFLAGS="$TEMP_LDFLAGS `"$PKG_CONFIG" --libs openssl`" 340 else 341 break 342 fi 343 print_check_msg "$dep_checked_openssl" "yes\n" 344 dep_checked_openssl=1 345 return 1 346 done 347 348 # dependency openssl 349 while true 350 do 351 TEMP_LDFLAGS="$TEMP_LDFLAGS -lssl -lcrypto" 352 print_check_msg "$dep_checked_openssl" "yes\n" 353 dep_checked_openssl=1 354 return 1 355 done 356 357 print_check_msg "$dep_checked_openssl" "no\n" 358 dep_checked_openssl=1 359 return 0 360 } 361 dependency_error_libxml2() 362 { 363 print_check_msg "$dep_checked_libxml2" "checking for libxml2... " 364 # dependency libxml2 365 while true 366 do 367 if [ -z "$PKG_CONFIG" ]; then 368 break 369 fi 370 if test_pkg_config "libxml-2.0" "" "" "" ; then 371 TEMP_CFLAGS="$TEMP_CFLAGS `"$PKG_CONFIG" --cflags libxml-2.0`" 372 TEMP_LDFLAGS="$TEMP_LDFLAGS `"$PKG_CONFIG" --libs libxml-2.0`" 373 else 374 break 375 fi 376 print_check_msg "$dep_checked_libxml2" "yes\n" 377 dep_checked_libxml2=1 378 return 1 379 done 380 381 # dependency libxml2 382 while true 383 do 384 if tmp_flags=`xml2-config --cflags` ; then 385 TEMP_CFLAGS="$TEMP_CFLAGS $tmp_flags" 386 else 387 break 388 fi 389 if tmp_flags=`xml2-config --libs` ; then 390 TEMP_LDFLAGS="$TEMP_LDFLAGS $tmp_flags" 391 else 392 break 393 fi 394 print_check_msg "$dep_checked_libxml2" "yes\n" 395 dep_checked_libxml2=1 396 return 1 397 done 398 399 print_check_msg "$dep_checked_libxml2" "no\n" 400 dep_checked_libxml2=1 401 return 0 402 } 403 dependency_error_defaultplugins() 404 { 405 print_check_msg "$dep_checked_defaultplugins" "checking for defaultplugins... " 406 # dependency defaultplugins 407 while true 408 do 409 cat >> $TEMP_DIR/make.mk << __EOF__ 410 411 # dependency: defaultplugins 412 PLUGINS += simple-anti-bot 413 TEST_PLUGIN_LDFLAGS += -lsabtest 414 __EOF__ 415 print_check_msg "$dep_checked_defaultplugins" "yes\n" 416 dep_checked_defaultplugins=1 417 return 1 418 done 419 420 print_check_msg "$dep_checked_defaultplugins" "no\n" 421 dep_checked_defaultplugins=1 422 return 0 423 } 424 425 # start collecting dependency information 426 echo > "$TEMP_DIR/flags.mk" 427 428 DEPENDENCIES_FAILED= 429 ERROR=0 430 # unnamed dependencies 431 cat >> "$TEMP_DIR/make.mk" << __EOF__ 432 433 # definitions from unnamed dependencies 434 __EOF__ 435 TEMP_CFLAGS="$CFLAGS" 436 TEMP_CXXFLAGS="$CXXFLAGS" 437 TEMP_LDFLAGS="$LDFLAGS" 438 while true 439 do 440 while true 441 do 442 if [ -z "$lang_c" ] ; then 443 ERROR=1 444 break 445 fi 446 447 break 448 done 449 break 450 done 451 while true 452 do 453 if notisplatform "linux"; then 454 break 455 fi 456 while true 457 do 458 459 TEMP_CFLAGS="$TEMP_CFLAGS -DLINUX" 460 TEMP_LDFLAGS="$TEMP_LDFLAGS -lpthread -ldl -lm -lldap -llber" 461 cat >> "$TEMP_DIR/make.mk" << __EOF__ 462 # platform dependend source files 463 PLATFORM_DAEMONOBJ = event_linux.o 464 465 # platform dependend vars 466 OBJ_EXT = .o 467 LIB_EXT = .so 468 APP_EXT = 469 470 # ld flags 471 UCX_SO_NAME = 472 RPATH_WS_LIB_FLAG = -Wl,-rpath,'\$\$ORIGIN/../lib' 473 __EOF__ 474 break 475 done 476 break 477 done 478 while true 479 do 480 if notisplatform "bsd"; then 481 break 482 fi 483 if isplatform "macos" || istoolchain "macos"; then 484 break 485 fi 486 while true 487 do 488 489 TEMP_CFLAGS="$TEMP_CFLAGS -DBSD -I/usr/local/include" 490 TEMP_LDFLAGS="$TEMP_LDFLAGS -lpthread -lm -lldap -llber" 491 cat >> "$TEMP_DIR/make.mk" << __EOF__ 492 # platform dependend source files 493 PLATFORM_DAEMONOBJ = event_bsd.o 494 495 # platform dependend vars 496 OBJ_EXT = .o 497 LIB_EXT = .so 498 APP_EXT = 499 500 # ld flags 501 UCX_SO_NAME = 502 RPATH_WS_LIB_FLAG = -Wl,-rpath,'\$\$ORIGIN/../lib' 503 __EOF__ 504 break 505 done 506 break 507 done 508 while true 509 do 510 if notisplatform "macos"; then 511 break 512 fi 513 while true 514 do 515 516 TEMP_CFLAGS="$TEMP_CFLAGS -DBSD -DOSX" 517 TEMP_LDFLAGS="$TEMP_LDFLAGS -lpthread -ldl -lm -lldap -llber" 518 cat >> "$TEMP_DIR/make.mk" << __EOF__ 519 # platform dependend source files 520 PLATFORM_DAEMONOBJ = event_bsd.o 521 522 # platform dependend vars 523 OBJ_EXT = .o 524 LIB_EXT = .dylib 525 APP_EXT = 526 527 # ld flags 528 SHLIB_LDFLAGS = -dynamiclib 529 UCX_SO_NAME = -install_name @rpath/libucx.dylib 530 RPATH_WS_LIB_FLAG = -rpath @loader_path/../lib 531 __EOF__ 532 break 533 done 534 break 535 done 536 while true 537 do 538 if notisplatform "solaris"; then 539 break 540 fi 541 while true 542 do 543 544 TEMP_CFLAGS="$TEMP_CFLAGS -DSOLARIS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS" 545 TEMP_LDFLAGS="$TEMP_LDFLAGS -lsocket -lnsl -lsendfile -lposix4 -lpthread -ldl -lm -lmd -lldap" 546 cat >> "$TEMP_DIR/make.mk" << __EOF__ 547 # platform dependend source files 548 PLATFORM_DAEMONOBJ = event_solaris.o 549 550 # platform dependend vars 551 OBJ_EXT = .o 552 LIB_EXT = .so 553 APP_EXT = 554 __EOF__ 555 break 556 done 557 break 558 done 559 while true 560 do 561 while true 562 do 563 564 cat >> "$TEMP_DIR/make.mk" << __EOF__ 565 HOST = $host 566 INSTALL_DIR = $prefix 567 __EOF__ 568 break 569 done 570 break 571 done 572 573 # build type 574 if [ "$BUILD_TYPE" = "debug" ]; then 575 TEMP_CFLAGS="\${DEBUG_CFLAGS} $TEMP_CFLAGS" 576 TEMP_CXXFLAGS="\${DEBUG_CXXFLAGS} $TEMP_CXXFLAGS" 577 fi 578 if [ "$BUILD_TYPE" = "release" ]; then 579 TEMP_CFLAGS="\${RELEASE_CFLAGS} $TEMP_CFLAGS" 580 TEMP_CXXFLAGS="\${RELEASE_CXXFLAGS} $TEMP_CXXFLAGS" 581 fi 582 583 # add general dependency flags to flags.mk 584 echo "# general flags" >> "$TEMP_DIR/flags.mk" 585 if [ -n "${TEMP_CFLAGS}" ] && [ -n "$lang_c" ]; then 586 echo "CFLAGS += $TEMP_CFLAGS" >> "$TEMP_DIR/flags.mk" 587 fi 588 if [ -n "${TEMP_CXXFLAGS}" ] && [ -n "$lang_cpp" ]; then 589 echo "CXXFLAGS += $TEMP_CXXFLAGS" >> "$TEMP_DIR/flags.mk" 590 fi 591 if [ -n "${TEMP_LDFLAGS}" ]; then 592 echo "LDFLAGS += $TEMP_LDFLAGS" >> "$TEMP_DIR/flags.mk" 593 fi 594 595 # 596 # OPTION VALUES 597 # 598 599 # 600 # TARGETS 601 # 602 603 echo >> "$TEMP_DIR/flags.mk" 604 echo "configuring global target" 605 echo "# flags for unnamed target" >> "$TEMP_DIR/flags.mk" 606 TEMP_CFLAGS= 607 TEMP_CXXFLAGS= 608 TEMP_LDFLAGS= 609 610 if dependency_error_libxml2; then 611 DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED libxml2 " 612 ERROR=1 613 fi 614 if dependency_error_openssl; then 615 DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED openssl " 616 ERROR=1 617 fi 618 619 # Features 620 if [ -n "$FEATURE_DEFAULTPLUGINS" ]; then 621 # check dependency 622 if dependency_error_defaultplugins ; then 623 # "auto" features can fail and are just disabled in this case 624 if [ "$FEATURE_DEFAULTPLUGINS" = "auto" ]; then 625 DISABLE_FEATURE_DEFAULTPLUGINS=1 626 else 627 DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED defaultplugins " 628 ERROR=1 629 fi 630 fi 631 if [ -n "$DISABLE_FEATURE_DEFAULTPLUGINS" ]; then 632 unset FEATURE_DEFAULTPLUGINS 633 fi 634 fi 635 if [ -n "$FEATURE_DEFAULTPLUGINS" ]; then 636 : 637 else 638 : 639 fi 640 641 OPTIONS_UNSELECTED= 642 643 if [ -n "${TEMP_CFLAGS}" ] && [ -n "$lang_c" ]; then 644 echo "CFLAGS += $TEMP_CFLAGS" >> "$TEMP_DIR/flags.mk" 645 fi 646 if [ -n "${TEMP_CXXFLAGS}" ] && [ -n "$lang_cpp" ]; then 647 echo "CXXFLAGS += $TEMP_CXXFLAGS" >> "$TEMP_DIR/flags.mk" 648 fi 649 if [ -n "${TEMP_LDFLAGS}" ]; then 650 echo "LDFLAGS += $TEMP_LDFLAGS" >> "$TEMP_DIR/flags.mk" 651 fi 652 653 echo >> "$TEMP_DIR/flags.mk" 654 echo "configuring target: postgresql" 655 echo "# flags for target postgresql" >> "$TEMP_DIR/flags.mk" 656 TEMP_CFLAGS= 657 TEMP_CXXFLAGS= 658 TEMP_LDFLAGS= 659 660 661 # Features 662 if [ -n "$FEATURE_POSTGRESQL" ]; then 663 # check dependency 664 if dependency_error_libpq ; then 665 # "auto" features can fail and are just disabled in this case 666 if [ "$FEATURE_POSTGRESQL" = "auto" ]; then 667 DISABLE_FEATURE_POSTGRESQL=1 668 else 669 DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED libpq " 670 ERROR=1 671 fi 672 fi 673 if [ -n "$DISABLE_FEATURE_POSTGRESQL" ]; then 674 unset FEATURE_POSTGRESQL 675 fi 676 fi 677 if [ -n "$FEATURE_POSTGRESQL" ]; then 678 : 679 else 680 : 681 fi 682 683 OPTIONS_UNSELECTED= 684 685 if [ -n "${TEMP_CFLAGS}" ] && [ -n "$lang_c" ]; then 686 echo "POSTGRESQL_CFLAGS += $TEMP_CFLAGS" >> "$TEMP_DIR/flags.mk" 687 fi 688 if [ -n "${TEMP_CXXFLAGS}" ] && [ -n "$lang_cpp" ]; then 689 echo "POSTGRESQL_CXXFLAGS += $TEMP_CXXFLAGS" >> "$TEMP_DIR/flags.mk" 690 fi 691 if [ -n "${TEMP_LDFLAGS}" ]; then 692 echo "POSTGRESQL_LDFLAGS += $TEMP_LDFLAGS" >> "$TEMP_DIR/flags.mk" 693 fi 694 695 696 # final result 697 echo "configure finished" 698 echo 699 700 if [ $ERROR -ne 0 ]; then 701 echo "Error:" 702 if [ -n "$DEPENDENCIES_FAILED" ]; then 703 echo "Unresolved dependencies: $DEPENDENCIES_FAILED" 704 fi 705 if [ -n "$OPTIONS_UNSELECTED" ]; then 706 echo "Unselected options: $OPTIONS_UNSELECTED" 707 fi 708 abort_configure 709 fi 710 711 echo "Toolchain:" 712 echo " name: $TOOLCHAIN_NAME" 713 if [ -n "$TOOLCHAIN_CC" ]; then 714 echo " cc: $TOOLCHAIN_CC" 715 fi 716 if [ -n "$TOOLCHAIN_CXX" ]; then 717 echo " cxx: $TOOLCHAIN_CXX" 718 fi 719 if [ -n "$TOOLCHAIN_WSIZE" ]; then 720 echo " word size: $TOOLCHAIN_WSIZE bit" 721 fi 722 if [ -n "$TOOLCHAIN_CSTD" ]; then 723 echo " default C std: $TOOLCHAIN_CSTD" 724 fi 725 if [ $has_overridable_config_vars__ -eq 1 ]; then 726 echo 727 echo "Config:" 728 if [ -n "$prefix__initialized__" ]; then 729 printf ' %-16s' 'prefix:' 730 echo "$prefix" 731 fi 732 fi 733 echo 734 echo "Features:" 735 printf ' %-16s' 'defaultplugins:' 736 if [ -n "$FEATURE_DEFAULTPLUGINS" ]; then 737 echo 'on' 738 else 739 echo 'off' 740 fi 741 printf ' %-16s' 'postgresql:' 742 if [ -n "$FEATURE_POSTGRESQL" ]; then 743 echo 'on' 744 else 745 echo 'off' 746 fi 747 echo 748 749 # generate the config.mk file 750 pwd=`pwd` 751 cat > "$TEMP_DIR/config.mk" << __EOF__ 752 # 753 # config.mk generated by: 754 # pwd: $pwd 755 # $0 $@ 756 # 757 758 __EOF__ 759 write_toolchain_defaults "$TEMP_DIR/toolchain.mk" 760 cat "$TEMP_DIR/config.mk" "$TEMP_DIR/vars.mk" "$TEMP_DIR/toolchain.mk" "$TEMP_DIR/flags.mk" "$TEMP_DIR/make.mk" > config.mk 761 rm -Rf "$TEMP_DIR" 762