5e1b6446a2846205f797c9ac399e6e116b310df8
[lttng-ci.git] / lttng-ust / lttng-ust-master.sh
1 # Create build directory
2 rm -rf $WORKSPACE/build
3 mkdir -p $WORKSPACE/build
4
5 # liburcu
6 URCU_INCS="$WORKSPACE/dependencies/liburcu/build/include/"
7 URCU_LIBS="$WORKSPACE/dependencies/liburcu/build/lib/"
8
9 export CPPFLAGS="-I$URCU_INCS"
10 export LDFLAGS="-L$URCU_LIBS"
11 export LD_LIBRARY_PATH="$URCU_LIBS:$LD_LIBRARY_PATH"
12
13 PREFIX="$WORKSPACE/build"
14
15 ./bootstrap
16
17 CONF_OPTS=""
18
19 case "$conf" in
20 # Unsupported! liblttng-ust can't pull in it's static (.a) dependencies.
21 #static)
22 # echo "Static build"
23 # CONF_OPTS="--enable-static --disable-shared"
24 # ;;
25 java-agent)
26 echo "Java agent build"
27 export CLASSPATH="/usr/share/java/log4j-1.2.jar"
28 CONF_OPTS="--enable-java-agent-all"
29 ;;
30 python-agent)
31 echo "Python agent build"
32 CONF_OPTS="--enable-python-agent"
33 ;;
34 *)
35 echo "Standard build"
36 CONF_OPTS=""
37 ;;
38 esac
39
40 # Build type
41 # oot : out-of-tree build
42 # dist: build via make dist
43 # * : normal tree build
44 #
45 # Make sure to move to the build_path and configure
46 # before continuing
47
48 BUILD_PATH=$WORKSPACE
49 case "$build" in
50 oot)
51 echo "Out of tree build"
52 BUILD_PATH=$WORKSPACE/oot
53 mkdir -p $BUILD_PATH
54 cd $BUILD_PATH
55 $WORKSPACE/configure --prefix=$PREFIX $CONF_OPTS
56 ;;
57 dist)
58 echo "Distribution out of tree build"
59 BUILD_PATH=`mktemp -d`
60
61 # Initial configure and generate tarball
62 ./configure
63 make dist
64
65 mkdir -p $BUILD_PATH
66 cp *.tar.* $BUILD_PATH/
67 cd $BUILD_PATH
68
69 # Ignore level 1 of tar
70 tar xvf *.tar.* --strip 1
71
72 $BUILD_PATH/configure --prefix=$PREFIX $CONF_OPTS
73 ;;
74 *)
75 BUILD_PATH=$WORKSPACE
76 echo "Standard tree build"
77 $WORKSPACE/configure --prefix=$PREFIX $CONF_OPTS
78 ;;
79 esac
80
81 make V=1
82 make install
83
84 # Run tests
85 rm -rf $WORKSPACE/tap
86 mkdir -p $WORKSPACE/tap/unit
87
88 cd $BUILD_PATH/tests
89
90 if [ -e $BUILD_PATH/tests/unit_tests ]; then
91 prove --merge --exec '' - < $BUILD_PATH/tests/unit_tests --archive $WORKSPACE/tap/unit/ || true
92 else
93 echo "Test file:$BUILD_PATH/tests/unit_tests missing"
94 exit 1
95 fi
96
97 # TAP plugin is having a hard time with .yml files.
98 rm -f $WORKSPACE/tap/unit/meta.yml
99
100 # And also with files without extension, so rename all result to *.tap
101 find $WORKSPACE/tap/unit/ -type f -exec mv {} {}.tap \;
102
103 # Cleanup
104 make clean
105
106 # Cleanup rpath and libtool .la files
107 find $WORKSPACE/build/lib -name "*.so" -exec chrpath --delete {} \;
108 find $WORKSPACE/build/lib -name "*.la" -exec rm -f {} \;
109
110 # Clean temp dir for dist build
111 if [ $build = "dist" ]; then
112 rm -rf $BUILD_PATH
113 fi
This page took 0.031705 seconds and 4 git commands to generate.