view README.mingw @ 4617:858979ab3867

[gaim-migrate @ 4908] Big Changes: -Rewrote some of the perl stuff so perl scripts can change a few of their parameters -Receiving a file with AIM over oscar works pretty well Now, the "nitty gritty": Very minor change to prefs.c: In the plugins details tab, I changed "URL" to "Web Site." I was just going to fix the tabbing, but silvestrij suggested changing it to "Web site," and I thought that sounded good. I think it fits better, too. I dunno, maybe that's just me. "Get Capabilities" has stopped working for some reason. I'm just going to blame AOL. It's really not important anyway, and some people wanted it taken off. It is now #ifdef 0'ed out. I'll remove it completely if it continues to no longer function. I took out a few plugin_event calls from oscar.c and put them in core code. "event_error" should be, uh, "evented" when there is an error signing on. Hopefully no one was using this. It's really pretty useless. The parameter is now the reason for not being able to connect rather than the archaic toc error code. I screwed around with how perl functions are called some. There was way the hell too much malloc'ing going on here. I think all in all it's an improvement, though I'm still not a big fan of how changes to parameters propagate to the actual memory. I really think it would be nice if the perl stuff was made into a C plugin. It's just so much cleaner. Especially if someone wanted to write, say, a python or tcl interpreter. That's how xchat2 does it. I just think that would be really slick. Like butter. Or ice. Very unlike Velcro. I added a "Change Password" Protocol Action for ICQ over oscar. This was really pretty easy. I'd like to thank my housemate Andrew for complaining a lot that having to use Windows ICQ to change his password was a pain. I rewrote a lot of the oscar file transfer stuff to use Christian's new xfer interface. This involved moving a few functions from ft.c to im.c, where they belong. I also removed all the #if 0'ed getfile functions. I'll be rewritting them soonish. Receiving a file should work perfectly, aside from maybe a small memleak when stuff is canceled. Sending a file is currently disabled. No ETA on when I'll have that working. I renamed pretty much all of the functions in im.c so they have kind of a scheme now. They should all be aim_im_bleh, since "im" is the family name. There comes a time when you must break the crap out of any clients that might be using libfaim in order to make stuff cleaner. Maybe. I got rid of the snac destructor stuff for now. I'll probably add it back later. I wasn't entirely comfortable with how it was done. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Wed, 26 Feb 2003 05:01:37 +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>