#!/bin/sh # autopkgtest check: Build and link against a simple shared library, to test # basic binutils compile-time and run-time linking functionality. # # (C) 2012 Canonical Ltd. # Author: Martin Pitt set -e BV=$(sed '/^Depends: gcc-\([0-9.]\+\).*/!d;s//\1/;q' debian/tests/control) CC=gcc-$BV cd "$AUTOPKGTEST_TMP" cat < testlib.c int ultimate_answer() { return 42; } EOF $CC -Wall -Werror -shared -o libultimate.so testlib.c echo "library build: OK" # should export the symbol nm -D libultimate.so | grep -q 'T ultimate_answer' # link it against a program cat < testprog.c #include int ultimate_answer(); int main() { assert (ultimate_answer() == 42); return 0; } EOF $CC -Wall -Werror -L . -o testprog testprog.c -lultimate echo "program build: OK" [ -x testprog ] LD_LIBRARY_PATH=. ./testprog echo "run: OK"