From 8a477773f759f22b03274cf902e6ce551027b801 Mon Sep 17 00:00:00 2001 From: Romain Tartiere Date: Sat, 4 Sep 2010 10:47:07 +0000 Subject: [PATCH] Rework OpenSSL usage. - Lookup for crypto functions in libcrypto instead of libssl. Some systems (Mac OS) do not provide libssl, and the other have crypto functions in libcrypto but libssl is dynamically linked against libcrypto: % ldd /usr/lib/libssl.so /usr/lib/libssl.so: libcrypto.so.6 => /lib/libcrypto.so.6 (0x800c00000) libc.so.7 => /lib/libc.so.7 (0x800647000) - Do not explicitly link against libssl (instead of libcrypto BTW): the autotools magic already does this at some point; - Improve error message when headers cannot be found. --- configure.ac | 4 ++-- examples/Makefile.am | 8 ++++---- test/Makefile.am | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/configure.ac b/configure.ac index 4b899dd..a40bfa3 100644 --- a/configure.ac +++ b/configure.ac @@ -53,8 +53,8 @@ AC_DEFINE([_BSD_SOURCE], [1], [Define on BSD to activate all library features]) CFLAGS="$CFLAGS -std=c99" # Crypto functions for MIFARE DesFire support are provided by OpenSSL. -AC_CHECK_LIB([ssl], [DES_ecb_encrypt], [], [AC_MSG_ERROR([Cannot find libssl.])]) -AC_CHECK_HEADER([openssl/des.h], [], [AC_MSG_ERROR([Cannot find libssl headers.])]) +AC_CHECK_LIB([crypto], [DES_ecb_encrypt], [], [AC_MSG_ERROR([Cannot find libcrypto.])]) +AC_CHECK_HEADER([openssl/des.h], [], [AC_MSG_ERROR([Cannot find openssl headers.])]) # Checks for pkg-config modules. LIBNFC_REQUIRED_VERSION=1.3.4 diff --git a/examples/Makefile.am b/examples/Makefile.am index c176d4c..29a3237 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am @@ -11,19 +11,19 @@ bin_PROGRAMS = mifare-classic-format \ mifare-desfire-write-ndef mifare_classic_format_SOURCES = mifare-classic-format.c -mifare_classic_format_LDADD = -lnfc $(top_builddir)/libfreefare/libfreefare.la -lssl +mifare_classic_format_LDADD = -lnfc $(top_builddir)/libfreefare/libfreefare.la mifare_classic_write_ndef_SOURCES = mifare-classic-write-ndef.c mifare_classic_write_ndef_LDADD = -lnfc $(top_builddir)/libfreefare/libfreefare.la mifare_desfire_access_SOURCES = mifare-desfire-access.c -mifare_desfire_access_LDADD = -lnfc $(top_builddir)/libfreefare/libfreefare.la -lssl +mifare_desfire_access_LDADD = -lnfc $(top_builddir)/libfreefare/libfreefare.la mifare_desfire_format_SOURCES = mifare-desfire-format.c -mifare_desfire_format_LDADD = -lnfc $(top_builddir)/libfreefare/libfreefare.la -lssl +mifare_desfire_format_LDADD = -lnfc $(top_builddir)/libfreefare/libfreefare.la mifare_desfire_info_SOURCES = mifare-desfire-info.c -mifare_desfire_info_LDADD = -lnfc $(top_builddir)/libfreefare/libfreefare.la -lssl -lm +mifare_desfire_info_LDADD = -lnfc $(top_builddir)/libfreefare/libfreefare.la -lm mifare_desfire_write_ndef_SOURCES = mifare-desfire-write-ndef.c mifare_desfire_write_ndef_LDADD = -lnfc $(top_builddir)/libfreefare/libfreefare.la diff --git a/test/Makefile.am b/test/Makefile.am index c2646b0..526cfcf 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -53,7 +53,7 @@ test_mifare_desfire_aid_la_SOURCES = test_mifare_desfire_aid.c test_mifare_desfire_aid_la_LIBADD = $(top_builddir)/libfreefare/libfreefare.la test_mifare_desfire_des_la_SOURCES = test_mifare_desfire_des.c -test_mifare_desfire_des_la_LIBADD = $(top_builddir)/libfreefare/libfreefare.la -lssl +test_mifare_desfire_des_la_LIBADD = $(top_builddir)/libfreefare/libfreefare.la test_mifare_desfire_key_la_SOURCES = test_mifare_desfire_key.c test_mifare_desfire_key_la_LIBADD = $(top_builddir)/libfreefare/libfreefare.la