/* config.h.  Generated by configure.  */
/* config.h.in.  Generated from configure.in by autoheader.  */

/* whether popt prototype takes a const char ** */
#define CONST_POPT 1

/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1

/* Define to 1 if you have the `bfd' library (-lbfd). */
#define HAVE_LIBBFD 1

/* Define to 1 if you have the `iberty' library (-liberty). */
#define HAVE_LIBIBERTY 1

/* Define to 1 if you have the <libiberty.h> header file. */
/* #undef HAVE_LIBIBERTY_H */

/* Define to 1 if you have the `popt' library (-lpopt). */
#define HAVE_LIBPOPT 1

/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1

/* Define to 1 if you have the `perfmonctl' function. */
/* #undef HAVE_PERFMONCTL */

/* Define to 1 if you have the `sched_setaffinity' function. */
/* #undef HAVE_SCHED_SETAFFINITY */

/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1

/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1

/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1

/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1

/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1

/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1

/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1

/* Define to 1 if you have the `xcalloc' function. */
/* #undef HAVE_XCALLOC */

/* Define to 1 if you have the `xmemdup' function. */
/* #undef HAVE_XMEMDUP */

/* whether malloc attribute is understood */
#define MALLOC_ATTRIBUTE_OK 1

/* whether to build ABI tools */
#define OPROF_ABI 1

/* package binary directory */
#define OP_BINDIR "/usr/local/bin/"

/* package data directory */
#define OP_DATADIR "/usr/local/share/oprofile/"

/* Name of package */
#define PACKAGE "oprofile"

/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT ""

/* Define to the full name of this package. */
#define PACKAGE_NAME ""

/* Define to the full name and version of this package. */
#define PACKAGE_STRING ""

/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME ""

/* Define to the version of this package. */
#define PACKAGE_VERSION ""

/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1

/* Synthesize special symbols when needed */
/* #undef SYNTHESIZE_SYMBOLS */

/* whether bfd.h defines bool values */
/* #undef TRUE_FALSE_ALREADY_DEFINED */

/* Version number of package */
#define VERSION "0.9.1"

/* Define to 1 if the X Window System is missing or not being used. */
/* #undef X_DISPLAY_MISSING */
