Branch: master

2b7151f4 2015-08-29 01:12:22 Timothy Pearson
Fix FTBFS from prior commit due to missing files
M CMakeLists.txt
M tdecore/tdehw/tdecryptographiccarddevice.cpp
M tdecore/tdehw/tdecryptographiccarddevice_private.h
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b4bd003..f9465a9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -97,6 +97,7 @@
 OPTION( WITH_NETWORK_MANAGER_BACKEND "Enable network-manager support" OFF )
 OPTION( WITH_SUDO_TDESU_BACKEND "Use sudo as backend for tdesu (default is su)" OFF )
 OPTION( WITH_OLD_XDG_STD "Use the pre R14.0.0 XDG standard where both TDE and KDE are recognized in desktop files" OFF )
+option( WITH_PCSC "Enable PC/SC SmartCard support" ${WITH_ALL_OPTIONS} )
 OPTION( WITH_LZMA "Enable support for LZMA/XZ" ${WITH_ALL_OPTIONS} )
 OPTION( WITH_LIBBFD "Enable pretty backtraces with libbfd from GNU binutils" OFF )
 OPTION( WITH_XRANDR "Build the tderandr library" ON )
@@ -626,6 +627,25 @@
 endif( WITH_LZMA )
 
 
+##### check for pcsc ############################
+
+if( WITH_PCSC )
+  find_path( PCSCLITE_INCLUDE_DIR pcsclite.h
+    HINTS /usr/include/PCSC )
+  find_library( PCSCLITE_LIBRARY NAMES pcsclite libpcsclite PCSC )
+  if( PCSCLITE_LIBRARY AND PCSCLITE_INCLUDE_DIR )
+    message( STATUS "Found PCSCLITE: ${PCSCLITE_LIBRARY}" )
+    set( PCSCLITE_FOUND 1 )
+    set( PCSCLITE_INCLUDE_DIRS ${PCSCLITE_INCLUDE_DIR} )
+    set( PCSCLITE_LIBRARIES ${PCSCLITE_LIBRARY} )
+  endif( PCSCLITE_LIBRARY AND PCSCLITE_INCLUDE_DIR )
+  if( NOT PCSCLITE_FOUND )
+    tde_message_fatal( "PCSCLITE is requested, but not found on your system" )
+  endif( NOT PCSCLITE_FOUND )
+  set( HAVE_PCSC_SUPPORT 1 )
+endif( WITH_PCSC )
+
+
 ##### check for jpeg ############################
 
 find_package( JPEG )
diff --git a/tdecore/tdehw/tdecryptographiccarddevice.cpp b/tdecore/tdehw/tdecryptographiccarddevice.cpp
index 9c827a1..7c8e3c7 100644
--- a/tdecore/tdehw/tdecryptographiccarddevice.cpp
+++ b/tdecore/tdehw/tdecryptographiccarddevice.cpp
@@ -38,6 +38,7 @@
 /* FIXME
  * This is incomplete
  */
+#ifdef WITH_PCSC
 static TQString pcsc_error_code_to_string(long errcode) {
 	if (errcode == SCARD_W_UNPOWERED_CARD) {
 		return i18n("card not powered on");
@@ -49,6 +50,7 @@
 		return TQString::null;
 	}
 }
+#endif
 
 CryptoCardDeviceWatcher::CryptoCardDeviceWatcher() {
 	m_readerStates = NULL;
@@ -170,6 +172,7 @@
 }
 
 TQString CryptoCardDeviceWatcher::getCardATR(TQString readerName) {
+#ifdef WITH_PCSC
 	unsigned int i;
 	long ret;
 	TQString atr_formatted;
@@ -205,6 +208,7 @@
 	}
 
 	return atr_formatted;
+#endif
 }
 
 TDECryptographicCardDevice::TDECryptographicCardDevice(TDEGenericDeviceType::TDEGenericDeviceType dt, TQString dn) : TDEGenericDevice(dt, dn),
diff --git a/tdecore/tdehw/tdecryptographiccarddevice_private.h b/tdecore/tdehw/tdecryptographiccarddevice_private.h
index a82fe1a..6ee4cd3 100644
--- a/tdecore/tdehw/tdecryptographiccarddevice_private.h
+++ b/tdecore/tdehw/tdecryptographiccarddevice_private.h
@@ -52,8 +52,10 @@
 
 	private:
 		bool m_terminationRequested;
+#ifdef WITH_PCSC
 		SCARDCONTEXT m_cardContext;
 		SCARD_READERSTATE *m_readerStates;
+#endif
 };
 
-#endif // _TDECRYPTOGRAPHICCARDDEVICE_PRIVATE_H
\ No newline at end of file
+#endif // _TDECRYPTOGRAPHICCARDDEVICE_PRIVATE_H