Attempt to fix the autotools linking issue on jenkins.
[opusfile.git] / ci / autotools.sh
1 # Continuous integration build script for opusfile.
2 # This script is run by automated frameworks to verify commits
3 # see https://mf4.xiph.org/jenkins/job/opusfile-autotools/
4
5 # This is intended to be run from the top-level source directory.
6
7 set -x
8
9 # WARNING: clobbers outside the current tree!
10 rm  -f ../opus
11 ln -s /srv/jenkins/jobs/opus/workspace ../opus
12 rm  -f ../ogg
13 ln -s /srv/jenkins/jobs/libogg/workspace ../ogg
14
15 # HACK: libtool can't link a dynamic library to a static
16 # library, and the 'unix' makefile build can't link to
17 # a libopus.la. As a work around, hack our own pkg-config
18 # file for the uninstalled opus library we want to build
19 # against.
20 cat <<EOF > opus-ininstalled.pc
21 # Opus codec uninstalled pkg-config file
22 # hacked up for the opusfile autotools build.
23
24 libdir=\${pcfiledir}/../opus
25 includedir=\${libdir}/include
26
27 Name: opus uninstalled for opusfile
28 Description: Opus IETF audio codec (not installed)
29 Version: 1.0.1
30 Requires:
31 Conflicts:
32 Libs: \${libdir}/libopus.la -lm
33 Cflags: -I\${includedir}
34 EOF
35
36 cat <<EOF > ogg-uninstalled.pc
37 # ogg uninstalled pkg-config file
38 # hacked up for the opusfile autotools build
39
40 libdir=\${pcfiledir}/../ogg/src
41 includedir=\${pcfiledir}/../ogg/include
42
43 Name: ogg uninstalled for opusfile
44 Description: ogg is a library for manipulating ogg bitstreams (not installed)
45 Version: 1.3.0
46 Requires:
47 Conflicts:
48 Libs: \${libdir}/libogg.la
49 Cflags: -I\${includedir}
50 EOF
51
52 PKG_CONFIG_PATH=$PWD
53
54 # compile
55 ./autogen.sh
56 ./configure PKG_CONFIG_PATH=${PKG_CONFIG_PATH}
57 make clean
58 make
59
60 # verify distribution target
61 make distcheck PKG_CONFIG_PATH=${PKG_CONFIG_PATH}
62
63 # build the documentation
64 make -C doc/latex