view libpurple/protocols/zephyr/Makefile.mingw @ 25453:a946cffda321

Use g_direct_hash/equal instead of g_int_hash/equal for the hash table that holds the saved statuses. The effect is that this will take into account the different size of time_t across 32-bit and 64-bit systems. There should not be any side effects because it is only used at runtime for the hash key, and all the important data is stored in the value. This should stop any mysterious infinite loop problems on big-endian systems which were trying to use the MSB of the time as a hash key. Fixes #5887.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Sun, 15 Feb 2009 07:19:59 +0000
parents 1843c0180fbe
children
line wrap: on
line source

#
# Makefile.mingw
#
# Description: Makefile for win32 (mingw) version of libzephyr
#

PIDGIN_TREE_TOP := ../../..
include $(PIDGIN_TREE_TOP)/libpurple/win32/global.mak

TARGET = libzephyr
KRB4_TOP := $(WIN32_DEV_TOP)/kfw-2.6.3-final.fixed
USE_KRB4 := false
DEFINES += -DWIN32 -DKRB5_SYSTYPES__
TYPE = PLUGIN

ifeq ($(USE_KRB4),true)
  DEFINES += -DZEPHYR_USES_KERBEROS
endif

# Static or Plugin...
ifeq ($(TYPE),STATIC)
  DEFINES += -DSTATIC
  DLL_INSTALL_DIR =	$(PURPLE_INSTALL_DIR)
else
ifeq ($(TYPE),PLUGIN)
  DLL_INSTALL_DIR =	$(PURPLE_INSTALL_PLUGINS_DIR)
endif
endif

##
## INCLUDE PATHS
##
INCLUDE_PATHS +=	-I$(ZEPHYR_ROOT) \
			-I$(GTK_TOP)/include \
			-I$(GTK_TOP)/include/glib-2.0 \
			-I$(GTK_TOP)/lib/glib-2.0/include \
			-I$(PURPLE_TOP) \
			-I$(PURPLE_TOP)/win32 \
			-I$(PIDGIN_TREE_TOP)

ifeq ($(USE_KRB4), true)
   INCLUDE_PATHS += -I$(KRB4_TOP)/inc/krb4
endif

LIB_PATHS +=		-L$(GTK_TOP)/lib \
			-L$(PURPLE_TOP)

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 =	\
			-lglib-2.0 \
			-lws2_32 \
			-lintl \
			-lpurple

ifeq ($(USE_KRB4),true)
  LIBS+= -lkrbv4w32
endif

include $(PIDGIN_COMMON_RULES)

##
## TARGET DEFINITIONS
##
.PHONY: all install clean

all: $(TARGET).dll

install: all $(DLL_INSTALL_DIR)
	cp $(TARGET).dll $(DLL_INSTALL_DIR)

$(OBJECTS): $(PURPLE_CONFIG_H)

$(TARGET).dll: $(PURPLE_DLL).a $(OBJECTS)
	$(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -Wl,--enable-stdcall-fixup -o $(TARGET).dll

##
## CLEAN RULES
##
clean:
	rm -f $(OBJECTS)
	rm -f $(TARGET).dll

include $(PIDGIN_COMMON_TARGETS)