12be1a816SJohn Birrell# 22be1a816SJohn Birrell# CDDL HEADER START 32be1a816SJohn Birrell# 42be1a816SJohn Birrell# The contents of this file are subject to the terms of the 52be1a816SJohn Birrell# Common Development and Distribution License (the "License"). 62be1a816SJohn Birrell# You may not use this file except in compliance with the License. 72be1a816SJohn Birrell# 82be1a816SJohn Birrell# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 92be1a816SJohn Birrell# or http://www.opensolaris.org/os/licensing. 102be1a816SJohn Birrell# See the License for the specific language governing permissions 112be1a816SJohn Birrell# and limitations under the License. 122be1a816SJohn Birrell# 132be1a816SJohn Birrell# When distributing Covered Code, include this CDDL HEADER in each 142be1a816SJohn Birrell# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 152be1a816SJohn Birrell# If applicable, add the following below this CDDL HEADER, with the 162be1a816SJohn Birrell# fields enclosed by brackets "[]" replaced with your own identifying 172be1a816SJohn Birrell# information: Portions Copyright [yyyy] [name of copyright owner] 182be1a816SJohn Birrell# 192be1a816SJohn Birrell# CDDL HEADER END 202be1a816SJohn Birrell# 212be1a816SJohn Birrell 222be1a816SJohn Birrell# 232be1a816SJohn Birrell# Copyright 2006 Sun Microsystems, Inc. All rights reserved. 242be1a816SJohn Birrell# Use is subject to license terms. 252be1a816SJohn Birrell# 262be1a816SJohn Birrell# ident "%Z%%M% %I% %E% SMI" 272be1a816SJohn Birrell 282be1a816SJohn Birrell# Fake up a scenario where _DTRACE_VERSION is not defined by having our own 292be1a816SJohn Birrell# <unistd.h>. This tests that dtrace -h will produce a header file which can 302be1a816SJohn Birrell# be used on a system where DTrace is not present. 312be1a816SJohn Birrell 322be1a816SJohn Birrellif [ $# != 1 ]; then 332be1a816SJohn Birrell echo expected one argument: '<'dtrace-path'>' 342be1a816SJohn Birrell exit 2 352be1a816SJohn Birrellfi 362be1a816SJohn Birrell 372be1a816SJohn Birrelldtrace=$1 382be1a816SJohn BirrellDIR=/var/tmp/dtest.$$ 392be1a816SJohn Birrell 402be1a816SJohn Birrellmkdir $DIR 412be1a816SJohn Birrellcd $DIR 422be1a816SJohn Birrell 432be1a816SJohn Birrelltouch unistd.h 442be1a816SJohn Birrell 452be1a816SJohn Birrellcat > prov.d <<EOF 462be1a816SJohn Birrellprovider test_prov { 472be1a816SJohn Birrell probe go(); 482be1a816SJohn Birrell}; 492be1a816SJohn BirrellEOF 502be1a816SJohn Birrell 512be1a816SJohn Birrell$dtrace -h -s prov.d 522be1a816SJohn Birrellif [ $? -ne 0 ]; then 532be1a816SJohn Birrell print -u2 "failed to generate header file" 542be1a816SJohn Birrell exit 1 552be1a816SJohn Birrellfi 562be1a816SJohn Birrell 572be1a816SJohn Birrellcat > test.c <<EOF 582be1a816SJohn Birrell#include "prov.h" 592be1a816SJohn Birrell 602be1a816SJohn Birrellint 612be1a816SJohn Birrellmain(int argc, char **argv) 622be1a816SJohn Birrell{ 632be1a816SJohn Birrell TEST_PROV_GO(); 642be1a816SJohn Birrell 652be1a816SJohn Birrell if (TEST_PROV_GO_ENABLED()) { 662be1a816SJohn Birrell TEST_PROV_GO(); 672be1a816SJohn Birrell } 682be1a816SJohn Birrell 692be1a816SJohn Birrell return (0); 702be1a816SJohn Birrell} 712be1a816SJohn BirrellEOF 722be1a816SJohn Birrell 732be1a816SJohn Birrellcc -I. -xarch=generic -c test.c 742be1a816SJohn Birrellif [ $? -ne 0 ]; then 752be1a816SJohn Birrell print -u2 "failed to compile test.c" 762be1a816SJohn Birrell exit 1 772be1a816SJohn Birrellfi 782be1a816SJohn Birrellcc -xarch=generic -o test test.o 792be1a816SJohn Birrellif [ $? -ne 0 ]; then 802be1a816SJohn Birrell print -u2 "failed to link final executable" 812be1a816SJohn Birrell exit 1 822be1a816SJohn Birrellfi 832be1a816SJohn Birrell 842be1a816SJohn Birrell./test 852be1a816SJohn Birrellstatus=$? 862be1a816SJohn Birrell 872be1a816SJohn Birrellcd / 88*b2db7608SRui Paulo/bin/rm -rf $DIR 892be1a816SJohn Birrell 902be1a816SJohn Birrellexit $status 91