diff src/protocols/zephyr/Makefile.mingw @ 10867:5727afad0fb8

[gaim-migrate @ 12553] sf patch #991208, from Arun A Tharuvai "Here's a patch, against current CVS, to build and compile zephyr on Windows, with, or without Kerberos 4 Authentication. In order to be built (and run) with Kerberos 4 authentication, the Kerberos for Windows SDK (version 2.6.3 is the current version) (licensed under the MIT license) and runtimes, both available from http://web.mit.edu/kerberos/www/dist/index.html#KFW2.6.3 Also, USE_KRB4 should be set to true in the attached Makefile.mingw As on the UNIX side, an external 'zhm' binary needs to run for zephyr to work. Source and a win32 executable (using code from gaim's libzephyr, and also MIT's zephyr distribution), can be found at http://web.mit.edu/aatharuv/www/zhm-windows.html" I decided not to make zephyr compiled by default in Windows. If you want to compile it, I think you you can modify the root Makefile.mingw or cd to the src/protocols/zephyr/ directory and run "make -f Makefile.mingw" using make from mingw committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Mon, 25 Apr 2005 01:53:01 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/protocols/zephyr/Makefile.mingw	Mon Apr 25 01:53:01 2005 +0000
@@ -0,0 +1,204 @@
+#
+# Makefile.mingw
+#
+# Description: Makefile for win32 (mingw) version of libzephyr
+#
+
+#
+# PATHS
+#
+ 
+INCLUDE_DIR :=		.
+GTK_TOP :=		../../../../win32-dev/gtk_2_0
+GAIM_TOP :=		../../..
+ZEPHYR_ROOT :=		.
+KRB4_TOP :=             ../../../../win32-dev/kfw-2.6.3-final.fixed
+GAIM_INSTALL_DIR :=	$(GAIM_TOP)/win32-install-dir
+
+USE_KRB4 := false
+
+##
+## VARIABLE DEFINITIONS
+##
+
+TARGET = libzephyr
+
+# Compiler Options
+
+CFLAGS =
+
+DEFINES =
+
+# Static or Plugin... 
+ifeq ($(TYPE),STATIC)
+  DEFINES += -DSTATIC
+  DLL_INSTALL_DIR =	$(GAIM_INSTALL_DIR)
+else
+ifeq ($(TYPE),PLUGIN)
+  DLL_INSTALL_DIR =	$(GAIM_INSTALL_DIR)/plugins
+endif
+endif
+
+DEFINES += -DWIN32 -DKRB5_SYSTYPES__ 
+
+ifeq ($(USE_KRB4),true)
+  DEFINES += -DZEPHYR_USES_KERBEROS
+endif
+
+##
+## INCLUDE  MAKEFILES
+##
+
+include $(GAIM_TOP)/src/win32/global.mak
+
+##
+## INCLUDE PATHS
+##
+
+INCLUDE_PATHS +=	-I$(ZEPHYR_ROOT) \
+			-I$(GTK_TOP)/include \
+			-I$(GTK_TOP)/include/gtk-2.0 \
+			-I$(GTK_TOP)/include/glib-2.0 \
+			-I$(GTK_TOP)/include/pango-1.0 \
+			-I$(GTK_TOP)/include/atk-1.0 \
+			-I$(GTK_TOP)/lib/glib-2.0/include \
+			-I$(GTK_TOP)/lib/gtk-2.0/include \
+			-I$(GAIM_TOP)/src \
+			-I$(GAIM_TOP)/src/win32 \
+			-I$(GAIM_TOP)
+
+ifeq ($(USE_KRB4), true)
+   INCLUDE_PATHS += -I$(KRB4_TOP)/inc/krb4
+endif
+
+LIB_PATHS =		-L$(GTK_TOP)/lib \
+			-L$(GAIM_TOP)/src
+
+ifeq ($(USE_KRB4), true)
+  LIB_PATHS+=-L$(KRB4_TOP)/lib/i386
+endif
+
+##
+##  SOURCES, OBJECTS
+##
+
+C_SRC =			ZAsyncLocate.c \
+			ZCkAuth.c \
+			ZCkIfNot.c \
+			ZClosePort.c \
+			ZCmpUID.c \
+			ZCmpUIDP.c \
+ZFlsLocs.c \
+ZFlsSubs.c \
+ZFmtAuth.c \
+ZFmtList.c \
+ZFmtNotice.c \
+ZFmtRaw.c \
+ZFmtRawLst.c \
+ZFmtSmRLst.c \
+ZFmtSmRaw.c \
+ZFreeNot.c \
+ZGetLocs.c \
+ZGetSender.c \
+ZGetSubs.c \
+ZGetWGPort.c \
+ZIfNotice.c \
+ZInit.c \
+ZLocations.c \
+ZMakeAscii.c \
+ZMkAuth.c \
+ZNewLocU.c \
+ZOpenPort.c \
+ZParseNot.c \
+ZPeekIfNot.c \
+ZPeekNot.c \
+ZPeekPkt.c \
+ZPending.c \
+ZReadAscii.c \
+ZRecvNot.c \
+ZRecvPkt.c \
+ZRetSubs.c \
+ZSendList.c \
+ZSendNot.c \
+ZSendPkt.c \
+ZSendRLst.c \
+ZSendRaw.c \
+ZSetDest.c \
+ZSetFD.c \
+ZSetSrv.c \
+ZSubs.c \
+ZVariables.c \
+ZWait4Not.c \
+ZhmStat.c \
+Zinternal.c \
+error_message.c \
+et_name.c \
+init_et.c \
+zephyr_err.c \
+zephyr.c
+
+
+OBJECTS = $(C_SRC:%.c=%.o)
+
+
+##
+## LIBRARIES
+##
+
+LIBS =			-lgtk-win32-2.0 \
+			-lglib-2.0 \
+			-lgdk-win32-2.0 \
+			-lgmodule-2.0 \
+			-lgobject-2.0 \
+			-lws2_32 \
+			-lintl \
+			-lgaim
+
+ifeq ($(USE_KRB4),true) 
+  LIBS+= -lkrbv4w32 
+endif
+
+##
+## RULES
+##
+
+# How to make a C file
+
+%.o: %.c
+	$(CC) $(CFLAGS) $(DEFINES) $(INCLUDE_PATHS) -o $@ -c $<
+
+##
+## TARGET DEFINITIONS
+##
+
+.PHONY: all clean
+
+all: $(TARGET).dll
+
+install:
+	cp $(ZEPHYR_ROOT)/$(TARGET).dll $(DLL_INSTALL_DIR)
+
+
+##
+## BUILD Dependencies
+##
+
+$(GAIM_TOP)/src/gaim.lib:
+	$(MAKE) -C $(GAIM_TOP)/src -f Makefile.mingw gaim.lib
+
+##
+## BUILD DLL
+##
+
+$(TARGET).dll: $(OBJECTS) $(GAIM_TOP)/src/gaim.lib
+	$(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -Wl,--enable-stdcall-fixup -Wl,--out-implib,$(TARGET).lib -o $(TARGET).dll
+
+
+##
+## CLEAN RULES
+##
+
+clean:
+	rm -rf *.o
+	rm -rf $(TARGET).dll
+	rm -rf $(TARGET).lib