diff --git a/Makefile.am b/Makefile.am index 7cedca9..099c40f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,6 +1,9 @@ # Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. # SPDX-License-Identifier: BSD-3-Clause +QMIF_CPPFLAGS = @QMIF_CFLAGS@ +QMIF_LDADD = @QMIF_LIBS@ + AM_CFLAGS = -Wundef \ -Wstrict-prototypes \ -Wno-trigraphs \ @@ -8,19 +11,16 @@ AM_CFLAGS = -Wundef \ -fno-inline \ -fno-short-enums \ -fpic \ - $(QMIF_CFLAGS) \ + $(QMIF_CPPFLAGS) \ -I. h_sources = ./time_service_v01.h \ ./localdefs.h \ ./time_genoff_i.h -requiredlibs = $(QMIF_LIBS) -lqcci -lqcsi -lqencdec -lqmi_common +requiredlibs = $(QMIF_LDADD) bin_PROGRAMS = time_daemon time_daemon_SOURCES = time_daemon.c time_service_v01.c time_daemon_LDADD = $(requiredlibs) time_daemon_LDFLAGS = -lpthread @GLIB_LIBS@ - -# Systemd service file installation -systemdsystemunit_DATA = time-daemon.service diff --git a/build_script.sh b/build_script.sh index 7a92f12..d36d5b0 100755 --- a/build_script.sh +++ b/build_script.sh @@ -45,7 +45,12 @@ echo "Running autoreconf.." autoreconf --install || { echo "Autoreconf failed"; exit 1; } echo "Running configure.." -./configure --host=$HOST_ARCH --with-qmif-prefix=$QMI_PREFIX --prefix=$(pwd)/install || { echo "configure failed"; exit 1; } +if [ -n "$QMI_PREFIX" ]; then + export PKG_CONFIG_PATH="${QMI_PREFIX}/lib/pkgconfig:${PKG_CONFIG_PATH}" + ./configure --host=$HOST_ARCH --with-qmi-prefix=$QMI_PREFIX --prefix=$(pwd)/install || { echo "configure failed"; exit 1; } +else + ./configure --host=$HOST_ARCH --prefix=$(pwd)/install || { echo "configure failed"; exit 1; } +fi echo "Running make.." make || { echo "make failed"; exit 1; } diff --git a/configure.ac b/configure.ac index 74e7801..0f244f6 100644 --- a/configure.ac +++ b/configure.ac @@ -27,11 +27,16 @@ AC_PROG_MAKE_SET PKG_PROG_PKG_CONFIG # Checks for libraries with user. -AC_ARG_WITH([qmif-prefix], - [AS_HELP_STRING([--with-qmif-prefix=PATH], [Path to qmi-framework installation])], - [QMIF=$withval], [QMIF=/usr/local]) -QMIF_CFLAGS="-I ${QMIF}/include/qmi_framework" -QMIF_LIBS="-L${QMIF}/lib/" +AC_ARG_WITH([qmi-prefix], + [AS_HELP_STRING([--with-qmi-prefix=PATH], + [Fallback path to qmi-framework if pkg-config cannot find it])], + [QMIF_PREFIX=$withval], [QMIF_PREFIX=]) +PKG_CHECK_MODULES([QMIF], [qmi-framework], + [QMIF_CFLAGS="-I`$PKG_CONFIG --variable=prefix qmi-framework`/include/qmi_framework"], + [AS_IF([test -n "$QMIF_PREFIX"], + [QMIF_CFLAGS="-I${QMIF_PREFIX}/include/qmi_framework" + QMIF_LIBS="-L${QMIF_PREFIX}/lib -lqcci -lqcsi -lqencdec -lqmi_common"], + [AC_MSG_ERROR([qmi-framework not found via pkg-config and --with-qmi-prefix not specified])])]) AC_SUBST([QMIF_CFLAGS]) AC_SUBST([QMIF_LIBS]) CFLAGS="$CFLAGS -DSYSLOG_ENABLE" @@ -41,14 +46,6 @@ PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.16, dummy=yes, AC_MSG_ERROR(GLib >= 2.16 i GLIB_LIBS="$GLIB_LIBS $GTHREAD_LIBS" AC_SUBST(GLIB_LIBS) -# Systemd service file installation directory (no systemd dependency required) -AC_ARG_WITH([systemdsystemunitdir], - [AS_HELP_STRING([--with-systemdsystemunitdir=DIR], - [Directory for systemd service files (default: ${prefix}/lib/systemd/system)])], - [systemdsystemunitdir=$withval], - [systemdsystemunitdir='${prefix}/lib/systemd/system']) - -AC_SUBST([systemdsystemunitdir]) AC_CONFIG_FILES([ \ Makefile \