pidgin: 702813e5: Fix win32 build for yahoo/yahoojp split.

datallah at pidgin.im datallah at pidgin.im
Mon Jul 6 17:10:31 EDT 2009


-----------------------------------------------------------------
Revision: 702813e5dd6dd0067366351c976a762da3b28772
Ancestor: 6836b6429243a0b1f36354530521dda81b509fb5
Author: datallah at pidgin.im
Date: 2009-07-06T21:07:10
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/702813e5dd6dd0067366351c976a762da3b28772

Modified files:
        libpurple/protocols/yahoo/Makefile.mingw
        pidgin/win32/nsis/pidgin-installer.nsi

ChangeLog: 

Fix win32 build for yahoo/yahoojp split.

-------------- next part --------------
============================================================
--- libpurple/protocols/yahoo/Makefile.mingw	ea2b65dfce8eb07ef7176b059f599ab6c4c69192
+++ libpurple/protocols/yahoo/Makefile.mingw	7e337c4aacdac651611cacbd54bb77d9489ef56c
@@ -7,7 +7,9 @@ include $(PIDGIN_TREE_TOP)/libpurple/win
 PIDGIN_TREE_TOP := ../../..
 include $(PIDGIN_TREE_TOP)/libpurple/win32/global.mak
 
-TARGET = libyahoo
+TARGET = libymsg
+YAHOO_TARGET = libyahoo
+YAHOOJP_TARGET = libyahoojp
 TYPE = PLUGIN
 
 # Static or Plugin...
@@ -31,14 +33,15 @@ INCLUDE_PATHS +=	-I. \
 			-I$(PURPLE_TOP)/win32 \
 			-I$(PIDGIN_TREE_TOP)
 
-LIB_PATHS +=		-L$(GTK_TOP)/lib \
+LIB_PATHS +=		-L. \
+			-L$(GTK_TOP)/lib \
 			-L$(PURPLE_TOP)
 
 ##
 ##  SOURCES, OBJECTS
 ##
 C_SRC =			util.c \
-			yahoo.c \
+			libymsg.c \
 			yahoochat.c \
 			yahoo_aliases.c \
 			yahoo_doodle.c \
@@ -51,6 +54,12 @@ OBJECTS = $(C_SRC:%.c=%.o)
 
 OBJECTS = $(C_SRC:%.c=%.o)
 
+YAHOO_C_SRC = libyahoo.c
+YAHOO_OBJECTS = $(YAHOO_C_SRC:%.c=%.o)
+
+YAHOOJP_C_SRC = libyahoojp.c
+YAHOOJP_OBJECTS = $(YAHOOJP_C_SRC:%.c=%.o)
+
 ##
 ## LIBRARIES
 ##
@@ -68,21 +77,29 @@ include $(PIDGIN_COMMON_RULES)
 
 .PHONY: all install clean
 
-all: $(TARGET).dll
+all: $(TARGET).dll $(YAHOO_TARGET).dll $(YAHOOJP_TARGET).dll
 
 install: all $(DLL_INSTALL_DIR)
-	cp $(TARGET).dll $(DLL_INSTALL_DIR)
+	cp $(YAHOO_TARGET).dll $(YAHOOJP_TARGET).dll $(DLL_INSTALL_DIR)
+	cp $(TARGET).dll $(PURPLE_INSTALL_DIR)
 
 $(OBJECTS): $(PURPLE_CONFIG_H)
 
-$(TARGET).dll: $(PURPLE_DLL).a $(OBJECTS)
-	$(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $(TARGET).dll
+$(TARGET).dll.a $(TARGET).dll: $(PURPLE_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
 
+$(YAHOO_TARGET).dll: $(TARGET).dll.a $(YAHOO_OBJECTS)
+	$(CC) -shared $(YAHOO_OBJECTS) $(LIB_PATHS) $(LIBS) -lymsg $(DLL_LD_FLAGS) -o $(YAHOO_TARGET).dll
+
+$(YAHOOJP_TARGET).dll: $(TARGET).dll.a $(YAHOOJP_OBJECTS)
+	$(CC) -shared $(YAHOOJP_OBJECTS) $(LIB_PATHS) $(LIBS) -lymsg $(DLL_LD_FLAGS) -o $(YAHOOJP_TARGET).dll
+
 ##
 ## CLEAN RULES
 ##
 clean:
-	rm -f $(OBJECTS)
-	rm -f $(TARGET).dll
+	rm -f $(OBJECTS) $(TARGET).dll $(TARGET).dll.a
+	rm -f $(YAHOO_OBJECTS) $(YAHOO_TARGET).dll
+	rm -f $(YAHOOJP_OBJECTS) $(YAHOOJP_TARGET).dll
 
 include $(PIDGIN_COMMON_TARGETS)
============================================================
--- pidgin/win32/nsis/pidgin-installer.nsi	e2ac129b684f3c58ce40dfe9425602a7ba834e3f
+++ pidgin/win32/nsis/pidgin-installer.nsi	275193461e1fd75a0603c50d95f1b48de32c3e17
@@ -2,7 +2,7 @@
 ; Original Author: Herman Bloggs <hermanator12002 at yahoo.com>
 ; Updated By: Daniel Atallah <daniel_atallah at yahoo.com>
 
-; NOTE: this .NSI script is intended for NSIS 2.27
+; NOTE: this .NSI script is intended for NSIS 2.27+
 ;
 
 ;--------------------------------
@@ -751,6 +751,7 @@ Section Uninstall
     Delete "$INSTDIR\plugins\libsimple.dll"
     Delete "$INSTDIR\plugins\libtoc.dll"
     Delete "$INSTDIR\plugins\libyahoo.dll"
+    Delete "$INSTDIR\plugins\libyahoojp.dll"
     Delete "$INSTDIR\plugins\libxmpp.dll"
     Delete "$INSTDIR\plugins\log_reader.dll"
     Delete "$INSTDIR\plugins\markerline.dll"
@@ -794,6 +795,7 @@ Section Uninstall
     Delete "$INSTDIR\libsilc-1-1-2.dll"
     Delete "$INSTDIR\libsilcclient-1-1-2.dll"
     Delete "$INSTDIR\libxml2.dll"
+    Delete "$INSTDIR\libymsg.dll"
     Delete "$INSTDIR\nspr4.dll"
     Delete "$INSTDIR\nss3.dll"
     Delete "$INSTDIR\nssckbi.dll"


More information about the Commits mailing list