Difference between revisions of "Compiling the viewer (Mac OS X)"

From Second Life Wiki
Jump to navigation Jump to search
 
(19 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{Multi-lang}}
#REDIRECT [[Compiling the viewer (Mac OS X XCode 6.1)]]
{{CompileNav}}
For recent information check the [[Project Snowstorm]] page.
 
= Getting Development Tools =
 
* '''Xcode 3''': Most Lindens use Xcode 3.2 on Snow Leopard (OS X 10.6) for building on Macintosh computers. For simplicity, we suggest installing everything from the mpkg.  Note that later versions of Xcode have build options to be backwards compatible to 3.1.  (See [[Talk:Compiling_the_viewer_(Mac_OS_X)#Trying_newer_versions_of_tools]].  Later versions of Xcode (3.2.4) work fine.)
* '''Xcode 4''':  As of July 8 2011, Xcode 4 is not working.
* '''CMake''': Install CMake from [http://www.cmake.org cmake.org], or using [http://macports.org/ MacPorts] with 'port install cmake'. You will need at least CMake 2.6; CMake 2.8 may be required in the future.
*'''Command line Makefiles''':  These are included in Apple's Xcode product.  Download and install Xcode from Apple.
 
= Downloading Source Code =
 
Linden Lab [[ Project Snowstorm]] uses [http://mercurial.selenica.com Mercurial] and [http://bitbucket.org Bit Bucket] for the [[version control repository]].   
The repository is [http://hg.secondlife.com here].  Look vor ''viewer-development'', ''viewer-beta'', ''viewer-release'', and others, as your needs dictate.
If you're just starting out, it's probably best to get ''viewer-release'' or ''viewer-beta'' , because ''viewer-developer'' gets updated several times per week.  But if you would rather work with the latest code, look for the latest builds on [[Project Snowstorm]] and ''viewer-developer'' on bitbucket.
 
 
== Installing Proprietary Libraries ==
 
Some builds of the the Viewer depends on proprietary libraries (alternative open source libraries are also provided for developers who prefer or are not licensed to use the proprietary libraries).  Lindens do not distribute these libraries, so you will need to fetch and install these even if you download the libraries packages.  (This is due to licensing restrictions.  Don't ask, Lindens already did, and can't get permission.  So you do have to get them yourself.)
 
=== Fmod ===
 
==== Fmod method 1 (using autobuild) ====
 
CD to where you want to install the 3p-fmod repository and do:
<pre>
$ hg clone <nowiki>https://bitbucket.org/lindenlab/3p-fmod</nowiki>
$ cd 3p-fmod
$ autobuild build --all
$ autobuild package
</pre>
 
You will see the result looks like:
<pre>
packing fmod
wrote  /3p-fmod/fmod-3.75-darwin-20120614.tar.bz2
md5    527422281dbe49abac29380996d41230
</pre>
 
CD to your repository root and update autobuild configulation file with the filename and hash just displayed. For the example above, run:
<pre>
$ autobuild installables edit fmod platform=darwin hash=527422281dbe49abac29380996d41230 url=file:///3p-fmod/fmod-3.75-darwin-20120614.tar.bz2
</pre>
 
==== Fmod method 2 (others) ====
 
(see {{jira|STORM-406}} and {{jira|OPEN-6}})
 
== Build the viewer with autobuild ==
Configuring and building with autobuild works the same on all platforms.  Full instructions may be found at [[Build_Viewer_With_Autobuild]].
 
== Xcode ==
 
If you  have followed the configure instructions from [[Build_Viewer_With_Autobuild]], the directory ''build-darwin-i386'' will have been created in the root of your source distribution.  Inside that directory you will find the ''SecondLife.xcodeproj'' project file which can be used with Xcode.  When opened it should be configured correctly to build, so just '''Build and Run'''.
 
== Where's the built viewer? ==
 
Assuming you build the RelWithDebug build configuration (the default), the viewer build will be in  <code>build-darwin-i386/newview/RelWithDebInfo/Second Life.app</code> .
{{KBnote|If you change the build configuration you use, the intermediate directory will also change accordingly, e.g. from <code>RelWithDebInfo</code> to <code>Release</code>.  The files for the two configurations will not interfere with one another.}}
 
One way to launch your newly compiled viewer is to  use the Finder to navigate  to that folder and double click the application.  Another way is to create an alias for it.  Then you can put the alias wherever you find convenient.
 
= Building the Unit Tests =
From Xcode, open the project 'linden/indra/test/MacTester.xcodeproj', set 'MacTester' as the active target, and build.
 
= What to do if it doesn't work for you =
 
* Ask for help on [[IRC]] (irc.freenode.net #opensl)
* Ask for help on the [[SLDev|Opensource-dev mailing list]]
* Fix it: [[Modifying CMake Files‎]] and please, submit a patch!
 
= Submitting Patches =
This is probably far down the road, but if you make changes to the source and want to submit them, see the page about [[Submitting patches|submitting patches]].
 
[[Category:Compiling viewer]]

Latest revision as of 12:30, 23 April 2015