<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-9152369899171664076</id><updated>2012-01-01T00:56:35.547+01:00</updated><category term='cocoa'/><category term='building'/><category term='universal'/><category term='opencv'/><category term='iphone'/><category term='xcode'/><category term='omni group'/><category term='frameworks'/><category term='omnigroup'/><category term='vendor'/><category term='static'/><category term='mac'/><category term='compiling'/><category term='os x'/><category term='osx'/><category term='importing'/><category term='subversion'/><category term='library'/><category term='fat libraries'/><title type='text'>infodan</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ildan.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152369899171664076/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ildan.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>ildan</name><uri>http://www.blogger.com/profile/13465829695496065522</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9152369899171664076.post-8362786037902922586</id><published>2009-11-10T16:27:00.005+01:00</published><updated>2009-11-10T16:57:16.149+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fat libraries'/><category scheme='http://www.blogger.com/atom/ns#' term='building'/><category scheme='http://www.blogger.com/atom/ns#' term='osx'/><category scheme='http://www.blogger.com/atom/ns#' term='opencv'/><category scheme='http://www.blogger.com/atom/ns#' term='compiling'/><title type='text'>Creating an universal static OpenCV library in (Snow) Leopard</title><content type='html'>More that a year ago i wrote a &lt;a href="http://ildan.blogspot.com/2008/07/creating-universal-static-opencv.html"&gt;post&lt;/a&gt; about creating a fat OpenCV 1.0.0 static lib for OS X 10.5.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It seems it attracted some attention and it seems that some people found it useful. Unfortunately I have not been working directly with OpenCV for quite a lot of time, until recently, when I found myself in need of recompiling it for Snow Leopard.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So I created for myself a shell script that neatly compiles OpenCV 1.0.0 (of which you can download the source from &lt;a href="http://sourceforge.net/projects/opencvlibrary/"&gt;Sourceforge&lt;/a&gt;). It creates the libs for Leopard or Snow Leopard with i386, x86_64 and ppc architectures. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have no time to contribute the iPhone part but if someone is willing to submit it I will add it to the script.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To use it first, unpack the OpenCV 1.0.0 sources in a folder, open a terminal window and cd to the folder you unpacked the sources: the 'ls' command will list a 'opencv-1.0.0' directory in it. Then select the text below and in the terminal launch the 'pico opencv-build-mac.sh' command, paste the text, exit pico (with ctrl-x) and execute with 'bash opencv-build-mac.sh'.&lt;br /&gt;&lt;pre&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;# Download opencv-1.0.0.tar.gz from http://sourceforge.net/projects/opencvlibrary/&lt;br /&gt;# Unpack it in the same directory where this file resides.&lt;br /&gt;# Execute this file from a terminal with the command "bash opencv-build-mac.sh"&lt;br /&gt;#&lt;br /&gt;# Compiles for Leopard by default.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#set -x&lt;br /&gt;&lt;br /&gt;ROOTDIR=$(pwd)&lt;br /&gt;SRCDIR="${ROOTDIR}/opencv-1.0.0"&lt;br /&gt;&lt;br /&gt;# Leopard&lt;br /&gt;SYSROOT="-isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5"&lt;br /&gt;SUFFIX="-macosx10.5"&lt;br /&gt;&lt;br /&gt;# Snow Leopard&lt;br /&gt;#SYSROOT="-isysroot /Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.6"&lt;br /&gt;#SUFFIX="-macosx10.6"&lt;br /&gt;&lt;br /&gt;I686DIR="$ROOTDIR/i686"&lt;br /&gt;PPCDIR="$ROOTDIR/ppc"&lt;br /&gt;X86_64DIR="$ROOTDIR/x86_64"&lt;br /&gt;&lt;br /&gt;CONFFLAGS="--without-imageio --without-python --without-swig --disable-apps \&lt;br /&gt;        --disable-dependency-tracking --without-carbon --without-quicktime \&lt;br /&gt;        --enable-shared=no --without-gtk"&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# i686&lt;br /&gt;#&lt;br /&gt;build_i686() {&lt;br /&gt;&lt;br /&gt;rm -rf $I686DIR&lt;br /&gt;mkdir -p $I686DIR&lt;br /&gt;pushd $I686DIR&lt;br /&gt;&lt;br /&gt;${SRCDIR}/configure ${CONFFLAGS} CXXFLAGS="${SYSROOT} -arch i686" --target=i686-apple-darwin10 || exit 1&lt;br /&gt;make || exit 1&lt;br /&gt;popd&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# x86_64&lt;br /&gt;#&lt;br /&gt;build_x86_64 () {&lt;br /&gt;&lt;br /&gt;rm -rf $X86_64DIR&lt;br /&gt;mkdir -p $X86_64DIR&lt;br /&gt;pushd $X86_64DIR&lt;br /&gt;&lt;br /&gt;${SRCDIR}/configure ${CONFFLAGS} CXXFLAGS="${SYSROOT} -arch x86_64" --target=x86_64-apple-darwin10 || exit 1&lt;br /&gt;make || exit 1&lt;br /&gt;popd&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# ppc&lt;br /&gt;#&lt;br /&gt;build_ppc () {&lt;br /&gt;&lt;br /&gt;rm -rf $PPCDIR&lt;br /&gt;mkdir -p $PPCDIR&lt;br /&gt;pushd $PPCDIR&lt;br /&gt;&lt;br /&gt;${SRCDIR}/configure ${CONFFLAGS} CXXFLAGS="${SYSROOT} -arch ppc" --host=i686-apple-darwin10 --target=ppc-apple-darwin10 || exit 1&lt;br /&gt;make || exit 1&lt;br /&gt;popd&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# creating fat lib&lt;br /&gt;#&lt;br /&gt;create_fat_lib() {&lt;br /&gt;&lt;br /&gt;lipo -create $I686DIR/cv/src/.libs/libcv.a \&lt;br /&gt;          $X86_64DIR/cv/src/.libs/libcv.a \&lt;br /&gt;          $PPCDIR/cv/src/.libs/libcv.a \&lt;br /&gt;   -output libcv${SUFFIX}.a || exit 1&lt;br /&gt;&lt;br /&gt;lipo -create $I686DIR/cxcore/src/.libs/libcxcore.a \&lt;br /&gt;          $X86_64DIR/cxcore/src/.libs/libcxcore.a \&lt;br /&gt;          $PPCDIR/cxcore/src/.libs/libcxcore.a \&lt;br /&gt;  -output libcxcore${SUFFIX}.a || exit 1&lt;br /&gt;&lt;br /&gt;lipo -create $I686DIR/cvaux/src/.libs/libcvaux.a \&lt;br /&gt;          $X86_64DIR/cvaux/src/.libs/libcvaux.a \&lt;br /&gt;          $PPCDIR/cvaux/src/.libs/libcvaux.a \&lt;br /&gt;  -output libcvaux${SUFFIX}.a || exit 1&lt;br /&gt;&lt;br /&gt;lipo -create $I686DIR/ml/src/.libs/libml.a \&lt;br /&gt;          $X86_64DIR/ml/src/.libs/libml.a \&lt;br /&gt;          $PPCDIR/ml/src/.libs/libml.a \&lt;br /&gt;  -output libml${SUFFIX}.a || exit 1&lt;br /&gt;&lt;br /&gt;lipo -create $I686DIR/otherlibs/highgui/.libs/libhighgui.a \&lt;br /&gt;          $X86_64DIR/otherlibs/highgui/.libs/libhighgui.a \&lt;br /&gt;          $PPCDIR/otherlibs/highgui/.libs/libhighgui.a \&lt;br /&gt;  -output libhighgui${SUFFIX}.a || exit 1&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# main&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;cd ${ROOTDIR}&lt;br /&gt;rm *.a&lt;br /&gt;&lt;br /&gt;build_i686&lt;br /&gt;build_x86_64&lt;br /&gt;build_ppc&lt;br /&gt;create_fat_lib&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9152369899171664076-8362786037902922586?l=ildan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ildan.blogspot.com/feeds/8362786037902922586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9152369899171664076&amp;postID=8362786037902922586' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152369899171664076/posts/default/8362786037902922586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152369899171664076/posts/default/8362786037902922586'/><link rel='alternate' type='text/html' href='http://ildan.blogspot.com/2009/11/creating-universal-static-opencv.html' title='Creating an universal static OpenCV library in (Snow) Leopard'/><author><name>ildan</name><uri>http://www.blogger.com/profile/13465829695496065522</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152369899171664076.post-7297243083834408961</id><published>2009-06-22T15:11:00.040+01:00</published><updated>2009-07-02T12:41:13.955+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='static'/><category scheme='http://www.blogger.com/atom/ns#' term='os x'/><category scheme='http://www.blogger.com/atom/ns#' term='library'/><category scheme='http://www.blogger.com/atom/ns#' term='xcode'/><category scheme='http://www.blogger.com/atom/ns#' term='osx'/><title type='text'>Managing static versioned libraries in OS X</title><content type='html'>The Mac OS X offers great tools to developers in order to manage libraries with many versions: &lt;a href="http://developer.apple.com/documentation/macosx/Conceptual/BPFrameworks/Frameworks.html"&gt;Frameworks&lt;/a&gt;.&lt;div&gt;&lt;br /&gt;Anyway sometimes you may want to use static libraries instead. Maybe just as a means of (psycologically) obfuscating your preciuos code you don't want to put in a framework for the world to know...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;I'm currently experimenting with an idea that should make easier to selectively link different libraries versions to your application. The trivial idea is to create a folder for each of your libraries, for example in your Library home folder, named after their version:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;/home/dan/Library/ACME/MySecretLib-1.0.0/&lt;br /&gt;/home/dan/Library/ACME/MySecretLib-1.0.1/&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Inside each folder there is your library archive (or archives if you want debug and release flavours) and a Headers folder. Your client projects will simply include the headers and link the library archive.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I will show you how to obtain this with Xcode. Refer to the Apple &lt;a href="http://developer.apple.com/documentation/DeveloperTools/Conceptual/XcodeBuildSystem/"&gt;Xcode Build System Guide&lt;/a&gt; and to the &lt;a href="http://developer.apple.com/documentation/DeveloperTools/Reference/XcodeBuildSettingRef"&gt;Xcode Build Settings Reference&lt;/a&gt; if you're not at home with the (complex) Xcode build stuff.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Open the library &lt;i&gt;Project Info &lt;/i&gt;window and in the &lt;i&gt;Build&lt;/i&gt; tab define, for all configurations, the user-defined build settings:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:85%;"&gt;ACME_LIBRARY_DIR = $(USER_LIBRARY_DIR)/ACME&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:85%;"&gt;ACME_LIBRARY_NAME = MySecretLib&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:85%;"&gt;ACME_LIBRARY_VERSION = 1.0.0&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Then open your static library &lt;i&gt;Target Info &lt;/i&gt;window and in the &lt;i&gt;Build &lt;/i&gt;tab edit the settings:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:85%;"&gt;DEPLOYMENT_LOCATION = YES &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:85%;"&gt;PRODUCT_NAME = $(ACME_LIBRARY_NAME)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:85%;"&gt;DSTROOT = $(ACME_LIBRARY_DIR)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:85%;"&gt;INSTALL_PATH = /$(ACME_LIBRARY_NAME)-$(ACME_LIBRARY_VERSION)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:85%;"&gt;PUBLIC_HEADERS_FOLDER_PATH = $(INSTALL_PATH)/Headers&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;Then add a &lt;i&gt;Copy Headers Build Phase&lt;/i&gt; to your target and copy your public headers to it. Remember to set their &lt;i&gt;Role&lt;/i&gt; to &lt;i&gt;Public&lt;/i&gt;. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;If you need a debug library with symbols simply add a "debug" line to the BUILD_VARIANTS setting.&lt;br /&gt;&lt;br /&gt;To link your library you will define the following build settings:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;span class="Apple-style-span"&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:85%;"&gt;ACME_SECRETLIBRARY_DIR = $(USER_LIBRARY_DIR)/ACME/MySecretLib-1.0.0&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:85%;"&gt;ACME_SECRETLIBRARY_NAME = libMySecretLib&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:85%;"&gt;HEADER_SEARCH_PATHS = $(ACME_SECRETLIBRARY_DIR)/Headers&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:85%;"&gt;OTHER_LDFLAGS = $(ACME_SECRETLIBRARY_DIR)/$(ACME_SECRETLIBRARY_DIR).a&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;changing the .a to .da if you're using the debug/release flavours.&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9152369899171664076-7297243083834408961?l=ildan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ildan.blogspot.com/feeds/7297243083834408961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9152369899171664076&amp;postID=7297243083834408961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152369899171664076/posts/default/7297243083834408961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152369899171664076/posts/default/7297243083834408961'/><link rel='alternate' type='text/html' href='http://ildan.blogspot.com/2009/06/managing-static-versioned-libraries-in.html' title='Managing static versioned libraries in OS X'/><author><name>ildan</name><uri>http://www.blogger.com/profile/13465829695496065522</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152369899171664076.post-2294482678251065286</id><published>2008-11-19T11:58:00.003+01:00</published><updated>2008-11-19T12:04:24.820+01:00</updated><title type='text'>Failing snapshots in XCode</title><content type='html'>Did it ever happened to you that the XCode "File &gt; Make Snaphot" fails miserably with a Cannot-change-permissions-somewhere-down-over-/tmp/XY!$%^ ?&lt;br /&gt;&lt;br /&gt;Well if so check the permissions of your project file, they must be writable by the owner only. To fix the problem launch a terminal, go in the project folder and use the&lt;br /&gt;&lt;blockquote&gt;chmod -Rv g-w,o-w *&lt;/blockquote&gt;command. Of course double check you really are in the project folder and you really don't need those writing permissions in place.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9152369899171664076-2294482678251065286?l=ildan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ildan.blogspot.com/feeds/2294482678251065286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9152369899171664076&amp;postID=2294482678251065286' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152369899171664076/posts/default/2294482678251065286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152369899171664076/posts/default/2294482678251065286'/><link rel='alternate' type='text/html' href='http://ildan.blogspot.com/2008/11/failing-snapshots-in-xcode.html' title='Failing snapshots in XCode'/><author><name>ildan</name><uri>http://www.blogger.com/profile/13465829695496065522</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152369899171664076.post-1300236849524296623</id><published>2008-11-05T17:57:00.009+01:00</published><updated>2008-11-06T15:10:10.489+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='omni group'/><category scheme='http://www.blogger.com/atom/ns#' term='frameworks'/><category scheme='http://www.blogger.com/atom/ns#' term='vendor'/><category scheme='http://www.blogger.com/atom/ns#' term='importing'/><category scheme='http://www.blogger.com/atom/ns#' term='subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='cocoa'/><category scheme='http://www.blogger.com/atom/ns#' term='omnigroup'/><title type='text'>Importing the OmniGroup Frameworks into your Subversion repository</title><content type='html'>This is a quick reference based on the &lt;a href="http://svnbook.red-bean.com/en/1.5/svn.advanced.vendorbr.html"&gt;Vendor Branches&lt;/a&gt; of the "&lt;a href="http://svnbook.red-bean.com/"&gt;Version Control with Subversion&lt;/a&gt;" book.&lt;br /&gt;&lt;br /&gt;So you want to use the &lt;a href="http://www.omnigroup.com/developer/"&gt;wonderful code&lt;/a&gt; that the &lt;a href="http://www.omnigroup.com/"&gt;Omni Group&lt;/a&gt; gives you for free. Good, just follow the following instructions.&lt;br /&gt;&lt;br /&gt;Create a vendor branch in your repository:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;myRepo/trunk&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;myRepo/&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;branches&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;myRepo/&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;tags&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;myRepo/&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;vendor/OmniFrameworks&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;then download the &lt;a href="http://www.omnigroup.com/ftp/pub/software/Source/MacOSX/Frameworks/"&gt;frameworks distribution&lt;/a&gt; from the &lt;a href="http://www.omnigroup.com/developer/"&gt;Omni Group site&lt;/a&gt;, unpack it in the, say, &lt;span style="font-style: italic;font-size:85%;" &gt;tmp&lt;/span&gt; folder of your home. It will have a structure like:&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;tmp/OmniGroup/Configurations&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;tmp/OmniGroup/Frameworks&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;tmp/OmniGroup/Scripts&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;Now use the &lt;a href="http://subversion.tigris.org/tools_contrib.html#svn_load_dirs_pl"&gt;svn_load_dirs.pl&lt;/a&gt; program to import the distribution to the repository.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;&lt;blockquote&gt;svn_load_dirs.pl -t 2008-09-09 \&lt;br /&gt;            http://example.com/myRepo/vendor/OmniFrameworks \&lt;br /&gt;            current \&lt;br /&gt;            ~/tmp/OmniGroup&lt;/blockquote&gt;&lt;/span&gt;&lt;/span&gt;You will have the code loaded to the &lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;current&lt;/span&gt;&lt;/span&gt; and &lt;span style="font-size:85%;"&gt;&lt;span&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;2008-09-09&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; directories.&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;myRepo/trunk&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;myRepo/&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;branches&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;myRepo/&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;tags&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;myRepo/&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;vendor/OmniFrameworks/current&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;myRepo/&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;vendor/OmniFrameworks/2008-09-09&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;The next time you import a new version of the frameworks, do the same steps as above. According to the &lt;a href="http://svnbook.red-bean.com/"&gt;Subversion Book&lt;/a&gt; everything will be all right ;)&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9152369899171664076-1300236849524296623?l=ildan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ildan.blogspot.com/feeds/1300236849524296623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9152369899171664076&amp;postID=1300236849524296623' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152369899171664076/posts/default/1300236849524296623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152369899171664076/posts/default/1300236849524296623'/><link rel='alternate' type='text/html' href='http://ildan.blogspot.com/2008/11/importing-omnigroup-frameworks-into-yor.html' title='Importing the OmniGroup Frameworks into your Subversion repository'/><author><name>ildan</name><uri>http://www.blogger.com/profile/13465829695496065522</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152369899171664076.post-8420199733595171708</id><published>2008-07-03T22:13:00.023+01:00</published><updated>2009-11-10T16:49:56.612+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='static'/><category scheme='http://www.blogger.com/atom/ns#' term='os x'/><category scheme='http://www.blogger.com/atom/ns#' term='library'/><category scheme='http://www.blogger.com/atom/ns#' term='universal'/><category scheme='http://www.blogger.com/atom/ns#' term='cocoa'/><category scheme='http://www.blogger.com/atom/ns#' term='osx'/><category scheme='http://www.blogger.com/atom/ns#' term='mac'/><category scheme='http://www.blogger.com/atom/ns#' term='iphone'/><category scheme='http://www.blogger.com/atom/ns#' term='opencv'/><category scheme='http://www.blogger.com/atom/ns#' term='compiling'/><title type='text'>Creating an universal static OpenCV library with iPhone support</title><content type='html'>&lt;div&gt;&lt;b&gt;This post has been updated &lt;/b&gt;&lt;a href="http://ildan.blogspot.com/2009/11/creating-universal-static-opencv.html"&gt;&lt;b&gt;here&lt;/b&gt;&lt;/a&gt;&lt;b&gt;.&lt;/b&gt; Sorry I have no time to upgrade the iPhone part, I hope someone will share this knowledge ;)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;We will create a minimal static universal OpenCV 1.0.0 library with 4 architectures: Intel, PowerPC, x86_64 and Arm for the iPhone. I've been testing it on Leopard and Snow Leopard but it should work on any Mac OS X version.&lt;br /&gt;&lt;br /&gt;First checkout or untar the OpenCV sources in the &lt;tt&gt;opencv-1.0.0&lt;/tt&gt; directory. Then, on the same level (not inside) create a &lt;tt&gt;build&lt;/tt&gt; directory with 4 subdirectories: &lt;tt&gt;ppc&lt;/tt&gt;, &lt;tt&gt;i386, x86_64&lt;/tt&gt; and &lt;tt&gt;arm&lt;/tt&gt;. (Download the code from &lt;a href="http://sourceforge.net/projects/opencvlibrary/"&gt;Sourceforge&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Then set the global configure settings:&lt;br /&gt;&lt;blockquote  style="font-weight: bold;font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;$ export CONFFLAGS="&lt;/span&gt;&lt;span style="font-size:85%;"&gt;--without-imageio --without-python --without-swig --disable-apps --disable-dependency-tracking --without-carbon --without-quicktime &lt;/span&gt;&lt;span style="font-size:85%;"&gt;--enable-shared=no --without-gtk"&lt;/span&gt;&lt;/blockquote&gt;in the ppc dir:&lt;br /&gt;&lt;blockquote  style="font-weight: bold;font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;$ ../../opencv-1.0.0/configure  ${CONFFLAGS} --target=ppc-apple-darwin9&lt;br /&gt;$ make CXXFLAGS="-arch ppc"&lt;/span&gt;&lt;/blockquote&gt;in the i386 dir:&lt;br /&gt;&lt;blockquote  style="font-family:courier new;"&gt;&lt;span style="font-weight: bold;font-family:courier new;font-size:85%;"&gt;$ ../../opencv&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;-1.0.0&lt;span class="Apple-style-span"  style=" font-weight: normal; font-size:16px;"&gt;&lt;span style="font-weight: bold;font-family:courier new;font-size:85%;"&gt;/configure &lt;/span&gt;&lt;span style="font-weight: bold;font-family:courier new;font-size:85%;"&gt;${CONFFLAGS} &lt;/span&gt;&lt;span style="font-weight: bold;font-family:courier new;font-size:85%;"&gt;--&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;target&lt;/span&gt;=i386-apple-darwin9&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote  style="font-family:courier new;"&gt;&lt;span style="font-weight: bold;font-family:courier new;font-size:85%;"&gt;$ &lt;/span&gt;&lt;span style="font-weight: bold;font-family:courier new;font-size:85%;"&gt;make CXXFLAGS="-arch i386"&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;div&gt;in the x86_64 dir:&lt;br /&gt;&lt;blockquote  style="font-family:courier new;"&gt;&lt;span style="font-weight: bold; font-family:courier new;font-size:85%;"&gt;$ ../../opencv&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;-1.0.0&lt;span class="Apple-style-span"  style=" font-weight: normal; font-size:16px;"&gt;&lt;span style="font-weight: bold; font-family:courier new;font-size:85%;"&gt;/configure &lt;/span&gt;&lt;span style="font-weight: bold; font-family:courier new;font-size:85%;"&gt;${CONFFLAGS} &lt;/span&gt;&lt;span style="font-weight: bold; font-family:courier new;font-size:85%;"&gt;--&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;target&lt;/span&gt;=x86_64-apple-darwin9&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote  style="font-family:courier new;"&gt;&lt;span style="font-weight: bold; font-family:courier new;font-size:85%;"&gt;$ &lt;/span&gt;&lt;span style="font-weight: bold; font-family:courier new;font-size:85%;"&gt;make CXXFLAGS="-arch x86_64"&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new', serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;in the arm dir:&lt;br /&gt;&lt;blockquote  style="font-family:courier new;"&gt;&lt;span style="font-weight: bold;font-family:courier new;font-size:85%;"&gt;$ ../../opencv&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;-1.0.0&lt;span class="Apple-style-span"  style=" font-weight: normal; font-size:16px;"&gt;&lt;span style="font-weight: bold;font-family:courier new;font-size:85%;"&gt;/configure&lt;/span&gt;&lt;span style="font-weight: bold;font-family:courier new;font-size:85%;"&gt; ${CONFFLAGS}&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;font-family:courier new;"&gt; --&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;host &lt;/span&gt;=arm-apple-darwin9 CXX=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin9-g++-4.2.1 CXXFLAGS="-arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk" CXXCPP=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/cpp&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;font-family:courier new;"&gt;$ make&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;the last one is tough, so let's see the variables one by one:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:courier new;font-size:85%;"&gt;CXX=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin9-g++-4.2.1&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:courier new;font-size:85%;"&gt;CXXFLAGS="-arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk"&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:courier new;font-size:85%;"&gt;CXXCPP=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/cpp&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;Ok. Now for the universal static libs:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold;"&gt;$ lipo -create i386/cv/src/.libs/libcv.a x86_64/cv/src/.libs/libcv.a  ppc/cv/src/.libs/libcv.a armv6/cv/src/.libs/libcv.a -output libcv.a&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold;"&gt;$ lipo -create i386/cxcore/src/.libs/libcxcore.a x86_64/cxcore/src/.libs/libcxcore.a  ppc/cxcore/src/.libs/libcxcore.a armv6/cxcore/src/.libs/libcxcore.a -output libcxcore.a&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold;"&gt;$ lipo -create i386/cvaux/src/.libs/libcvaux.a x86_64/cvaux/src/.libs/libcvaux.a  ppc/cvaux/src/.libs/libcvaux.a armv6/cvaux/src/.libs/libcvaux.a -output libcvaux.a&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold;"&gt;$ lipo -create i386/ml/src/.libs/libml.a x86_64/ml/src/.libs/libml.a ppc/ml/src/.libs/libml.a armv6/ml/src/.libs/libml.a -output libml.a&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold;"&gt;$ lipo -create i386/otherlibs/highgui/.libs/libhighgui.a x86_64/otherlibs/highgui/.libs/libhighgui.a  ppc/otherlibs/highgui/.libs/libhighgui.a armv6/otherlibs/highgui/.libs/libhighgui.a -output libhighgui.a&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;That's all. Oh, try&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;$ make -j 2&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9152369899171664076-8420199733595171708?l=ildan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ildan.blogspot.com/feeds/8420199733595171708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9152369899171664076&amp;postID=8420199733595171708' title='36 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152369899171664076/posts/default/8420199733595171708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152369899171664076/posts/default/8420199733595171708'/><link rel='alternate' type='text/html' href='http://ildan.blogspot.com/2008/07/creating-universal-static-opencv.html' title='Creating an universal static OpenCV library with iPhone support'/><author><name>ildan</name><uri>http://www.blogger.com/profile/13465829695496065522</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>36</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152369899171664076.post-3362519529036429208</id><published>2008-06-24T11:14:00.000+01:00</published><updated>2008-06-24T11:15:34.609+01:00</updated><title type='text'>pkgutil</title><content type='html'>Try pkgutil!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9152369899171664076-3362519529036429208?l=ildan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ildan.blogspot.com/feeds/3362519529036429208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9152369899171664076&amp;postID=3362519529036429208' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152369899171664076/posts/default/3362519529036429208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152369899171664076/posts/default/3362519529036429208'/><link rel='alternate' type='text/html' href='http://ildan.blogspot.com/2008/06/pkgutil.html' title='pkgutil'/><author><name>ildan</name><uri>http://www.blogger.com/profile/13465829695496065522</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152369899171664076.post-5863045033275252634</id><published>2008-02-05T11:21:00.000+01:00</published><updated>2008-02-05T11:51:41.529+01:00</updated><title type='text'>How to uninstall Mac Os X packages (.pkg)</title><content type='html'>Mac OS X keeps track of applications installed via the .pkg native installer in the /Library/Receipts folder.&lt;br /&gt;&lt;br /&gt;.pkgs appear as files in the Finder but in reality are bundles. Apple nicely conceals information on installed files in the .bom ("bill-of-materials") proprietary binary files. But also ships a &lt;span style="font-style:italic;"&gt;lsbom&lt;/span&gt; command that reads them (and a &lt;span style="font-style:italic;"&gt;mkbom&lt;/span&gt; to create them).&lt;br /&gt;&lt;br /&gt;So, supposing you want to uninstall a .pkg-distributed file (say... &lt;a href="http://www.cmake.org/"&gt;cmake&lt;/a&gt;) you have to:&lt;br /&gt;&lt;br /&gt;1) check that it ships only files and simbolic links&lt;br /&gt;&lt;blockquote&gt;lsbom Archive.bom | less&lt;/blockquote&gt;&lt;br /&gt;2) list the files you are going to delete (checking there is no system file!)&lt;br /&gt;&lt;blockquote&gt;lsbom Archive.bom -f -l -s Archive.bom | less&lt;/blockquote&gt;&lt;br /&gt;3) delete them by hand or with the following command as administrator&lt;br /&gt;&lt;blockquote&gt;lsbom -f -l -s -pf Archive.bom | (cd /; xargs -n 1 rm)&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Er, you know in advance that if something goes wrong with the command above you wipe out your entire system, don't you?&lt;br /&gt;&lt;br /&gt;Thanks to ths Macworld &lt;a href="http://www.macworld.com/article/47341/2005/10/viewprogdetails.html"&gt;post&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9152369899171664076-5863045033275252634?l=ildan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ildan.blogspot.com/feeds/5863045033275252634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9152369899171664076&amp;postID=5863045033275252634' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152369899171664076/posts/default/5863045033275252634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152369899171664076/posts/default/5863045033275252634'/><link rel='alternate' type='text/html' href='http://ildan.blogspot.com/2008/02/how-to-uninstall-mac-os-x-packages-pkg.html' title='How to uninstall Mac Os X packages (.pkg)'/><author><name>ildan</name><uri>http://www.blogger.com/profile/13465829695496065522</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152369899171664076.post-3728745022979858861</id><published>2007-09-05T17:10:00.000+01:00</published><updated>2007-09-05T17:21:50.532+01:00</updated><title type='text'>How To edit an NSTextCell with a double-click</title><content type='html'>Just override the container mouseDown&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;@implementation MyMatrix&lt;br /&gt;- (void)mouseDown:(NSEvent *)e {&lt;br /&gt;   if ([e clickCount] == 2) {&lt;br /&gt;       [super mouseDown:e];&lt;br /&gt;   } else {&lt;br /&gt;       [[self superview] mouseDown:e];&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;@end&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9152369899171664076-3728745022979858861?l=ildan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ildan.blogspot.com/feeds/3728745022979858861/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9152369899171664076&amp;postID=3728745022979858861' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152369899171664076/posts/default/3728745022979858861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152369899171664076/posts/default/3728745022979858861'/><link rel='alternate' type='text/html' href='http://ildan.blogspot.com/2007/09/how-to-edit-nstextcell-with-double.html' title='How To edit an NSTextCell with a double-click'/><author><name>ildan</name><uri>http://www.blogger.com/profile/13465829695496065522</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
