[Mono-osx] How to add mono/dumbarton as a bundled framework
Eoin Norris
e.norris at mac.com
Wed Oct 25 05:04:52 EDT 2006
This query is more for people who have used ObjectiveC# or Dumbarton.
I have created an application that runs on my Intel box, talking via
dumbarton to the mono layer , and back. Mono does the business code
and all UI is in Cocoa.
I need to get to beta test sometime next week - with external testers
- and I need to either bite the bullet and bundle the frameworks
within the bundle ( preferably a universal version) or just do it via
an installer, installing the frameworks in /Library/Frameworks -
which is ugly for the Mac.
I thought I had a fair idea how to do this, however I ran into
dumbarton problems.
The developer documentation from apple suggests that you should build
the frameworks within the project. This not what I want to do with
the mono framework, specially as I am unsure how to build it.
So for now I link against the mono 1.1.17.1 version ( which is intel
only on my machine) without building it.
So the final build phase is:
1) copy dumbarton.framework and mono.framework to the application
bundle/contents/frameworks/ directory via a script
2) add -weak-link dumbarton and -weak-link mono to the linker flags
3) Change the mono specific linker flags ( which i dont really
understand) to point to the bundled frameworks
i.e. -L"$TARGET_BUILD_DIR/$FULL_PRODUCT_NAME/Contents/Frameworks/
Mono.framework/Versions/Current/lib/pkgconfig/../../lib" and
-L""$TARGET_BUILD_DIR/$FULL_PRODUCT_NAME/Contents/Frameworks/
Mono.framework/Versions/Current/lib" -lmono -lm -lgmodule-2.0 -
lgthread-2.0 -lglib-2.0 -lintl -liconv
So that is the main target sorted I think, but I am not exactly sure.
However I add Dumbarton as a bundled framework too, but do not build
it either.
On launching the result is :
dyld: Library not loaded: /Library/Frameworks/Mono.framework/Versions/
1.1.17.1/lib/libmono.0.0.0.dylib
Referenced from: /Library/Frameworks/Dumbarton.framework/Versions/
A/Dumbarton
Reason: image not found
clearly a reference to the mono.framework from dumbarton. This gives
rise to a circular problem, how do I build the dumbarton framework to
point to a mono.framework ( weak-linked?) within a bundle which would
not have been built yet, until after it the dumbarton framework is
linked ( I think it is clear tha I have probably have to build
dumbarton as part of my project.)
Thanks in advance
More information about the Mono-osx
mailing list