Mercurial > pidgin
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
