Can I get write access to the wiki? I want to update http://www.mixxx.org/wiki/doku.php/compiling_on_os_x.
On Wed, Jan 14, 2009 at 8:11 PM, Albert Santoni <[email protected]> wrote: > > I just remembered another undocumented secret of compiling stuff on OS X. It > looks like everyone (ie. other projects and companies) do their builds on OS > X 10.4 because they're forwards-compatible with 10.5. If we could get a > universal PPC/Intel build working on 10.4, we would be able to have a single > OS X package that would work for all of our users. (History has shown that > many OS X users either don't know what version of OS X they're using nor pay > attention to what architecture they're on, so they download the wrong > package.) If you were pinning your hopes on me for that you're out of luck for the time being. My Mac suffered a wall to the face. I have one available right now because it's a new term and a new co-op, but it's 10.5. >> I've actually >> got Mixxx compiled against the frameworks. I just reeneabled the lines >> you'd commented out and added a new one for QtScript. I'll see if I >> can get it bundled next. >> > > Awesome. I think I might have remembered why I stopped building Qt as a > framework, see below. > >> Actually, what is this -framework stuff anyway? ld(1) says >> " -framework name[,suffix] >> This option tells the linker to search for >> `name.framework/name' the framework search path. If the optional >> suffix is specified the framework is first >> searched for the name with the suffix and then >> without (e.g. look for `name.framework/name_suffix' first, if not >> there try `name.framework/name')." >> >> I ran otool -hv on some libs in /usr/lib. I tried it against a .a >> version and then a .dylib version of the same lib (confirmed they >> weren't symlinked together too). Both said they were of type MH_MAGIC. >> So what's a dylib, then? Why is it important to build dylibs? >> > > If you look in /Library/Frameworks, you'll see a bunch of frameworks. If you > have Qt installed, there should be a folder called > /Library/Frameworks/QtGui.framework, and that's a good example to look at. A > framework is to a library as a bundle is to an application. A framework is > just an easy-to-distribute directory that contains a compiled library along > with the necessary development headers. > > For example, with the QtGui framework, you'll see the headers located in: > /Library/Frameworks/QtGui.framework/Headers > and the precompiled dynamic library located in: > /Library/Frameworks/QtGui.framework/Versions/Current > Note that the dynamic library is just called "QtGui" with no extension > inside that directory, but if you run otool -L or otool -hv on it, you'll > see it's just a dylib. So compiling Qt as a framework is still compiling it > as a dynamic library, except it's all packaged up inside this framework > directory now. > > This brings me to why I think I started compiling Qt as a regular > shared/dynamic library instead of as a framework. If you compile it as a > framework, the dylibs are buried into all these crazy framework directories, > and my packaging script would have had to dig through them. None of the > other libraries we link/relink against are like this, and so it just made my > life a bit easier when writing the packaging script to not have to sort > through all these directories. So if I just rewrite the paths all should be peachy? Well, doing that now, we'll see what happens. -Nick ------------------------------------------------------------------------------ This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword _______________________________________________ Mixxx-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mixxx-devel
