Mercurial > pidgin
view libpurple/Makefile.mingw @ 24080:005649461c77
In our child DNS lookup processes, don't bother to use select to watch
the pipe with our parent. These processes don't do anything else, and
they only need to watch one fd, so we can just use a blocking read()
call. I don't think this will negatively affect anything, and it seems
to fix some kind of funky rare race condition where the libpurple
client will block while trying to read() a response from the child.
If you think we should continue using select here, or you notice some
problems with this, please let me know (and maybe even revert this)
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Wed, 10 Sep 2008 21:48:33 +0000 |
parents | 02eda4bd2b22 |
children | aaaff38e144f d5852f7208fa |
line wrap: on
line source
# # Makefile.mingw # # Description: Makefile for win32 (mingw) version of LibPurple # PIDGIN_TREE_TOP := .. include $(PIDGIN_TREE_TOP)/libpurple/win32/global.mak TARGET = libpurple NEEDED_DLLS = $(LIBXML2_TOP)/bin/libxml2.dll ## ## INCLUDE PATHS ## INCLUDE_PATHS += \ -I$(PURPLE_TOP) \ -I$(PURPLE_TOP)/win32 \ -I$(PIDGIN_TREE_TOP) \ -I$(GTK_TOP)/include \ -I$(GTK_TOP)/include/glib-2.0 \ -I$(GTK_TOP)/lib/glib-2.0/include \ -I$(LIBXML2_TOP)/include LIB_PATHS += -L$(GTK_TOP)/lib \ -L$(LIBXML2_TOP)/lib ## ## SOURCES, OBJECTS ## C_SRC = \ account.c \ accountopt.c \ blist.c \ buddyicon.c \ certificate.c \ cipher.c \ cmds.c \ connection.c \ conversation.c \ core.c \ debug.c \ dnsquery.c \ dnssrv.c \ eventloop.c \ ft.c \ circbuffer.c \ idle.c \ imgstore.c \ log.c \ mime.c \ nat-pmp.c \ network.c \ notify.c \ ntlm.c \ plugin.c \ pluginpref.c \ pounce.c \ prefs.c \ privacy.c \ proxy.c \ prpl.c \ request.c \ roomlist.c \ savedstatuses.c \ server.c \ signals.c \ smiley.c \ sound.c \ sslconn.c \ status.c \ stringref.c \ stun.c \ upnp.c \ util.c \ value.c \ version.c \ xmlnode.c \ whiteboard.c \ win32/giowin32.c \ win32/libc_interface.c \ win32/win32dep.c RC_SRC = win32/libpurplerc.rc OBJECTS = $(C_SRC:%.c=%.o) $(RC_SRC:%.rc=%.o) ## ## LIBRARIES ## LIBS = \ -lglib-2.0 \ -lgthread-2.0 \ -lgobject-2.0 \ -lgmodule-2.0 \ -lintl \ -lws2_32 \ -lxml2 include $(PIDGIN_COMMON_RULES) ## ## TARGET DEFINITIONS ## .PHONY: all install install_shallow clean all: $(TARGET).dll $(MAKE) -C $(PURPLE_PROTOS_TOP) -f $(MINGW_MAKEFILE) $(MAKE) -C $(PURPLE_PLUGINS_TOP) -f $(MINGW_MAKEFILE) install_shallow: $(PURPLE_INSTALL_DIR) $(TARGET).dll cp $(TARGET).dll $(PURPLE_INSTALL_DIR) cp $(NEEDED_DLLS) $(PURPLE_INSTALL_DIR) install: install_shallow all $(MAKE) -C $(PURPLE_PROTOS_TOP) -f $(MINGW_MAKEFILE) install $(MAKE) -C $(PURPLE_PLUGINS_TOP) -f $(MINGW_MAKEFILE) install ./win32/libpurplerc.rc: ./win32/libpurplerc.rc.in $(PIDGIN_TREE_TOP)/VERSION sed -e 's/@PURPLE_VERSION@/$(PURPLE_VERSION)/g' \ $@.in > $@ $(OBJECTS): $(PURPLE_CONFIG_H) $(PURPLE_VERSION_H) $(PURPLE_PURPLE_H) $(TARGET).dll $(TARGET).dll.a: $(OBJECTS) $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -Wl,--output-def,$(TARGET).def,--out-implib,$(TARGET).dll.a -o $(TARGET).dll ## ## CLEAN RULES ## clean: rm -f $(OBJECTS) $(RC_SRC) $(PURPLE_VERSION_H) $(PURPLE_PURPLE_H) rm -f $(TARGET).dll $(TARGET).dll.a $(TARGET).def $(MAKE) -C $(PURPLE_PROTOS_TOP) -f $(MINGW_MAKEFILE) clean $(MAKE) -C $(PURPLE_PLUGINS_TOP) -f $(MINGW_MAKEFILE) clean include $(PIDGIN_COMMON_TARGETS)