[ptx] Hugin 0.6 on OS X Crashing
Ippei UKAI
ippei_ukai at mac.com
Thu Aug 3 23:24:00 BST 2006
On 2006-08-02, at 01:13, JD Smith wrote:
>
> Thanks, Ippei. So a Makefile which creates the .app directory
> heirarchy, and copies components in from the mac/ source directory
> should be simple to code, yes? There is no other patching, etc.
> which your XCode project does (other than gather all the needed
> libraries, and compile things statically).
Well, there might be a few compiler arguments (especially -D options
if ever set), but the basic process is simply compile->bundle.
As I have written, some patches are applied to the resource files
when the "localised" script thingy (the name is no longer correct as
it does more than localising the resources) which is called in the
last step of Xcode build process.
> Could you suggest any thing else the Makefile would have to do?
> For example, Emacs' configure.in does:
>
> ### Use Mac OS X Carbon API to implement GUI. if test "$
> {HAVE_CARBON}" = "yes"; then AC_DEFINE(HAVE_CARBON, 1, [Define to
> 1 if you are using the Carbon API on Mac OS X.]) ## Specify the
> install directory carbon_appdir= if test "${carbon_appdir_x}" !
> = ""; then case ${carbon_appdir_x} in y | ye | yes)
> carbon_appdir=/Applications ;; * ) carbon_appdir=$
> {carbon_appdir_x} ;; esac fi # We also have mouse menus.
> HAVE_MENUS=yes tmp_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -framework
> Carbon" AC_CHECK_FUNC(CancelMenuTracking, have_cmt=yes,
> have_cmt=no) if test "$have_cmt" = yes; then AC_DEFINE
> (HAVE_CANCELMENUTRACKING, 1, [Define to 1 if
> CancelMenuTracking is available (Mac OSX).]) fi
> CFLAGS="$tmp_CFLAGS" fiThey also have "mac/Emacs.app" already
> checked into CVS with the PkgInfo, Info.plist, etc. files already
> setup. Then make simply copies the created executable to mac/
> Emacs.app/Contents/MacOS/, if it realizes it must make a mac
> version. The src/Makefile is auto-generated by configure (via m4
> pre-processing) with the correct things in it, such as:
> ${emacsapp}Contents/MacOS/Emacs: emacs${EXEEXT}
> mkdir -p ${emacsapp}Contents/MacOS/;
> cd ${emacsapp}Contents/MacOS/; cp ../../../../src/emacs$
> {EXEEXT} Emacs${
> EXEEXT}
> ${emacsapp}Contents/Resources/Emacs.rsrc: ../mac/src/Emacs.r
> /Developer/Tools/Rez -useDF -o ${emacsapp}Contents/
> Resources/Emacs.rsrc
> /System/Library/Frameworks/Carbon.framework/Headers/Carbon.r $<
> ${libsrc}emacstool${EXEEXT}: ${libsrc}emacstool.c
> cd ${libsrc}; ${MAKE} ${MFLAGS} emacstool${EXEEXT}
.r files are not needed with wxWidgets 2.6. Many frameworks are to be
linked, but none of them are for hugin's main code. wx requires quite
a few and pano12 requires Carbon at least. I have no idea of
"carbon_appdir=/Applications" part, but it's best not to hard code
any paths like that ever in the build process.
> etc. So I think it's really just a matter of:
>
> 1. creating and checking into CVS mac/Hugin.app with all the
> correct structure and handful of pre-existing files from your
> HuginOSX.app bundle.
> 2. arranging for Pablo's configure/Makefile heirarchy to copy the
> binary into the correct location.
Please not to commit the directory structures in the CVS. It's better
be created in the build process for many reasons. The stupidest
reason is that Emacs.app has /CVS folders inside the app package and
looks stupid. The .plist file is in the CVS, and Package file is only
a matter of dumping 8 characters into a file.
> 3. (optional) Borrow their make-package script to make a compressed
> installer package .dmg file.
Well, .dmg is just a disk image format. Probably a good idea to make
a lisence enabled dmg file for HuginOSX.app and a separate package
(proper Installer package or just .tgz file) to distribute command
line tools.
> We could even copy enblend and autopano-sift into Contents/MacOS
> (assuming license issues with the later don't interfere), and pre-
> configure Hugin to look for them there.
This is what I have intended to do and technically it's already
possible. Eventually it's not done for license and/or other moral
reasons. (Don't ask me...) I'm attaching AppleScript applications
that let users to do this by their selves. My enblend lives in /MacOS
and autopano-sift lives in /Resources/autopano-sift. With those files
inside the bundle, simple DnD installation is possible.
Ippei
--
->> 鵜飼 一平 (UKAI Ippei) ->>>>>>>>>>>>>>>>>>>>>>>>
MSN & AIM: ippei_ukai at mac.com (Skype: ippei_ukai)
Homepage: http://homepage.mac.com/ippei_ukai/
More information about the ptx
mailing list