aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am5
-rw-r--r--configure.ac17
-rw-r--r--include/tss2/tss2_tcti.h2
3 files changed, 21 insertions, 3 deletions
diff --git a/Makefile.am b/Makefile.am
index a2e27120..160b37ce 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -278,6 +278,7 @@ nodist_pkgconfig_DATA += lib/tss2-sys.pc
EXTRA_DIST += lib/tss2-sys.pc.in
src_tss2_sys_libtss2_sys_la_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/src/tss2-sys
+src_tss2_sys_libtss2_sys_la_LDFLAGS = $(AM_LDFLAGS) $(LIBSOCKET_LDFLAGS)
src_tss2_sys_libtss2_sys_la_LIBADD = $(libtss2_mu) $(libutil)
src_tss2_sys_libtss2_sys_la_SOURCES = $(TSS2_SYS_SRC)
@@ -296,12 +297,12 @@ src_tss2_esys_libtss2_esys_la_LIBADD = $(libtss2_sys) $(libtss2_mu) \
if ESYS_OSSL
TSS2_ESYS_SRC += src/tss2-esys/esys_crypto_ossl.h src/tss2-esys/esys_crypto_ossl.c
src_tss2_esys_libtss2_esys_la_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/src/tss2-esys -DOSSL
-src_tss2_esys_libtss2_esys_la_LDFLAGS = $(AM_LDFLAGS) -ldl -lssl -lcrypto
+src_tss2_esys_libtss2_esys_la_LDFLAGS = $(AM_LDFLAGS) $(LIBDL_LDFLAGS) $(LIBSOCKET_LDFLAGS) -lssl -lcrypto
else
if ESYS_GCRYPT
TSS2_ESYS_SRC += src/tss2-esys/esys_crypto_gcrypt.h src/tss2-esys/esys_crypto_gcrypt.c
src_tss2_esys_libtss2_esys_la_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/src/tss2-esys
-src_tss2_esys_libtss2_esys_la_LDFLAGS = $(AM_LDFLAGS) -ldl -lgcrypt
+src_tss2_esys_libtss2_esys_la_LDFLAGS = $(AM_LDFLAGS) $(LIBDL_LDFLAGS) $(LIBSOCKET_LDFLAGS) -lgcrypt
endif
endif
src_tss2_esys_libtss2_esys_la_SOURCES = $(TSS2_ESYS_SRC)
diff --git a/configure.ac b/configure.ac
index f88fe38b..9c64b421 100644
--- a/configure.ac
+++ b/configure.ac
@@ -43,6 +43,23 @@ AC_CONFIG_FILES([Makefile Doxyfile])
# propagate configure arguments to distcheck
AC_SUBST([DISTCHECK_CONFIGURE_FLAGS],[$ac_configure_args])
+AC_CANONICAL_HOST
+
+# Check OS and set library and compile flags accordingly
+case "${host_os}" in
+ *nto-qnx*)
+ ADD_COMPILER_FLAG([-D_QNX_SOURCE])
+ LIBDL_LDFLAGS=""
+ LIBSOCKET_LDFLAGS="-lsocket"
+ ;;
+ *)
+ LIBDL_LDFLAGS="-ldl"
+ LIBSOCKET_LDFLAGS=""
+ ;;
+esac
+AC_SUBST([LIBDL_LDFLAGS])
+AC_SUBST([LIBSOCKET_LDFLAGS])
+
AC_ARG_ENABLE([unit],
[AS_HELP_STRING([--enable-unit],
[build cmocka unit tests (default is no)])],
diff --git a/include/tss2/tss2_tcti.h b/include/tss2/tss2_tcti.h
index f70ded38..902c5af3 100644
--- a/include/tss2/tss2_tcti.h
+++ b/include/tss2/tss2_tcti.h
@@ -18,7 +18,7 @@
#error Version mismatch among TSS2 header files.
#endif /* TSS2_API_VERSION_1_2_1_108 */
-#if defined(__linux__) || defined(__unix__) || defined(__APPLE__)
+#if defined(__linux__) || defined(__unix__) || defined(__APPLE__) || defined (__QNXNTO__)
#include <poll.h>
typedef struct pollfd TSS2_TCTI_POLL_HANDLE;
#elif defined(_WIN32)