Adium

Changeset 24178

Show
Ignore:
Timestamp:
07/02/2008 01:25:30 AM (5 months ago)
Author:
catfish_man
Message:

Updated readme for dep-build-scripts from rgovostes

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Utilities/dep-build-scripts/README

    r24172 r24178  
    1 To set up the build environment (fetch the source trees) run: 
     1== DOWNLOADING SOURCE TREES == 
    22 
    3 ./common.sh -d 
     3To download the source trees to most dependencies, just run 
    44 
    5 The download script requires python 2.5.1 or later. Mac OS X 10.5 comes with this version.  If you don't have that version of python, you can substitute wget. First, you must install wget; then, run: 
     5$ ./common.sh -d 
    66 
    7 (mkdir source || true) && cd source && wget -iurls.txt && cd .. 
     7The download script requires Python 2.5.1 or later, which comes with 
     8Mac OS X 10.5 "Leopard" . You can confirm which version of Python you are using 
     9by running `python --version`; if it is an older version, you can upgrade at 
     10http://python.org/download/mac/. 
    811 
    9 ***** 
    10 Get a copy of the pidgin sources. Adium currently uses libpurple 2.4.2mtn, and patches applied during the build process depend upon this. 
     12Alternatively, you can substitute curl and xargs: 
    1113 
    12 See http://pidgin.im to download a 2.4.1 tarball. This may not compile. Use Monotone; see below. 
     14$ (mkdir source || true) && cd source && (cat ../urls.txt | xargs -I %url% \ 
     15curl -LO %url%) && (ls -1 *.tar.gz | xargs -I %file% tar xzf %file%) && \ 
     16(ls -1 *.tar.bz2 | xargs -I %file% tar xjf %file%) && rm -f *.tar.* && cd .. 
    1317 
    14 To get libpurple via Monotone, see http://developer.pidgin.im/wiki/UsingPidginMonotone .  Check out im.pidgin.pidgin using "-b im.pidgin.pidgin". 
    15     Previous instructions, for reference: Check out the v2.3.1 tag (with "-r t:v2.3.1" in place of "-b im.pidgin.pidgin" as given in the UsingPidginMonotone instructions) to get the code used by Adium. 
    1618 
    17 Put a copy of msn-pecan (http://code.google.com/p/msn-pecan/) and put it in libpurple/protocols/msn_pecan in your pidgin checkout. Note that an underscore is used in the directory name! 
     19=== DOWNLOADING PIDGIN SOURCE TREE === 
    1820 
    19 **** 
    20 BUILD REQUIREMENTS: 
    21 You need automake 1.10 or later.  
    22 10.5 includes automake 1.10, but if you are on 10.4 you need to install this 
    23 yourself. The easiest way to install this is MacPorts (port install automake). 
    24 ***** 
     21The Pidgin source is not installed by the download script. Adium currently uses 
     22libpurple 2.4.2mtn from branch im.pidgin.pidgin. Patches applied during the 
     23build process expect this version. 
    2524 
    26 When you set up your pidgin working copy, set the environment variable 
    27 PIDGIN_SOURCE to be the path to your WC. current_step.sh needs this to work. 
    28 In bash/zsh: export PIDGIN_SOURCE="/path/to/im.pidgin.pidgin" 
    29 In csh/tcsh: setenv PIDGIN_SOURCE "/path/to/im.pidgin.pidgin" 
    30  * Note that PIDGIN_SOURCE should be an absolute path. Don't use ~. 
    31  * This Pidgin checkout must be completely clean. If you use it for building Pidgin (or libpurple, or Finch), be sure to run "make distclean" in it before starting the process below. 
    32 ***** 
     25The official documentation for getting Pidgin source is maintained at 
     26http://developer.pidgin.im/wiki/UsingPidginMonotone, simplified here. The 
     27Pidgin repository is run by monotone. You can find a Mac OS X monotone 
     28installer at http://www.monotone.ca/. 
    3329 
    34 Then, once you have the source trees, the current build process is this: 
    35     ./general_dependencies_make.sh 
    36     ./purple_dependencies_make.sh 
    37     ./purple_make.sh 
    38     ./universalize.sh 
    3930 
    40 which will leave you with frameworks in build/Frameworks. 
     31==== INITIAL CHECKOUT ==== 
    4132 
    42 The next step only needs to be done after a clean build or after updating to a new version of libpurple; it generates and copies in the po (localization) files: 
    43     ./make_po_files.sh 
     33We will download a snapshot of the monotone database to bootstrap the checkout 
     34process. Please note that this file is nearly 200 MB. 
    4435 
    45 (Once you've built the dependencies, you can simply use the steps from purple_make.sh onward to update your build.) 
     36$ cd source; (mkdir im.pidgin.pidgin || true); cd im.pidgin.pidgin; curl -LO \ 
     37http://developer.pidgin.im/static/pidgin.mtn.bz2; bzip2 -d pidgin.mtn.bz2; \ 
     38mtn db -d pidgin.mtn migrate; mtn -d pidgin.mtn pull --set-default pidgin.im \ 
     39"im.pidgin.*"; mtn -d pidgin.mtn co -b im.pidgin.pidgin .; cd ../.. 
    4640 
    47 You can then copy the frameworks to Adium itself with: 
    48     ./copy_frameworks.sh 
     41 
     42==== UPDATING ==== 
     43 
     44To update the Pidgin source tree, just run 
     45 
     46$ cd source/im.pidgin.pidgin; mtn pull; cd ../.. 
     47 
     48 
     49=== DOWNLOADING MSN-PECAN SOURCE TREE === 
     50 
     51The msn-pecan source is not installed by the download script. Adium currently 
     52uses the adium-test branch. You must have Pidgin installed as above to use 
     53msn-pecan. 
     54 
     55The msn-pecan repository is run by git. You can find a Mac OS X git installer 
     56at http://code.google.com/p/git-osx-installer/downloads/list?can=3. 
     57 
     58 
     59==== INITIAL CHECKOUT ==== 
     60 
     61To check out the adium-test branch of msn-pecan, run 
     62 
     63$ cd source/im.pidgin.pidgin/libpurple/protocols; git clone \ 
     64git://github.com/felipec/msn-pecan.git msn_pecan; cd msn_pecan; git checkout \ 
     65-b adium_test origin/adium_test; cd ../../../../.. 
     66 
     67 
     68==== UPDATING ==== 
     69 
     70To update the msn-pecan source, run 
     71 
     72$ cd source/im.pidgin.pidgin/libpurple/protocols/msn_pecan; git pull; \ 
     73cd ../../../../.. 
     74 
     75 
     76== CONFIGURATION == 
     77 
     78The configuration settings are found in common.sh. This script is executed 
     79during the build process to set up the build environment. You will need to edit 
     80this file to change build behavior such as which SDK to use. 
     81 
     82 
     83=== SETTING PIDGIN PATH === 
     84 
     85Before building libpurple, we must tell the build scripts where to find the 
     86Pidgin source. In the common.sh file, under the "# Directories" heading, add 
     87 
     88export PIDGIN_SOURCE="$SOURCEDIR/im.pidgin.pidgin" 
     89 
     90If you did not check out the Pidgin source as above, substitute the absolute 
     91path of your local Pidgin source tree. 
     92 
     93 
     94=== SETTING GCC VERSION === 
     95 
     96On some versions of Mac OS X, the default gcc compiler is 4.2.1, which may 
     97cause problems. You can verify which version of gcc is used by running 
     98`gcc --version`. 
     99 
     100To use gcc 4.0.1, edit the common.sh file. Under the "# Compiler options" 
     101heading, add the line 
     102 
     103export CC=/usr/bin/gcc-4.0 
     104 
     105 
     106== BUILDING == 
     107 
     108A number of scripts are included to simplify the process of building libpurple 
     109and other dependencies. 
     110 
     111You must have automake 1.10 or later installed to build the dependencies. The 
     112easiest way to install this is via MacPorts (http://www.macports.org/): 
     113 
     114$ port install automake 
     115 
     116 
     117=== GENERAL DEPENDENCIES === 
     118 
     119$ ./general_dependencies_make.sh 
     120 
     121This phase builds pkg-config, gettext, and glib. The output of the build 
     122process is written to ./build/dep_make.log. Some configuration output may be 
     123found in the build subdirectores; look for config.log files. 
     124 
     125You will not need to run this part of the build process again unless the 
     126dependencies above are updated. 
     127 
     128 
     129=== LIBPURPLE DEPENDENCIES === 
     130 
     131$ ./purple_dependencies_make.sh 
     132 
     133This phase builds Meanwhile, Gadu-Gadu, and intltool. The output of the build 
     134process is written to ./build/purple_dep_log. Some configuration output may be 
     135found in the build subdirectories; look for config.log files. 
     136 
     137You will not need to run this part of the build process again unless the 
     138dependencies above (including general dependencies) are updated. 
     139 
     140 
     141=== LIBPURPLE === 
     142 
     143$ ./purple_make.sh 
     144 
     145You must have set the PIDGIN_SOURCE variable for this script to run; see 
     146SETTING PIDGIN PATH above. 
     147 
     148This phase builds libpurple. The output of the build process is written to 
     149STDOUT. 
     150 
     151You must run this part of the build process each time you update libpurple. 
     152 
     153 
     154=== UNIVERSALIZE === 
     155 
     156$ ./universalize.sh 
     157 
     158This phase creates Universal Binaries from the PowerPC- and Intel-native 
     159binaries. The output of the build process is written to STDOUT. 
     160 
     161The build products are located in ./build/Frameworks. 
     162 
     163You must run this part of the build process each time you update any of the 
     164dependencies, including libpurple. 
     165 
     166 
     167=== MAKE PO FILES === 
     168 
     169$ ./make_po_files.sh 
     170 
     171This phase generates localization files. The output of the build process is 
     172written to STDOUT. 
     173 
     174You must run this part of the build process after a clean build, or after you 
     175update libpurple. 
     176 
     177 
     178== INSTALLING == 
     179 
     180You can copy the built frameworks to Adium with 
     181 
     182$ ./copyframeworks.sh 
     183 
     184You should then build Adium to link against the new frameworks.