1{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf290 2{\fonttbl\f0\fnil\fcharset0 Monaco;\f1\fmodern\fcharset0 Courier;\f2\fnil\fcharset128 KozGoPro-Heavy; 3} 4{\colortbl;\red255\green255\blue255;} 5\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural 6 7\f0\fs20 \cf0 This project allows for compilation of aMule in Xcode \ul without\ulnone macports / fink. THIS IS NOT AN EASY PROCESS, so only attempt it if you're familiar with the terminal, and compiling programs there, as wxWidgets and cryptopp are still compiled via the terminal. I hope to automate this process in the future to eliminate that requirement.\ 8\ 9Compiling aMule on Xcode is important to automate the build of different configurations, ensure proper compatibility, and allow developers to use the Xcode interface to gdb which is tremendously useful to track and solve bugs. \ 10\ 11Current configuration supports i386/ppc build on SDK 10.4 (for Tiger), without country flags or UPnP, using wxWidgets 2.8.x. Other configurations will be added later.\ 12\ 13It's important for building that the following steps/requirements are met:\ 14\ 151) This folder structure is needed for compilation:\ 16 \ 17 <some folder in your computer>\ 18 |\ 19 |-> aMule sources\ 20 |\ 21 |-> wxWidgets-2.8 (or wxWidgets for 2.9+)\ 22 |\ 23 |-> cryptopp (or cryptopp-64bits if you are using Snow Leopard and plan to use wxWidgets 2.9+ and SDK 10.6)\ 24 \ 25It's essential that the folders are named exactly like shown. If you want to change this, take a look at CFLAGS and link flags in the "aMule" target's properties.\ 26\ 272) wxWidgets has to be compiled with universal binary support and static library. When using wxWidgets 2.8 on Snow Leopard, it's important that gcc-4.0 is used because gcc-4.2 defaults to 64bits builds, which wxWidgets 2.8.x doesn't support (see {\field{\*\fldinst{HYPERLINK "http://wiki.wxwidgets.org/Development:_wxMac#Building_on_Snow_Leopard_for_Snow_Leopard"}}{\fldrslt http://wiki.wxwidgets.org/Development:_wxMac#Building_on_Snow_Leopard_for_Snow_Leopard}} for more info).\ 28\ 29Personally I check out the sources using the following:\ 30\ 31\pard\pardeftab720\ql\qnatural 32 33\f1\fs24 \cf0 svn checkout http://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH wxWidgets-2.8\ 34\ 35\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural 36 37\f0\fs20 \cf0 for wxWidgets 2.8, and\ 38\ 39\pard\pardeftab720\ql\qnatural 40 41\f1\fs24 \cf0 svn checkout http://svn.wxwidgets.org/svn/wx/wxWidgets/ wxWidgets 42\f0\fs20 \ 43\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural 44\cf0 \ 45for wxWidgets 2.9+, and configure with\ 46\ 47\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural 48 49\f1\fs24 \cf0 ./configure CC=gcc-4.0 CXX=g++-4.0 LD=g++-4.0 --enable-debug --with-macosx-sdk=/Developer/SDKs/MacOSX10.4u.sdk --with-macosx-version-min=10.4 --enable-universal_binary --disable-universal --disable-shared \ 50\ 51\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural 52 53\f0\fs20 \cf0 for wxWidgets 2.8, and\ 54\ 55\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural 56 57\f1\fs24 \cf0 ./configure --enable-unicode --disable-shared --enable-debug --enable-debug_gdb --with-osx_cocoa --with-macosx-version-min=10.6 58\f0\fs20 \ 59\ 60for wxWidgets 2.9+ on Snow Leopard for SDK 10.6.\ 61 62\f1\fs24 \ 63\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural 64 65\f0\fs20 \cf0 After that, just type "make" as usual. Do not "make install".\ 66\ 673) Compiling cryptopp is complicated due to lack of proper support for building on MacOSX, especially for universal binaries. First download a cryptopp release from {\field{\*\fldinst{HYPERLINK "http://www.cryptopp.com/#download"}}{\fldrslt http://www.cryptopp.com/#download}} (latest are at the bottom) and uncompress it to the folder named "cryptopp" or "cryptopp-64bits" as shown in the folder structure above. If you are using wxWidgets 2.9+, then configure and compile as usual. If using wxWidgets 2.8 in Snow Leopard, edit the file named GNUmake and add the following lines at the beginning:\ 68\ 69\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural 70 71\f1\fs24 \cf0 CXXFLAGS = -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 -DNDEBUG -g -O2\ 72LDFLAGS = -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4\ 73CXX=c++-4.0\ 74CC=gcc-4.0\ 75\ 76\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural 77 78\f0\fs20 \cf0 Save the file, then type "make" as usual. 79\f2\b\fs24 Do not "make install" 80\f0\b0\fs20 .\ 81\ 82Once you have finished compiling cryptopp and wxWidgets, and they are in the right folders, this project should compile correctly. If you get errors, please review all the steps before posting in the forum.\ 83\ 84Good luck! 85\f1\fs24 \ 86\pard\pardeftab720\ql\qnatural 87\cf0 \ 88- Kry\ 89}