Add first user layer support.

Exposes user layer library which will be used by both
apphandler and netipmid for RAKP. Password is decrypted
from the special file which is used by pam-ipmi.

Change-Id: Ia6b99d4359a03843f19cd0e18f7269ad2e3cdb44
Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
diff --git a/Makefile.am b/Makefile.am
index a5dfdab..7be3bc9 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -39,6 +39,7 @@
 	$(LIBADD_DLOPEN) \
 	$(PHOSPHOR_LOGGING_LIBS) \
 	$(PHOSPHOR_DBUS_INTERFACES_LIBS) \
+	$(CRYPTO_LIBS) \
 	-lstdc++fs \
 	-pthread \
 	-export-dynamic
@@ -61,8 +62,20 @@
 channel-gen.cpp:
 	$(AM_V_GEN)@CHANNELGEN@ -o $(top_builddir) generate-cpp
 
+libuserlayerdir = ${libdir}
+libuserlayer_LTLIBRARIES = libuserlayer.la
+libuserlayer_la_SOURCES = \
+        user_channel/user_layer.cpp \
+        user_channel/passwd_mgr.cpp
+
+libuserlayer_la_LDFLAGS = $(SYSTEMD_LIBS) $(libmapper_LIBS) \
+	$(PHOSPHOR_LOGGING_LIBS) $(PHOSPHOR_DBUS_INTERFACES_LIBS) -lstdc++fs \
+	$(LIBPAM) $(LIBCRYPT) -lpam_misc -lssl -version-info 0:0:0 -shared
+libuserlayer_la_CXXFLAGS = $(SYSTEMD_CFLAGS) $(libmapper_CFLAGS) \
+	$(PHOSPHOR_LOGGING_CFLAGS) $(PHOSPHOR_DBUS_INTERFACES_CFLAGS)
 libipmi20dir = ${libdir}/ipmid-providers
 libipmi20_LTLIBRARIES = libipmi20.la
+libipmi20_la_DEPENDENCIES = libuserlayer.la
 libipmi20_la_SOURCES = \
 	net.cpp \
 	app/channel.cpp \
@@ -95,7 +108,7 @@
 
 libipmi20_la_LDFLAGS = $(SYSTEMD_LIBS) $(libmapper_LIBS) \
 	$(PHOSPHOR_LOGGING_LIBS) $(PHOSPHOR_DBUS_INTERFACES_LIBS) -lstdc++fs \
-	-version-info 0:0:0 -shared
+	-luserlayer -version-info 0:0:0 -shared
 libipmi20_la_CXXFLAGS = $(SYSTEMD_CFLAGS) $(libmapper_CFLAGS) \
 	$(BOOST_CXX) $(PHOSPHOR_LOGGING_CFLAGS) \
 	$(PHOSPHOR_DBUS_INTERFACES_CFLAGS) \
@@ -122,6 +135,7 @@
 
 nobase_include_HEADERS = \
 	host-ipmid/iana.hpp \
+	user_channel/user_layer.hpp \
 	host-ipmid/ipmid-api.h \
 	host-ipmid/ipmid-host-cmd.hpp \
 	host-ipmid/ipmid-host-cmd-utils.hpp \