X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=bootstrap.sh;h=0383c8fa7ec1f3746a6bb8755d68433ada7b0a26;hb=d4e30bfef1ac602f80dcaf9c3dc0934a57be5de2;hp=a95cb85425af86762b4e5766fe931087bc21f27c;hpb=501492e8e79fc889370f46690e638cad3786be3d;p=awesomized%2Flibmemcached diff --git a/bootstrap.sh b/bootstrap.sh index a95cb854..0383c8fa 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -38,7 +38,7 @@ # LIBTOOLIZE # MAKE # PREFIX -# TESTS_ENVIRONMENT +# LOG_COMPILER # VERBOSE # WARNINGS # @@ -404,10 +404,6 @@ run_configure () # Arguments for configure local BUILD_CONFIGURE_ARG='' - if $jenkins_build_environment; then - BUILD_CONFIGURE_ARG="--disable-silent-rules " - fi - # If debug is set we enable both debug and asssert, otherwise we see if this is a VCS checkout and if so enable assert # Set ENV ASSERT in order to enable assert. # If we are doing a valgrind run, we always compile with assert disabled @@ -490,8 +486,8 @@ save_BUILD () die "OLD_MAKE($OLD_MAKE) was set on push, programmer error!" fi - if [[ -n "$OLD_TESTS_ENVIRONMENT" ]]; then - die "OLD_TESTS_ENVIRONMENT($OLD_TESTS_ENVIRONMENT) was set on push, programmer error!" + if [[ -n "$OLD_LOG_COMPILER" ]]; then + die "OLD_LOG_COMPILER($OLD_LOG_COMPILER) was set on push, programmer error!" fi if [[ -n "$CONFIGURE" ]]; then @@ -506,8 +502,8 @@ save_BUILD () OLD_MAKE=$MAKE fi - if [[ -n "$TESTS_ENVIRONMENT" ]]; then - OLD_TESTS_ENVIRONMENT=$TESTS_ENVIRONMENT + if [[ -n "$LOG_COMPILER" ]]; then + OLD_LOG_COMPILER=$LOG_COMPILER fi } @@ -529,15 +525,15 @@ restore_BUILD () MAKE=$OLD_MAKE fi - if [[ -n "$OLD_TESTS_ENVIRONMENT" ]]; then - TESTS_ENVIRONMENT=$OLD_TESTS_ENVIRONMENT + if [[ -n "$OLD_LOG_COMPILER" ]]; then + LOG_COMPILER=$OLD_LOG_COMPILER fi OLD_CONFIGURE= OLD_CONFIGURE_ARG= OLD_PREFIX= OLD_MAKE= - OLD_TESTS_ENVIRONMENT= + OLD_LOG_COMPILER= export -n CC CXX } @@ -571,9 +567,9 @@ make_valgrind () # If we don't have a configure, then most likely we will be missing libtool assert_file 'configure' if [[ -x 'libtool' ]]; then - TESTS_ENVIRONMENT="./libtool --mode=execute $VALGRIND_COMMAND" + LOG_COMPILER="./libtool --mode=execute $VALGRIND_COMMAND" else - TESTS_ENVIRONMENT="$VALGRIND_COMMAND" + LOG_COMPILER="$VALGRIND_COMMAND" fi make_target 'all' @@ -707,11 +703,11 @@ make_skeleton () else if [[ -n "$DISPLAY" ]]; then if command_exists 'wine'; then - TESTS_ENVIRONMENT='wine' + LOG_COMPILER='wine' fi fi - if [[ -n "$TESTS_ENVIRONMENT" ]]; then + if [[ -n "$LOG_COMPILER" ]]; then make_target 'check' 'warn' || warn "$MAKE check failed" ret=$? fi @@ -939,9 +935,9 @@ make_gdb () # If we don't have a configure, then most likely we will be missing libtool assert_file 'configure' if [[ -f 'libtool' ]]; then - TESTS_ENVIRONMENT="./libtool --mode=execute $GDB_COMMAND" + LOG_COMPILER="./libtool --mode=execute $GDB_COMMAND" else - TESTS_ENVIRONMENT="$GDB_COMMAND" + LOG_COMPILER="$GDB_COMMAND" fi make_target 'check' @@ -978,9 +974,9 @@ make_target () run_configure fi - if [ -n "$TESTS_ENVIRONMENT" ]; then + if [ -n "$LOG_COMPILER" ]; then if $verbose; then - echo "TESTS_ENVIRONMENT=$TESTS_ENVIRONMENT" + echo "LOG_COMPILER=$LOG_COMPILER" fi fi @@ -1014,14 +1010,16 @@ make_rpm () { if command_exists 'rpmbuild'; then if [ -f 'rpm.am' -o -d 'rpm' ]; then - mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} - mkdir -p ~/rpmbuild/RPMS/{i386,i486,i586,i686,noarch,athlon} - run_configure_if_required - make_target 'rpm' + make_target 'dist-rpm' if $jenkins_build_environment; then - make_target 'clean' + mkdir artifacts + mv *.tar.gz *.rpm artifacts + + make_target 'maintainer-clean' + mv artifacts/* . + rmdir artifacts fi fi @@ -1102,7 +1100,11 @@ run_autoreconf () if $use_libtool; then assert $BOOTSTRAP_LIBTOOLIZE - run "$BOOTSTRAP_LIBTOOLIZE" '--copy' '--install' '--force' || die "Cannot execute $BOOTSTRAP_LIBTOOLIZE" + if $jenkins_build_environment; then + run "$BOOTSTRAP_LIBTOOLIZE" '--copy' '--install' || die "Cannot execute $BOOTSTRAP_LIBTOOLIZE" + else + run "$BOOTSTRAP_LIBTOOLIZE" '--copy' '--install' '--force' || die "Cannot execute $BOOTSTRAP_LIBTOOLIZE" + fi fi run "$AUTORECONF" "$AUTORECONF_ARGS" || die "Cannot execute $AUTORECONF" @@ -1243,7 +1245,11 @@ autoreconf_setup () fi if [[ -z "$GNU_BUILD_FLAGS" ]]; then - GNU_BUILD_FLAGS="--install --force" + if $jenkins_build_environment; then + GNU_BUILD_FLAGS="--install" + else + GNU_BUILD_FLAGS="--install --force" + fi fi if $verbose; then @@ -1390,16 +1396,16 @@ print_setup () echo "MAKE=$MAKE" fi - if [[ -n "$MAKE_TARGET" ]]; then - echo "MAKE_TARGET=$MAKE_TARGET" + if [[ -n "$BOOTSTRAP_TARGET" ]]; then + echo "BOOTSTRAP_TARGET=$BOOTSTRAP_TARGET" fi if [[ -n "$PREFIX" ]]; then echo "PREFIX=$PREFIX" fi - if [[ -n "$TESTS_ENVIRONMENT" ]]; then - echo "TESTS_ENVIRONMENT=$TESTS_ENVIRONMENT" + if [[ -n "$LOG_COMPILER" ]]; then + echo "LOG_COMPILER=$LOG_COMPILER" fi if [[ -n "$VCS_CHECKOUT" ]]; then @@ -1515,7 +1521,7 @@ check_make_target() execute_job () { # We should always have a target by this point - assert MAKE_TARGET + assert BOOTSTRAP_TARGET determine_target_platform @@ -1539,8 +1545,8 @@ execute_job () fi fi - # Use OLD_TESTS_ENVIRONMENT for tracking the state of the variable - local OLD_TESTS_ENVIRONMENT= + # Use OLD_LOG_COMPILER for tracking the state of the variable + local OLD_LOG_COMPILER= # Set ENV PREFIX in order to set --prefix for ./configure if [[ -n "$PREFIX" ]]; then @@ -1551,17 +1557,18 @@ execute_job () make_maintainer_clean fi - local MAKE_TARGET_ARRAY - MAKE_TARGET_ARRAY=( $MAKE_TARGET ) + local BOOTSTRAP_TARGET_ARRAY + BOOTSTRAP_TARGET_ARRAY=( $BOOTSTRAP_TARGET ) - for target in "${MAKE_TARGET_ARRAY[@]}" + for target in "${BOOTSTRAP_TARGET_ARRAY[@]}" do # If we are running inside of Jenkins, we want to only run some of the possible tests if $jenkins_build_environment; then check_make_target $target ret=$? if [ $ret -ne 0 ]; then - die "Unknown MAKE_TARGET option: $target" + warn "Unknown BOOTSTRAP_TARGET option: $target" + target="jenkins" fi fi @@ -1667,7 +1674,7 @@ main () declare -x VCS_CHECKOUT= # Variables we control globally - local -a MAKE_TARGET= + local -a BOOTSTRAP_TARGET= local CONFIGURE= local use_libtool=false local verbose=false @@ -1692,7 +1699,7 @@ main () local OLD_CONFIGURE_ARG= local OLD_PREFIX= local OLD_MAKE= - local OLD_TESTS_ENVIRONMENT= + local OLD_LOG_COMPILER= # If we call autoreconf on the platform or not local AUTORECONF_REBUILD_HOST=false @@ -1730,47 +1737,18 @@ main () local OPT_TARGET= parse_command_line_options "$@" - nassert MAKE_TARGET + nassert BOOTSTRAP_TARGET if [ -n "$OPT_TARGET" ]; then - MAKE_TARGET="$OPT_TARGET" - fi - - # If we are running under Jenkins we predetermine what tests we will run against - # This MAKE_TARGET can be overridden by parse_command_line_options based MAKE_TARGET changes. - # We don't want Jenkins overriding other variables, so we NULL them. - if [ -z "$MAKE_TARGET" ]; then - if $jenkins_build_environment; then - if [[ -n "$JENKINS_TARGET" ]]; then - MAKE_TARGET="$JENKINS_TARGET" - else - if [[ -n "$label" ]]; then - check_make_target $label - if [ $? -eq 0 ]; then - MAKE_TARGET="$label" - fi - fi - - if [[ -n "$LABEL" ]]; then - check_make_target $LABEL - if [ $? -eq 0 ]; then - MAKE_TARGET="$LABEL" - fi - fi - - if [ -z "$MAKE_TARGET" ]; then - MAKE_TARGET='jenkins' - fi - fi - fi + BOOTSTRAP_TARGET="$OPT_TARGET" fi - if [ -z "$MAKE_TARGET" ]; then - MAKE_TARGET="make_default" + if [ -z "$BOOTSTRAP_TARGET" ]; then + BOOTSTRAP_TARGET="make_default" fi # We should always have a target by this point - assert MAKE_TARGET + assert BOOTSTRAP_TARGET execute_job local ret=$? @@ -1886,7 +1864,7 @@ bootstrap () export LIBTOOLIZE_OPTIONS export MAKE export PREFIX_ARG - export TESTS_ENVIRONMENT + export LOG_COMPILER export VERBOSE export WARNINGS