• Home
  • History
  • Annotate
  • only in this directory
NameDateSize

..07-Jun-20164

amule.icnsH A D07-Jun-201636.2 KiB

aMule.xcodeproj/H16-May-20173

aMule_Xcode-Info.plistH A D07-Jun-20161,015

aMule_Xcode_Prefix.pchH A D07-Jun-2016153

English.lproj/H16-May-20173

README BEFORE BUILDING.rtfH A D07-Jun-20165.1 KiB

README BEFORE BUILDING.rtf

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}