#!/usr/bin/env bash

. ../common.sh

CLEAN_FILES="$CLEAN_FILES bar baz"
init "code in C shared libraries linked by absolute searchable names"

subdir_push bar/fnarp
need_files bar.c bar.h
compile_c -fpic bar.c
link_shlib bar bar.o
subdir_pop

subdir_push baz
need_files baz.c baz.h
compile_c -fpic baz.c
link_shlib baz baz.o
subdir_pop

compile_c -Ibar/fnarp -Ibaz foo.c
add_shlib bar/fnarp/bar
add_shlib -abs baz/baz
link foo foo.o

run foo 1
run foo 2
run foo 3
run foo 4

run_gcov foo.c
run_tggcov foo.c
compare_lines foo.c
compare_counts foo.c

subdir_push bar/fnarp
run_gcov bar.c
run_tggcov bar.c
compare_lines bar.c
compare_counts bar.c
subdir_pop

subdir_push baz
run_gcov baz.c
run_tggcov baz.c
compare_lines baz.c
compare_counts baz.c
subdir_pop
