pidgin/ljfisher-ssl-client-auth

Add support for building against gnutls on Windows
cpw.ljfisher.ssl_client_auth
2011-09-19, Lucas Fisher
d10570a6fe0d
Parents 5fd66216c512
Children dd60bef49220
Add support for building against gnutls on Windows
--- a/libpurple/plugins/ssl/Makefile.mingw Thu Sep 15 00:17:49 2011 +0000
+++ b/libpurple/plugins/ssl/Makefile.mingw Mon Sep 19 01:12:21 2011 +0000
@@ -12,6 +12,7 @@
##
TARGET = ssl
TARGET_NSS = ssl-nss
+TARGET_GNUTLS = ssl-gnutls
NEEDED_DLLS = \
$(NSS_TOP)/lib/freebl3.dll \
@@ -24,7 +25,13 @@
$(NSS_TOP)/lib/smime3.dll \
$(NSS_TOP)/lib/softokn3.dll \
$(NSS_TOP)/lib/sqlite3.dll \
- $(NSS_TOP)/lib/ssl3.dll
+ $(NSS_TOP)/lib/ssl3.dll \
+ $(GNUTLS_TOP)/bin/libgnutls-26.dll \
+ $(GNUTLS_TOP)/bin/libgnutls-extra-26.dll \
+ $(GNUTLS_TOP)/bin/libgcrypt-11.dll \
+ $(GNUTLS_TOP)/bin/libtasn1-3.dll \
+ $(GNUTLS_TOP)/bin/libgpg-error-0.dll \
+
##
## INCLUDE PATHS
@@ -36,19 +43,23 @@
-I$(PURPLE_TOP) \
-I$(PURPLE_TOP)/win32 \
-I$(PIDGIN_TREE_TOP) \
- -I$(NSS_TOP)/include
+ -I$(NSS_TOP)/include \
+ -I$(GNUTLS_TOP)/include
LIB_PATHS += -L$(GTK_TOP)/lib \
-L$(PURPLE_TOP) \
- -L$(NSS_TOP)/lib
+ -L$(NSS_TOP)/lib \
+ -L$(GNUTLS_TOP)/lib
##
## SOURCES, OBJECTS
##
C_SRC = ssl.c
C_SRC_NSS = ssl-nss.c
+C_SRC_GNUTLS = ssl-gnutls.c
OBJECTS = $(C_SRC:%.c=%.o)
OBJECTS_NSS = $(C_SRC_NSS:%.c=%.o)
+OBJECTS_GNUTLS = $(C_SRC_GNUTLS:%.c=%.o)
##
## LIBRARIES
@@ -61,7 +72,10 @@
-lnss3 \
-lnspr4 \
-lssl3 \
- -lsmime3
+ -lsmime3 \
+ -lgnutls \
+ -lgcrypt \
+ -ltasn1
include $(PIDGIN_COMMON_RULES)
@@ -70,14 +84,15 @@
##
.PHONY: all install clean
-all: $(TARGET).dll $(TARGET_NSS).dll
+all: $(TARGET).dll $(TARGET_NSS).dll $(TARGET_GNUTLS).dll
install: all $(PURPLE_INSTALL_PLUGINS_DIR) $(PURPLE_INSTALL_DIR)
cp $(TARGET).dll $(PURPLE_INSTALL_PLUGINS_DIR)
cp $(TARGET_NSS).dll $(PURPLE_INSTALL_PLUGINS_DIR)
+ cp $(TARGET_GNUTLS).dll $(PURPLE_INSTALL_PLUGINS_DIR)
cp $(NEEDED_DLLS) $(PURPLE_INSTALL_DIR)
-$(OBJECTS) $(OBJECTS_NSS): $(PURPLE_CONFIG_H)
+$(OBJECTS) $(OBJECTS_NSS) $(OBJECTS_GNUTLS): $(PURPLE_CONFIG_H)
##
## BUILD DLL
@@ -88,10 +103,13 @@
$(TARGET_NSS).dll: $(PURPLE_DLL) $(OBJECTS_NSS)
$(CC) -shared $(OBJECTS_NSS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $(TARGET_NSS).dll
+$(TARGET_GNUTLS).dll: $(PURPLE_DLL) $(OBJECTS_GNUTLS)
+ $(CC) -shared $(OBJECTS_GNUTLS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $(TARGET_GNUTLS).dll
+
##
## CLEAN RULES
##
clean:
- rm -f $(OBJECTS) $(OBJECTS_NSS) $(TARGET).dll $(TARGET_NSS).dll
+ rm -f $(OBJECTS) $(OBJECTS_NSS) $(OBJECTS_GNUTLS) $(TARGET).dll $(TARGET_NSS).dll $(TARGET_GNUTLS).dll
include $(PIDGIN_COMMON_TARGETS)