~yshurik/libmemcached/libmemcached-win

« back to all changes in this revision

Viewing changes to bootstrap.sh

  • Committer: Continuous Integration
  • Date: 2013-04-03 13:16:24 UTC
  • mfrom: (1100.1.1 libmemcached-1.2)
  • Revision ID: ci@tangent.org-20130403131624-j59dhv5z5l0lsdld
Merge lp:~tangent-org/libmemcached/1.2-build/ Build: jenkins-Libmemcached-250

Show diffs side-by-side

added added

removed removed

Lines of Context:
296
296
  # Arguments for configure
297
297
  local BUILD_CONFIGURE_ARG= 
298
298
 
299
 
  # Set ENV DEBUG in order to enable debugging
 
299
  # If ENV DEBUG is set we enable both debug and asssert, otherwise we see if this is a VCS checkout and if so enable assert
 
300
  # Set ENV ASSERT in order to enable assert
300
301
  if $DEBUG; then 
301
 
    BUILD_CONFIGURE_ARG='--enable-debug'
302
 
  fi
303
 
 
304
 
  # Set ENV ASSERT in order to enable assert
305
 
  if [[ -n "$ASSERT" ]]; then 
306
 
    local ASSERT_ARG=
307
 
    ASSERT_ARG='--enable-assert'
308
 
    BUILD_CONFIGURE_ARG="$ASSERT_ARG $BUILD_CONFIGURE_ARG"
 
302
    BUILD_CONFIGURE_ARG+=' --enable-debug --enable-assert'
 
303
  elif [[ -n "$VCS_CHECKOUT" ]]; then
 
304
    BUILD_CONFIGURE_ARG+=' --enable-assert'
309
305
  fi
310
306
 
311
307
  if [[ -n "$CONFIGURE_ARG" ]]; then 
312
 
    BUILD_CONFIGURE_ARG= "$BUILD_CONFIGURE_ARG $CONFIGURE_ARG"
 
308
    BUILD_CONFIGURE_ARG+=" $CONFIGURE_ARG"
 
309
  fi
 
310
 
 
311
  if [[ -n "$PREFIX_ARG" ]]; then 
 
312
    BUILD_CONFIGURE_ARG+=" $PREFIX_ARG"
313
313
  fi
314
314
 
315
315
  ret=1;
316
316
  # If we are executing on OSX use CLANG, otherwise only use it if we find it in the ENV
317
317
  case $HOST_OS in
318
318
    *-darwin-*)
319
 
      CC=clang CXX=clang++ $top_srcdir/configure $BUILD_CONFIGURE_ARG || die "Cannot execute CC=clang CXX=clang++ configure $BUILD_CONFIGURE_ARG $PREFIX_ARG"
 
319
      CC=clang CXX=clang++ $top_srcdir/configure $BUILD_CONFIGURE_ARG || die "Cannot execute CC=clang CXX=clang++ configure $BUILD_CONFIGURE_ARG"
320
320
      ret=$?
321
321
      ;;
322
322
    rhel-5*)
323
323
      command_exists 'gcc44' || die "Could not locate gcc44"
324
 
      CC=gcc44 CXX=gcc44 $top_srcdir/configure $BUILD_CONFIGURE_ARG $PREFIX_ARG || die "Cannot execute CC=gcc44 CXX=gcc44 configure $BUILD_CONFIGURE_ARG $PREFIX_ARG"
 
324
      CC=gcc44 CXX=gcc44 $top_srcdir/configure $BUILD_CONFIGURE_ARG || die "Cannot execute CC=gcc44 CXX=gcc44 configure $BUILD_CONFIGURE_ARG"
325
325
      ret=$?
326
326
      ;;
327
327
    *)
328
 
      $CONFIGURE $BUILD_CONFIGURE_ARG $PREFIX_ARG
 
328
      $CONFIGURE $BUILD_CONFIGURE_ARG
329
329
      ret=$?
330
330
      ;;
331
331
  esac
332
332
 
333
333
  if [ $ret -ne 0 ]; then
334
 
    die "Could not execute $CONFIGURE $BUILD_CONFIGURE_ARG $PREFIX_ARG"
 
