From: Rob F. <rob...@us...> - 2002-10-11 03:14:01
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv28946 Added Files: ChangeLog.win32 Makefile.mingw PROGRAMMING_NOTES README.mingw VERSION gaim-installer.nsi Log Message: Yeah this will probably break a lot of shit knowing my luck. But hey, I really don't care what people thnk. --- NEW FILE: ChangeLog.win32 --- version 0.60 alpha 2 (10/9/02) * Perl functionality added * PNGs work * Path issues fixed for Win9x * Added g command line flag for logging of GTK and GLIB debugging. * No more console in Win9x for glib logging (when not debugging). * URL links now work. * Plugins: autorecon, iconaway, spellchk and ticker now work. * Language translations are working. * Using GTK 2.0.6 (Some GTK bugs fixed since 2.0.3) * Gadu-Gadu works * gtkimhtml copying to clipboard works. Selecting text copies it to the clipboard. * Gaim now minimizes to the system tray. * Various other feature updates from the Gaim crew. Read ChangeLog :) version 0.60 alpha 1 (9/13/2002) * Initial alpha release --- NEW FILE: Makefile.mingw --- # Makefile.mingw # # Author: her...@ya... # Date 9/11/02 # Description: Top Makefile for win32 (mingw) port of Gaim # GAIM_SRC = ./src GAIM_PROTOS = $(GAIM_SRC)/protocols GAIM_PLUGINS = ./plugins GAIM_PIXMAPS = ./pixmaps GAIM_INSTALL_DIR = ./win32-install-dir GTK_TOP = ../win32-dev/gtk_2_0 GTK_LIBS = $(GTK_TOP)/lib PERL_TOP = ../win32-dev/perl56 OSCAR = $(GAIM_PROTOS)/oscar YAHOO = $(GAIM_PROTOS)/yahoo MSN = $(GAIM_PROTOS)/msn TOC = $(GAIM_PROTOS)/toc IRC = $(GAIM_PROTOS)/irc JABBER = $(GAIM_PROTOS)/jabber NAPSTER = $(GAIM_PROTOS)/napster GG = $(GAIM_PROTOS)/gg PO = ./po NEEDED_DLLS = $(GTK_LIBS)/libgdk-win32-2.0-0.dll \ $(GTK_LIBS)/libglib-2.0-0.dll \ $(GTK_LIBS)/libintl-1.dll \ $(GTK_LIBS)/iconv.dll \ $(GTK_LIBS)/libgmodule-2.0-0.dll \ $(GTK_LIBS)/libgtk-win32-2.0-0.dll \ $(GTK_LIBS)/libgdk_pixbuf-2.0-0.dll \ $(GTK_LIBS)/libgobject-2.0-0.dll \ $(GTK_LIBS)/libgthread-2.0-0.dll \ $(GTK_TOP)/bin/libjpeg.dll \ $(GTK_TOP)/bin/libpng.dll \ $(GTK_TOP)/bin/libtiff.dll \ $(GTK_TOP)/bin/zlib.dll \ $(GTK_LIBS)/libpango-1.0-0.dll \ $(GTK_LIBS)/libpangoft2-1.0-0.dll \ $(GTK_LIBS)/libpangowin32-1.0-0.dll \ $(GTK_LIBS)/libatk-1.0-0.dll \ $(PERL_TOP)/perl56.dll # For Gtk 2.0.3 # $(GTK_LIBS)/libjpeg6b.dll \ # $(GTK_LIBS)/libpng-3.dll \ # $(GTK_LIBS)/libtiff.dll \ # $(GTK_LIBS)/libz.dll \ # For Gtk 2.0.6 # $(GTK_TOP)/bin/libjpeg.dll \ # $(GTK_TOP)/bin/libpng.dll \ # $(GTK_TOP)/bin/libtiff.dll \ # $(GTK_TOP)/bin/zlib.dll \ PIXMAPS_DIALOGS = $(GAIM_PIXMAPS)/gaim_error.png \ $(GAIM_PIXMAPS)/gaim_info.png \ $(GAIM_PIXMAPS)/gaim_warning.png \ $(GAIM_PIXMAPS)/gaim_question.png PIXMAPS_BUTTONS = $(GAIM_PIXMAPS)/edit.png PIXMAPS = $(GAIM_PIXMAPS)/away.png \ $(GAIM_PIXMAPS)/connect.png \ $(GAIM_PIXMAPS)/msgpend.png \ $(GAIM_PIXMAPS)/msgunread.png \ $(GAIM_PIXMAPS)/offline.png \ $(GAIM_PIXMAPS)/online.png ## ## Don't forget to change STATIC_PROTO_INIT, in config.h.mingw if you ## change the status of a protocol (static/plugin) ## OSCAR_TYPE = PLUGIN YAHOO_TYPE = PLUGIN MSN_TYPE = PLUGIN TOC_TYPE = PLUGIN IRC_TYPE = PLUGIN JABBER_TYPE = PLUGIN NAPSTER_TYPE = PLUGIN GG_TYPE = PLUGIN all: cp config.h.mingw config.h $(MAKE) TYPE='$(OSCAR_TYPE)' -C $(OSCAR) -f Makefile.mingw $(MAKE) TYPE='$(YAHOO_TYPE)' -C $(YAHOO) -f Makefile.mingw $(MAKE) TYPE='$(MSN_TYPE)' -C $(MSN) -f Makefile.mingw $(MAKE) TYPE='$(TOC_TYPE)' -C $(TOC) -f Makefile.mingw $(MAKE) TYPE='$(IRC_TYPE)' -C $(IRC) -f Makefile.mingw $(MAKE) TYPE='$(JABBER_TYPE)' -C $(JABBER) -f Makefile.mingw $(MAKE) TYPE='$(GG_TYPE)' -C $(GG) -f Makefile.mingw $(MAKE) -C $(GAIM_SRC) -f Makefile.mingw $(MAKE) -C $(GAIM_PLUGINS) -f Makefile.mingw install: all mkdir -p $(GAIM_INSTALL_DIR)/plugins mkdir -p $(GAIM_INSTALL_DIR)/pixmaps/gaim/dialogs mkdir -p $(GAIM_INSTALL_DIR)/pixmaps/gaim/buttons $(MAKE) -C $(PO) -f Makefile.mingw install $(MAKE) -C $(GAIM_SRC) -f Makefile.mingw install $(MAKE) -C $(GAIM_PLUGINS) -f Makefile.mingw install $(MAKE) TYPE='$(OSCAR_TYPE)' -C $(OSCAR) -f Makefile.mingw install $(MAKE) TYPE='$(YAHOO_TYPE)' -C $(YAHOO) -f Makefile.mingw install $(MAKE) TYPE='$(MSN_TYPE)' -C $(MSN) -f Makefile.mingw install $(MAKE) TYPE='$(TOC_TYPE)' -C $(TOC) -f Makefile.mingw install $(MAKE) TYPE='$(IRC_TYPE)' -C $(IRC) -f Makefile.mingw install $(MAKE) TYPE='$(JABBER_TYPE)' -C $(JABBER) -f Makefile.mingw install $(MAKE) TYPE='$(GG_TYPE)' -C $(GG) -f Makefile.mingw install cp $(NEEDED_DLLS) $(GAIM_INSTALL_DIR) cp $(PIXMAPS_DIALOGS) $(GAIM_INSTALL_DIR)/pixmaps/gaim/dialogs cp $(PIXMAPS_BUTTONS) $(GAIM_INSTALL_DIR)/pixmaps/gaim/buttons cp $(PIXMAPS) $(GAIM_INSTALL_DIR)/pixmaps/gaim mkdir -p $(GAIM_INSTALL_DIR)/lib/gtk-2.0 cp -R $(GTK_LIBS)/gtk-2.0/2.0.0 $(GAIM_INSTALL_DIR)/lib/gtk-2.0 cp -R $(GTK_LIBS)/pango $(GAIM_INSTALL_DIR)/lib cp -R $(GTK_TOP)/etc $(GAIM_INSTALL_DIR) installer: makensis.exe gaim-installer.nsi clean: $(MAKE) -C $(PO) -f Makefile.mingw clean $(MAKE) -C $(OSCAR) -f Makefile.mingw clean $(MAKE) -C $(YAHOO) -f Makefile.mingw clean $(MAKE) -C $(MSN) -f Makefile.mingw clean $(MAKE) -C $(TOC) -f Makefile.mingw clean $(MAKE) -C $(IRC) -f Makefile.mingw clean $(MAKE) -C $(JABBER) -f Makefile.mingw clean $(MAKE) -C $(GG) -f Makefile.mingw clean $(MAKE) -C $(GAIM_SRC) -f Makefile.mingw clean $(MAKE) -C $(GAIM_PLUGINS) -f Makefile.mingw clean rm -rf config.h $(GAIM_INSTALL_DIR) rm -rf Install-Gaim*.exe --- NEW FILE: PROGRAMMING_NOTES --- Notes on keeping GAIM OS independant ------------------------------------ General ------- - Use G_DIR_SEPARATOR_S and G_DIR_SEPARATOR for paths - Use g_getenv, g_snprintf, g_vsnprintf - Use gaim_home_dir instead of g_get_home_dir or g_getenv("HOME") PLUGINS & PROTOS ---------------- - G_MODULE_EXPORT all functions which are to be accessed from outside the scope of its "dll" or "so". (E.G. gaim_plugin_init) - G_MODULE_IMPORT all global variables which are located outside your dynamic library. (E.G. connections) (Not doing this will cause "Memory Access Violations" in Win32) --- NEW FILE: README.mingw --- How to build Gaim using MinGw ============================= Set Up Build Environment ------------------------ - Install Cygwin bash shell (www.cygwin.com). - Install MinGw v1.1 (http://www.mingw.org) Make sure to read the installation instructions. Make sure to set MinGw's bin directory in your PATH (in .bash_login), before Cygwin's bin dir (so that mingw's build tools are used over cygwin's). Install LIBs, DLLs and headers used by GAIM ------------------------------------------- Assuming you have the gaim sources in ~/gaim, you will need to do the fowllowing: GTK & GLIB (v 2.0.6 as of writing) ---------------------------------- $ mkdir -p ~/win32-dev/gtk_2_0/zips Download the following from thw win32 download page at www.gtk.org to the zips dir you just created: atk-1.0.3-20020821.zip atk-dev-1.0.3-20020821.zip gettext-dev-0.10.40-20020904.zip glib-2.0.6-20020802.zip glib-dev-2.0.6-20020802.zip gtk+-2.0.6-20020921.zip gtk+-dev-2.0.6-20020921.zip libiconv-1.7-w32.bin.zip libintl-0.10.40-tml-20020904.zip libjpeg-6b-bin.zip libpng-1.2.4-1-bin.zip pango-1.0.4-20020921.zip pango-dev-1.0.4-20020921.zip tiff-3.5.7-bin.zip zlib-1.1.4-bin.zip $ cd ~/win32-dev/gtk_2_0/zips $ unzip -d .. <all zip files> $ cd .. $ cp lib/libintl-1.dll ./bin $ cd libiconv-1.7-w32.bin $ cp iconv.exe ../bin $ cp iconv.lib ../lib $ cp localcharset.dll ../lib $ cp iconv.dll ../lib $ cp iconv.dll ../bin $ cp iconv.h ../include/ $ cp libcharset.h ../include/ NOTE: If you use a more recent versions of any of these packages, you may need to move files around so that they can be found when Gaim is built. Perl56 ------ Download perl-5.6.1 from www.cpan.org. You can build perl56 yourself if you have MS Visual C++, or you can download a win32 binary distribution (I tried SiePerl successfully). In either case make sure you do the following: $ mkdir -p ~/win32-dev/perl56 Copy Perl's "CORE" directory to ~/win32-dev/perl56 as well as "perl56.dll" and "perl56.lib". Build Gaim ---------- $ cd ~/gaim $ make -f Makefile.mingw install Run Gaim -------- $ cd ~/gaim/win32-install-dir $ ./gaim.exe That's it.. Note: If you wish to build an install exe of Gaim, then you need to install NSIS from http://www.nullsoft.com/free/nsis/ making sure to place its binary dir in your PATH. Then... $ cd ~/gaim/win32-install-dir $ make -f Makefile.mingw installer Debugging --------- There is quite a good "Just In Time" debugger for MinGw: http://mefriss1.swan.ac.uk/~jfonseca/gnu-win32/software/drmingw/ Happy Gaiming... Herman Bloggs <her...@ya...> --- NEW FILE: VERSION --- 0.60a2 --- NEW FILE: gaim-installer.nsi --- ; Installer script for win32 Gaim ; Generated NSIS script file (generated by makensitemplate.phtml 0.21) ; Herman on Sep 11 02 @ 21:52 ; NOTE: this .NSI script is designed for NSIS v1.8+ Name "Gaim 0.60 alpha 2 (Win32)" OutFile "Install-Gaim0.60a2.exe" Icon .\pixmaps\gaim-install.ico ; Some default compiler settings (uncomment and change at will): ; SetCompress auto ; (can be off or force) ; SetDatablockOptimize on ; (can be off) ; CRCCheck on ; (can be off) ; AutoCloseWindow false ; (can be true for the window go away automatically at end) ; ShowInstDetails hide ; (can be show to have them shown, or nevershow to disable) ; SetDateSave off ; (can be on to have files restored to their orginal date) InstallDir "$PROGRAMFILES\Gaim" InstallDirRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Gaim" "" DirShow show ; (make this hide to not let the user change it) DirText "Select the directory to install Gaim in:" Section "" ; (default section) SetOutPath "$INSTDIR" ; add files / whatever that need to be installed here. File /r .\win32-install-dir\*.* WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Gaim" "" "$INSTDIR" WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gaim" "DisplayName" "Gaim (remove only)" WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gaim" "UninstallString" '"$INSTDIR\uninst.exe"' ; write out uninstaller WriteUninstaller "$INSTDIR\uninst.exe" SectionEnd ; end of default section Section "Gaim Start Menu Group" SetOutPath "$SMPROGRAMS\Gaim" CreateShortCut "$SMPROGRAMS\Gaim\Gaim.lnk" \ "$INSTDIR\gaim.exe" CreateShortCut "$SMPROGRAMS\Gaim\Unistall.lnk" \ "$INSTDIR\uninst.exe" SectionEnd ; begin uninstall settings/section UninstallText "This will uninstall Gaim from your system" Section Uninstall ; add delete commands to delete whatever files/registry keys/etc you installed here. RMDir /r "$SMPROGRAMS\Gaim" DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Gaim" DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Gaim" RMDir /r "$INSTDIR" SectionEnd ; end of uninstall section ; eof |