xref: /freebsd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pragma/tst.libdepsepdir.ksh (revision e477abf734cc777a55286bfbd6b80a6760c96acf)
1#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License (the "License").
6# You may not use this file except in compliance with the License.
7#
8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9# or http://www.opensolaris.org/os/licensing.
10# See the License for the specific language governing permissions
11# and limitations under the License.
12#
13# When distributing Covered Code, include this CDDL HEADER in each
14# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15# If applicable, add the following below this CDDL HEADER, with the
16# fields enclosed by brackets "[]" replaced with your own identifying
17# information: Portions Copyright [yyyy] [name of copyright owner]
18#
19# CDDL HEADER END
20#
21
22#
23# Copyright (c) 2011, Joyent Inc. All rights reserved.
24# Use is subject to license terms.
25#
26
27#
28# Test to catch that we properly look for libraries dependencies in
29# our full library parth
30#
31
32if [ $# != 1 ]; then
33	echo expected one argument: '<'dtrace-path'>'
34	exit 2
35fi
36
37libdira=${TMPDIR:-/tmp}/libdepa.$$
38libdirb=${TMPDIR:-/tmp}/libdepb.$$
39libdirc=${TMPDIR:-/tmp}/libdepc.$$
40dtrace=$1
41
42setup_libs()
43{
44        mkdir $libdira
45        mkdir $libdirb
46        mkdir $libdirc
47        cat > $libdira/liba.$$.d <<EOF
48#pragma D depends_on library libb.$$.d
49#pragma D depends_on library libc.$$.d
50#pragma D depends_on library libd.$$.d
51EOF
52        cat > $libdirb/libb.$$.d <<EOF
53#pragma D depends_on library libc.$$.d
54EOF
55        cat > $libdirb/libc.$$.d <<EOF
56EOF
57        cat > $libdirb/libd.$$.d <<EOF
58EOF
59        cat > $libdirc/libe.$$.d <<EOF
60#pragma D depends_on library liba.$$.d
61EOF
62        cat > $libdirc/libf.$$.d <<EOF
63EOF
64}
65
66
67setup_libs
68
69$dtrace -L$libdira -L$libdirb -L$libdirc -e
70
71status=$?
72rm -rf $libdira
73rm -rf $libdirb
74rm -rf $libdirc
75return $status
76
77