2024-11-30 14:34:57 +00:00
AC_INIT([libcpuid CPU Identification library], [0.7.1], [libcpuid-devel@lists.sourceforge.net], [libcpuid])
2008-11-06 18:17:20 +00:00
AC_CONFIG_SRCDIR([libcpuid/libcpuid.h])
2010-04-20 10:18:53 +00:00
AC_CONFIG_HEADERS([config.h])
2014-06-25 10:48:32 +00:00
AC_CONFIG_MACRO_DIR([m4])
2010-04-20 10:18:53 +00:00
AM_INIT_AUTOMAKE([-Wall dist-bzip2 dist-zip foreign])
2016-06-04 18:36:58 +00:00
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
2008-11-06 18:17:20 +00:00
dnl Versioning scheme shamelessly copied from libexif.
2009-07-06 18:33:56 +00:00
dnl Short walkthrough. C means CURRENT, A mean AGE, R means REVISION
dnl 1) When you make a change that breaks binary compatibility, increment CURRENT, reset REVISION to 0 and:
2016-06-05 10:57:06 +00:00
dnl 1.1) If the change doesn't remove or change interfaces, increment AGE, otherwise reset to 0.
2009-07-06 18:33:56 +00:00
dnl 2) When you make just a source change that doesn't break binary compatibility, increment REVISION.
dnl When you make a change that adds features, increment AGE, and set REVISION to 0
2008-11-06 18:17:20 +00:00
dnl C:A:R
dnl 10:0:0 Version 0.1.0
2009-07-06 18:33:56 +00:00
dnl 11:0:0 Version 0.1.1: four more fields to cpu_raw_data_t
2010-04-20 09:01:07 +00:00
dnl 11:0:1 Version 0.1.2: added cpu_msr* functions
dnl 11:0:2 Version 0.1.3: added cpu_clock_by_ic() function
2011-01-14 05:28:31 +00:00
dnl 11:0:3 Version 0.1.4: just an identification change, to reflect the detection table upgrades
2011-10-11 16:38:41 +00:00
dnl 12:1:0 Version 0.2.0: two more fields to cpu_id_t
2014-06-25 11:13:00 +00:00
dnl 12:1:1 Version 0.2.1: more processors support
2015-11-03 23:17:52 +00:00
dnl 12:1:2 Version 0.2.2: more processors support, *BSD/Solaris support, updates to MSR stuff
2016-06-05 10:57:06 +00:00
dnl 13:0:0 Version 0.3.0: increment max Intel leaf 04 entries to 8
2016-09-30 19:03:57 +00:00
dnl 14:0:0 Version 0.4.0: add one more field per cpu_raw_data_t and cpu_id_t
2019-02-05 20:41:27 +00:00
dnl 14:0:1 Version 0.4.1: DB updates, and a lot of rdmsr improvements
2020-05-25 20:33:26 +00:00
dnl 15:0:0 Version 0.5.0: add one more field per cpu_raw_data_t (amd_fn8000001dh) and cpu_id_t l1_{data,instruction}_{assoc,cacheline}
2021-03-21 10:41:56 +00:00
dnl 15:0:1 Version 0.5.1: DB updates
2022-09-23 17:55:44 +00:00
dnl 16:0:0 Version 0.6.0: add more fields in cpu_id_t (cache instances), support for hybrid CPUs, DB updates
2022-10-23 14:51:00 +00:00
dnl 16:0:1 Version 0.6.1: DB updates, fixes
2022-11-11 18:33:06 +00:00
dnl 16:0:2 Version 0.6.2: DB updates, fix for single-core CPUs
2023-04-02 09:50:02 +00:00
dnl 16:0:3 Version 0.6.3: DB updates, fixes, restore CPU affinity, rename {set,get}_error() to cpuid_{set,get}_error()
2023-10-08 15:12:01 +00:00
dnl 16:0:4 Version 0.6.4: DB updates, fixes, support for Centaur CPUs (VIA and Zhaoxin)
2024-04-28 10:20:48 +00:00
dnl 16:0:5 Version 0.6.5: DB updates, various improvements, detection of LP E-Cores for Intel CPUs
2024-08-26 09:05:12 +00:00
dnl 17:0:0 Version 0.7.0: DB updates, fixes, various improvements, add cpu_clock_by_tsc() function, add support for ARM CPUs, add cpu_feature_level_t enumerated values, add more fields in cpu_raw_data_t (amd_fn80000026h, arm_*)
2024-11-30 14:34:57 +00:00
dnl 17:0:1 Version 0.7.1: DB updates, fixes
2024-08-26 09:05:12 +00:00
LIBCPUID_CURRENT=17
2016-06-05 10:57:06 +00:00
LIBCPUID_AGE=0
2024-11-30 14:34:57 +00:00
LIBCPUID_REVISION=1
2008-11-06 18:17:20 +00:00
AC_SUBST([LIBCPUID_AGE])
AC_SUBST([LIBCPUID_REVISION])
AC_SUBST([LIBCPUID_CURRENT])
AC_SUBST([LIBCPUID_CURRENT_MIN],[`expr $LIBCPUID_CURRENT - $LIBCPUID_AGE`])
LIBCPUID_VERSION_INFO="$LIBCPUID_CURRENT:$LIBCPUID_REVISION:$LIBCPUID_AGE"
AC_SUBST([LIBCPUID_VERSION_INFO])
AC_PROG_CC
2014-08-18 15:17:24 +00:00
m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
2008-11-06 18:17:20 +00:00
AC_C_CONST
2017-10-23 13:59:57 +00:00
LT_INIT
2008-11-06 18:17:20 +00:00
AM_CPPFLAGS="$CPPFLAGS"
AC_CHECK_HEADERS([stdint.h])
2021-07-15 22:55:36 +00:00
AC_CHECK_FUNCS([popcount64])
2016-06-05 10:09:59 +00:00
AC_CHECK_PROGS([DOXYGEN], [doxygen])
AM_CONDITIONAL([HAVE_DOXYGEN], [test -n "$DOXYGEN"])
2008-11-06 18:17:20 +00:00
AM_LDFLAGS="$LDFLAGS"
if test "x$GCC" = "xyes"; then
AM_CFLAGS="$AM_CFLAGS -ansi -pedantic-error"
AM_CXXFLAGS="$AM_CXXFLAGS -ansi -pedantic-error"
AM_CPPFLAGS="$AM_CPPFLAGS -g -Wall -Wmissing-declarations -Wmissing-prototypes"
AM_LDFLAGS="$AM_LDFLAGS -g -Wall"
fi
2022-01-14 08:35:10 +00:00
AC_CANONICAL_HOST
build_windows=no
2023-05-19 04:57:27 +00:00
build_netbsd=no
build_dragonflybsd=no
2024-06-28 18:41:00 +00:00
build_freebsd=no
build_linux=no
2022-01-14 08:35:10 +00:00
case "${host_os}" in
cygwin*|mingw*)
build_windows=yes
;;
2023-05-19 04:57:27 +00:00
netbsd*)
build_netbsd=yes
;;
dragonfly*)
build_dragonflybsd=yes
;;
2024-06-28 18:41:00 +00:00
freebsd*)
build_freebsd=yes
;;
linux*)
build_linux=yes
;;
2022-01-14 08:35:10 +00:00
esac
2022-09-15 16:37:08 +00:00
if test "$build_windows" = "no"; then
AM_CPPFLAGS="$AM_CPPFLAGS -D_GNU_SOURCE"
fi
2023-05-19 04:57:27 +00:00
if test "$build_netbsd" = "yes" || test "$build_dragonflybsd" = "yes"; then
AM_LDFLAGS="$AM_LDFLAGS -pthread"
fi
2024-06-28 18:41:00 +00:00
if test "$build_linux" = "yes"; then
AC_CHECK_FUNCS([getauxval])
fi
if test "$build_freebsd" = "yes"; then
AC_CHECK_FUNCS([elf_aux_info])
fi
2022-01-14 08:35:10 +00:00
AM_CONDITIONAL([WINDOWS], [test "$build_windows" = "yes"])
2008-11-06 18:17:20 +00:00
AC_SUBST(AM_CPPFLAGS)
AC_SUBST(AM_LDFLAGS)
AC_CONFIG_FILES([
Makefile
libcpuid.pc
libcpuid/Makefile
2008-11-10 16:04:29 +00:00
cpuid_tool/Makefile
2009-01-13 18:33:28 +00:00
tests/Makefile
2016-05-22 20:20:16 +00:00
libcpuid/Doxyfile
2008-11-06 18:17:20 +00:00
])
AC_OUTPUT