334
    die "Could not execute $CONFIGURE $BUILD_CONFIGURE_ARG"
335
335
  fi
336
336
 
337
337
  if [ ! -f 'Makefile' ]; then
367
367
    die "OLD_CONFIGURE_ARG($OLD_CONFIGURE_ARG) was set on push, programmer error!"
368
368
  fi
369
369
 
 
370
  if [[ -n "$OLD_PREFIX" ]]; then
 
371
    die "OLD_PREFIX($OLD_PREFIX) was set on push, programmer error!"
 
372
  fi
 
373
 
370
374
  if [[ -n "$OLD_MAKE" ]]; then
371
375
    die "OLD_MAKE($OLD_MAKE) was set on push, programmer error!"
372
376
  fi
402
406
    CONFIGURE_ARG=$OLD_CONFIGURE_ARG
403
407
  fi
404
408
 
 
409
  if [[ -n "$OLD_PREFIX" ]]; then
 
410
    PREFIX_ARG=$OLD_PREFIX
 
411
  fi
 
412
 
405
413
  if [[ -n "$OLD_MAKE" ]]; then
406
414
    MAKE=$OLD_MAKE
407
415
  fi
412
420
 
413
421
  OLD_CONFIGURE=
414
422
  OLD_CONFIGURE_ARG=
 
423
  OLD_PREFIX=
415
424
  OLD_MAKE=
416
425
  OLD_TESTS_ENVIRONMENT=
417
426
 
418
427
  export -n CC CXX
419
428
}
420
429
 
421
 
function push_PREFIX_ARG ()
422
 
{
423
 
  if [[ -n "$OLD_PREFIX_ARG" ]]; then
424
 
    die "OLD_PREFIX_ARG was set on push, programmer error!"
425
 
  fi
426
 
 
427
 
  if [[ -n "$PREFIX_ARG" ]]; then
428
 
    OLD_PREFIX_ARG=$PREFIX_ARG
429
 
    PREFIX_ARG=
430
 
  fi
431
 
 
432
 
  if [[ -n "$1" ]]; then
433
 
    PREFIX_ARG="--prefix=$1"
434
 
  fi
435
 
}
436
 
 
437
 
function pop_PREFIX_ARG ()
438
 
{
439
 
  if [[ -n "$OLD_PREFIX_ARG" ]]; then
440
 
    PREFIX_ARG=$OLD_PREFIX_ARG
441
 
    OLD_PREFIX_ARG=
442
 
  else
443
 
    PREFIX_ARG=
444
 
  fi
445
 
}
446
 
 
447
 
function push_TESTS_ENVIRONMENT ()
448
 
{
449
 
  if [[ -n "$OLD_TESTS_ENVIRONMENT" ]]; then
450
 
    die "OLD_TESTS_ENVIRONMENT was set on push, programmer error!"
451
 
  fi
452
 
 
453
 
  if [[ -n "$TESTS_ENVIRONMENT" ]]; then
454
 
    OLD_TESTS_ENVIRONMENT=$TESTS_ENVIRONMENT
455
 
    TESTS_ENVIRONMENT=
456
 
  fi
457
 
}
458
 
 
459
 
function pop_TESTS_ENVIRONMENT ()
460
 
{
461
 
  TESTS_ENVIRONMENT=
462
 
  if [[ -n "$OLD_TESTS_ENVIRONMENT" ]]; then
463
 
    TESTS_ENVIRONMENT=$OLD_TESTS_ENVIRONMENT
464
 
    OLD_TESTS_ENVIRONMENT=
465
 
  fi
466
 
}
467
 
 
468
430
function safe_pushd ()
469
431
{
470
432
  pushd $1 &> /dev/null ;
513
475
    return 1
514
476
  fi
515
477
 
 
478
  save_BUILD
 
479
 
516
480
  # If we are required to run configure, do so now
517
481
  run_configure_if_required
518
482
 
519
 
  push_TESTS_ENVIRONMENT
520
 
 
521
483
  # If we don't have a configure, then most likely we will be missing libtool
522
484
  assert_file 'configure'
523
485
  if [[ -f 'libtool' ]]; then
528
490
 
529
491
  make_target 'check' || return 1
530
492
 
531
 
  pop_TESTS_ENVIRONMENT
 
493
  restore_BUILD
532
494
}
533
495
 
