view README.mingw @ 4469:d76095396a0e

[gaim-migrate @ 4744] Phase 2 of the conversation rewrite! Did you think I was done? Okay everybody, the prefs page was slightly redesigned. Not much, though. It needs an overhaul, and still, not everything works.. What we have now is: Conversations | |- IMs |- Chats `- Tabs But that's not the good part of this patch. Oh no, not close. You see, in Conversations, we now have a "Placement" drop-down box. Though this prefs page is ugly and will eventually be redesigned, this gives you the opportunity to set one of a number of different types of conversation placement options. The defaults are: - Last created window: Adds the new conversation to the last created window, like how things have been lately. - New window: Adds the new conversation to a brand new window, every time. Tabs are still there, so you can drag them between windows if you want to manually group them. - By group: This is my new favorite. This will put the new conversation in whatever window it finds first that has another member from that same group on your buddy list. If it doesn't find one, it creates a new window. If the person you IM'd or the person who IM'd you is not on your list, it gets put in a window with other people not on your list. These are the only ones implemented, but don't think you're limited to that. You see, we have new API functions for registering these Conversation Placement functions. All a plugin would need to do is to write a function, take into account OPT_CONVO_COMBINE (oh yeah, "Show IMs and chats in same tabbed window" works again), make sure the conversation is added _somewhere_, and then just register that function. If the plugin is loaded, the user can select it from the existing drop-down box. Cool, huh? Make sure to unregister the function when the plugin is unloaded. Have fun. committer: Tailor Script <tailor@pidgin.im>
author Christian Hammond <chipx86@chipx86.com>
date Thu, 30 Jan 2003 09:22:15 +0000
parents 1de97e584d32
children 53718dbe8d0d
line wrap: on
line source

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.9 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

  Make sure that after unziping, the binaries (dlls and exes) have the correct
  executable permissions (e.g. "chmod 755 iconv.dll"):

  $ cd ~/win32-dev/gtk_2_0/zips
  $ unzip -d .. "*.zip"
  $ 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".

  Aspell-15
  ---------

  Download the dev package (aspell-15.tar.gz) from http://gaim.sf.net/win32,
  and untar it under ~/win32-dev.

  Gtkspell 2.0.3
  --------------

  Download the dev package (gtkspell-2.0.3-20021223.tar.gz) from 
  http://gaim.sf.net/win32, and untar it under ~/win32-dev. 

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
  $ 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 <hermanator12002@yahoo.com>