Commit 2b4bc458 authored by Ralph Giles's avatar Ralph Giles

Attempt to fix the autotools linking issue on jenkins.

The jenkins autotools build has never worked because we try to
build against uninstalled versions of the opus and ogg libraries,
whose pkg-config files export a static library. This works fine
for executables, but libtool seemingly can't link a dynamic library
against a static library.

We could change the -uninstalled.pc files to reference the libtool
versions of the libraries, but that breaks the unix makefile builds,
which of course don't use libtool.

As a work around, write out our own versions of the pc files and
use those to reference the file we need.

Also sets -x on both continuous integration scripts so it's more
clear what steps are being applied.
parent 137d309c
......@@ -4,18 +4,61 @@
# This is intended to be run from the top-level source directory.
set -x
# WARNING: clobbers outside the current tree!
rm -f ../opus
ln -s /srv/jenkins/jobs/opus/workspace ../opus
rm -f ../ogg
ln -s /srv/jenkins/jobs/libogg/workspace ../ogg
# HACK: libtool can't link a dynamic library to a static
# library, and the 'unix' makefile build can't link to
# a libopus.la. As a work around, hack our own pkg-config
# file for the uninstalled opus library we want to build
# against.
cat <<EOF > opus-ininstalled.pc
# Opus codec uninstalled pkg-config file
# hacked up for the opusfile autotools build.
libdir=\${pcfiledir}/../opus
includedir=\${libdir}/include
Name: opus uninstalled for opusfile
Description: Opus IETF audio codec (not installed)
Version: 1.0.1
Requires:
Conflicts:
Libs: \${libdir}/libopus.la -lm
Cflags: -I\${includedir}
EOF
cat <<EOF > ogg-uninstalled.pc
# ogg uninstalled pkg-config file
# hacked up for the opusfile autotools build
libdir=\${pcfiledir}/../ogg/src
includedir=\${pcfiledir}/../ogg/include
Name: ogg uninstalled for opusfile
Description: ogg is a library for manipulating ogg bitstreams (not installed)
Version: 1.3.0
Requires:
Conflicts:
Libs: \${libdir}/libogg.la
Cflags: -I\${includedir}
EOF
PKG_CONFIG_PATH=$PWD
# compile
./autogen.sh
./configure PKG_CONFIG_PATH=$PWD/../opus
./configure PKG_CONFIG_PATH=${PKG_CONFIG_PATH}
make clean
make
# verify distribution target
make distcheck
make distcheck PKG_CONFIG_PATH=${PKG_CONFIG_PATH}
# build the documentation
make -C doc/latex
......@@ -4,6 +4,8 @@
# This is intended to be run from the top-level source directory.
set -x
# WARNING: clobbers outside the current tree!
rm -f ../opus
ln -s /srv/jenkins/jobs/opus/workspace ../opus
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment