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 2007 Sun Microsystems, Inc.  All rights reserved.
  24 # Use is subject to license terms.
  25 #
  26 # ident "%Z%%M% %I%     %E% SMI"
  27 #
  28 
  29 use ExtUtils::MakeMaker;
  30 my ($defines, $includes) = ('', '');
  31 
  32 # Uncomment this to turn on assertions
  33 #$defines .= '-DKSTAT_DEBUG ';
  34 
  35 # Uncomment this to report unknown binary kstats
  36 #$defines .= '-DREPORT_UNKNOWN ';
  37 
  38 #
  39 # Because there are still platform specific raw kstats, we need to include the
  40 # platform specific header files, so work out where they live.
  41 #
  42 my $arch = qx{uname -p}; chomp($arch);
  43 if ($arch eq 'sparc') {
  44         $includes .= '-I/usr/platform/sun4u/include' .
  45             ' -I/usr/platform/sun4v/include';
  46 } elsif ($arch eq 'i386') {
  47         $includes .= '-I/usr/platform/i86pc/include' .
  48             ' -I/usr/platform/i86xpv/include';
  49 } else {
  50         die("Unknown architecture $arch\n");
  51 }
  52 
  53 WriteMakefile(
  54     NAME         => 'Sun::Solaris::Kstat',
  55     VERSION_FROM => 'Kstat.pm',
  56     LIBS         => [ '-lkstat' ],
  57     DEFINE       => $defines,
  58     INC          => $includes,
  59     OBJECT       => '$(O_FILES)',
  60 );