mirror of
https://git.proxmox.com/git/fwupd
synced 2025-05-16 23:26:19 +00:00

* Minor changes in Thunderbolt README file * Remove PCI-oriented GUID * Handle Thunderbolt controller in safe-mode * Get progress status updates for Thunderbolt * Fix for Thunderbolt FW version display * Style changes from pull request review
408 lines
12 KiB
Plaintext
408 lines
12 KiB
Plaintext
# Copyright (C) 2015 Richard Hughes <richard@hughsie.com>
|
|
AC_PREREQ(2.63)
|
|
|
|
m4_define([fwupd_major_version], [0])
|
|
m4_define([fwupd_minor_version], [8])
|
|
m4_define([fwupd_micro_version], [0])
|
|
m4_define([fwupd_version],
|
|
[fwupd_major_version.fwupd_minor_version.fwupd_micro_version])
|
|
|
|
AC_INIT([fwupd],[fwupd_version],[https://github.com/hughsie/fwupd])
|
|
AC_CONFIG_SRCDIR(src)
|
|
AM_INIT_AUTOMAKE([1.9 no-dist-gzip dist-xz tar-ustar foreign subdir-objects])
|
|
AC_CONFIG_HEADERS([config.h])
|
|
AC_CONFIG_MACRO_DIR([m4])
|
|
AC_PROG_LIBTOOL
|
|
|
|
m4_ifdef([GOBJECT_INTROSPECTION_CHECK], [GOBJECT_INTROSPECTION_CHECK([0.9.8])])
|
|
AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = xyes)
|
|
GLIB_GSETTINGS
|
|
|
|
# use this in fu-version.h
|
|
FWUPD_MAJOR_VERSION=fwupd_major_version
|
|
FWUPD_MINOR_VERSION=fwupd_minor_version
|
|
FWUPD_MICRO_VERSION=fwupd_micro_version
|
|
AC_SUBST(VERSION)
|
|
AC_SUBST(FWUPD_MAJOR_VERSION)
|
|
AC_SUBST(FWUPD_MINOR_VERSION)
|
|
AC_SUBST(FWUPD_MICRO_VERSION)
|
|
|
|
# libtool versioning - this applies to libfwupd
|
|
#
|
|
# See http://sources.redhat.com/autobook/autobook/autobook_91.html#SEC91 for details
|
|
#
|
|
# increment;
|
|
# CURRENT If the API or ABI interface has changed (reset REVISION to 0)
|
|
# REVISION If the API and ABI remains the same, but bugs are fixed.
|
|
# AGE Don't use.
|
|
LT_CURRENT=1
|
|
LT_REVISION=1
|
|
LT_AGE=0
|
|
AC_SUBST(LT_CURRENT)
|
|
AC_SUBST(LT_REVISION)
|
|
AC_SUBST(LT_AGE)
|
|
|
|
# enable nice build output on automake1.11
|
|
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
|
|
|
|
# check for gtk-doc
|
|
GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
|
|
|
|
AS_ALL_LINGUAS
|
|
AC_PROG_CC_C99
|
|
AC_PROG_INSTALL
|
|
LT_INIT
|
|
AM_PROG_CC_C_O
|
|
IT_PROG_INTLTOOL([0.35.0])
|
|
AC_PATH_PROG(XSLTPROC, xsltproc)
|
|
|
|
WARN_CFLAGS_EXTRA="
|
|
-D_FORTIFY_SOURCE=2
|
|
-fstack-protector-strong
|
|
-Waggregate-return
|
|
-Wunused
|
|
-Warray-bounds
|
|
-Wcast-align
|
|
-Wclobbered
|
|
-Wdeclaration-after-statement
|
|
-Wempty-body
|
|
-Wextra
|
|
-Wformat=2
|
|
-Wformat-nonliteral
|
|
-Wformat-security
|
|
-Wformat-signedness
|
|
-Wignored-qualifiers
|
|
-Wimplicit-function-declaration
|
|
-Winit-self
|
|
-Winline
|
|
-Wmissing-declarations
|
|
-Wmissing-format-attribute
|
|
-Wmissing-include-dirs
|
|
-Wmissing-noreturn
|
|
-Wmissing-parameter-type
|
|
-Wmissing-prototypes
|
|
-Wnested-externs
|
|
-Wno-discarded-qualifiers
|
|
-Wno-missing-field-initializers
|
|
-Wno-strict-aliasing
|
|
-Wno-suggest-attribute=format
|
|
-Wno-unused-parameter
|
|
-Wold-style-definition
|
|
-Woverride-init
|
|
-Wpointer-arith
|
|
-Wredundant-decls
|
|
-Wreturn-type
|
|
-Wshadow
|
|
-Wsign-compare
|
|
-Wstrict-aliasing
|
|
-Wstrict-prototypes
|
|
-Wswitch-default
|
|
-Wtype-limits
|
|
-Wundef
|
|
-Wuninitialized
|
|
-Wunused-but-set-variable
|
|
-Wwrite-strings"
|
|
AX_APPEND_COMPILE_FLAGS([$WARN_CFLAGS_EXTRA], [WARN_CFLAGS])
|
|
AC_SUBST(WARN_CFLAGS)
|
|
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl - gettext stuff
|
|
dnl ---------------------------------------------------------------------------
|
|
AM_GNU_GETTEXT_VERSION([0.17])
|
|
AM_GNU_GETTEXT([external])
|
|
|
|
GETTEXT_PACKAGE=AC_PACKAGE_NAME
|
|
AC_SUBST(GETTEXT_PACKAGE)
|
|
AC_DEFINE(GETTEXT_PACKAGE, "AC_PACKAGE_NAME", [foo])
|
|
|
|
# check for PIE (position independent executable) support
|
|
if test x$with_pic != xno; then
|
|
AX_CHECK_COMPILE_FLAG([-fPIE],
|
|
[AX_CHECK_LINK_FLAG([-fPIE -pie],
|
|
[PIE_CFLAGS="-fPIE" PIE_LDFLAGS="-pie"])])
|
|
AC_SUBST(PIE_CFLAGS)
|
|
AC_SUBST(PIE_LDFLAGS)
|
|
fi
|
|
|
|
# check for full RELRO (relocation read-only) support
|
|
AX_CHECK_LINK_FLAG([-Wl,-z,relro,-z,now],
|
|
[RELRO_LDFLAGS="-Wl,-z,relro,-z,now"])
|
|
AC_SUBST([RELRO_LDFLAGS])
|
|
|
|
# use -lm
|
|
LT_LIB_M
|
|
AC_SUBST(LIBM)
|
|
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl - Check library dependencies
|
|
dnl ---------------------------------------------------------------------------
|
|
PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.45.8 gobject-2.0 gthread-2.0 gio-2.0 >= 2.25.9 gio-unix-2.0 gmodule-2.0)
|
|
PKG_CHECK_MODULES(GUDEV, gudev-1.0)
|
|
PKG_CHECK_MODULES(POLKIT, polkit-gobject-1 >= 0.103)
|
|
PKG_CHECK_MODULES(GCAB, libgcab-1.0)
|
|
PKG_CHECK_MODULES(APPSTREAM_GLIB, appstream-glib >= 0.5.10)
|
|
PKG_CHECK_MODULES(GUSB, gusb >= 0.2.9)
|
|
PKG_CHECK_MODULES(SQLITE, sqlite3)
|
|
PKG_CHECK_MODULES(ARCHIVE, libarchive)
|
|
PKG_CHECK_MODULES(SOUP, libsoup-2.4 >= 2.51.92)
|
|
AC_PATH_PROG(DOCBOOK2MAN, docbook2man)
|
|
if test -z $DOCBOOK2MAN ; then
|
|
AC_MSG_ERROR([docbook2man program not found])
|
|
fi
|
|
|
|
AC_PATH_PROG(GCAB, [gcab], [no])
|
|
if test -z $GCAB ; then
|
|
AC_MSG_ERROR([gcab program not found])
|
|
fi
|
|
|
|
# 0.114 introduced autocleanup functions for its types.
|
|
PKG_CHECK_MODULES([POLKIT_0_114], [polkit-gobject-1 >= 0.114],
|
|
[have_polkit_0_114=yes], [have_polkit_0_114=no])
|
|
AS_IF([test "$have_polkit_0_114" = "yes"], [
|
|
AC_DEFINE([HAVE_POLKIT_0_114],[1],
|
|
[Define as 1 if you have polkit >= 0.114])
|
|
])
|
|
|
|
# ColorHug support
|
|
AC_ARG_ENABLE(colorhug,
|
|
AS_HELP_STRING([--enable-colorhug],
|
|
[Enable ColorHug support [default=auto]]),,
|
|
enable_colorhug=maybe)
|
|
if test x$enable_colorhug != xno; then
|
|
PKG_CHECK_MODULES(COLORHUG, colorhug >= 1.2.12,
|
|
has_colorhug=yes,
|
|
has_colorhug=no)
|
|
fi
|
|
if test x$has_colorhug = xyes; then
|
|
AC_DEFINE(HAVE_COLORHUG,1,[Use ColorHug support])
|
|
else
|
|
has_colorhug=no
|
|
if test "x$enable_colorhug" = "xyes"; then
|
|
AC_MSG_ERROR([colorhug support requested but 'libcolorhug-dev' was not found])
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(HAVE_COLORHUG, test x$has_colorhug = xyes)
|
|
|
|
# Thunderbolt support
|
|
AC_ARG_ENABLE(thunderbolt,
|
|
AS_HELP_STRING([--enable-thunderbolt],
|
|
[Enable Thunderbolt support [default=auto]]),,
|
|
enable_thunderbolt=maybe)
|
|
if test x$enable_thunderbolt != xno; then
|
|
PKG_CHECK_MODULES(THUNDERBOLT, [libtbtfwu >= 1],
|
|
has_thunderbolt=yes,
|
|
has_thunderbolt=no)
|
|
fi
|
|
if test x$has_thunderbolt = xyes; then
|
|
AC_DEFINE(HAVE_THUNDERBOLT,1,[Use Thunderbolt support])
|
|
else
|
|
has_thunderbolt=no
|
|
if test "x$enable_thunderbolt" = "xyes"; then
|
|
AC_MSG_ERROR([thunderbolt support requested but 'libtbtfwu-dev' was not found])
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(HAVE_THUNDERBOLT, test x$has_thunderbolt = xyes)
|
|
|
|
# libelf support
|
|
AC_ARG_ENABLE(libelf,
|
|
AS_HELP_STRING([--enable-libelf],
|
|
[Enable libelf support [default=auto]]),,
|
|
enable_libelf=maybe)
|
|
if test x$enable_libelf != xno; then
|
|
PKG_CHECK_MODULES(ELF, libelf,
|
|
has_libelf=yes,
|
|
has_libelf=no)
|
|
fi
|
|
if test x$has_libelf = xyes; then
|
|
AC_DEFINE(HAVE_LIBELF,1,[Use libelf support])
|
|
else
|
|
has_libelf=no
|
|
if test "x$enable_libelf" = "xyes"; then
|
|
AC_MSG_ERROR([libelf support requested but 'libelf' was not found])
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(HAVE_LIBELF, test x$has_libelf = xyes)
|
|
|
|
|
|
# gpgme support
|
|
AC_MSG_CHECKING([for gpgme])
|
|
if ! test -x "/usr/bin/gpgme-config"; then
|
|
AC_MSG_ERROR([Cannot locate gpgme])
|
|
else
|
|
AC_MSG_RESULT([yes])
|
|
GPGME_CFLAGS="`\"/usr/bin/gpgme-config\" --cflags`"
|
|
GPGME_LIBS="`\"/usr/bin/gpgme-config\" --libs`"
|
|
GPGME_CFLAGS+=" `\"/usr/bin/gpg-error-config\" --cflags`"
|
|
GPGME_LIBS+=" `\"/usr/bin/gpg-error-config\" --libs`"
|
|
AC_SUBST([GPGME_CFLAGS])
|
|
AC_SUBST([GPGME_LIBS])
|
|
fi
|
|
|
|
# UEFI support
|
|
AC_ARG_ENABLE(uefi,
|
|
AS_HELP_STRING([--enable-uefi],
|
|
[Enable UEFI support [default=auto]]),,
|
|
enable_uefi=maybe)
|
|
if test x$enable_uefi != xno; then
|
|
PKG_CHECK_MODULES(UEFI, fwup >= 0.5,
|
|
has_fwup=yes,
|
|
has_fwup=no)
|
|
fi
|
|
if test x$has_fwup = xyes; then
|
|
AC_DEFINE(HAVE_UEFI,1,[Use UEFI support])
|
|
# check for ability to unlock
|
|
PKG_CHECK_MODULES(UEFI_UNLOCK, fwup >= 5,
|
|
has_uefi_unlock=yes,
|
|
has_uefi_unlock=no)
|
|
if test x$has_uefi_unlock = xyes; then
|
|
AC_DEFINE(HAVE_UEFI_UNLOCK,1,[Use UEFI unlock support])
|
|
fi
|
|
else
|
|
has_fwup=no
|
|
if test "x$enable_uefi" = "xyes"; then
|
|
AC_MSG_ERROR([UEFI support requested but 'libfwup-dev' was not found])
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(HAVE_UEFI, test x$has_fwup = xyes)
|
|
|
|
# Dell Non ESRT capsule support
|
|
AC_ARG_ENABLE(dell,
|
|
AS_HELP_STRING([--enable-dell],
|
|
[Enable Dell non-ESRT capsule support]),,
|
|
enable_dell=maybe)
|
|
if test x$enable_dell != xno; then
|
|
PKG_CHECK_MODULES(LIBSMBIOS, libsmbios_c >= 2.3.0,
|
|
has_libsmbios=yes,
|
|
has_libsmbios=no)
|
|
PKG_CHECK_MODULES(EFIVAR, efivar,
|
|
has_efivar=yes,
|
|
has_efivar=no)
|
|
fi
|
|
if test x$has_libsmbios = xyes &&
|
|
test x$has_efivar = xyes &&
|
|
test x$has_fwup = xyes; then
|
|
AC_DEFINE(HAVE_DELL,1,[Use Dell non-ESRT capsule support])
|
|
has_dell=yes
|
|
# check for ability to change GUID
|
|
PKG_CHECK_MODULES(UEFI_GUID, fwup >= 5,
|
|
has_uefi_guid=yes,
|
|
has_uefi_guid=no)
|
|
if test x$has_uefi_guid = xyes; then
|
|
AC_DEFINE(HAVE_UEFI_GUID,1,[Use UEFI GUID override])
|
|
fi
|
|
else
|
|
has_dell=no
|
|
if test "x$enable_dell" = "xyes"; then
|
|
if test x$enable_uefi = xno; then
|
|
AC_MSG_ERROR([Dell support requested but UEFI support explicitly disabled])
|
|
fi
|
|
if test x$has_libsmbios = xno; then
|
|
AC_MSG_ERROR([Dell support requested but 'libsmbios-dev' was not found])
|
|
fi
|
|
if test x$has_efivar = xno; then
|
|
AC_MSG_ERROR([Dell support requested but 'libefivar-dev' was not found])
|
|
fi
|
|
if test x$has_fwup = xno; then
|
|
AC_MSG_ERROR([Dell support requested but 'libfwup-dev' was not found])
|
|
fi
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(HAVE_DELL, test x$has_dell = xyes)
|
|
|
|
# Synaptics mst support
|
|
AC_ARG_ENABLE(synaptics,
|
|
AS_HELP_STRING([--enable-synaptics],
|
|
[Enable Synaptics MST hub support]),,
|
|
enable_synaptics=maybe)
|
|
if test x$enable_synaptics != xno &&
|
|
test x$has_libsmbios = xyes; then
|
|
AC_DEFINE(HAVE_SYNAPTICS,1,[Use Synaptics MST hub support])
|
|
has_synaptics=yes
|
|
else
|
|
has_synaptics=no
|
|
if test "x$enable_synaptics" = "xyes"; then
|
|
if test x$has_libsmbios = xno; then
|
|
AC_MSG_ERROR([Synaptics MST support requested but 'libsmbios-dev' was not found])
|
|
fi
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(HAVE_SYNAPTICS, test x$has_synaptics = xyes)
|
|
|
|
# systemd support
|
|
AC_ARG_WITH([systemdunitdir],
|
|
AS_HELP_STRING([--with-systemdunitdir=DIR], [Directory for systemd service files]),
|
|
[],
|
|
[with_systemdunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
|
|
AC_SUBST([systemdunitdir], [$with_systemdunitdir])
|
|
|
|
# udev rules
|
|
AC_ARG_WITH([udevrulesdir],
|
|
AS_HELP_STRING([--with-udevrulesdir=DIR], [Directory for udev rules files]),
|
|
[],
|
|
[with_udevrulesdir=$($PKG_CONFIG --variable=udevdir udev)/rules.d])
|
|
AC_SUBST([udevrulesdir], [$with_udevrulesdir])
|
|
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl - Makefiles, etc.
|
|
dnl ---------------------------------------------------------------------------
|
|
AC_CONFIG_FILES([
|
|
Makefile
|
|
libdfu/Makefile
|
|
libdfu/dfu.pc
|
|
libdfu/tests/Makefile
|
|
libfwupd/fwupd-version.h
|
|
libfwupd/fwupd.pc
|
|
libfwupd/Makefile
|
|
data/Makefile
|
|
data/pki/Makefile
|
|
data/tests/Makefile
|
|
data/tests/colorhug/Makefile
|
|
docs/Makefile
|
|
docs/libdfu/Makefile
|
|
docs/libfwupd/Makefile
|
|
docs/man/Makefile
|
|
docs/version.xml
|
|
policy/Makefile
|
|
po/Makefile.in
|
|
src/Makefile
|
|
plugins/Makefile
|
|
plugins/altos/Makefile
|
|
plugins/colorhug/Makefile
|
|
plugins/dell/Makefile
|
|
plugins/dfu/Makefile
|
|
plugins/ebitdo/Makefile
|
|
plugins/raspberrypi/Makefile
|
|
plugins/raspberrypi/rpiupdate/Makefile
|
|
plugins/steelseries/Makefile
|
|
plugins/synapticsmst/Makefile
|
|
plugins/test/Makefile
|
|
plugins/thunderbolt/Makefile
|
|
plugins/udev/Makefile
|
|
plugins/uefi/Makefile
|
|
plugins/unifying/Makefile
|
|
plugins/upower/Makefile
|
|
plugins/usb/Makefile
|
|
])
|
|
AC_OUTPUT
|
|
|
|
dnl ==========================================================================
|
|
echo "
|
|
fwupd $VERSION
|
|
=================
|
|
|
|
prefix: ${prefix}
|
|
datadir: ${datadir}
|
|
compiler: ${CC}
|
|
cflags: ${CFLAGS}
|
|
cppflags: ${CPPFLAGS}
|
|
|
|
optional plugins
|
|
------------------
|
|
Colorhug: $has_colorhug
|
|
libelf: $has_libelf
|
|
UEFI: $has_fwup
|
|
Dell: $has_dell
|
|
Synaptics MST: $has_synaptics
|
|
Thunderbolt: $has_thunderbolt
|
|
"
|