534
496
function make_install_system ()
535
497
{
536
498
  local INSTALL_LOCATION=$(mktemp -d /tmp/XXXXXXXXXX)
537
 
  push_PREFIX_ARG $INSTALL_LOCATION
 
499
 
 
500
  save_BUILD
 
501
  PREFIX_ARG="--prefix=$INSTALL_LOCATION"
538
502
 
539
503
  if [ ! -d $INSTALL_LOCATION ] ; then
540
504
    die "ASSERT temp directory not found '$INSTALL_LOCATION'"
542
506
 
543
507
  run_configure #install_buid_dir
544
508
 
545
 
  push_TESTS_ENVIRONMENT
546
 
 
547
509
  make_target 'install'
548
510
 
549
511
  make_target 'installcheck'
550
512
 
551
513
  make_target 'uninstall'
552
514
 
553
 
  pop_TESTS_ENVIRONMENT
554
 
  pop_PREFIX_ARG
555
 
 
556
515
  rm -r -f $INSTALL_LOCATION
557
516
  make 'distclean'
558
517
 
560
519
    die "ASSERT Makefile should not exist"
561
520
  fi
562
521
 
 
522
  restore_BUILD
563
523
  safe_popd
564
524
}
565
525
 
848
808
 
849
809
      make_install_system
850
810
      ;;
851
 
    *-precise-*)
 
811
    *-ubuntu-quantal-*)
852
812
      run_configure
853
813
 
854
814
      assert_exec_file 'configure'
900
860
 
901
861
function make_gdb ()
902
862
{
 
863
  save_BUILD
 
864
 
903
865
  if command_exists 'gdb'; then
904
866
    run_configure_if_required
905
867
 
906
 
    push_TESTS_ENVIRONMENT
907
 
 
908
868
    # Set ENV GDB_COMMAND
909
869
    if [[ -z "$GDB_COMMAND" ]]; then
910
870
      setup_gdb_command
924
884
      rm 'gdb.txt'
925
885
    fi
926
886
 
927
 
    pop_TESTS_ENVIRONMENT
928
 
 
929
887
    if [ -f '.gdb_history' ]; then
930
888
      rm '.gdb_history'
931
889
    fi
937
895
    echo 'gdb was not present'
938
896
    return 1
939
897
  fi
 
898
 
 
899
  restore_BUILD
940
900
}
941
901
 
942
902
# $1 target to compile
1142
1102
    VCS_CHECKOUT=svn
1143
1103
  elif [[ -d '.hg' ]]; then
1144
1104
    VCS_CHECKOUT=hg
 
1105
  else
 
1106
    VCS_CHECKOUT=
1145
1107
  fi
1146
1108
 
1147
1109
  if [[ -n "$VCS_CHECKOUT" ]]; then
1466
1428
 
1467
1429
  # Set ENV PREFIX in order to set --prefix for ./configure
1468
1430
  if [[ -n "$PREFIX" ]]; then 
1469
 
    push_PREFIX_ARG $PREFIX
 
1431
    PREFIX_ARG="--prefix=$PREFIX"
1470
1432
  fi
1471
1433
 
1472
1434
  # We should always have a target by this point
1580
1542
 
1581
1543
  local OLD_CONFIGURE=
1582
1544
  local OLD_CONFIGURE_ARG=
 
1545
  local OLD_PREFIX=
1583
1546
  local OLD_MAKE=
1584
1547
  local OLD_TESTS_ENVIRONMENT=
1585
1548
 
1726
1689
export AUTOM4TE
1727
1690
export AUTOMAKE
1728
1691
export AUTORECONF
 
1692
export CONFIGURE_ARG
1729
1693
export DEBUG
1730
1694
export GNU_BUILD_FLAGS
1731
1695
export LIBTOOLIZE
1732
1696
export LIBTOOLIZE_OPTIONS
1733
1697
export MAKE
 
1698
export PREFIX_ARG
1734
1699
export TESTS_ENVIRONMENT
1735
1700
export VERBOSE
1736
1701
export WARNINGS