<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://dev.eiffel.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dfurrer</id>
		<title>EiffelStudio: an EiffelSoftware project - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://dev.eiffel.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dfurrer"/>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/Special:Contributions/Dfurrer"/>
		<updated>2026-04-08T14:56:45Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.24.1</generator>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13509</id>
		<title>EiffelVision Cocoa</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13509"/>
				<updated>2009-10-27T13:53:25Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: /* Eiffel compilation errors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:EiffelVision2]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
This project was created with the goal of running Eiffel Studio natively on the Mac and succeeds the previous Carbon based EiffelVision implementation.&lt;br /&gt;
=Screenshots=&lt;br /&gt;
&lt;br /&gt;
[[Image:EiffelStudio-19-05-09.png|200px|thumb|left|EiffelStudio on 19.5.09]]&lt;br /&gt;
[[Image:EiffelStudio-3-07-09.png|200px|thumb|left|EiffelStudio on 3.7.09]]&lt;br /&gt;
[[Image:EiffelStudio-21-08-09.png|200px|thumb|left|EiffelStudio on 21.8.09]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Build instructions=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Get the latest EiffelStudio for the Mac. If you have MacPorts installed you can do this by typing&lt;br /&gt;
   &amp;lt;pre&amp;gt;port install eiffelstudio65&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Check out the latest source code from the trunk&lt;br /&gt;
   &amp;lt;pre&amp;gt;svn co https://svn.origo.ethz.ch/eiffelstudio/trunk&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set your EIFFEL_SRC and ISE_LIBRARY like this &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   export ISE_LIBRARY=/directory/to/your/checkout/trunk/Src&lt;br /&gt;
   export EIFFEL_SRC=$ISE_LIBRARY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Locate EiffelStudio's config.sh file (probably /Applications/MacPorts/Eiffel65/studio/spec/macosx-x86/include/config.sh) and add the flag -ObjC to the definition of the ccflags, like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   ccflags='-ObjC -pipe -no-cpp-precomp -fno-common -fPIC'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Compile the C-parts of the library&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/objc_base/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/cocoa/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Now open the .ecf file of your project and add the following line to your target:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
alternatively you can add another target which will allow you to easily compile both, a GTK+ and a Cocoa version of your application:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;target name=&amp;quot;cocoa&amp;quot; extends=&amp;quot;classic&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/target&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If you want to compile Eiffel Studio there is already a target called &amp;quot;bench_cocoa&amp;quot; which you can select.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Use ec -experiment (or estudio -experiment) to compile&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Documentation =&lt;br /&gt;
&lt;br /&gt;
Much of the inner working of EiffelVision and the underlying frameworks is described in my master thesis which you can find [http://dfurrer.com/masterthesis/thesis.pdf here]. (You can also check out the presentation [http://dfurrer.com/masterthesis/presentation.pdf here].)&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
Here are a couple of tasks that would help EiffelVision Cocoa to a more mature level.&lt;br /&gt;
&lt;br /&gt;
=== Memory management ===&lt;br /&gt;
We need to make sure the Objective-C objects are properly retained and released on creation and destruction of the dual Eiffel object. We also have to make sure there is never more than one dual Eiffel object for an Objective-C object. (This is currently the case)&lt;br /&gt;
Most of the code for the first part is in NS_OBJECT - for the second part some adjustments in the way the descendants of NS_OBJECT implement queries is needed.&lt;br /&gt;
&lt;br /&gt;
=== SmartDocking library ===&lt;br /&gt;
The SmartDocking library is used by EiffelStudio and at the moment we only have a very basic Cocoa based implementation. Improving this implementation would help the EiffelStudio experience on Mac OS X a lot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
== Eiffel compilation errors==&lt;br /&gt;
'''Note''': The last time I checked precompiles for Vision did not work correctly. Try removing them from your configuration and recompile.&lt;br /&gt;
&lt;br /&gt;
==C compilation errors==&lt;br /&gt;
'''Problem'''&lt;br /&gt;
&lt;br /&gt;
C compilation yields syntax errors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Compiling C code in C190&lt;br /&gt;
In file included from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:12,&lt;br /&gt;
                 from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,&lt;br /&gt;
                 from ns6299.c:27,&lt;br /&gt;
                 from big_file_C191_c.c:54:&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:124: error: stray '@' in program&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:124: error: syntax error before 'NSString'&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:126: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:127: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:129: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:130: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:132: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:132: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:133: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:133: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:137: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:138: error: syntax error before '*' token&lt;br /&gt;
In file included from /System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:6,&lt;br /&gt;
                 from /System/Library/Frameworks/Foundation.framework/Headers/NSAffineTransform.h:5,&lt;br /&gt;
                 from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:13,&lt;br /&gt;
                 from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,&lt;br /&gt;
                 from ns6299.c:27,&lt;br /&gt;
                 from big_file_C191_c.c:54:&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSZone.h:8: error: stray '@' in program&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Solution'''&lt;br /&gt;
&lt;br /&gt;
Make sure your config.sh was changed to allow compiling Objective-C (see step 4 above). &lt;br /&gt;
&lt;br /&gt;
==Linker errors==&lt;br /&gt;
'''Problem'''&lt;br /&gt;
&lt;br /&gt;
C compilation yields an linker error (symbols not found):&lt;br /&gt;
   Compiling C code in C1&lt;br /&gt;
   Compiling C code in E1&lt;br /&gt;
   Undefined symbols:&lt;br /&gt;
     &amp;quot;_bridge_void_general&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_general$non_lazy_ptr in Cobj160.o&lt;br /&gt;
     &amp;quot;_bridge_void_ptr_ptr&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_ptr_ptr$non_lazy_ptr in Cobj160.o&lt;br /&gt;
   ld: symbol(s) not found&lt;br /&gt;
   collect2: ld returned 1 exit status&lt;br /&gt;
   make: *** [ec] Error 1&lt;br /&gt;
'''Solution'''&lt;br /&gt;
&lt;br /&gt;
Make sure you compiled the C-parts of the libraries (see step 5 above).&lt;br /&gt;
&lt;br /&gt;
= Contact =&lt;br /&gt;
&lt;br /&gt;
If you run into any problems or have any other feedback I'll be happy to hear from you.&lt;br /&gt;
&lt;br /&gt;
* [[User:Dfurrer|Dfurrer]]&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13508</id>
		<title>EiffelVision Cocoa</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13508"/>
				<updated>2009-10-27T13:53:13Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: /* FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:EiffelVision2]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
This project was created with the goal of running Eiffel Studio natively on the Mac and succeeds the previous Carbon based EiffelVision implementation.&lt;br /&gt;
=Screenshots=&lt;br /&gt;
&lt;br /&gt;
[[Image:EiffelStudio-19-05-09.png|200px|thumb|left|EiffelStudio on 19.5.09]]&lt;br /&gt;
[[Image:EiffelStudio-3-07-09.png|200px|thumb|left|EiffelStudio on 3.7.09]]&lt;br /&gt;
[[Image:EiffelStudio-21-08-09.png|200px|thumb|left|EiffelStudio on 21.8.09]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Build instructions=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Get the latest EiffelStudio for the Mac. If you have MacPorts installed you can do this by typing&lt;br /&gt;
   &amp;lt;pre&amp;gt;port install eiffelstudio65&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Check out the latest source code from the trunk&lt;br /&gt;
   &amp;lt;pre&amp;gt;svn co https://svn.origo.ethz.ch/eiffelstudio/trunk&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set your EIFFEL_SRC and ISE_LIBRARY like this &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   export ISE_LIBRARY=/directory/to/your/checkout/trunk/Src&lt;br /&gt;
   export EIFFEL_SRC=$ISE_LIBRARY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Locate EiffelStudio's config.sh file (probably /Applications/MacPorts/Eiffel65/studio/spec/macosx-x86/include/config.sh) and add the flag -ObjC to the definition of the ccflags, like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   ccflags='-ObjC -pipe -no-cpp-precomp -fno-common -fPIC'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Compile the C-parts of the library&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/objc_base/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/cocoa/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Now open the .ecf file of your project and add the following line to your target:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
alternatively you can add another target which will allow you to easily compile both, a GTK+ and a Cocoa version of your application:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;target name=&amp;quot;cocoa&amp;quot; extends=&amp;quot;classic&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/target&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If you want to compile Eiffel Studio there is already a target called &amp;quot;bench_cocoa&amp;quot; which you can select.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Use ec -experiment (or estudio -experiment) to compile&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Documentation =&lt;br /&gt;
&lt;br /&gt;
Much of the inner working of EiffelVision and the underlying frameworks is described in my master thesis which you can find [http://dfurrer.com/masterthesis/thesis.pdf here]. (You can also check out the presentation [http://dfurrer.com/masterthesis/presentation.pdf here].)&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
Here are a couple of tasks that would help EiffelVision Cocoa to a more mature level.&lt;br /&gt;
&lt;br /&gt;
=== Memory management ===&lt;br /&gt;
We need to make sure the Objective-C objects are properly retained and released on creation and destruction of the dual Eiffel object. We also have to make sure there is never more than one dual Eiffel object for an Objective-C object. (This is currently the case)&lt;br /&gt;
Most of the code for the first part is in NS_OBJECT - for the second part some adjustments in the way the descendants of NS_OBJECT implement queries is needed.&lt;br /&gt;
&lt;br /&gt;
=== SmartDocking library ===&lt;br /&gt;
The SmartDocking library is used by EiffelStudio and at the moment we only have a very basic Cocoa based implementation. Improving this implementation would help the EiffelStudio experience on Mac OS X a lot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
== Eiffel compilation errors==&lt;br /&gt;
Note: The last time I checked precompiles for Vision did not work correctly. Try removing them from your configuration and recompile.&lt;br /&gt;
&lt;br /&gt;
==C compilation errors==&lt;br /&gt;
'''Problem'''&lt;br /&gt;
&lt;br /&gt;
C compilation yields syntax errors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Compiling C code in C190&lt;br /&gt;
In file included from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:12,&lt;br /&gt;
                 from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,&lt;br /&gt;
                 from ns6299.c:27,&lt;br /&gt;
                 from big_file_C191_c.c:54:&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:124: error: stray '@' in program&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:124: error: syntax error before 'NSString'&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:126: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:127: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:129: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:130: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:132: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:132: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:133: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:133: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:137: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:138: error: syntax error before '*' token&lt;br /&gt;
In file included from /System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:6,&lt;br /&gt;
                 from /System/Library/Frameworks/Foundation.framework/Headers/NSAffineTransform.h:5,&lt;br /&gt;
                 from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:13,&lt;br /&gt;
                 from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,&lt;br /&gt;
                 from ns6299.c:27,&lt;br /&gt;
                 from big_file_C191_c.c:54:&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSZone.h:8: error: stray '@' in program&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Solution'''&lt;br /&gt;
&lt;br /&gt;
Make sure your config.sh was changed to allow compiling Objective-C (see step 4 above). &lt;br /&gt;
&lt;br /&gt;
==Linker errors==&lt;br /&gt;
'''Problem'''&lt;br /&gt;
&lt;br /&gt;
C compilation yields an linker error (symbols not found):&lt;br /&gt;
   Compiling C code in C1&lt;br /&gt;
   Compiling C code in E1&lt;br /&gt;
   Undefined symbols:&lt;br /&gt;
     &amp;quot;_bridge_void_general&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_general$non_lazy_ptr in Cobj160.o&lt;br /&gt;
     &amp;quot;_bridge_void_ptr_ptr&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_ptr_ptr$non_lazy_ptr in Cobj160.o&lt;br /&gt;
   ld: symbol(s) not found&lt;br /&gt;
   collect2: ld returned 1 exit status&lt;br /&gt;
   make: *** [ec] Error 1&lt;br /&gt;
'''Solution'''&lt;br /&gt;
&lt;br /&gt;
Make sure you compiled the C-parts of the libraries (see step 5 above).&lt;br /&gt;
&lt;br /&gt;
= Contact =&lt;br /&gt;
&lt;br /&gt;
If you run into any problems or have any other feedback I'll be happy to hear from you.&lt;br /&gt;
&lt;br /&gt;
* [[User:Dfurrer|Dfurrer]]&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13507</id>
		<title>EiffelVision Cocoa</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13507"/>
				<updated>2009-10-27T13:51:46Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:EiffelVision2]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
This project was created with the goal of running Eiffel Studio natively on the Mac and succeeds the previous Carbon based EiffelVision implementation.&lt;br /&gt;
=Screenshots=&lt;br /&gt;
&lt;br /&gt;
[[Image:EiffelStudio-19-05-09.png|200px|thumb|left|EiffelStudio on 19.5.09]]&lt;br /&gt;
[[Image:EiffelStudio-3-07-09.png|200px|thumb|left|EiffelStudio on 3.7.09]]&lt;br /&gt;
[[Image:EiffelStudio-21-08-09.png|200px|thumb|left|EiffelStudio on 21.8.09]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Build instructions=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Get the latest EiffelStudio for the Mac. If you have MacPorts installed you can do this by typing&lt;br /&gt;
   &amp;lt;pre&amp;gt;port install eiffelstudio65&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Check out the latest source code from the trunk&lt;br /&gt;
   &amp;lt;pre&amp;gt;svn co https://svn.origo.ethz.ch/eiffelstudio/trunk&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set your EIFFEL_SRC and ISE_LIBRARY like this &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   export ISE_LIBRARY=/directory/to/your/checkout/trunk/Src&lt;br /&gt;
   export EIFFEL_SRC=$ISE_LIBRARY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Locate EiffelStudio's config.sh file (probably /Applications/MacPorts/Eiffel65/studio/spec/macosx-x86/include/config.sh) and add the flag -ObjC to the definition of the ccflags, like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   ccflags='-ObjC -pipe -no-cpp-precomp -fno-common -fPIC'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Compile the C-parts of the library&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/objc_base/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/cocoa/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Now open the .ecf file of your project and add the following line to your target:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
alternatively you can add another target which will allow you to easily compile both, a GTK+ and a Cocoa version of your application:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;target name=&amp;quot;cocoa&amp;quot; extends=&amp;quot;classic&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/target&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If you want to compile Eiffel Studio there is already a target called &amp;quot;bench_cocoa&amp;quot; which you can select.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Use ec -experiment (or estudio -experiment) to compile&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Documentation =&lt;br /&gt;
&lt;br /&gt;
Much of the inner working of EiffelVision and the underlying frameworks is described in my master thesis which you can find [http://dfurrer.com/masterthesis/thesis.pdf here]. (You can also check out the presentation [http://dfurrer.com/masterthesis/presentation.pdf here].)&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
Here are a couple of tasks that would help EiffelVision Cocoa to a more mature level.&lt;br /&gt;
&lt;br /&gt;
=== Memory management ===&lt;br /&gt;
We need to make sure the Objective-C objects are properly retained and released on creation and destruction of the dual Eiffel object. We also have to make sure there is never more than one dual Eiffel object for an Objective-C object. (This is currently the case)&lt;br /&gt;
Most of the code for the first part is in NS_OBJECT - for the second part some adjustments in the way the descendants of NS_OBJECT implement queries is needed.&lt;br /&gt;
&lt;br /&gt;
=== SmartDocking library ===&lt;br /&gt;
The SmartDocking library is used by EiffelStudio and at the moment we only have a very basic Cocoa based implementation. Improving this implementation would help the EiffelStudio experience on Mac OS X a lot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
==C compilation errors==&lt;br /&gt;
'''Problem'''&lt;br /&gt;
&lt;br /&gt;
C compilation yields syntax errors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Compiling C code in C190&lt;br /&gt;
In file included from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:12,&lt;br /&gt;
                 from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,&lt;br /&gt;
                 from ns6299.c:27,&lt;br /&gt;
                 from big_file_C191_c.c:54:&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:124: error: stray '@' in program&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:124: error: syntax error before 'NSString'&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:126: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:127: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:129: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:130: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:132: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:132: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:133: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:133: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:137: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:138: error: syntax error before '*' token&lt;br /&gt;
In file included from /System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:6,&lt;br /&gt;
                 from /System/Library/Frameworks/Foundation.framework/Headers/NSAffineTransform.h:5,&lt;br /&gt;
                 from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:13,&lt;br /&gt;
                 from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,&lt;br /&gt;
                 from ns6299.c:27,&lt;br /&gt;
                 from big_file_C191_c.c:54:&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSZone.h:8: error: stray '@' in program&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Solution'''&lt;br /&gt;
&lt;br /&gt;
Make sure your config.sh was changed to allow compiling Objective-C (see step 4 above). &lt;br /&gt;
&lt;br /&gt;
==Linker errors==&lt;br /&gt;
'''Problem'''&lt;br /&gt;
&lt;br /&gt;
C compilation yields an linker error (symbols not found):&lt;br /&gt;
   Compiling C code in C1&lt;br /&gt;
   Compiling C code in E1&lt;br /&gt;
   Undefined symbols:&lt;br /&gt;
     &amp;quot;_bridge_void_general&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_general$non_lazy_ptr in Cobj160.o&lt;br /&gt;
     &amp;quot;_bridge_void_ptr_ptr&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_ptr_ptr$non_lazy_ptr in Cobj160.o&lt;br /&gt;
   ld: symbol(s) not found&lt;br /&gt;
   collect2: ld returned 1 exit status&lt;br /&gt;
   make: *** [ec] Error 1&lt;br /&gt;
'''Solution'''&lt;br /&gt;
&lt;br /&gt;
Make sure you compiled the C-parts of the libraries (see step 5 above).&lt;br /&gt;
&lt;br /&gt;
= Contact =&lt;br /&gt;
&lt;br /&gt;
If you run into any problems or have any other feedback I'll be happy to hear from you.&lt;br /&gt;
&lt;br /&gt;
* [[User:Dfurrer|Dfurrer]]&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13506</id>
		<title>EiffelVision Cocoa</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13506"/>
				<updated>2009-10-27T13:51:08Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: /* FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:EiffelVision2]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
This project was created with the goal of running Eiffel Studio natively on the Mac and succeeds the previous Carbon based EiffelVision implementation.&lt;br /&gt;
=Screenshots=&lt;br /&gt;
&lt;br /&gt;
[[Image:EiffelStudio-19-05-09.png|200px|thumb|left|EiffelStudio on 19.5.09]]&lt;br /&gt;
[[Image:EiffelStudio-3-07-09.png|200px|thumb|left|EiffelStudio on 3.7.09]]&lt;br /&gt;
[[Image:EiffelStudio-21-08-09.png|200px|thumb|left|EiffelStudio on 21.8.09]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Build instructions=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Get the latest EiffelStudio for the Mac. If you have MacPorts installed you can do this by typing&lt;br /&gt;
   &amp;lt;pre&amp;gt;port install eiffelstudio65&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Check out the latest source code from the trunk&lt;br /&gt;
   &amp;lt;pre&amp;gt;svn co https://svn.origo.ethz.ch/eiffelstudio/trunk&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set your EIFFEL_SRC and ISE_LIBRARY like this &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   export ISE_LIBRARY=/directory/to/your/checkout/trunk/Src&lt;br /&gt;
   export EIFFEL_SRC=$ISE_LIBRARY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Locate EiffelStudio's config.sh file (probably /Applications/MacPorts/Eiffel65/studio/spec/macosx-x86/include/config.sh) and add the flag -ObjC to the definition of the ccflags, like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   ccflags='-ObjC -pipe -no-cpp-precomp -fno-common -fPIC'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Compile the C-parts of the library&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/objc_base/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/cocoa/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Now open the .ecf file of your project and add the following line to your target:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
alternatively you can add another target which will allow you to easily compile both, a GTK+ and a Cocoa version of your application:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;target name=&amp;quot;cocoa&amp;quot; extends=&amp;quot;classic&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/target&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If you want to compile Eiffel Studio there is already a target called &amp;quot;bench_cocoa&amp;quot; which you can select.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Use ec -experiment (or estudio -experiment) to compile&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
==C compilation errors==&lt;br /&gt;
'''Problem'''&lt;br /&gt;
&lt;br /&gt;
C compilation yields syntax errors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Compiling C code in C190&lt;br /&gt;
In file included from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:12,&lt;br /&gt;
                 from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,&lt;br /&gt;
                 from ns6299.c:27,&lt;br /&gt;
                 from big_file_C191_c.c:54:&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:124: error: stray '@' in program&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:124: error: syntax error before 'NSString'&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:126: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:127: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:129: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:130: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:132: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:132: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:133: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:133: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:137: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:138: error: syntax error before '*' token&lt;br /&gt;
In file included from /System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:6,&lt;br /&gt;
                 from /System/Library/Frameworks/Foundation.framework/Headers/NSAffineTransform.h:5,&lt;br /&gt;
                 from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:13,&lt;br /&gt;
                 from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,&lt;br /&gt;
                 from ns6299.c:27,&lt;br /&gt;
                 from big_file_C191_c.c:54:&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSZone.h:8: error: stray '@' in program&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Solution'''&lt;br /&gt;
&lt;br /&gt;
Make sure your config.sh was changed to allow compiling Objective-C (see step 4 above). &lt;br /&gt;
&lt;br /&gt;
==Linker errors==&lt;br /&gt;
'''Problem'''&lt;br /&gt;
&lt;br /&gt;
C compilation yields an linker error (symbols not found):&lt;br /&gt;
   Compiling C code in C1&lt;br /&gt;
   Compiling C code in E1&lt;br /&gt;
   Undefined symbols:&lt;br /&gt;
     &amp;quot;_bridge_void_general&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_general$non_lazy_ptr in Cobj160.o&lt;br /&gt;
     &amp;quot;_bridge_void_ptr_ptr&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_ptr_ptr$non_lazy_ptr in Cobj160.o&lt;br /&gt;
   ld: symbol(s) not found&lt;br /&gt;
   collect2: ld returned 1 exit status&lt;br /&gt;
   make: *** [ec] Error 1&lt;br /&gt;
'''Solution'''&lt;br /&gt;
&lt;br /&gt;
Make sure you compiled the C-parts of the libraries (see step 5 above).&lt;br /&gt;
&lt;br /&gt;
= Documentation =&lt;br /&gt;
&lt;br /&gt;
Much of the inner working of EiffelVision and the underlying frameworks is described in my master thesis which you can find [http://dfurrer.com/masterthesis/thesis.pdf here]. (You can also check out the presentation [http://dfurrer.com/masterthesis/presentation.pdf here].)&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
Here are a couple of tasks that would help EiffelVision Cocoa to a more mature level.&lt;br /&gt;
&lt;br /&gt;
=== Memory management ===&lt;br /&gt;
We need to make sure the Objective-C objects are properly retained and released on creation and destruction of the dual Eiffel object. We also have to make sure there is never more than one dual Eiffel object for an Objective-C object. (This is currently the case)&lt;br /&gt;
Most of the code for the first part is in NS_OBJECT - for the second part some adjustments in the way the descendants of NS_OBJECT implement queries is needed.&lt;br /&gt;
&lt;br /&gt;
=== SmartDocking library ===&lt;br /&gt;
The SmartDocking library is used by EiffelStudio and at the moment we only have a very basic Cocoa based implementation. Improving this implementation would help the EiffelStudio experience on Mac OS X a lot.&lt;br /&gt;
&lt;br /&gt;
= Contact =&lt;br /&gt;
&lt;br /&gt;
If you run into any problems or have any other feedback I'll be happy to hear from you.&lt;br /&gt;
&lt;br /&gt;
* [[User:Dfurrer|Dfurrer]]&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13505</id>
		<title>EiffelVision Cocoa</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13505"/>
				<updated>2009-10-27T13:49:32Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: /* Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:EiffelVision2]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
This project was created with the goal of running Eiffel Studio natively on the Mac and succeeds the previous Carbon based EiffelVision implementation.&lt;br /&gt;
=Screenshots=&lt;br /&gt;
&lt;br /&gt;
[[Image:EiffelStudio-19-05-09.png|200px|thumb|left|EiffelStudio on 19.5.09]]&lt;br /&gt;
[[Image:EiffelStudio-3-07-09.png|200px|thumb|left|EiffelStudio on 3.7.09]]&lt;br /&gt;
[[Image:EiffelStudio-21-08-09.png|200px|thumb|left|EiffelStudio on 21.8.09]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Build instructions=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Get the latest EiffelStudio for the Mac. If you have MacPorts installed you can do this by typing&lt;br /&gt;
   &amp;lt;pre&amp;gt;port install eiffelstudio65&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Check out the latest source code from the trunk&lt;br /&gt;
   &amp;lt;pre&amp;gt;svn co https://svn.origo.ethz.ch/eiffelstudio/trunk&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set your EIFFEL_SRC and ISE_LIBRARY like this &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   export ISE_LIBRARY=/directory/to/your/checkout/trunk/Src&lt;br /&gt;
   export EIFFEL_SRC=$ISE_LIBRARY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Locate EiffelStudio's config.sh file (probably /Applications/MacPorts/Eiffel65/studio/spec/macosx-x86/include/config.sh) and add the flag -ObjC to the definition of the ccflags, like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   ccflags='-ObjC -pipe -no-cpp-precomp -fno-common -fPIC'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Compile the C-parts of the library&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/objc_base/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/cocoa/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Now open the .ecf file of your project and add the following line to your target:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
alternatively you can add another target which will allow you to easily compile both, a GTK+ and a Cocoa version of your application:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;target name=&amp;quot;cocoa&amp;quot; extends=&amp;quot;classic&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/target&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If you want to compile Eiffel Studio there is already a target called &amp;quot;bench_cocoa&amp;quot; which you can select.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Use ec -experiment (or estudio -experiment) to compile&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
==Problem==&lt;br /&gt;
C compilation yields syntax errors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Compiling C code in C190&lt;br /&gt;
In file included from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:12,&lt;br /&gt;
                 from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,&lt;br /&gt;
                 from ns6299.c:27,&lt;br /&gt;
                 from big_file_C191_c.c:54:&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:124: error: stray '@' in program&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:124: error: syntax error before 'NSString'&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:126: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:127: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:129: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:130: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:132: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:132: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:133: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:133: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:137: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:138: error: syntax error before '*' token&lt;br /&gt;
In file included from /System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:6,&lt;br /&gt;
                 from /System/Library/Frameworks/Foundation.framework/Headers/NSAffineTransform.h:5,&lt;br /&gt;
                 from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:13,&lt;br /&gt;
                 from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,&lt;br /&gt;
                 from ns6299.c:27,&lt;br /&gt;
                 from big_file_C191_c.c:54:&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSZone.h:8: error: stray '@' in program&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Solution==&lt;br /&gt;
Make sure your config.sh was changed to allow compiling Objective-C (see step 4 above). &lt;br /&gt;
==Problem==&lt;br /&gt;
C compilation yields an linker error (symbols not found):&lt;br /&gt;
   Compiling C code in C1&lt;br /&gt;
   Compiling C code in E1&lt;br /&gt;
   Undefined symbols:&lt;br /&gt;
     &amp;quot;_bridge_void_general&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_general$non_lazy_ptr in Cobj160.o&lt;br /&gt;
     &amp;quot;_bridge_void_ptr_ptr&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_ptr_ptr$non_lazy_ptr in Cobj160.o&lt;br /&gt;
   ld: symbol(s) not found&lt;br /&gt;
   collect2: ld returned 1 exit status&lt;br /&gt;
   make: *** [ec] Error 1&lt;br /&gt;
==Solution==&lt;br /&gt;
Make sure you compiled the C-parts of the libraries (see step 5 above).&lt;br /&gt;
&lt;br /&gt;
= Documentation =&lt;br /&gt;
&lt;br /&gt;
Much of the inner working of EiffelVision and the underlying frameworks is described in my master thesis which you can find [http://dfurrer.com/masterthesis/thesis.pdf here]. (You can also check out the presentation [http://dfurrer.com/masterthesis/presentation.pdf here].)&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
Here are a couple of tasks that would help EiffelVision Cocoa to a more mature level.&lt;br /&gt;
&lt;br /&gt;
=== Memory management ===&lt;br /&gt;
We need to make sure the Objective-C objects are properly retained and released on creation and destruction of the dual Eiffel object. We also have to make sure there is never more than one dual Eiffel object for an Objective-C object. (This is currently the case)&lt;br /&gt;
Most of the code for the first part is in NS_OBJECT - for the second part some adjustments in the way the descendants of NS_OBJECT implement queries is needed.&lt;br /&gt;
&lt;br /&gt;
=== SmartDocking library ===&lt;br /&gt;
The SmartDocking library is used by EiffelStudio and at the moment we only have a very basic Cocoa based implementation. Improving this implementation would help the EiffelStudio experience on Mac OS X a lot.&lt;br /&gt;
&lt;br /&gt;
= Contact =&lt;br /&gt;
&lt;br /&gt;
If you run into any problems or have any other feedback I'll be happy to hear from you.&lt;br /&gt;
&lt;br /&gt;
* [[User:Dfurrer|Dfurrer]]&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13504</id>
		<title>EiffelVision Cocoa</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13504"/>
				<updated>2009-10-27T13:41:17Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:EiffelVision2]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
This project was created with the goal of running Eiffel Studio natively on the Mac and succeeds the previous Carbon based EiffelVision implementation.&lt;br /&gt;
=Screenshots=&lt;br /&gt;
&lt;br /&gt;
[[Image:EiffelStudio-19-05-09.png|200px|thumb|left|EiffelStudio on 19.5.09]]&lt;br /&gt;
[[Image:EiffelStudio-3-07-09.png|200px|thumb|left|EiffelStudio on 3.7.09]]&lt;br /&gt;
[[Image:EiffelStudio-21-08-09.png|200px|thumb|left|EiffelStudio on 21.8.09]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Build instructions=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Get the latest EiffelStudio for the Mac. If you have MacPorts installed you can do this by typing&lt;br /&gt;
   &amp;lt;pre&amp;gt;port install eiffelstudio65&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Check out the latest source code from the trunk&lt;br /&gt;
   &amp;lt;pre&amp;gt;svn co https://svn.origo.ethz.ch/eiffelstudio/trunk&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set your EIFFEL_SRC and ISE_LIBRARY like this &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   export ISE_LIBRARY=/directory/to/your/checkout/trunk/Src&lt;br /&gt;
   export EIFFEL_SRC=$ISE_LIBRARY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Locate EiffelStudio's config.sh file (probably /Applications/MacPorts/Eiffel65/studio/spec/macosx-x86/include/config.sh) and add the flag -ObjC to the definition of the ccflags, like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   ccflags='-ObjC -pipe -no-cpp-precomp -fno-common -fPIC'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Compile the C-parts of the library&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/objc_base/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/cocoa/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Now open the .ecf file of your project and add the following line to your target:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
alternatively you can add another target which will allow you to easily compile both, a GTK+ and a Cocoa version of your application:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;target name=&amp;quot;cocoa&amp;quot; extends=&amp;quot;classic&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/target&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If you want to compile Eiffel Studio there is already a target called &amp;quot;bench_cocoa&amp;quot; which you can select.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Use ec -experiment (or estudio -experiment) to compile&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
==Problem==&lt;br /&gt;
C compilation yields syntax errors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Compiling C code in C190&lt;br /&gt;
In file included from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:12,&lt;br /&gt;
                 from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,&lt;br /&gt;
                 from ns6299.c:27,&lt;br /&gt;
                 from big_file_C191_c.c:54:&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:124: error: stray '@' in program&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:124: error: syntax error before 'NSString'&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:126: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:127: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:129: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:130: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:132: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:132: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:133: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:133: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:137: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:138: error: syntax error before '*' token&lt;br /&gt;
In file included from /System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:6,&lt;br /&gt;
                 from /System/Library/Frameworks/Foundation.framework/Headers/NSAffineTransform.h:5,&lt;br /&gt;
                 from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:13,&lt;br /&gt;
                 from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,&lt;br /&gt;
                 from ns6299.c:27,&lt;br /&gt;
                 from big_file_C191_c.c:54:&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSZone.h:8: error: stray '@' in program&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Solution==&lt;br /&gt;
Make sure your config.sh was changed to allow compiling Objective-C (see step 4 above). &lt;br /&gt;
==Problem==&lt;br /&gt;
C compilation yields an linker error (symbols not found):&lt;br /&gt;
   Compiling C code in C1&lt;br /&gt;
   Compiling C code in E1&lt;br /&gt;
   Undefined symbols:&lt;br /&gt;
     &amp;quot;_bridge_void_general&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_general$non_lazy_ptr in Cobj160.o&lt;br /&gt;
     &amp;quot;_bridge_void_ptr_ptr&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_ptr_ptr$non_lazy_ptr in Cobj160.o&lt;br /&gt;
   ld: symbol(s) not found&lt;br /&gt;
   collect2: ld returned 1 exit status&lt;br /&gt;
   make: *** [ec] Error 1&lt;br /&gt;
==Solution==&lt;br /&gt;
Make sure you compiled the C-parts of the libraries (see step 5 above).&lt;br /&gt;
&lt;br /&gt;
= Documentation =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
Here are a couple of tasks that would help EiffelVision Cocoa to a more mature level.&lt;br /&gt;
&lt;br /&gt;
=== Memory management ===&lt;br /&gt;
We need to make sure the Objective-C objects are properly retained and released on creation and destruction of the dual Eiffel object. We also have to make sure there is never more than one dual Eiffel object for an Objective-C object. (This is currently the case)&lt;br /&gt;
Most of the code for the first part is in NS_OBJECT - for the second part some adjustments in the way the descendants of NS_OBJECT implement queries is needed.&lt;br /&gt;
&lt;br /&gt;
=== SmartDocking library ===&lt;br /&gt;
The SmartDocking library is used by EiffelStudio and at the moment we only have a very basic Cocoa based implementation. Improving this implementation would help the EiffelStudio experience on Mac OS X a lot.&lt;br /&gt;
&lt;br /&gt;
= Contact =&lt;br /&gt;
&lt;br /&gt;
If you run into any problems or have any other feedback I'll be happy to hear from you.&lt;br /&gt;
&lt;br /&gt;
* [[User:Dfurrer|Dfurrer]]&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13498</id>
		<title>EiffelVision Cocoa</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13498"/>
				<updated>2009-10-08T12:10:09Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:EiffelVision2]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
This project was created with the goal of running Eiffel Studio natively on the Mac and succeeds the previous Carbon based EiffelVision implementation.&lt;br /&gt;
=Screenshots=&lt;br /&gt;
&lt;br /&gt;
[[Image:EiffelStudio-19-05-09.png|200px|thumb|left|EiffelStudio on 19.5.09]]&lt;br /&gt;
[[Image:EiffelStudio-3-07-09.png|200px|thumb|left|EiffelStudio on 3.7.09]]&lt;br /&gt;
[[Image:EiffelStudio-21-08-09.png|200px|thumb|left|EiffelStudio on 21.8.09]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Build instructions=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Get the latest EiffelStudio for the Mac. If you have MacPorts installed you can do this by typing&lt;br /&gt;
   &amp;lt;pre&amp;gt;port install eiffelstudio65&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Check out the latest source code from the trunk&lt;br /&gt;
   &amp;lt;pre&amp;gt;svn co https://svn.origo.ethz.ch/eiffelstudio/trunk&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set your EIFFEL_SRC and ISE_LIBRARY like this &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   export ISE_LIBRARY=/directory/to/your/checkout/trunk/Src&lt;br /&gt;
   export EIFFEL_SRC=$ISE_LIBRARY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Locate EiffelStudio's config.sh file (probably /Applications/MacPorts/Eiffel65/studio/spec/macosx-x86/include/config.sh) and add the flag -ObjC to the definition of the ccflags, like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   ccflags='-ObjC -pipe -no-cpp-precomp -fno-common -fPIC'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Compile the C-parts of the library&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/objc_base/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/cocoa/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Now open the .ecf file of your project and add the following line to your target:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
alternatively you can add another target which will allow you to easily compile both, a GTK+ and a Cocoa version of your application:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;target name=&amp;quot;cocoa&amp;quot; extends=&amp;quot;classic&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/target&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If you want to compile Eiffel Studio there is already a target called &amp;quot;bench_cocoa&amp;quot; which you can select.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Use ec -experiment (or estudio -experiment) to compile&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
==Problem==&lt;br /&gt;
C compilation yields syntax errors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Compiling C code in C190&lt;br /&gt;
In file included from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:12,&lt;br /&gt;
                 from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,&lt;br /&gt;
                 from ns6299.c:27,&lt;br /&gt;
                 from big_file_C191_c.c:54:&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:124: error: stray '@' in program&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:124: error: syntax error before 'NSString'&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:126: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:127: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:129: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:130: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:132: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:132: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:133: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:133: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:137: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:138: error: syntax error before '*' token&lt;br /&gt;
In file included from /System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:6,&lt;br /&gt;
                 from /System/Library/Frameworks/Foundation.framework/Headers/NSAffineTransform.h:5,&lt;br /&gt;
                 from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:13,&lt;br /&gt;
                 from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,&lt;br /&gt;
                 from ns6299.c:27,&lt;br /&gt;
                 from big_file_C191_c.c:54:&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSZone.h:8: error: stray '@' in program&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Solution==&lt;br /&gt;
Make sure your config.sh was changed to allow compiling Objective-C (see step 4 above). &lt;br /&gt;
==Problem==&lt;br /&gt;
C compilation yields an linker error (symbols not found):&lt;br /&gt;
   Compiling C code in C1&lt;br /&gt;
   Compiling C code in E1&lt;br /&gt;
   Undefined symbols:&lt;br /&gt;
     &amp;quot;_bridge_void_general&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_general$non_lazy_ptr in Cobj160.o&lt;br /&gt;
     &amp;quot;_bridge_void_ptr_ptr&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_ptr_ptr$non_lazy_ptr in Cobj160.o&lt;br /&gt;
   ld: symbol(s) not found&lt;br /&gt;
   collect2: ld returned 1 exit status&lt;br /&gt;
   make: *** [ec] Error 1&lt;br /&gt;
==Solution==&lt;br /&gt;
Make sure you compiled the C-parts of the libraries (see step 5 above).&lt;br /&gt;
&lt;br /&gt;
= Todo =&lt;br /&gt;
Here are a couple of tasks that would help EiffelVision Cocoa to a more mature level.&lt;br /&gt;
&lt;br /&gt;
== Memory management ==&lt;br /&gt;
We need to make sure the Objective-C objects are properly retained and released on creation and destruction of the dual Eiffel object. We also have to make sure there is never more than one dual Eiffel object for an Objective-C object. (This is currently the case)&lt;br /&gt;
Most of the code for the first part is in NS_OBJECT - for the second part some adjustments in the way the descendants of NS_OBJECT implement queries is needed.&lt;br /&gt;
&lt;br /&gt;
== SmartDocking library ==&lt;br /&gt;
The SmartDocking library is used by EiffelStudio and at the moment we only have a very basic Cocoa based implementation. Improving this implementation would help the EiffelStudio experience on Mac OS X a lot.&lt;br /&gt;
&lt;br /&gt;
= Contact =&lt;br /&gt;
&lt;br /&gt;
If you run into any problems or have any other feedback I'll be happy to hear from you.&lt;br /&gt;
&lt;br /&gt;
* [[User:Dfurrer|Dfurrer]]&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=IPhone_Development&amp;diff=13456</id>
		<title>IPhone Development</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=IPhone_Development&amp;diff=13456"/>
				<updated>2009-09-08T15:43:20Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: /* Requirements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:iPhone]]&lt;br /&gt;
{{Template:UnderConstruction}}&lt;br /&gt;
== Requirements ==&lt;br /&gt;
To develop in Eiffel for the iPhone, you need:&lt;br /&gt;
* a Mac running Mac OS X 10.5.7 or newer&lt;br /&gt;
* the latest iPhone SDK 3.0 and the latest Xcode&lt;br /&gt;
* the official EiffelStudio 6.4 release for the Mac&lt;br /&gt;
&lt;br /&gt;
== Getting ready ==&lt;br /&gt;
The iPhone development requires 2 targets and each target has its own value for the environment variable ISE_PLATFORM:&lt;br /&gt;
* iphone-x86: when testing under the iPhone simulator&lt;br /&gt;
* iphone-arm: when compiling for the actual iPhone device.&lt;br /&gt;
&lt;br /&gt;
Every piece of C code has to be compiled for both targets. Therefore repeat the compilation instructions below twice, one for each target.&lt;br /&gt;
&lt;br /&gt;
== Preparing the delivery ==&lt;br /&gt;
Under $ISE_EIFFEL/studio/spec, replicate the macosx-x86 into iphone-x86 and iphone-arm. Do the same in $ISE_EIFFEL/precomp/spec and $ISE_EIFFEL/studio/config.&lt;br /&gt;
&lt;br /&gt;
== Compiling ==&lt;br /&gt;
&lt;br /&gt;
Then you need to check out the source code. The easiest is to create a directory 65dev, go in this directory and then checkout the source code by doing:&lt;br /&gt;
 svn co https://svn.eiffel.com/eiffelstudio/trunk/Src .&lt;br /&gt;
&lt;br /&gt;
Then set the environment variable '''ISE_LIBRARY''' and '''EIFFEL_SRC''' to the 65dev directory above.&lt;br /&gt;
&lt;br /&gt;
=== The Eiffel C runtime ===&lt;br /&gt;
Set ISE_PLATFORM accordingly and in $EIFFEL_SRC/C, type:&lt;br /&gt;
 ./quick_configure&lt;br /&gt;
&lt;br /&gt;
Once compiled do:&lt;br /&gt;
 cp config.sh $ISE_EIFFEL/studio/spec/$ISE_PLATFORM/include&lt;br /&gt;
 cd run-time&lt;br /&gt;
 cp *.h $ISE_EIFFEL/studio/spec/$ISE_PLATFORM/include/&lt;br /&gt;
 cp lib* $ISE_EIFFEL/studio/spec/$ISE_PLATFORM/lib/&lt;br /&gt;
&lt;br /&gt;
=== The Eiffel C libraries ===&lt;br /&gt;
&lt;br /&gt;
You need to compile some C code. Go in the $ISE_LIBRARY/experimental/library/objc_base/Clib and type&lt;br /&gt;
 finish_freezing -library&lt;br /&gt;
&lt;br /&gt;
then go in $ISE_LIBRARY/experimental/library/iPhone/Clib and type again&lt;br /&gt;
 finish_freezing -library&lt;br /&gt;
&lt;br /&gt;
== Compiling your first iPhone application ==&lt;br /&gt;
Compile the project in $ISE_LIBRARY/examples/iphone/basic (using the -experiment option). Once done you have a binary called `basic'.&lt;br /&gt;
&lt;br /&gt;
== Testing under the iPhone Simulator ==&lt;br /&gt;
For the moment, create a simple iPhone application with Xcode, then compile it for the simulator. Once done, you can type:&lt;br /&gt;
 cd ~/Library/Application\ Support/iPhone\ Simulator/User/Applications&lt;br /&gt;
and find the directory corresponding to the application you just created. Once done go into that directory and into the Application bundle. Delete the binary and create a symbolic link to the application compiled via EiffelStudio in the W_code directory. Also remove the .nib file in that directory, for otherwise the application may crash during start.&lt;br /&gt;
&lt;br /&gt;
Now to test your application, you can simply launch the simulator and start your application from there. The simulator is located at:&lt;br /&gt;
 /Developer/Platforms/iPhoneSimulator.platform/Developer/Applications&lt;br /&gt;
&lt;br /&gt;
== Testing under the iPhone Device ==&lt;br /&gt;
First, you need to create the CECIL archive of your Eiffel iPhone application. To do so, go in either W_code or F_code (I recommend F_code here), and type '''make cecil'''. Once you have that, you get an archive file (e.g. libbasic.a).&lt;br /&gt;
&lt;br /&gt;
Create an Xcode project, this time include the CECIL archive and the 2 other C libraries we compiled above as external references. Once done, edit `main.m' so its content look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;&lt;br /&gt;
#include &amp;quot;eif_eiffel.h&amp;quot;&lt;br /&gt;
#include &amp;quot;eif_setup.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[], char **envp) {&lt;br /&gt;
	EIF_INITIALIZE(failure);&lt;br /&gt;
	&lt;br /&gt;
	EIF_PROCEDURE proc;&lt;br /&gt;
	EIF_OBJECT obj;&lt;br /&gt;
	EIF_TYPE_ID tid;&lt;br /&gt;
	tid = eif_type_id (&amp;quot;APPLICATION&amp;quot;);&lt;br /&gt;
	obj = eif_create(tid);&lt;br /&gt;
	proc = eif_procedure (&amp;quot;make&amp;quot;, tid);&lt;br /&gt;
	(proc) (eif_access(obj));&lt;br /&gt;
		&lt;br /&gt;
	EIF_DISPOSE_ALL;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile and deploy to the iPhone and the Eiffel application will be running on your iPhone.&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13452</id>
		<title>EiffelVision Cocoa</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13452"/>
				<updated>2009-09-03T14:37:09Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:EiffelVision2]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
This project was created with the goal of running Eiffel Studio natively on the Mac and succeeds the previous Carbon based EiffelVision implementation.&lt;br /&gt;
=Screenshots=&lt;br /&gt;
&lt;br /&gt;
[[Image:EiffelStudio-19-05-09.png|200px|thumb|left|EiffelStudio on 19.5.09]]&lt;br /&gt;
[[Image:EiffelStudio-3-07-09.png|200px|thumb|left|EiffelStudio on 3.7.09]]&lt;br /&gt;
[[Image:EiffelStudio-21-08-09.png|200px|thumb|left|EiffelStudio on 21.8.09]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Build instructions=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Get the latest EiffelStudio for the Mac. If you have MacPorts installed you can do this by typing&lt;br /&gt;
   &amp;lt;pre&amp;gt;port install eiffelstudio65&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Check out the latest source code from the trunk&lt;br /&gt;
   &amp;lt;pre&amp;gt;svn co https://svn.origo.ethz.ch/eiffelstudio/trunk&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set your EIFFEL_SRC and ISE_LIBRARY like this &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   export ISE_LIBRARY=/directory/to/your/checkout/trunk/Src&lt;br /&gt;
   export EIFFEL_SRC=$ISE_LIBRARY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Locate EiffelStudio's config.sh file (probably /Applications/MacPorts/Eiffel65/studio/spec/macosx-x86/include/config.sh) and add the flag -ObjC to the definition of the ccflags, like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   ccflags='-ObjC -pipe -no-cpp-precomp -fno-common -fPIC'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Compile the C-parts of the library&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/objc_base/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/cocoa/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Now open the .ecf file of your project and add the following line to your target:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
alternatively you can add another target which will allow you to easily compile both, a GTK+ and a Cocoa version of your application:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;target name=&amp;quot;cocoa&amp;quot; extends=&amp;quot;classic&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/target&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If you want to compile Eiffel Studio there is already a target called &amp;quot;bench_cocoa&amp;quot; which you can select.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Use ec -experiment (or estudio -experiment) to compile&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
==Problem==&lt;br /&gt;
C compilation yields syntax errors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Compiling C code in C190&lt;br /&gt;
In file included from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:12,&lt;br /&gt;
                 from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,&lt;br /&gt;
                 from ns6299.c:27,&lt;br /&gt;
                 from big_file_C191_c.c:54:&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:124: error: stray '@' in program&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:124: error: syntax error before 'NSString'&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:126: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:127: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:129: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:130: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:132: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:132: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:133: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:133: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:137: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:138: error: syntax error before '*' token&lt;br /&gt;
In file included from /System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:6,&lt;br /&gt;
                 from /System/Library/Frameworks/Foundation.framework/Headers/NSAffineTransform.h:5,&lt;br /&gt;
                 from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:13,&lt;br /&gt;
                 from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,&lt;br /&gt;
                 from ns6299.c:27,&lt;br /&gt;
                 from big_file_C191_c.c:54:&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSZone.h:8: error: stray '@' in program&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Solution==&lt;br /&gt;
Make sure your config.sh was changed to allow compiling Objective-C (see step 4 above). &lt;br /&gt;
==Problem==&lt;br /&gt;
C compilation yields an linker error (symbols not found):&lt;br /&gt;
   Compiling C code in C1&lt;br /&gt;
   Compiling C code in E1&lt;br /&gt;
   Undefined symbols:&lt;br /&gt;
     &amp;quot;_bridge_void_general&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_general$non_lazy_ptr in Cobj160.o&lt;br /&gt;
     &amp;quot;_bridge_void_ptr_ptr&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_ptr_ptr$non_lazy_ptr in Cobj160.o&lt;br /&gt;
   ld: symbol(s) not found&lt;br /&gt;
   collect2: ld returned 1 exit status&lt;br /&gt;
   make: *** [ec] Error 1&lt;br /&gt;
==Solution==&lt;br /&gt;
Make sure you compiled the C-parts of the libraries (see step 5 above).&lt;br /&gt;
&lt;br /&gt;
= Contact =&lt;br /&gt;
&lt;br /&gt;
If you run into any problems or have any other feedback I'll be happy to hear from you.&lt;br /&gt;
&lt;br /&gt;
* [[User:Dfurrer|Dfurrer]]&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Frequently_Asked_Questions&amp;diff=13450</id>
		<title>Frequently Asked Questions</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Frequently_Asked_Questions&amp;diff=13450"/>
				<updated>2009-09-03T08:54:15Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: /* Development */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:General]]&lt;br /&gt;
== Template ==&lt;br /&gt;
&lt;br /&gt;
Please use the following template if you want to add your own question/answer pair:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;'''Question:'''&amp;lt;/font&amp;gt; question text&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;'''Answer:'''&amp;lt;/font&amp;gt; answer text&lt;br /&gt;
&lt;br /&gt;
{{note|If you are looking for an answer in this FAQ, but your question has not yet been asked, please add the question and leave the answer field blank. Hopefully somebody will eventually fill in the answer. This can help you and future readers.}}&lt;br /&gt;
&lt;br /&gt;
== Eiffel ==&lt;br /&gt;
&lt;br /&gt;
== Installation problems ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;'''Question:'''&amp;lt;/font&amp;gt; After installing ES 6.0 (69201) on Win XP Home using Borland CC, BCB can't link to vision2.lib, rendering ES unusable. (Projects Makefile expects a windows branch in bcb library path which doesn't exist.)&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;'''Answer:'''&amp;lt;/font&amp;gt; Fix the paths in vision2.ecf and wel.ecf. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;'''Question:'''&amp;lt;/font&amp;gt; Now I run into linking problems. &lt;br /&gt;
Recompiling everything doesn't help.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;'''Answer:'''&amp;lt;/font&amp;gt; Abandon BCC and try again with msdk cc.&lt;br /&gt;
&lt;br /&gt;
== Compilation Problems ==&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;'''Question:'''&amp;lt;/font&amp;gt; Where do I get the source code for the Eiffel compiler and other tools?&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;'''Answer:'''&amp;lt;/font&amp;gt; Please see [[Repository]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;'''Question:'''&amp;lt;/font&amp;gt; Why am I being asked for a password when accessing the SVN repository&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;'''Answer:'''&amp;lt;/font&amp;gt; Make sure you have the correct repository path listed in the [[Repository]] instructions&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;'''Question:'''&amp;lt;/font&amp;gt; What is the process for submitting changes to EiffelStudio&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;'''Answer:'''&amp;lt;/font&amp;gt; There is no formal submission and review system at the moment. If you do not have commit rights and would like to make a contribution please send your patch to somebody who does. (If you don't know who is responsible for the area you're working on try [[User:Manus|Emmanuel Stapf]])&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=User:Dfurrer&amp;diff=13449</id>
		<title>User:Dfurrer</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=User:Dfurrer&amp;diff=13449"/>
				<updated>2009-09-03T08:37:41Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I'm currently working on the Mac port of EiffelStudio.&lt;br /&gt;
&lt;br /&gt;
* Maintainer of the MacPorts EiffelStudio package.&lt;br /&gt;
* Author of [[objc_base]], the Eiffel Objective-C bridge used for the [[EiffelCocoa]] and the [[IPhone_Development|Eiffel iPhone library]].&lt;br /&gt;
* Author of [[EiffelCocoa]], a framework for using Mac OS X's Cocoa library from Eiffel&lt;br /&gt;
* Author of [[VisionCocoa]], an EiffelVision2 native implementation for Mac OS X.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mail:   daniel.furrer AT gmail DOT com&lt;br /&gt;
        dfurrer AT ethz DOT ch&lt;br /&gt;
Jabber: assimil8or@jabber.org&lt;br /&gt;
ICQ:    84535375&lt;br /&gt;
Skype:  assimil8or&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Latest news==&lt;br /&gt;
'''03.07.09:''' I haven't posted any updates here, but a lot has happened. EiffelStudio on the Mac is in a much better shape in general. A native version using Cocoa is in the alpha stage and can be compiled from the trunk. [[VisionCocoa|more...]] &lt;br /&gt;
&lt;br /&gt;
'''15.05.07:''' We are currently making some real progress again and hope to have EiffelStudio running with our implementation Really Soon Now (TM).&lt;br /&gt;
&lt;br /&gt;
'''31.10.06:''' We're back and working again.&lt;br /&gt;
&lt;br /&gt;
'''01.09.06:''' We have made some progress in the last few weeks (as you can see in the screenshots). Not as much as I hoped though. In the next few weeks (until oct. 10) I'll be away in Germany, Denmark and the US :-)&lt;br /&gt;
&lt;br /&gt;
'''30.05.06:''' I have built new binaries for Intel from the latest source and put together an app package. The font problems are gone now and compilation works. Get it here: http://n.ethz.ch/student/dfurrer/files/EiffelStudio57.app.zip&lt;br /&gt;
&lt;br /&gt;
'''06.05.06:''' We now have a graphical version of ES 5.7 running on OS X (both ppc and intel). The problem was with the fintconfig libraray: The 2.3.2 version seems to crash where the 2.2.3 works fine. There are still a few problems with fonts sizes though..&lt;br /&gt;
&lt;br /&gt;
'''03.05.06:''' With some help of Jann I managed to compile EiffelStudio on my intel-mac. The compiler seems to work but when I try to start in graphical mode I now get the same error (segfault in a pango call) we have seen on the ppc-mac before.&lt;br /&gt;
&lt;br /&gt;
'''30.04.06:''' A new built F_Code from a fresh checkout is available at http://n.ethz.ch/student/dfurrer/files/F_code.tar.gz . The GUI seems to work calling &amp;quot;ec -from_bench&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''24.04.06:''' I've uploaded the F_code on my ethz webspace. You can get it here: --removed-- . It compiles sucessfully under linux, I couldn't get the GUI to start though.&lt;br /&gt;
&lt;br /&gt;
'''23.04.06:'''&lt;br /&gt;
I'm trying to compile the code on my Ubuntu Linux installation using gcc3.3 and gtk2.8.17 - the same versions that are available on the mac (gtk2 through darwin ports).&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Objc_base&amp;diff=13448</id>
		<title>Objc base</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Objc_base&amp;diff=13448"/>
				<updated>2009-09-03T08:36:09Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: New page: &amp;lt;b&amp;gt;objc_base&amp;lt;/b&amp;gt; is the core of a bridge between Eiffel and Objective-C.  It contains classes for accessing and manipulating Objective-C primitives such as classes, selectors and messages ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;b&amp;gt;objc_base&amp;lt;/b&amp;gt; is the core of a bridge between Eiffel and Objective-C.&lt;br /&gt;
&lt;br /&gt;
It contains classes for accessing and manipulating Objective-C primitives such as classes, selectors and messages as well as wrapper classes for Apple's Foundation framework.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;objc_base&amp;lt;/b&amp;gt; is used by [[EiffelCocoa]] and the [[IPhone_Development|Eiffel iPhone library]].&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=User:Dfurrer&amp;diff=13447</id>
		<title>User:Dfurrer</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=User:Dfurrer&amp;diff=13447"/>
				<updated>2009-09-03T08:22:14Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: /* Latest news */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I'm currently working on the mac port of EiffelStudio.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mail:   daniel.furrer AT gmail DOT com&lt;br /&gt;
        dfurrer AT ethz DOT ch&lt;br /&gt;
Jabber: assimil8or@jabber.org&lt;br /&gt;
ICQ:    84535375&lt;br /&gt;
Skype:  assimil8or&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Latest news==&lt;br /&gt;
'''03.07.09:''' I haven't posted any updates here, but a lot has happened. EiffelStudio on the Mac is in a much better shape in general. A native version using Cocoa is in the alpha stage and can be compiled from the trunk. [[VisionCocoa|more...]] &lt;br /&gt;
&lt;br /&gt;
'''15.05.07:''' We are currently making some real progress again and hope to have EiffelStudio running with our implementation Really Soon Now (TM).&lt;br /&gt;
&lt;br /&gt;
'''31.10.06:''' We're back and working again.&lt;br /&gt;
&lt;br /&gt;
'''01.09.06:''' We have made some progress in the last few weeks (as you can see in the screenshots). Not as much as I hoped though. In the next few weeks (until oct. 10) I'll be away in Germany, Denmark and the US :-)&lt;br /&gt;
&lt;br /&gt;
'''30.05.06:''' I have built new binaries for Intel from the latest source and put together an app package. The font problems are gone now and compilation works. Get it here: http://n.ethz.ch/student/dfurrer/files/EiffelStudio57.app.zip&lt;br /&gt;
&lt;br /&gt;
'''06.05.06:''' We now have a graphical version of ES 5.7 running on OS X (both ppc and intel). The problem was with the fintconfig libraray: The 2.3.2 version seems to crash where the 2.2.3 works fine. There are still a few problems with fonts sizes though..&lt;br /&gt;
&lt;br /&gt;
'''03.05.06:''' With some help of Jann I managed to compile EiffelStudio on my intel-mac. The compiler seems to work but when I try to start in graphical mode I now get the same error (segfault in a pango call) we have seen on the ppc-mac before.&lt;br /&gt;
&lt;br /&gt;
'''30.04.06:''' A new built F_Code from a fresh checkout is available at http://n.ethz.ch/student/dfurrer/files/F_code.tar.gz . The GUI seems to work calling &amp;quot;ec -from_bench&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''24.04.06:''' I've uploaded the F_code on my ethz webspace. You can get it here: --removed-- . It compiles sucessfully under linux, I couldn't get the GUI to start though.&lt;br /&gt;
&lt;br /&gt;
'''23.04.06:'''&lt;br /&gt;
I'm trying to compile the code on my Ubuntu Linux installation using gcc3.3 and gtk2.8.17 - the same versions that are available on the mac (gtk2 through darwin ports).&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Talk:EiffelOnMac&amp;diff=13366</id>
		<title>Talk:EiffelOnMac</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Talk:EiffelOnMac&amp;diff=13366"/>
				<updated>2009-08-31T16:33:27Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are issues with the installer:&lt;br /&gt;
&lt;br /&gt;
* Installing EiffelStudio from a mpkg file created by MacPorts on a freshly installed and updated 10.5.8 works fine, but when trying to start EiffelStudio the X server will come up, then the application hangs and nothing more happens. (It seems to be stuck in EC_EV_LAUNCHER root's creation procedure)&lt;br /&gt;
&lt;br /&gt;
* Interestingly EiffelStudio will start when the environement variables are not defined (the GTK+ window shows up correctly) but is then not able to find icons, wizards, etc.&lt;br /&gt;
&lt;br /&gt;
* Installing MacPorts, building gtk2 and then installing eiffelstudio.pkg on that machine seems to fix the problem. There seems to be some problem with installing gtk2 with the pkg files.&lt;br /&gt;
&lt;br /&gt;
* For the compilation to work with a binary installation at least make and gcc need to be available. So either we should list the installation of XCode as an additional step or add a dependency to the portfile, so that they will be installed with the eiffelstudio.mpkg file.&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Talk:EiffelOnMac&amp;diff=13365</id>
		<title>Talk:EiffelOnMac</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Talk:EiffelOnMac&amp;diff=13365"/>
				<updated>2009-08-31T16:33:05Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are issues with the installer:&lt;br /&gt;
&lt;br /&gt;
* Installing EiffelStudio from a mpkg file created by MacPorts on a freshly installed and updated 10.5.8 works fine, but when trying to start EiffelStudio the X server will come up, then the application hangs and nothing more happens. (It seems to be stuck in EC_EV_LAUNCHER root's creation procedure)&lt;br /&gt;
&lt;br /&gt;
** Interestingly EiffelStudio will start when the environement variables are not defined (the GTK+ window shows up correctly) but is then not able to find icons, wizards, etc.&lt;br /&gt;
&lt;br /&gt;
** Installing MacPorts, building gtk2 and then installing eiffelstudio.pkg on that machine seems to fix the problem. There seems to be some problem with installing gtk2 with the pkg files.&lt;br /&gt;
&lt;br /&gt;
* For the compilation to work with a binary installation at least make and gcc need to be available. So either we should list the installation of XCode as an additional step or add a dependency to the portfile, so that they will be installed with the eiffelstudio.mpkg file.&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Talk:EiffelOnMac&amp;diff=13363</id>
		<title>Talk:EiffelOnMac</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Talk:EiffelOnMac&amp;diff=13363"/>
				<updated>2009-08-31T16:26:15Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are issues with the installer:&lt;br /&gt;
&lt;br /&gt;
* Installing EiffelStudio from a mpkg file created by MacPorts on a freshly installed and updated 10.5.8 works fine, but when trying to start EiffelStudio the X server will come up, then the application hangs and nothing more happens. (It seems to be stuck in EC_EV_LAUNCHER root's creation procedure)&lt;br /&gt;
&lt;br /&gt;
* Interestingly EiffelStudio will start when the environement variables are not defined (the GTK+ window shows up correctly) but is then not able to find icons, wizards, etc.&lt;br /&gt;
&lt;br /&gt;
* For the compilation to work with a binary installation at least make and gcc need to be available. So either we should list the installation of XCode as an additional step or add a dependency to the portfile, so that they will be installed with the eiffelstudio.mpkg file.&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelOnMac&amp;diff=13360</id>
		<title>EiffelOnMac</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelOnMac&amp;diff=13360"/>
				<updated>2009-08-31T16:05:31Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: /* Using binary packages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EiffelStudio]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
This page gives you an overview about how to get EiffelStudio running on your Mac.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Using binary packages ===&lt;br /&gt;
&lt;br /&gt;
{{Warning|This method does not work at the moment. Please install EiffelStudio using MacPorts.&amp;lt;br/&amp;gt;See [[Talk:EiffelOnMac|Discussion]] for more information.}}&lt;br /&gt;
&lt;br /&gt;
# Install the latest version of [http://xquartz.macosforge.org/trac/wiki/WikiStart XQuartz]: [http://xquartz.macosforge.org/downloads/X11-2.4.0.dmg download]&lt;br /&gt;
# Install the EiffelStudio 6.4 Mac package: [http://dfurrer.com/files/eiffelstudio64.dmg download]&lt;br /&gt;
&lt;br /&gt;
=== Using MacPorts ===&lt;br /&gt;
The officially supported versions of Mac OS X are 10.4 and 10.5.&lt;br /&gt;
&lt;br /&gt;
MacPorts is a great tool that allows you to use many Unix applications on the Mac. We have created a package in the MacPorts repository that allows you to to install Eiffel Studio with all dependencies in a convenient way. First, install MacPorts as described [http://trac.macosforge.org/projects/macports/wiki/InstallingMacPorts here].&lt;br /&gt;
&lt;br /&gt;
Now simply type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install eiffelstudio64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you're ready to go (after a few hours compiling that is :)). Compiling on a new Intel Mac reportedly takes about an hour. An old 800 MHz PowerPC takes about seven hours.&lt;br /&gt;
&lt;br /&gt;
A fairly recent development package is available under the name eiffelstudio65. (Both packages can be installed simultaneously)&lt;br /&gt;
&lt;br /&gt;
When a new version of EiffelStudio becomes available, you can upgrade like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port selfupdate&lt;br /&gt;
sudo port upgrade eiffelstudio65&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The installer from the previous subsection is actually created using MacPorts as well using the mpkg command. For more information take a look at the [http://guide.macports.org MacPorts Guide]&lt;br /&gt;
&lt;br /&gt;
== Starting EiffelStudio ==&lt;br /&gt;
&lt;br /&gt;
Simply navigate to /Applications/MacPorts/Eiffel&amp;lt;nn&amp;gt; and double click the EiffelStudio icon.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can also start EiffelStudio from the command line by entering the command 'estudio' or use the command-line eiffel compiler 'ec'.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
====I get a crash with a Permission denied: Operating system error, how do I fix it?====&lt;br /&gt;
&lt;br /&gt;
Delete the .ec directory in your home directory.&lt;br /&gt;
&lt;br /&gt;
====I get an error with precompiles, why is that ?====&lt;br /&gt;
&lt;br /&gt;
Precompiles did not work on the Mac before EiffelStudio 6.4 due to a limitation of the linker. To work around this issue you have to disable the precompiles with those versions.&lt;br /&gt;
&lt;br /&gt;
{{Note|When you create a project, EiffelStudio will ask if you want to perform precompiles – say no. Then disable the precompiles for this project through the Project&amp;gt;Project menu. In the 'Groups&amp;gt;Precompile' section, remove all precompiles (eg., base_pre). Select the 'base_pre' precompile and click the red cross delete tool at the top of the window.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|Precompiling the Eiffel libraries after installing the Port is possible, there are security policies to take into account. The Port installs EiffelStudio under the system's ''/Application/MacPorts'' directory and '''not''' the user ''~/Application/MacPorts''. Due of this, EiffelStudio must be run as a super user and the precompiles build using the '''Tools''' &amp;gt; '''Precompile Wizard''' option. Alternatively, alter the base installation path when requesting to install the Port.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How can I make EiffelStudio on the Mac look nicer? ===&lt;br /&gt;
* Use the gtk clearlooks theme from MacPorts (packages gtk2-clearlooks and gtk-theme-switch, then run 'switch2')&lt;br /&gt;
=== Typing ec or estudio on the command line doesn't work ===&lt;br /&gt;
To run the '''ec''' compiler from your shell, set up variables similar to these (e.g. in ~/.profile):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Setting variables for EiffelStudio.&lt;br /&gt;
export ISE_EIFFEL=/Applications/MacPorts/Eiffel64&lt;br /&gt;
export ISE_PLATFORM=macosx-ppc (or macosx-x86)&lt;br /&gt;
export ISE_PROJECTS=$HOME&lt;br /&gt;
export ES_PATH=$ISE_EIFFEL/studio/spec/$ISE_PLATFORM/bin&lt;br /&gt;
export PATH=$ES_PATH:$PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hints==&lt;br /&gt;
* Pick and Drop works with Apple-key + mouse click.&lt;br /&gt;
* To set up the correct (default) browsers use &amp;quot;open&amp;quot; as your command-line browser in Tools&amp;gt;Preferences...&lt;br /&gt;
* The F10 and F11 debugging shortcuts conflict with the standard Exposé keys. Here are some workarounds:&lt;br /&gt;
** Use the toolbar instead.&lt;br /&gt;
** Reassign these shortcuts in EiffelStudio (Tools&amp;gt;Preferences).&lt;br /&gt;
** Reassign the Exposé keys in System Preferences.&lt;br /&gt;
* The version of '''X11 installed with Mac OS X Leopard 10.5.0 and 10.5.1 does not work'''. The 10.5.2 and later updates are probably ok, however, but if you're having problems have a look at http://trac.macosforge.org/projects/xquartz. For more details, see http://www.eiffelroom.com/blog/paulbates/a_little_help_for_mac_users which pre-dates the release of 10.5.2.&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Talk:EiffelOnMac&amp;diff=13359</id>
		<title>Talk:EiffelOnMac</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Talk:EiffelOnMac&amp;diff=13359"/>
				<updated>2009-08-31T16:04:04Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: New page: There are issues with the installer:  Installing EiffelStudio from a mpkg file created by MacPorts on a freshly installed and updated 10.5.8 works fine, but when trying to start EiffelStud...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are issues with the installer:&lt;br /&gt;
&lt;br /&gt;
Installing EiffelStudio from a mpkg file created by MacPorts on a freshly installed and updated 10.5.8 works fine, but when trying to start EiffelStudio the X server will come up, then the application hangs and nothing more happens. (It seems to be stuck in EC_EV_LAUNCHER root's creation procedure)&lt;br /&gt;
&lt;br /&gt;
Interestingly EiffelStudio will start when the environement variables are not defined (the GTK+ window shows up correctly) but is then not able to find icons, wizards, etc.&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelOnMac&amp;diff=13358</id>
		<title>EiffelOnMac</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelOnMac&amp;diff=13358"/>
				<updated>2009-08-31T15:32:04Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: /* Using binary packages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EiffelStudio]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
This page gives you an overview about how to get EiffelStudio running on your Mac.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Using binary packages ===&lt;br /&gt;
&lt;br /&gt;
{{Warning|This method does not work at the moment. Please install EiffelStudio using MacPorts.}}&lt;br /&gt;
&lt;br /&gt;
# Install the latest version of [http://xquartz.macosforge.org/trac/wiki/WikiStart XQuartz]: [http://xquartz.macosforge.org/downloads/X11-2.4.0.dmg download]&lt;br /&gt;
# Install the EiffelStudio 6.4 Mac package: [http://dfurrer.com/files/eiffelstudio64.dmg download]&lt;br /&gt;
&lt;br /&gt;
=== Using MacPorts ===&lt;br /&gt;
The officially supported versions of Mac OS X are 10.4 and 10.5.&lt;br /&gt;
&lt;br /&gt;
MacPorts is a great tool that allows you to use many Unix applications on the Mac. We have created a package in the MacPorts repository that allows you to to install Eiffel Studio with all dependencies in a convenient way. First, install MacPorts as described [http://trac.macosforge.org/projects/macports/wiki/InstallingMacPorts here].&lt;br /&gt;
&lt;br /&gt;
Now simply type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install eiffelstudio64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you're ready to go (after a few hours compiling that is :)). Compiling on a new Intel Mac reportedly takes about an hour. An old 800 MHz PowerPC takes about seven hours.&lt;br /&gt;
&lt;br /&gt;
A fairly recent development package is available under the name eiffelstudio65. (Both packages can be installed simultaneously)&lt;br /&gt;
&lt;br /&gt;
When a new version of EiffelStudio becomes available, you can upgrade like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port selfupdate&lt;br /&gt;
sudo port upgrade eiffelstudio65&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The installer from the previous subsection is actually created using MacPorts as well using the mpkg command. For more information take a look at the [http://guide.macports.org MacPorts Guide]&lt;br /&gt;
&lt;br /&gt;
== Starting EiffelStudio ==&lt;br /&gt;
&lt;br /&gt;
Simply navigate to /Applications/MacPorts/Eiffel&amp;lt;nn&amp;gt; and double click the EiffelStudio icon.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can also start EiffelStudio from the command line by entering the command 'estudio' or use the command-line eiffel compiler 'ec'.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
====I get a crash with a Permission denied: Operating system error, how do I fix it?====&lt;br /&gt;
&lt;br /&gt;
Delete the .ec directory in your home directory.&lt;br /&gt;
&lt;br /&gt;
====I get an error with precompiles, why is that ?====&lt;br /&gt;
&lt;br /&gt;
Precompiles did not work on the Mac before EiffelStudio 6.4 due to a limitation of the linker. To work around this issue you have to disable the precompiles with those versions.&lt;br /&gt;
&lt;br /&gt;
{{Note|When you create a project, EiffelStudio will ask if you want to perform precompiles – say no. Then disable the precompiles for this project through the Project&amp;gt;Project menu. In the 'Groups&amp;gt;Precompile' section, remove all precompiles (eg., base_pre). Select the 'base_pre' precompile and click the red cross delete tool at the top of the window.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|Precompiling the Eiffel libraries after installing the Port is possible, there are security policies to take into account. The Port installs EiffelStudio under the system's ''/Application/MacPorts'' directory and '''not''' the user ''~/Application/MacPorts''. Due of this, EiffelStudio must be run as a super user and the precompiles build using the '''Tools''' &amp;gt; '''Precompile Wizard''' option. Alternatively, alter the base installation path when requesting to install the Port.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How can I make EiffelStudio on the Mac look nicer? ===&lt;br /&gt;
* Use the gtk clearlooks theme from MacPorts (packages gtk2-clearlooks and gtk-theme-switch, then run 'switch2')&lt;br /&gt;
=== Typing ec or estudio on the command line doesn't work ===&lt;br /&gt;
To run the '''ec''' compiler from your shell, set up variables similar to these (e.g. in ~/.profile):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Setting variables for EiffelStudio.&lt;br /&gt;
export ISE_EIFFEL=/Applications/MacPorts/Eiffel64&lt;br /&gt;
export ISE_PLATFORM=macosx-ppc (or macosx-x86)&lt;br /&gt;
export ISE_PROJECTS=$HOME&lt;br /&gt;
export ES_PATH=$ISE_EIFFEL/studio/spec/$ISE_PLATFORM/bin&lt;br /&gt;
export PATH=$ES_PATH:$PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hints==&lt;br /&gt;
* Pick and Drop works with Apple-key + mouse click.&lt;br /&gt;
* To set up the correct (default) browsers use &amp;quot;open&amp;quot; as your command-line browser in Tools&amp;gt;Preferences...&lt;br /&gt;
* The F10 and F11 debugging shortcuts conflict with the standard Exposé keys. Here are some workarounds:&lt;br /&gt;
** Use the toolbar instead.&lt;br /&gt;
** Reassign these shortcuts in EiffelStudio (Tools&amp;gt;Preferences).&lt;br /&gt;
** Reassign the Exposé keys in System Preferences.&lt;br /&gt;
* The version of '''X11 installed with Mac OS X Leopard 10.5.0 and 10.5.1 does not work'''. The 10.5.2 and later updates are probably ok, however, but if you're having problems have a look at http://trac.macosforge.org/projects/xquartz. For more details, see http://www.eiffelroom.com/blog/paulbates/a_little_help_for_mac_users which pre-dates the release of 10.5.2.&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelOnMac&amp;diff=13355</id>
		<title>EiffelOnMac</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelOnMac&amp;diff=13355"/>
				<updated>2009-08-30T20:15:42Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: /* Why does EiffelStudio on the Mac suck so much? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EiffelStudio]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
This page gives you an overview about how to get EiffelStudio running on your Mac.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Using binary packages ===&lt;br /&gt;
&lt;br /&gt;
# Install the latest version of [http://xquartz.macosforge.org/trac/wiki/WikiStart XQuartz]: [http://xquartz.macosforge.org/downloads/X11-2.4.0.dmg download]&lt;br /&gt;
# Install the EiffelStudio 6.4 Mac package: [http://dfurrer.com/files/eiffelstudio64.dmg download]&lt;br /&gt;
&lt;br /&gt;
=== Using MacPorts ===&lt;br /&gt;
The officially supported versions of Mac OS X are 10.4 and 10.5.&lt;br /&gt;
&lt;br /&gt;
MacPorts is a great tool that allows you to use many Unix applications on the Mac. We have created a package in the MacPorts repository that allows you to to install Eiffel Studio with all dependencies in a convenient way. First, install MacPorts as described [http://trac.macosforge.org/projects/macports/wiki/InstallingMacPorts here].&lt;br /&gt;
&lt;br /&gt;
Now simply type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install eiffelstudio64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you're ready to go (after a few hours compiling that is :)). Compiling on a new Intel Mac reportedly takes about an hour. An old 800 MHz PowerPC takes about seven hours.&lt;br /&gt;
&lt;br /&gt;
A fairly recent development package is available under the name eiffelstudio65. (Both packages can be installed simultaneously)&lt;br /&gt;
&lt;br /&gt;
When a new version of EiffelStudio becomes available, you can upgrade like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port selfupdate&lt;br /&gt;
sudo port upgrade eiffelstudio65&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The installer from the previous subsection is actually created using MacPorts as well using the mpkg command. For more information take a look at the [http://guide.macports.org MacPorts Guide]&lt;br /&gt;
&lt;br /&gt;
== Starting EiffelStudio ==&lt;br /&gt;
&lt;br /&gt;
Simply navigate to /Applications/MacPorts/Eiffel&amp;lt;nn&amp;gt; and double click the EiffelStudio icon.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can also start EiffelStudio from the command line by entering the command 'estudio' or use the command-line eiffel compiler 'ec'.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
====I get a crash with a Permission denied: Operating system error, how do I fix it?====&lt;br /&gt;
&lt;br /&gt;
Delete the .ec directory in your home directory.&lt;br /&gt;
&lt;br /&gt;
====I get an error with precompiles, why is that ?====&lt;br /&gt;
&lt;br /&gt;
Precompiles did not work on the Mac before EiffelStudio 6.4 due to a limitation of the linker. To work around this issue you have to disable the precompiles with those versions.&lt;br /&gt;
&lt;br /&gt;
{{Note|When you create a project, EiffelStudio will ask if you want to perform precompiles – say no. Then disable the precompiles for this project through the Project&amp;gt;Project menu. In the 'Groups&amp;gt;Precompile' section, remove all precompiles (eg., base_pre). Select the 'base_pre' precompile and click the red cross delete tool at the top of the window.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|Precompiling the Eiffel libraries after installing the Port is possible, there are security policies to take into account. The Port installs EiffelStudio under the system's ''/Application/MacPorts'' directory and '''not''' the user ''~/Application/MacPorts''. Due of this, EiffelStudio must be run as a super user and the precompiles build using the '''Tools''' &amp;gt; '''Precompile Wizard''' option. Alternatively, alter the base installation path when requesting to install the Port.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How can I make EiffelStudio on the Mac look nicer? ===&lt;br /&gt;
* Use the gtk clearlooks theme from MacPorts (packages gtk2-clearlooks and gtk-theme-switch, then run 'switch2')&lt;br /&gt;
=== Typing ec or estudio on the command line doesn't work ===&lt;br /&gt;
To run the '''ec''' compiler from your shell, set up variables similar to these (e.g. in ~/.profile):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Setting variables for EiffelStudio.&lt;br /&gt;
export ISE_EIFFEL=/Applications/MacPorts/Eiffel64&lt;br /&gt;
export ISE_PLATFORM=macosx-ppc (or macosx-x86)&lt;br /&gt;
export ISE_PROJECTS=$HOME&lt;br /&gt;
export ES_PATH=$ISE_EIFFEL/studio/spec/$ISE_PLATFORM/bin&lt;br /&gt;
export PATH=$ES_PATH:$PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hints==&lt;br /&gt;
* Pick and Drop works with Apple-key + mouse click.&lt;br /&gt;
* To set up the correct (default) browsers use &amp;quot;open&amp;quot; as your command-line browser in Tools&amp;gt;Preferences...&lt;br /&gt;
* The F10 and F11 debugging shortcuts conflict with the standard Exposé keys. Here are some workarounds:&lt;br /&gt;
** Use the toolbar instead.&lt;br /&gt;
** Reassign these shortcuts in EiffelStudio (Tools&amp;gt;Preferences).&lt;br /&gt;
** Reassign the Exposé keys in System Preferences.&lt;br /&gt;
* The version of '''X11 installed with Mac OS X Leopard 10.5.0 and 10.5.1 does not work'''. The 10.5.2 and later updates are probably ok, however, but if you're having problems have a look at http://trac.macosforge.org/projects/xquartz. For more details, see http://www.eiffelroom.com/blog/paulbates/a_little_help_for_mac_users which pre-dates the release of 10.5.2.&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=VisionCocoa&amp;diff=13331</id>
		<title>VisionCocoa</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=VisionCocoa&amp;diff=13331"/>
				<updated>2009-08-27T15:18:02Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: Redirecting to EiffelVision Cocoa&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[EiffelVision Cocoa]]&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelVision_Mac&amp;diff=13330</id>
		<title>EiffelVision Mac</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelVision_Mac&amp;diff=13330"/>
				<updated>2009-08-27T15:16:56Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warning|The content of this page is outdated as Vision4Mac has been superseded by [[EiffelVision Cocoa]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Projects]]&lt;br /&gt;
[[Category:EiffelVision2]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
The goal of this project is to provide Vision with a Carbon backend to make it truly native on the mac.&lt;br /&gt;
We have some basic controls working at the moment and we hope to be able get a full native build of EiffelStudio in the coming months.&lt;br /&gt;
For more information please refer to the [[Talk:Cocoa_for_EiffelVision2|discussion page]]. See also [[OSX_release_infrastructure]].&lt;br /&gt;
&lt;br /&gt;
=Screenshots=&lt;br /&gt;
15.05.07: [http://n.ethz.ch/~dfurrer/cgi-bin/files/vision4mac/layout_and_colorpicker.png Tour, Layout Inspector, Color Picker]&lt;br /&gt;
&lt;br /&gt;
20.04.07: [http://n.ethz.ch/~dfurrer/cgi-bin/files/vision4mac/tour1.png Vision 2 Demo (vision2_tour)]&lt;br /&gt;
&lt;br /&gt;
01.09.06: [http://n.ethz.ch/~dfurrer/cgi-bin/files/vision4mac/widgets-example2.png widgets-example: ev_notebook aka. tabs]&lt;br /&gt;
&lt;br /&gt;
01.09.06: [http://n.ethz.ch/~dfurrer/cgi-bin/files/vision4mac/widgets-example1.png widgets-example: progress bar, tree, frames]&lt;br /&gt;
&lt;br /&gt;
15.08.06: [http://n.ethz.ch/~dfurrer/cgi-bin/files/vision4mac/muele_screenshot.png Mill: Showing off pixmaps and the menu bar]&lt;br /&gt;
&lt;br /&gt;
[http://n.ethz.ch/student/upeter/download/screenshot_simple.png A Simple Vision2 Application running with the Carbon Imp]&lt;br /&gt;
&lt;br /&gt;
[http://n.ethz.ch/~dfurrer/cgi-bin/files/ev.png  A state of the art OS X Window]&lt;br /&gt;
&lt;br /&gt;
= Latest Updates =&lt;br /&gt;
'''15.05.2007:''' There are quite a few updates since I posted the last time: We have been working on a layout inspector that can be easily included in any vision application and it allows us to see the structure of the layout of the current application which is a great help for debugging. Ueli is working on the layout right now. I have also made some more native functions accessible which resulted in the implementation of the File Open Dialogue and the Color Picker Dialogue. Here's a [http://n.ethz.ch/student/dfurrer/files/vision4mac/layout_and_colorpicker.png screenshot] where you can see the layout inspector and the color picker. ([[User:Dfurrer|D]])&lt;br /&gt;
&lt;br /&gt;
'''20.04.2007:''' We have started to do some work again in the last weeks and are now using the Vision2 Demo application as our main testing playground. Check out the screenshots. ([[User:Dfurrer|D]])&lt;br /&gt;
&lt;br /&gt;
'''13.11.2006:''' Jann has been working on creating a script for MacPorts that should make it really easy for anyone to get Eiffel Studio running on her Mac. Check out the [[EiffelOnMac]] page. ([[User:Dfurrer|D]])&lt;br /&gt;
&lt;br /&gt;
[[Vision4Mac_changelog|older updates...]]&lt;br /&gt;
&lt;br /&gt;
=Documents=&lt;br /&gt;
I collected a few Documents with introductions to carbon widgets and the carbon event Loop and also a part of the API Refference [http://n.ethz.ch/student/upeter/download/carbon_port/Dokus/].&lt;br /&gt;
&lt;br /&gt;
[[Vision4Mac_Documentation|Here]] is some more information we have collected while working on our implementation.&lt;br /&gt;
&lt;br /&gt;
=Task / Bug Tracker=&lt;br /&gt;
Our Task tracker is available [http://n.ethz.ch/student/roederja/flyspray/ here] (powered by [http://www.flyspray.rocks.cc flyspray]).&lt;br /&gt;
&lt;br /&gt;
=Build instructions=&lt;br /&gt;
==Requirements==&lt;br /&gt;
* EWG (with EWG environment variable set)&lt;br /&gt;
* GOBO&lt;br /&gt;
==Build infrastructure==&lt;br /&gt;
You need a folder x with a subfolder &amp;quot;library&amp;quot;. cd into the library folder and checkout the code with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;svn co https://svn.eiffel.com/eiffelstudio/branches/eth/soft-arch/Src/library/vision2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now point the environment variable ISE_LIBRARY_CARBON to the folder x.&lt;br /&gt;
&lt;br /&gt;
Before you can compile a project you need to compile the EWG glue library. You can do this by running&lt;br /&gt;
&amp;lt;pre&amp;gt;geant c_build_library_ise&amp;lt;/pre&amp;gt; in the $ISE_LIBRARY_CARBON/library/vision2/implementation/carbon/wrapper directory.&lt;br /&gt;
&lt;br /&gt;
You should then be able to compile and run a simple EV application like our example project which you can get here: http://n.ethz.ch/student/dfurrer/files/vision4mac/simple_demo_app.zip&lt;br /&gt;
&lt;br /&gt;
=Team=&lt;br /&gt;
Everyone intrested in this project is welcome to join our mailinglist [http://origo.ethz.ch/cgi-bin/mailman/listinfo/es-mac| es-mac@origo.ethz.ch]&lt;br /&gt;
&lt;br /&gt;
* [[User:Upeter| Upeter]] (Project leader)&lt;br /&gt;
* [[User:Maeli| Maeli]]&lt;br /&gt;
* [[User:Dfurrer| Dfurrer]]&lt;br /&gt;
* [[User:Bayt| Bayt]]&lt;br /&gt;
* [[User: nih| nih]]&lt;br /&gt;
* [[User:Spooky| Jann]]&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelCocoa&amp;diff=13329</id>
		<title>EiffelCocoa</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelCocoa&amp;diff=13329"/>
				<updated>2009-08-27T14:22:46Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: New page: EiffelCocoa is a framework that allows you to develop native Mac GUI applications using the standard Cocoa framework.  This page is currently just collecting some information and very much...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EiffelCocoa is a framework that allows you to develop native Mac GUI applications using the standard Cocoa framework.&lt;br /&gt;
&lt;br /&gt;
This page is currently just collecting some information and very much work in progress.&lt;br /&gt;
&lt;br /&gt;
* To get EiffelCocoa follow the instructions for obtaining [[EiffelVision_Cocoa|EiffelVision Cocoa]]&lt;br /&gt;
&lt;br /&gt;
* Using the EiffelCocoa Project wizard: [http://www.eiffelroom.com/blog/dfurrer/using_the_new_cocoa_eiffel_framework 2]&lt;br /&gt;
&lt;br /&gt;
* Launch interface builder:&lt;br /&gt;
&lt;br /&gt;
   open -a /Developer/Applications/Interface\ Builder.app&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelOnMac&amp;diff=13324</id>
		<title>EiffelOnMac</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelOnMac&amp;diff=13324"/>
				<updated>2009-08-27T09:10:34Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: /* I get a linking error with precompiles on PPC, why is that ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EiffelStudio]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
This page gives you an overview about how to get EiffelStudio running on your Mac.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Using binary packages ===&lt;br /&gt;
&lt;br /&gt;
# Install the latest version of [http://xquartz.macosforge.org/trac/wiki/WikiStart XQuartz]: [http://xquartz.macosforge.org/downloads/X11-2.4.0.dmg download]&lt;br /&gt;
# Install the EiffelStudio 6.4 Mac package: [http://dfurrer.com/files/eiffelstudio64.dmg download]&lt;br /&gt;
&lt;br /&gt;
=== Using MacPorts ===&lt;br /&gt;
The officially supported versions of Mac OS X are 10.4 and 10.5.&lt;br /&gt;
&lt;br /&gt;
MacPorts is a great tool that allows you to use many Unix applications on the Mac. We have created a package in the MacPorts repository that allows you to to install Eiffel Studio with all dependencies in a convenient way. First, install MacPorts as described [http://trac.macosforge.org/projects/macports/wiki/InstallingMacPorts here].&lt;br /&gt;
&lt;br /&gt;
Now simply type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install eiffelstudio64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you're ready to go (after a few hours compiling that is :)). Compiling on a new Intel Mac reportedly takes about an hour. An old 800 MHz PowerPC takes about seven hours.&lt;br /&gt;
&lt;br /&gt;
A fairly recent development package is available under the name eiffelstudio65. (Both packages can be installed simultaneously)&lt;br /&gt;
&lt;br /&gt;
When a new version of EiffelStudio becomes available, you can upgrade like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port selfupdate&lt;br /&gt;
sudo port upgrade eiffelstudio65&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The installer from the previous subsection is actually created using MacPorts as well using the mpkg command. For more information take a look at the [http://guide.macports.org MacPorts Guide]&lt;br /&gt;
&lt;br /&gt;
== Starting EiffelStudio ==&lt;br /&gt;
&lt;br /&gt;
Simply navigate to /Applications/MacPorts/Eiffel&amp;lt;nn&amp;gt; and double click the EiffelStudio icon.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can also start EiffelStudio from the command line by entering the command 'estudio' or use the command-line eiffel compiler 'ec'.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
====I get a crash with a Permission denied: Operating system error, how do I fix it?====&lt;br /&gt;
&lt;br /&gt;
Delete the .ec directory in your home directory.&lt;br /&gt;
&lt;br /&gt;
====I get an error with precompiles, why is that ?====&lt;br /&gt;
&lt;br /&gt;
Precompiles did not work on the Mac before EiffelStudio 6.4 due to a limitation of the linker. To work around this issue you have to disable the precompiles with those versions.&lt;br /&gt;
&lt;br /&gt;
{{Note|When you create a project, EiffelStudio will ask if you want to perform precompiles – say no. Then disable the precompiles for this project through the Project&amp;gt;Project menu. In the 'Groups&amp;gt;Precompile' section, remove all precompiles (eg., base_pre). Select the 'base_pre' precompile and click the red cross delete tool at the top of the window.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|Precompiling the Eiffel libraries after installing the Port is possible, there are security policies to take into account. The Port installs EiffelStudio under the system's ''/Application/MacPorts'' directory and '''not''' the user ''~/Application/MacPorts''. Due of this, EiffelStudio must be run as a super user and the precompiles build using the '''Tools''' &amp;gt; '''Precompile Wizard''' option. Alternatively, alter the base installation path when requesting to install the Port.}}&lt;br /&gt;
&lt;br /&gt;
=== Why does EiffelStudio on the Mac suck so much? ===&lt;br /&gt;
* It doesn't.&lt;br /&gt;
=== How can I make EiffelStudio on the Mac look nicer? ===&lt;br /&gt;
* Use the gtk clearlooks theme from MacPorts (packages gtk2-clearlooks and gtk-theme-switch, then run 'switch2')&lt;br /&gt;
=== Typing ec or estudio on the command line doesn't work ===&lt;br /&gt;
To run the '''ec''' compiler from your shell, set up variables similar to these (e.g. in ~/.profile):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Setting variables for EiffelStudio.&lt;br /&gt;
export ISE_EIFFEL=/Applications/MacPorts/Eiffel64&lt;br /&gt;
export ISE_PLATFORM=macosx-ppc (or macosx-x86)&lt;br /&gt;
export ISE_PROJECTS=$HOME&lt;br /&gt;
export ES_PATH=$ISE_EIFFEL/studio/spec/$ISE_PLATFORM/bin&lt;br /&gt;
export PATH=$ES_PATH:$PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hints==&lt;br /&gt;
* Pick and Drop works with Apple-key + mouse click.&lt;br /&gt;
* To set up the correct (default) browsers use &amp;quot;open&amp;quot; as your command-line browser in Tools&amp;gt;Preferences...&lt;br /&gt;
* The F10 and F11 debugging shortcuts conflict with the standard Exposé keys. Here are some workarounds:&lt;br /&gt;
** Use the toolbar instead.&lt;br /&gt;
** Reassign these shortcuts in EiffelStudio (Tools&amp;gt;Preferences).&lt;br /&gt;
** Reassign the Exposé keys in System Preferences.&lt;br /&gt;
* The version of '''X11 installed with Mac OS X Leopard 10.5.0 and 10.5.1 does not work'''. The 10.5.2 and later updates are probably ok, however, but if you're having problems have a look at http://trac.macosforge.org/projects/xquartz. For more details, see http://www.eiffelroom.com/blog/paulbates/a_little_help_for_mac_users which pre-dates the release of 10.5.2.&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=OSX_release_infrastructure&amp;diff=13323</id>
		<title>OSX release infrastructure</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=OSX_release_infrastructure&amp;diff=13323"/>
				<updated>2009-08-26T22:03:50Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
Currently a binary package can be created using MacPorts with the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port mpkg eiffelstudio64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The generated package will include all the dependencies except for the X-Server.&lt;br /&gt;
&lt;br /&gt;
It would be nice if we could create a .dmg file from that automatically and add some nice artwork (as e.g. Adium does).&lt;br /&gt;
&lt;br /&gt;
=Team=&lt;br /&gt;
&lt;br /&gt;
* [[User:Dfurrer| Dfurrer]]&lt;br /&gt;
* [[User:Spooky| Jann]]&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelOnMac&amp;diff=13322</id>
		<title>EiffelOnMac</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelOnMac&amp;diff=13322"/>
				<updated>2009-08-26T21:55:05Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: /* Using MacPorts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EiffelStudio]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
This page gives you an overview about how to get EiffelStudio running on your Mac.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Using binary packages ===&lt;br /&gt;
&lt;br /&gt;
# Install the latest version of [http://xquartz.macosforge.org/trac/wiki/WikiStart XQuartz]: [http://xquartz.macosforge.org/downloads/X11-2.4.0.dmg download]&lt;br /&gt;
# Install the EiffelStudio 6.4 Mac package: [http://dfurrer.com/files/eiffelstudio64.dmg download]&lt;br /&gt;
&lt;br /&gt;
=== Using MacPorts ===&lt;br /&gt;
The officially supported versions of Mac OS X are 10.4 and 10.5.&lt;br /&gt;
&lt;br /&gt;
MacPorts is a great tool that allows you to use many Unix applications on the Mac. We have created a package in the MacPorts repository that allows you to to install Eiffel Studio with all dependencies in a convenient way. First, install MacPorts as described [http://trac.macosforge.org/projects/macports/wiki/InstallingMacPorts here].&lt;br /&gt;
&lt;br /&gt;
Now simply type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install eiffelstudio64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you're ready to go (after a few hours compiling that is :)). Compiling on a new Intel Mac reportedly takes about an hour. An old 800 MHz PowerPC takes about seven hours.&lt;br /&gt;
&lt;br /&gt;
A fairly recent development package is available under the name eiffelstudio65. (Both packages can be installed simultaneously)&lt;br /&gt;
&lt;br /&gt;
When a new version of EiffelStudio becomes available, you can upgrade like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port selfupdate&lt;br /&gt;
sudo port upgrade eiffelstudio65&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The installer from the previous subsection is actually created using MacPorts as well using the mpkg command. For more information take a look at the [http://guide.macports.org MacPorts Guide]&lt;br /&gt;
&lt;br /&gt;
== Starting EiffelStudio ==&lt;br /&gt;
&lt;br /&gt;
Simply navigate to /Applications/MacPorts/Eiffel&amp;lt;nn&amp;gt; and double click the EiffelStudio icon.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can also start EiffelStudio from the command line by entering the command 'estudio' or use the command-line eiffel compiler 'ec'.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
====I get a crash with a Permission denied: Operating system error, how do I fix it?====&lt;br /&gt;
&lt;br /&gt;
Delete the .ec directory in your home directory.&lt;br /&gt;
&lt;br /&gt;
====I get a linking error with precompiles on PPC, why is that ?====&lt;br /&gt;
&lt;br /&gt;
Precompiles did not work on the Mac before EiffelStudio 6.4 due to a limitation of the linker. To work around this issue don't use precompiles on Macs.&lt;br /&gt;
&lt;br /&gt;
{{Note|When you create a project, EiffelStudio will ask if you want to perform precompiles – say no. Then disable the precompiles for this project through the Project&amp;gt;Project menu. In the 'Groups&amp;gt;Precompile' section, remove all precompiles (eg., base_pre). Select the 'base_pre' precompile and click the red cross delete tool at the top of the window.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|Precompiling the Eiffel libraries after installing the Port is possible, there are security policies to take into account. The Port installs EiffelStudio under the system's ''/Application/MacPorts'' directory and '''not''' the user ''~/Application/MacPorts''. Due of this, EiffelStudio must be run as a super user and the precompiles build using the '''Tools''' &amp;gt; '''Precompile Wizard''' option. Alternatively, alter the base installation path when requesting to install the Port.}}&lt;br /&gt;
&lt;br /&gt;
=== Why does EiffelStudio on the Mac suck so much? ===&lt;br /&gt;
* It doesn't.&lt;br /&gt;
=== How can I make EiffelStudio on the Mac look nicer? ===&lt;br /&gt;
* Use the gtk clearlooks theme from MacPorts (packages gtk2-clearlooks and gtk-theme-switch, then run 'switch2')&lt;br /&gt;
=== Typing ec or estudio on the command line doesn't work ===&lt;br /&gt;
To run the '''ec''' compiler from your shell, set up variables similar to these (e.g. in ~/.profile):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Setting variables for EiffelStudio.&lt;br /&gt;
export ISE_EIFFEL=/Applications/MacPorts/Eiffel64&lt;br /&gt;
export ISE_PLATFORM=macosx-ppc (or macosx-x86)&lt;br /&gt;
export ISE_PROJECTS=$HOME&lt;br /&gt;
export ES_PATH=$ISE_EIFFEL/studio/spec/$ISE_PLATFORM/bin&lt;br /&gt;
export PATH=$ES_PATH:$PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hints==&lt;br /&gt;
* Pick and Drop works with Apple-key + mouse click.&lt;br /&gt;
* To set up the correct (default) browsers use &amp;quot;open&amp;quot; as your command-line browser in Tools&amp;gt;Preferences...&lt;br /&gt;
* The F10 and F11 debugging shortcuts conflict with the standard Exposé keys. Here are some workarounds:&lt;br /&gt;
** Use the toolbar instead.&lt;br /&gt;
** Reassign these shortcuts in EiffelStudio (Tools&amp;gt;Preferences).&lt;br /&gt;
** Reassign the Exposé keys in System Preferences.&lt;br /&gt;
* The version of '''X11 installed with Mac OS X Leopard 10.5.0 and 10.5.1 does not work'''. The 10.5.2 and later updates are probably ok, however, but if you're having problems have a look at http://trac.macosforge.org/projects/xquartz. For more details, see http://www.eiffelroom.com/blog/paulbates/a_little_help_for_mac_users which pre-dates the release of 10.5.2.&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelOnMac&amp;diff=13321</id>
		<title>EiffelOnMac</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelOnMac&amp;diff=13321"/>
				<updated>2009-08-26T21:54:15Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: Removing updating section. Will add a comment to the MacPorts installation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EiffelStudio]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
This page gives you an overview about how to get EiffelStudio running on your Mac.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Using binary packages ===&lt;br /&gt;
&lt;br /&gt;
# Install the latest version of [http://xquartz.macosforge.org/trac/wiki/WikiStart XQuartz]: [http://xquartz.macosforge.org/downloads/X11-2.4.0.dmg download]&lt;br /&gt;
# Install the EiffelStudio 6.4 Mac package: [http://dfurrer.com/files/eiffelstudio64.dmg download]&lt;br /&gt;
&lt;br /&gt;
=== Using MacPorts ===&lt;br /&gt;
The officially supported versions of Mac OS X are 10.4 and 10.5.&lt;br /&gt;
&lt;br /&gt;
MacPorts is a great tool that allows you to use many Unix applications on the Mac. We have created a package in the MacPorts repository that allows you to to install Eiffel Studio with all dependencies in a convenient way. First, install MacPorts as described [http://trac.macosforge.org/projects/macports/wiki/InstallingMacPorts here].&lt;br /&gt;
&lt;br /&gt;
Now simply type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install eiffelstudio64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you're ready to go (after a few hours compiling that is :)). Compiling on a new Intel Mac reportedly takes about an hour. An old 800 MHz PowerPC takes about seven hours.&lt;br /&gt;
&lt;br /&gt;
A fairly recent development package is available under the name eiffelstudio65. (Both packages can be installed simultaneously)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The installer from the previous subsection is actually created using MacPorts as well using the mpkg command. For more information take a look at the [http://guide.macports.org MacPorts Guide]&lt;br /&gt;
&lt;br /&gt;
== Starting EiffelStudio ==&lt;br /&gt;
&lt;br /&gt;
Simply navigate to /Applications/MacPorts/Eiffel&amp;lt;nn&amp;gt; and double click the EiffelStudio icon.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can also start EiffelStudio from the command line by entering the command 'estudio' or use the command-line eiffel compiler 'ec'.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
====I get a crash with a Permission denied: Operating system error, how do I fix it?====&lt;br /&gt;
&lt;br /&gt;
Delete the .ec directory in your home directory.&lt;br /&gt;
&lt;br /&gt;
====I get a linking error with precompiles on PPC, why is that ?====&lt;br /&gt;
&lt;br /&gt;
Precompiles did not work on the Mac before EiffelStudio 6.4 due to a limitation of the linker. To work around this issue don't use precompiles on Macs.&lt;br /&gt;
&lt;br /&gt;
{{Note|When you create a project, EiffelStudio will ask if you want to perform precompiles – say no. Then disable the precompiles for this project through the Project&amp;gt;Project menu. In the 'Groups&amp;gt;Precompile' section, remove all precompiles (eg., base_pre). Select the 'base_pre' precompile and click the red cross delete tool at the top of the window.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|Precompiling the Eiffel libraries after installing the Port is possible, there are security policies to take into account. The Port installs EiffelStudio under the system's ''/Application/MacPorts'' directory and '''not''' the user ''~/Application/MacPorts''. Due of this, EiffelStudio must be run as a super user and the precompiles build using the '''Tools''' &amp;gt; '''Precompile Wizard''' option. Alternatively, alter the base installation path when requesting to install the Port.}}&lt;br /&gt;
&lt;br /&gt;
=== Why does EiffelStudio on the Mac suck so much? ===&lt;br /&gt;
* It doesn't.&lt;br /&gt;
=== How can I make EiffelStudio on the Mac look nicer? ===&lt;br /&gt;
* Use the gtk clearlooks theme from MacPorts (packages gtk2-clearlooks and gtk-theme-switch, then run 'switch2')&lt;br /&gt;
=== Typing ec or estudio on the command line doesn't work ===&lt;br /&gt;
To run the '''ec''' compiler from your shell, set up variables similar to these (e.g. in ~/.profile):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Setting variables for EiffelStudio.&lt;br /&gt;
export ISE_EIFFEL=/Applications/MacPorts/Eiffel64&lt;br /&gt;
export ISE_PLATFORM=macosx-ppc (or macosx-x86)&lt;br /&gt;
export ISE_PROJECTS=$HOME&lt;br /&gt;
export ES_PATH=$ISE_EIFFEL/studio/spec/$ISE_PLATFORM/bin&lt;br /&gt;
export PATH=$ES_PATH:$PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hints==&lt;br /&gt;
* Pick and Drop works with Apple-key + mouse click.&lt;br /&gt;
* To set up the correct (default) browsers use &amp;quot;open&amp;quot; as your command-line browser in Tools&amp;gt;Preferences...&lt;br /&gt;
* The F10 and F11 debugging shortcuts conflict with the standard Exposé keys. Here are some workarounds:&lt;br /&gt;
** Use the toolbar instead.&lt;br /&gt;
** Reassign these shortcuts in EiffelStudio (Tools&amp;gt;Preferences).&lt;br /&gt;
** Reassign the Exposé keys in System Preferences.&lt;br /&gt;
* The version of '''X11 installed with Mac OS X Leopard 10.5.0 and 10.5.1 does not work'''. The 10.5.2 and later updates are probably ok, however, but if you're having problems have a look at http://trac.macosforge.org/projects/xquartz. For more details, see http://www.eiffelroom.com/blog/paulbates/a_little_help_for_mac_users which pre-dates the release of 10.5.2.&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelOnMac&amp;diff=13320</id>
		<title>EiffelOnMac</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelOnMac&amp;diff=13320"/>
				<updated>2009-08-26T21:51:05Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: /* Hints */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EiffelStudio]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
This page gives you an overview about how to get EiffelStudio running on your Mac.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Using binary packages ===&lt;br /&gt;
&lt;br /&gt;
# Install the latest version of [http://xquartz.macosforge.org/trac/wiki/WikiStart XQuartz]: [http://xquartz.macosforge.org/downloads/X11-2.4.0.dmg download]&lt;br /&gt;
# Install the EiffelStudio 6.4 Mac package: [http://dfurrer.com/files/eiffelstudio64.dmg download]&lt;br /&gt;
&lt;br /&gt;
=== Using MacPorts ===&lt;br /&gt;
The officially supported versions of Mac OS X are 10.4 and 10.5.&lt;br /&gt;
&lt;br /&gt;
MacPorts is a great tool that allows you to use many Unix applications on the Mac. We have created a package in the MacPorts repository that allows you to to install Eiffel Studio with all dependencies in a convenient way. First, install MacPorts as described [http://trac.macosforge.org/projects/macports/wiki/InstallingMacPorts here].&lt;br /&gt;
&lt;br /&gt;
Now simply type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install eiffelstudio64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you're ready to go (after a few hours compiling that is :)). Compiling on a new Intel Mac reportedly takes about an hour. An old 800 MHz PowerPC takes about seven hours.&lt;br /&gt;
&lt;br /&gt;
A fairly recent development package is available under the name eiffelstudio65. (Both packages can be installed simultaneously)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The installer from the previous subsection is actually created using MacPorts as well using the mpkg command. For more information take a look at the [http://guide.macports.org MacPorts Guide]&lt;br /&gt;
&lt;br /&gt;
== Starting EiffelStudio ==&lt;br /&gt;
&lt;br /&gt;
Simply navigate to /Applications/MacPorts/Eiffel&amp;lt;nn&amp;gt; and double click the EiffelStudio icon.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can also start EiffelStudio from the command line by entering the command 'estudio' or use the command-line eiffel compiler 'ec'.&lt;br /&gt;
&lt;br /&gt;
== Upgrading ==&lt;br /&gt;
&lt;br /&gt;
When a new version of EiffelStudio is available, you can upgrade like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port selfupdate&lt;br /&gt;
sudo port upgrade eiffelstudio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be prepared for another long wait while it compiles. You can do likewise for eiffelstudio-devel, of course.&lt;br /&gt;
&lt;br /&gt;
Beware that this may not get the latest release if [http://trac.macports.org/browser/trunk/dports/lang/eiffelstudio/Portfile the Port file] has not been updated yet. Even after it has been updated, it may take a week for it to propagate to MacPorts. If you can't wait, here's how to get the latest version immediately:&lt;br /&gt;
# Edit your local copy of the Portfile: '''sudo port edit eiffelstudio'''. Change '''minor_version''' and '''version'''. Save.&lt;br /&gt;
# Tell MacPorts to use the local copy of your Portfile: '''cd /opt/local/var/macports/sources/rsync.macports.org/release/ports''' (assuming this is where your ports are), then type '''portindex'''. It will print hundreds of &amp;quot;Adding port&amp;quot; messages, one of which should be lang/eiffelstudio.&lt;br /&gt;
# Find out the checksums for the new version: '''sudo port -d upgrade eiffelstudio'''.&lt;br /&gt;
# Edit your local Portfile again, substituting the checksums.&lt;br /&gt;
# Now '''sudo port upgrade eiffelstudio''' should upgrade to the version described in your local Portfile.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
====I get a crash with a Permission denied: Operating system error, how do I fix it?====&lt;br /&gt;
&lt;br /&gt;
Delete the .ec directory in your home directory.&lt;br /&gt;
&lt;br /&gt;
====I get a linking error with precompiles on PPC, why is that ?====&lt;br /&gt;
&lt;br /&gt;
Precompiles did not work on the Mac before EiffelStudio 6.4 due to a limitation of the linker. To work around this issue don't use precompiles on Macs.&lt;br /&gt;
&lt;br /&gt;
{{Note|When you create a project, EiffelStudio will ask if you want to perform precompiles – say no. Then disable the precompiles for this project through the Project&amp;gt;Project menu. In the 'Groups&amp;gt;Precompile' section, remove all precompiles (eg., base_pre). Select the 'base_pre' precompile and click the red cross delete tool at the top of the window.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|Precompiling the Eiffel libraries after installing the Port is possible, there are security policies to take into account. The Port installs EiffelStudio under the system's ''/Application/MacPorts'' directory and '''not''' the user ''~/Application/MacPorts''. Due of this, EiffelStudio must be run as a super user and the precompiles build using the '''Tools''' &amp;gt; '''Precompile Wizard''' option. Alternatively, alter the base installation path when requesting to install the Port.}}&lt;br /&gt;
&lt;br /&gt;
=== Why does EiffelStudio on the Mac suck so much? ===&lt;br /&gt;
* It doesn't.&lt;br /&gt;
=== How can I make EiffelStudio on the Mac look nicer? ===&lt;br /&gt;
* Use the gtk clearlooks theme from MacPorts (packages gtk2-clearlooks and gtk-theme-switch, then run 'switch2')&lt;br /&gt;
=== Typing ec or estudio on the command line doesn't work ===&lt;br /&gt;
To run the '''ec''' compiler from your shell, set up variables similar to these (e.g. in ~/.profile):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Setting variables for EiffelStudio.&lt;br /&gt;
export ISE_EIFFEL=/Applications/MacPorts/Eiffel64&lt;br /&gt;
export ISE_PLATFORM=macosx-ppc (or macosx-x86)&lt;br /&gt;
export ISE_PROJECTS=$HOME&lt;br /&gt;
export ES_PATH=$ISE_EIFFEL/studio/spec/$ISE_PLATFORM/bin&lt;br /&gt;
export PATH=$ES_PATH:$PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hints==&lt;br /&gt;
* Pick and Drop works with Apple-key + mouse click.&lt;br /&gt;
* To set up the correct (default) browsers use &amp;quot;open&amp;quot; as your command-line browser in Tools&amp;gt;Preferences...&lt;br /&gt;
* The F10 and F11 debugging shortcuts conflict with the standard Exposé keys. Here are some workarounds:&lt;br /&gt;
** Use the toolbar instead.&lt;br /&gt;
** Reassign these shortcuts in EiffelStudio (Tools&amp;gt;Preferences).&lt;br /&gt;
** Reassign the Exposé keys in System Preferences.&lt;br /&gt;
* The version of '''X11 installed with Mac OS X Leopard 10.5.0 and 10.5.1 does not work'''. The 10.5.2 and later updates are probably ok, however, but if you're having problems have a look at http://trac.macosforge.org/projects/xquartz. For more details, see http://www.eiffelroom.com/blog/paulbates/a_little_help_for_mac_users which pre-dates the release of 10.5.2.&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelOnMac&amp;diff=13319</id>
		<title>EiffelOnMac</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelOnMac&amp;diff=13319"/>
				<updated>2009-08-26T21:43:35Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EiffelStudio]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
This page gives you an overview about how to get EiffelStudio running on your Mac.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Using binary packages ===&lt;br /&gt;
&lt;br /&gt;
# Install the latest version of [http://xquartz.macosforge.org/trac/wiki/WikiStart XQuartz]: [http://xquartz.macosforge.org/downloads/X11-2.4.0.dmg download]&lt;br /&gt;
# Install the EiffelStudio 6.4 Mac package: [http://dfurrer.com/files/eiffelstudio64.dmg download]&lt;br /&gt;
&lt;br /&gt;
=== Using MacPorts ===&lt;br /&gt;
The officially supported versions of Mac OS X are 10.4 and 10.5.&lt;br /&gt;
&lt;br /&gt;
MacPorts is a great tool that allows you to use many Unix applications on the Mac. We have created a package in the MacPorts repository that allows you to to install Eiffel Studio with all dependencies in a convenient way. First, install MacPorts as described [http://trac.macosforge.org/projects/macports/wiki/InstallingMacPorts here].&lt;br /&gt;
&lt;br /&gt;
Now simply type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install eiffelstudio64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you're ready to go (after a few hours compiling that is :)). Compiling on a new Intel Mac reportedly takes about an hour. An old 800 MHz PowerPC takes about seven hours.&lt;br /&gt;
&lt;br /&gt;
A fairly recent development package is available under the name eiffelstudio65. (Both packages can be installed simultaneously)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The installer from the previous subsection is actually created using MacPorts as well using the mpkg command. For more information take a look at the [http://guide.macports.org MacPorts Guide]&lt;br /&gt;
&lt;br /&gt;
== Starting EiffelStudio ==&lt;br /&gt;
&lt;br /&gt;
Simply navigate to /Applications/MacPorts/Eiffel&amp;lt;nn&amp;gt; and double click the EiffelStudio icon.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can also start EiffelStudio from the command line by entering the command 'estudio' or use the command-line eiffel compiler 'ec'.&lt;br /&gt;
&lt;br /&gt;
== Upgrading ==&lt;br /&gt;
&lt;br /&gt;
When a new version of EiffelStudio is available, you can upgrade like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port selfupdate&lt;br /&gt;
sudo port upgrade eiffelstudio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be prepared for another long wait while it compiles. You can do likewise for eiffelstudio-devel, of course.&lt;br /&gt;
&lt;br /&gt;
Beware that this may not get the latest release if [http://trac.macports.org/browser/trunk/dports/lang/eiffelstudio/Portfile the Port file] has not been updated yet. Even after it has been updated, it may take a week for it to propagate to MacPorts. If you can't wait, here's how to get the latest version immediately:&lt;br /&gt;
# Edit your local copy of the Portfile: '''sudo port edit eiffelstudio'''. Change '''minor_version''' and '''version'''. Save.&lt;br /&gt;
# Tell MacPorts to use the local copy of your Portfile: '''cd /opt/local/var/macports/sources/rsync.macports.org/release/ports''' (assuming this is where your ports are), then type '''portindex'''. It will print hundreds of &amp;quot;Adding port&amp;quot; messages, one of which should be lang/eiffelstudio.&lt;br /&gt;
# Find out the checksums for the new version: '''sudo port -d upgrade eiffelstudio'''.&lt;br /&gt;
# Edit your local Portfile again, substituting the checksums.&lt;br /&gt;
# Now '''sudo port upgrade eiffelstudio''' should upgrade to the version described in your local Portfile.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
====I get a crash with a Permission denied: Operating system error, how do I fix it?====&lt;br /&gt;
&lt;br /&gt;
Delete the .ec directory in your home directory.&lt;br /&gt;
&lt;br /&gt;
====I get a linking error with precompiles on PPC, why is that ?====&lt;br /&gt;
&lt;br /&gt;
Precompiles did not work on the Mac before EiffelStudio 6.4 due to a limitation of the linker. To work around this issue don't use precompiles on Macs.&lt;br /&gt;
&lt;br /&gt;
{{Note|When you create a project, EiffelStudio will ask if you want to perform precompiles – say no. Then disable the precompiles for this project through the Project&amp;gt;Project menu. In the 'Groups&amp;gt;Precompile' section, remove all precompiles (eg., base_pre). Select the 'base_pre' precompile and click the red cross delete tool at the top of the window.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|Precompiling the Eiffel libraries after installing the Port is possible, there are security policies to take into account. The Port installs EiffelStudio under the system's ''/Application/MacPorts'' directory and '''not''' the user ''~/Application/MacPorts''. Due of this, EiffelStudio must be run as a super user and the precompiles build using the '''Tools''' &amp;gt; '''Precompile Wizard''' option. Alternatively, alter the base installation path when requesting to install the Port.}}&lt;br /&gt;
&lt;br /&gt;
==Hints==&lt;br /&gt;
* Use Helvetica 12 as Editor font. If you prefer a smaller font, use Hei 10.&lt;br /&gt;
* Pick and Drop works with Apple-key + mouse click.&lt;br /&gt;
* To set up the correct (default) browsers use &amp;quot;open&amp;quot; as your command-line browser in Tools&amp;gt;Preferences...&lt;br /&gt;
[[Image:preferences_open_mac.jpg]]&lt;br /&gt;
* To run the '''ec''' compiler from your shell, set up variables similar to these (e.g. in ~/.profile):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Setting variables for EiffelStudio.&lt;br /&gt;
export ISE_EIFFEL=/Applications/MacPorts/Eiffel61&lt;br /&gt;
export ISE_PLATFORM=macosx-ppc (or macosx-x86)&lt;br /&gt;
export ISE_PROJECTS=$HOME&lt;br /&gt;
export ES_PATH=$ISE_EIFFEL/studio/spec/$ISE_PLATFORM/bin&lt;br /&gt;
export PATH=$ES_PATH:$PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* The F10 and F11 debugging shortcuts conflict with the standard Exposé keys. Here are some workarounds:&lt;br /&gt;
** Use the toolbar instead.&lt;br /&gt;
** Reassign these shortcuts in EiffelStudio (Tools&amp;gt;Preferences).&lt;br /&gt;
** Reassign the Exposé keys in System Preferences.&lt;br /&gt;
* The version of '''X11 installed with Mac OS X Leopard 10.5.0 and 10.5.1 does not work'''. The 10.5.2 and later updates are probably ok, however, but if you're having problems have a look at http://trac.macosforge.org/projects/xquartz. For more details, see http://www.eiffelroom.com/blog/paulbates/a_little_help_for_mac_users which pre-dates the release of 10.5.2.&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelOnMac&amp;diff=13304</id>
		<title>EiffelOnMac</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelOnMac&amp;diff=13304"/>
				<updated>2009-08-26T14:55:35Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: /* Using MacPorts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EiffelStudio]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
This page gives you an overview about how to get EiffelStudio running on your Mac.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Using MacPorts ===&lt;br /&gt;
The officially supported versions of Mac OS X are 10.4 and 10.5.&lt;br /&gt;
&lt;br /&gt;
MacPorts is a great tool that allows you to use many Unix applications on the Mac. We have created a package in the MacPorts repository that allows you to to install Eiffel Studio with all dependencies in a convenient way. First, install MacPorts as described [http://trac.macosforge.org/projects/macports/wiki/InstallingMacPorts here].&lt;br /&gt;
&lt;br /&gt;
Now simply type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install eiffelstudio64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you're ready to go (after a few hours compiling that is :)). Compiling on a new Intel Mac reportedly takes about an hour. An old 800 MHz PowerPC takes about seven hours.&lt;br /&gt;
&lt;br /&gt;
A fairly recent development package is available under the name eiffelstudio65. (Both packages can be installed simultaneously)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The installer from the previous subsection is actually created using MacPorts as well using the mpkg command. For more information take a look at the [http://guide.macports.org MacPorts Guide]&lt;br /&gt;
&lt;br /&gt;
== Starting EiffelStudio ==&lt;br /&gt;
&lt;br /&gt;
Simply navigate to /Applications/MacPorts/Eiffel&amp;lt;nn&amp;gt; and double click the EiffelStudio icon.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can also start EiffelStudio from the command line by entering the command 'estudio' or use the command-line eiffel compiler 'ec'.&lt;br /&gt;
&lt;br /&gt;
== Upgrading ==&lt;br /&gt;
&lt;br /&gt;
When a new version of EiffelStudio is available, you can upgrade like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port selfupdate&lt;br /&gt;
sudo port upgrade eiffelstudio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be prepared for another long wait while it compiles. You can do likewise for eiffelstudio-devel, of course.&lt;br /&gt;
&lt;br /&gt;
Beware that this may not get the latest release if [http://trac.macports.org/browser/trunk/dports/lang/eiffelstudio/Portfile the Port file] has not been updated yet. Even after it has been updated, it may take a week for it to propagate to MacPorts. If you can't wait, here's how to get the latest version immediately:&lt;br /&gt;
# Edit your local copy of the Portfile: '''sudo port edit eiffelstudio'''. Change '''minor_version''' and '''version'''. Save.&lt;br /&gt;
# Tell MacPorts to use the local copy of your Portfile: '''cd /opt/local/var/macports/sources/rsync.macports.org/release/ports''' (assuming this is where your ports are), then type '''portindex'''. It will print hundreds of &amp;quot;Adding port&amp;quot; messages, one of which should be lang/eiffelstudio.&lt;br /&gt;
# Find out the checksums for the new version: '''sudo port -d upgrade eiffelstudio'''.&lt;br /&gt;
# Edit your local Portfile again, substituting the checksums.&lt;br /&gt;
# Now '''sudo port upgrade eiffelstudio''' should upgrade to the version described in your local Portfile.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
====I get a crash with a Permission denied: Operating system error, how do I fix it?====&lt;br /&gt;
&lt;br /&gt;
Delete the .ec directory in your home directory.&lt;br /&gt;
&lt;br /&gt;
====I get a linking error with precompiles on PPC, why is that ?====&lt;br /&gt;
&lt;br /&gt;
Precompiles did not work on the Mac before EiffelStudio 6.4 due to a limitation of the linker. To work around this issue don't use precompiles on Macs.&lt;br /&gt;
&lt;br /&gt;
{{Note|When you create a project, EiffelStudio will ask if you want to perform precompiles – say no. Then disable the precompiles for this project through the Project&amp;gt;Project menu. In the 'Groups&amp;gt;Precompile' section, remove all precompiles (eg., base_pre). Select the 'base_pre' precompile and click the red cross delete tool at the top of the window.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|Precompiling the Eiffel libraries after installing the Port is possible, there are security policies to take into account. The Port installs EiffelStudio under the system's ''/Application/MacPorts'' directory and '''not''' the user ''~/Application/MacPorts''. Due of this, EiffelStudio must be run as a super user and the precompiles build using the '''Tools''' &amp;gt; '''Precompile Wizard''' option. Alternatively, alter the base installation path when requesting to install the Port.}}&lt;br /&gt;
&lt;br /&gt;
==Hints==&lt;br /&gt;
* Use Helvetica 12 as Editor font. If you prefer a smaller font, use Hei 10.&lt;br /&gt;
* Pick and Drop works with Apple-key + mouse click.&lt;br /&gt;
* To set up the correct (default) browsers use &amp;quot;open&amp;quot; as your command-line browser in Tools&amp;gt;Preferences...&lt;br /&gt;
[[Image:preferences_open_mac.jpg]]&lt;br /&gt;
* To run the '''ec''' compiler from your shell, set up variables similar to these (e.g. in ~/.profile):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Setting variables for EiffelStudio.&lt;br /&gt;
export ISE_EIFFEL=/Applications/MacPorts/Eiffel61&lt;br /&gt;
export ISE_PLATFORM=macosx-ppc (or macosx-x86)&lt;br /&gt;
export ISE_PROJECTS=$HOME&lt;br /&gt;
export ES_PATH=$ISE_EIFFEL/studio/spec/$ISE_PLATFORM/bin&lt;br /&gt;
export PATH=$ES_PATH:$PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* The F10 and F11 debugging shortcuts conflict with the standard Exposé keys. Here are some workarounds:&lt;br /&gt;
** Use the toolbar instead.&lt;br /&gt;
** Reassign these shortcuts in EiffelStudio (Tools&amp;gt;Preferences).&lt;br /&gt;
** Reassign the Exposé keys in System Preferences.&lt;br /&gt;
* The version of '''X11 installed with Mac OS X Leopard 10.5.0 and 10.5.1 does not work'''. The 10.5.2 and later updates are probably ok, however, but if you're having problems have a look at http://trac.macosforge.org/projects/xquartz. For more details, see http://www.eiffelroom.com/blog/paulbates/a_little_help_for_mac_users which pre-dates the release of 10.5.2.&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelOnMac&amp;diff=13302</id>
		<title>EiffelOnMac</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelOnMac&amp;diff=13302"/>
				<updated>2009-08-26T14:48:59Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: Section doesn't belong here. This is part of the MacPorts setup.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EiffelStudio]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
This page gives you an overview about how to get EiffelStudio running on your Mac.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Using MacPorts ===&lt;br /&gt;
The officially supported versions of Mac OS X are 10.4 and 10.5.&lt;br /&gt;
&lt;br /&gt;
MacPorts is a great tool that allows you to use many Unix applications on the Mac. We have created a package in the MacPorts repository that allows you to to install Eiffel Studio with all dependencies in a convenient way. First, install MacPorts as described [http://trac.macosforge.org/projects/macports/wiki/InstallingMacPorts here].&lt;br /&gt;
&lt;br /&gt;
Now simply type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install eiffelstudio64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you're ready to go (after a few hours compiling that is :)). Compiling on a new Intel Mac reportedly takes about an hour. An old 800 MHz PowerPC takes about seven hours.&lt;br /&gt;
&lt;br /&gt;
A fairly recent development package is available under the name eiffelstudio65. (Both packages can be installed simultaneously)&lt;br /&gt;
&lt;br /&gt;
== Starting EiffelStudio ==&lt;br /&gt;
&lt;br /&gt;
Simply navigate to /Applications/MacPorts/Eiffel&amp;lt;nn&amp;gt; and double click the EiffelStudio icon.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can also start EiffelStudio from the command line by entering the command 'estudio' or use the command-line eiffel compiler 'ec'.&lt;br /&gt;
&lt;br /&gt;
== Upgrading ==&lt;br /&gt;
&lt;br /&gt;
When a new version of EiffelStudio is available, you can upgrade like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port selfupdate&lt;br /&gt;
sudo port upgrade eiffelstudio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be prepared for another long wait while it compiles. You can do likewise for eiffelstudio-devel, of course.&lt;br /&gt;
&lt;br /&gt;
Beware that this may not get the latest release if [http://trac.macports.org/browser/trunk/dports/lang/eiffelstudio/Portfile the Port file] has not been updated yet. Even after it has been updated, it may take a week for it to propagate to MacPorts. If you can't wait, here's how to get the latest version immediately:&lt;br /&gt;
# Edit your local copy of the Portfile: '''sudo port edit eiffelstudio'''. Change '''minor_version''' and '''version'''. Save.&lt;br /&gt;
# Tell MacPorts to use the local copy of your Portfile: '''cd /opt/local/var/macports/sources/rsync.macports.org/release/ports''' (assuming this is where your ports are), then type '''portindex'''. It will print hundreds of &amp;quot;Adding port&amp;quot; messages, one of which should be lang/eiffelstudio.&lt;br /&gt;
# Find out the checksums for the new version: '''sudo port -d upgrade eiffelstudio'''.&lt;br /&gt;
# Edit your local Portfile again, substituting the checksums.&lt;br /&gt;
# Now '''sudo port upgrade eiffelstudio''' should upgrade to the version described in your local Portfile.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
====I get a crash with a Permission denied: Operating system error, how do I fix it?====&lt;br /&gt;
&lt;br /&gt;
Delete the .ec directory in your home directory.&lt;br /&gt;
&lt;br /&gt;
====I get a linking error with precompiles on PPC, why is that ?====&lt;br /&gt;
&lt;br /&gt;
Precompiles did not work on the Mac before EiffelStudio 6.4 due to a limitation of the linker. To work around this issue don't use precompiles on Macs.&lt;br /&gt;
&lt;br /&gt;
{{Note|When you create a project, EiffelStudio will ask if you want to perform precompiles – say no. Then disable the precompiles for this project through the Project&amp;gt;Project menu. In the 'Groups&amp;gt;Precompile' section, remove all precompiles (eg., base_pre). Select the 'base_pre' precompile and click the red cross delete tool at the top of the window.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|Precompiling the Eiffel libraries after installing the Port is possible, there are security policies to take into account. The Port installs EiffelStudio under the system's ''/Application/MacPorts'' directory and '''not''' the user ''~/Application/MacPorts''. Due of this, EiffelStudio must be run as a super user and the precompiles build using the '''Tools''' &amp;gt; '''Precompile Wizard''' option. Alternatively, alter the base installation path when requesting to install the Port.}}&lt;br /&gt;
&lt;br /&gt;
==Hints==&lt;br /&gt;
* Use Helvetica 12 as Editor font. If you prefer a smaller font, use Hei 10.&lt;br /&gt;
* Pick and Drop works with Apple-key + mouse click.&lt;br /&gt;
* To set up the correct (default) browsers use &amp;quot;open&amp;quot; as your command-line browser in Tools&amp;gt;Preferences...&lt;br /&gt;
[[Image:preferences_open_mac.jpg]]&lt;br /&gt;
* To run the '''ec''' compiler from your shell, set up variables similar to these (e.g. in ~/.profile):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Setting variables for EiffelStudio.&lt;br /&gt;
export ISE_EIFFEL=/Applications/MacPorts/Eiffel61&lt;br /&gt;
export ISE_PLATFORM=macosx-ppc (or macosx-x86)&lt;br /&gt;
export ISE_PROJECTS=$HOME&lt;br /&gt;
export ES_PATH=$ISE_EIFFEL/studio/spec/$ISE_PLATFORM/bin&lt;br /&gt;
export PATH=$ES_PATH:$PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* The F10 and F11 debugging shortcuts conflict with the standard Exposé keys. Here are some workarounds:&lt;br /&gt;
** Use the toolbar instead.&lt;br /&gt;
** Reassign these shortcuts in EiffelStudio (Tools&amp;gt;Preferences).&lt;br /&gt;
** Reassign the Exposé keys in System Preferences.&lt;br /&gt;
* The version of '''X11 installed with Mac OS X Leopard 10.5.0 and 10.5.1 does not work'''. The 10.5.2 and later updates are probably ok, however, but if you're having problems have a look at http://trac.macosforge.org/projects/xquartz. For more details, see http://www.eiffelroom.com/blog/paulbates/a_little_help_for_mac_users which pre-dates the release of 10.5.2.&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelOnMac&amp;diff=13301</id>
		<title>EiffelOnMac</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelOnMac&amp;diff=13301"/>
				<updated>2009-08-26T14:47:01Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: /* Installation using MacPorts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EiffelStudio]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
This page gives you an overview about how to get EiffelStudio running on your Mac.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Using MacPorts ===&lt;br /&gt;
The officially supported versions of Mac OS X are 10.4 and 10.5.&lt;br /&gt;
&lt;br /&gt;
MacPorts is a great tool that allows you to use many Unix applications on the Mac. We have created a package in the MacPorts repository that allows you to to install Eiffel Studio with all dependencies in a convenient way. First, install MacPorts as described [http://trac.macosforge.org/projects/macports/wiki/InstallingMacPorts here].&lt;br /&gt;
&lt;br /&gt;
Now simply type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install eiffelstudio64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you're ready to go (after a few hours compiling that is :)). Compiling on a new Intel Mac reportedly takes about an hour. An old 800 MHz PowerPC takes about seven hours.&lt;br /&gt;
&lt;br /&gt;
A fairly recent development package is available under the name eiffelstudio65. (Both packages can be installed simultaneously)&lt;br /&gt;
&lt;br /&gt;
== Starting EiffelStudio ==&lt;br /&gt;
&lt;br /&gt;
Simply navigate to /Applications/MacPorts/Eiffel&amp;lt;nn&amp;gt; and double click the EiffelStudio icon.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can also start EiffelStudio from the command line by entering the command 'estudio' or use the command-line eiffel compiler 'ec'.&lt;br /&gt;
&lt;br /&gt;
== Upgrading ==&lt;br /&gt;
&lt;br /&gt;
When a new version of EiffelStudio is available, you can upgrade like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port selfupdate&lt;br /&gt;
sudo port upgrade eiffelstudio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be prepared for another long wait while it compiles. You can do likewise for eiffelstudio-devel, of course.&lt;br /&gt;
&lt;br /&gt;
Beware that this may not get the latest release if [http://trac.macports.org/browser/trunk/dports/lang/eiffelstudio/Portfile the Port file] has not been updated yet. Even after it has been updated, it may take a week for it to propagate to MacPorts. If you can't wait, here's how to get the latest version immediately:&lt;br /&gt;
# Edit your local copy of the Portfile: '''sudo port edit eiffelstudio'''. Change '''minor_version''' and '''version'''. Save.&lt;br /&gt;
# Tell MacPorts to use the local copy of your Portfile: '''cd /opt/local/var/macports/sources/rsync.macports.org/release/ports''' (assuming this is where your ports are), then type '''portindex'''. It will print hundreds of &amp;quot;Adding port&amp;quot; messages, one of which should be lang/eiffelstudio.&lt;br /&gt;
# Find out the checksums for the new version: '''sudo port -d upgrade eiffelstudio'''.&lt;br /&gt;
# Edit your local Portfile again, substituting the checksums.&lt;br /&gt;
# Now '''sudo port upgrade eiffelstudio''' should upgrade to the version described in your local Portfile.&lt;br /&gt;
&lt;br /&gt;
== Working around firewall issues ==&lt;br /&gt;
If you can't use the MacPorts rsync repository due to your firewall you can check out the macports source tree via SVN. To do this open a Terminal window and cd to a directory where you want your ports tree to live. Then type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
svn co http://svn.macports.org/repository/macports/trunk/dports/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
After the command has finished open the file /opt/local/etc/macports/sources.conf in your favorite text editor. Comment out the rsync URL and add a file URL that points to the dports directory that you just checked out from the SVN repository. Your sources.conf file will then look something like that:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# To get macports from the macports rsync server use:&lt;br /&gt;
# rsync://rsync.macports.org/release/ports/&lt;br /&gt;
&lt;br /&gt;
file:///Volumes/Data/SVN/macports/dports [default]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The above steps only work when you have an SVN client installed. This is a bit of a chicken-egg problem, since you usually get the SVN client from macports but you can also download svn from http://www.codingmonkeys.de/mbo.&lt;br /&gt;
&lt;br /&gt;
Alternate instructions can be found on the [http://trac.macports.org/wiki/howto/SyncingWithSVN macports website]&lt;br /&gt;
&lt;br /&gt;
If you don't have internet at all, or the above seems to be too complicated you can also create a binary package file on a computer that has MacPorts installed and then install it on the target computer. Please note that it is not recommended to install such a binary package on a computer that has MacPorts installed, since the binary installer does not (yet) talk to the MacPorts system to register the ports, so you might get ugly conflicts.&lt;br /&gt;
&lt;br /&gt;
That being said, you can create a Mac OS X installer for EiffelStudio and all dependencies by typing&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port mpkg eiffelstudio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then find the .mpkg file in /opt/local/var/macports/build/&amp;lt;folder name that contains the word eiffelstudio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The folder name might look something like this &amp;quot;_Volumes_Data_SVN_macports_dports_lang_eiffelstudio&amp;quot;. Just copy the .mpkg file to the target computer. It can then be installed by simply double clicking it. Note however that the build and and the target machine should be of the same architecture (Intel or PPC) and of the same major OS release.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
====I get a crash with a Permission denied: Operating system error, how do I fix it?====&lt;br /&gt;
&lt;br /&gt;
Delete the .ec directory in your home directory.&lt;br /&gt;
&lt;br /&gt;
====I get a linking error with precompiles on PPC, why is that ?====&lt;br /&gt;
&lt;br /&gt;
Precompiles did not work on the Mac before EiffelStudio 6.4 due to a limitation of the linker. To work around this issue don't use precompiles on Macs.&lt;br /&gt;
&lt;br /&gt;
{{Note|When you create a project, EiffelStudio will ask if you want to perform precompiles – say no. Then disable the precompiles for this project through the Project&amp;gt;Project menu. In the 'Groups&amp;gt;Precompile' section, remove all precompiles (eg., base_pre). Select the 'base_pre' precompile and click the red cross delete tool at the top of the window.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|Precompiling the Eiffel libraries after installing the Port is possible, there are security policies to take into account. The Port installs EiffelStudio under the system's ''/Application/MacPorts'' directory and '''not''' the user ''~/Application/MacPorts''. Due of this, EiffelStudio must be run as a super user and the precompiles build using the '''Tools''' &amp;gt; '''Precompile Wizard''' option. Alternatively, alter the base installation path when requesting to install the Port.}}&lt;br /&gt;
&lt;br /&gt;
==Hints==&lt;br /&gt;
* Use Helvetica 12 as Editor font. If you prefer a smaller font, use Hei 10.&lt;br /&gt;
* Pick and Drop works with Apple-key + mouse click.&lt;br /&gt;
* To set up the correct (default) browsers use &amp;quot;open&amp;quot; as your command-line browser in Tools&amp;gt;Preferences...&lt;br /&gt;
[[Image:preferences_open_mac.jpg]]&lt;br /&gt;
* To run the '''ec''' compiler from your shell, set up variables similar to these (e.g. in ~/.profile):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Setting variables for EiffelStudio.&lt;br /&gt;
export ISE_EIFFEL=/Applications/MacPorts/Eiffel61&lt;br /&gt;
export ISE_PLATFORM=macosx-ppc (or macosx-x86)&lt;br /&gt;
export ISE_PROJECTS=$HOME&lt;br /&gt;
export ES_PATH=$ISE_EIFFEL/studio/spec/$ISE_PLATFORM/bin&lt;br /&gt;
export PATH=$ES_PATH:$PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* The F10 and F11 debugging shortcuts conflict with the standard Exposé keys. Here are some workarounds:&lt;br /&gt;
** Use the toolbar instead.&lt;br /&gt;
** Reassign these shortcuts in EiffelStudio (Tools&amp;gt;Preferences).&lt;br /&gt;
** Reassign the Exposé keys in System Preferences.&lt;br /&gt;
* The version of '''X11 installed with Mac OS X Leopard 10.5.0 and 10.5.1 does not work'''. The 10.5.2 and later updates are probably ok, however, but if you're having problems have a look at http://trac.macosforge.org/projects/xquartz. For more details, see http://www.eiffelroom.com/blog/paulbates/a_little_help_for_mac_users which pre-dates the release of 10.5.2.&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelOnMac&amp;diff=13299</id>
		<title>EiffelOnMac</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelOnMac&amp;diff=13299"/>
				<updated>2009-08-26T14:31:37Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: /* Starting EiffelStudio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EiffelStudio]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
This page gives you an overview about how to get EiffelStudio running on your Mac.&lt;br /&gt;
&lt;br /&gt;
== Installation using MacPorts ==&lt;br /&gt;
&lt;br /&gt;
The officially supported versions of Mac OS X are 10.4 and 10.5.&lt;br /&gt;
&lt;br /&gt;
MacPorts is a great tool that allows you to use many Unix applications on the Mac. We have created a package in the MacPorts repository that allows you to to install a fairly recent build with all dependencies in a convenient way. Install MacPorts as described [http://trac.macosforge.org/projects/macports/wiki/InstallingMacPorts here]. This might add the line 'export DISPLAY=:0.0' to your .profile (or .bashrc) file. This is valid for Tiger, but will prevent EiffelStudio launching in Leopard. Make sure this line is deleted if using Leopard. For more information consult the [http://guide.macports.org/ MacPorts guide] (which seems to be more up-to-date).&lt;br /&gt;
&lt;br /&gt;
Now simply type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install eiffelstudio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you're ready to go (after a few hours compiling that is :)). Compiling on a new Intel Mac reportedly takes about an hour. An old 800 MHz PowerPC takes about seven hours.&lt;br /&gt;
&lt;br /&gt;
The latest development build is available in the eiffelstudio-devel port. To install it type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install eiffelstudio-devel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It can be installed alongside the regular ES build.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Precompiles do not work well on the Mac. If you still want to give it a shot, you need to precompile the '''base''' and '''vision2''' libraries once with admin rights. To do that, you can type: &amp;quot;sudo estudio&amp;quot; in an xterm window and then use the precompilation wizard (Tools&amp;gt;Precompilation wizard) or simply create a new project that will be precompiled. On Mac OS 10.5 (Leopard) this doesn't seem to work anymore. Here you need to set the permissions of the precompile folder to world writeable (or at least writeable for your current user). To do this type chmod a+w $ISE_EIFFEL/precomp. You can change it back after completing the precompilation: chmod 755 $ISE_EIFFEL/precomp.&lt;br /&gt;
&lt;br /&gt;
== Starting EiffelStudio ==&lt;br /&gt;
&lt;br /&gt;
Simply navigate to /Applications/MacPorts/Eiffel&amp;lt;nn&amp;gt; and double click the EiffelStudio icon.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can also start EiffelStudio from the command line by entering the command 'estudio' or use the command-line eiffel compiler 'ec'.&lt;br /&gt;
&lt;br /&gt;
== Upgrading ==&lt;br /&gt;
&lt;br /&gt;
When a new version of EiffelStudio is available, you can upgrade like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port selfupdate&lt;br /&gt;
sudo port upgrade eiffelstudio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be prepared for another long wait while it compiles. You can do likewise for eiffelstudio-devel, of course.&lt;br /&gt;
&lt;br /&gt;
Beware that this may not get the latest release if [http://trac.macports.org/browser/trunk/dports/lang/eiffelstudio/Portfile the Port file] has not been updated yet. Even after it has been updated, it may take a week for it to propagate to MacPorts. If you can't wait, here's how to get the latest version immediately:&lt;br /&gt;
# Edit your local copy of the Portfile: '''sudo port edit eiffelstudio'''. Change '''minor_version''' and '''version'''. Save.&lt;br /&gt;
# Tell MacPorts to use the local copy of your Portfile: '''cd /opt/local/var/macports/sources/rsync.macports.org/release/ports''' (assuming this is where your ports are), then type '''portindex'''. It will print hundreds of &amp;quot;Adding port&amp;quot; messages, one of which should be lang/eiffelstudio.&lt;br /&gt;
# Find out the checksums for the new version: '''sudo port -d upgrade eiffelstudio'''.&lt;br /&gt;
# Edit your local Portfile again, substituting the checksums.&lt;br /&gt;
# Now '''sudo port upgrade eiffelstudio''' should upgrade to the version described in your local Portfile.&lt;br /&gt;
&lt;br /&gt;
== Working around firewall issues ==&lt;br /&gt;
If you can't use the MacPorts rsync repository due to your firewall you can check out the macports source tree via SVN. To do this open a Terminal window and cd to a directory where you want your ports tree to live. Then type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
svn co http://svn.macports.org/repository/macports/trunk/dports/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
After the command has finished open the file /opt/local/etc/macports/sources.conf in your favorite text editor. Comment out the rsync URL and add a file URL that points to the dports directory that you just checked out from the SVN repository. Your sources.conf file will then look something like that:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# To get macports from the macports rsync server use:&lt;br /&gt;
# rsync://rsync.macports.org/release/ports/&lt;br /&gt;
&lt;br /&gt;
file:///Volumes/Data/SVN/macports/dports [default]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The above steps only work when you have an SVN client installed. This is a bit of a chicken-egg problem, since you usually get the SVN client from macports but you can also download svn from http://www.codingmonkeys.de/mbo.&lt;br /&gt;
&lt;br /&gt;
Alternate instructions can be found on the [http://trac.macports.org/wiki/howto/SyncingWithSVN macports website]&lt;br /&gt;
&lt;br /&gt;
If you don't have internet at all, or the above seems to be too complicated you can also create a binary package file on a computer that has MacPorts installed and then install it on the target computer. Please note that it is not recommended to install such a binary package on a computer that has MacPorts installed, since the binary installer does not (yet) talk to the MacPorts system to register the ports, so you might get ugly conflicts.&lt;br /&gt;
&lt;br /&gt;
That being said, you can create a Mac OS X installer for EiffelStudio and all dependencies by typing&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port mpkg eiffelstudio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then find the .mpkg file in /opt/local/var/macports/build/&amp;lt;folder name that contains the word eiffelstudio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The folder name might look something like this &amp;quot;_Volumes_Data_SVN_macports_dports_lang_eiffelstudio&amp;quot;. Just copy the .mpkg file to the target computer. It can then be installed by simply double clicking it. Note however that the build and and the target machine should be of the same architecture (Intel or PPC) and of the same major OS release.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
====I get a crash with a Permission denied: Operating system error, how do I fix it?====&lt;br /&gt;
&lt;br /&gt;
Delete the .ec directory in your home directory.&lt;br /&gt;
&lt;br /&gt;
====I get a linking error with precompiles on PPC, why is that ?====&lt;br /&gt;
&lt;br /&gt;
Precompiles did not work on the Mac before EiffelStudio 6.4 due to a limitation of the linker. To work around this issue don't use precompiles on Macs.&lt;br /&gt;
&lt;br /&gt;
{{Note|When you create a project, EiffelStudio will ask if you want to perform precompiles – say no. Then disable the precompiles for this project through the Project&amp;gt;Project menu. In the 'Groups&amp;gt;Precompile' section, remove all precompiles (eg., base_pre). Select the 'base_pre' precompile and click the red cross delete tool at the top of the window.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|Precompiling the Eiffel libraries after installing the Port is possible, there are security policies to take into account. The Port installs EiffelStudio under the system's ''/Application/MacPorts'' directory and '''not''' the user ''~/Application/MacPorts''. Due of this, EiffelStudio must be run as a super user and the precompiles build using the '''Tools''' &amp;gt; '''Precompile Wizard''' option. Alternatively, alter the base installation path when requesting to install the Port.}}&lt;br /&gt;
&lt;br /&gt;
==Hints==&lt;br /&gt;
* Use Helvetica 12 as Editor font. If you prefer a smaller font, use Hei 10.&lt;br /&gt;
* Pick and Drop works with Apple-key + mouse click.&lt;br /&gt;
* To set up the correct (default) browsers use &amp;quot;open&amp;quot; as your command-line browser in Tools&amp;gt;Preferences...&lt;br /&gt;
[[Image:preferences_open_mac.jpg]]&lt;br /&gt;
* To run the '''ec''' compiler from your shell, set up variables similar to these (e.g. in ~/.profile):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Setting variables for EiffelStudio.&lt;br /&gt;
export ISE_EIFFEL=/Applications/MacPorts/Eiffel61&lt;br /&gt;
export ISE_PLATFORM=macosx-ppc (or macosx-x86)&lt;br /&gt;
export ISE_PROJECTS=$HOME&lt;br /&gt;
export ES_PATH=$ISE_EIFFEL/studio/spec/$ISE_PLATFORM/bin&lt;br /&gt;
export PATH=$ES_PATH:$PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* The F10 and F11 debugging shortcuts conflict with the standard Exposé keys. Here are some workarounds:&lt;br /&gt;
** Use the toolbar instead.&lt;br /&gt;
** Reassign these shortcuts in EiffelStudio (Tools&amp;gt;Preferences).&lt;br /&gt;
** Reassign the Exposé keys in System Preferences.&lt;br /&gt;
* The version of '''X11 installed with Mac OS X Leopard 10.5.0 and 10.5.1 does not work'''. The 10.5.2 and later updates are probably ok, however, but if you're having problems have a look at http://trac.macosforge.org/projects/xquartz. For more details, see http://www.eiffelroom.com/blog/paulbates/a_little_help_for_mac_users which pre-dates the release of 10.5.2.&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelOnMac&amp;diff=13298</id>
		<title>EiffelOnMac</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelOnMac&amp;diff=13298"/>
				<updated>2009-08-26T14:29:32Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: Removing Disable Precompiles section. Not necessary anymore in 6.4 and later.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EiffelStudio]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
This page gives you an overview about how to get EiffelStudio running on your Mac.&lt;br /&gt;
&lt;br /&gt;
== Installation using MacPorts ==&lt;br /&gt;
&lt;br /&gt;
The officially supported versions of Mac OS X are 10.4 and 10.5.&lt;br /&gt;
&lt;br /&gt;
MacPorts is a great tool that allows you to use many Unix applications on the Mac. We have created a package in the MacPorts repository that allows you to to install a fairly recent build with all dependencies in a convenient way. Install MacPorts as described [http://trac.macosforge.org/projects/macports/wiki/InstallingMacPorts here]. This might add the line 'export DISPLAY=:0.0' to your .profile (or .bashrc) file. This is valid for Tiger, but will prevent EiffelStudio launching in Leopard. Make sure this line is deleted if using Leopard. For more information consult the [http://guide.macports.org/ MacPorts guide] (which seems to be more up-to-date).&lt;br /&gt;
&lt;br /&gt;
Now simply type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install eiffelstudio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you're ready to go (after a few hours compiling that is :)). Compiling on a new Intel Mac reportedly takes about an hour. An old 800 MHz PowerPC takes about seven hours.&lt;br /&gt;
&lt;br /&gt;
The latest development build is available in the eiffelstudio-devel port. To install it type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install eiffelstudio-devel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It can be installed alongside the regular ES build.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Precompiles do not work well on the Mac. If you still want to give it a shot, you need to precompile the '''base''' and '''vision2''' libraries once with admin rights. To do that, you can type: &amp;quot;sudo estudio&amp;quot; in an xterm window and then use the precompilation wizard (Tools&amp;gt;Precompilation wizard) or simply create a new project that will be precompiled. On Mac OS 10.5 (Leopard) this doesn't seem to work anymore. Here you need to set the permissions of the precompile folder to world writeable (or at least writeable for your current user). To do this type chmod a+w $ISE_EIFFEL/precomp. You can change it back after completing the precompilation: chmod 755 $ISE_EIFFEL/precomp.&lt;br /&gt;
&lt;br /&gt;
== Starting EiffelStudio ==&lt;br /&gt;
&lt;br /&gt;
Simply navigate to /Applications/MacPorts/Eiffel&amp;lt;nn&amp;gt; and double click the EiffelStudio icon. This will automatically start X11.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can also start EiffelStudio from X11 by simply entering the command 'estudio'. You can also 'sudo estudio', but the sudo does not seem to ever be needed even with a standard (non-admin) usercode (and you do use a standard usercode right? Admin usercodes are bad, can corrupt things, allow hackers (total count so far 0) more access. Also your users might not be running admin, so you should run standard and test under standard. Another tip – don't call your admin usercode 'admin'.)&lt;br /&gt;
&lt;br /&gt;
== Upgrading ==&lt;br /&gt;
&lt;br /&gt;
When a new version of EiffelStudio is available, you can upgrade like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port selfupdate&lt;br /&gt;
sudo port upgrade eiffelstudio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be prepared for another long wait while it compiles. You can do likewise for eiffelstudio-devel, of course.&lt;br /&gt;
&lt;br /&gt;
Beware that this may not get the latest release if [http://trac.macports.org/browser/trunk/dports/lang/eiffelstudio/Portfile the Port file] has not been updated yet. Even after it has been updated, it may take a week for it to propagate to MacPorts. If you can't wait, here's how to get the latest version immediately:&lt;br /&gt;
# Edit your local copy of the Portfile: '''sudo port edit eiffelstudio'''. Change '''minor_version''' and '''version'''. Save.&lt;br /&gt;
# Tell MacPorts to use the local copy of your Portfile: '''cd /opt/local/var/macports/sources/rsync.macports.org/release/ports''' (assuming this is where your ports are), then type '''portindex'''. It will print hundreds of &amp;quot;Adding port&amp;quot; messages, one of which should be lang/eiffelstudio.&lt;br /&gt;
# Find out the checksums for the new version: '''sudo port -d upgrade eiffelstudio'''.&lt;br /&gt;
# Edit your local Portfile again, substituting the checksums.&lt;br /&gt;
# Now '''sudo port upgrade eiffelstudio''' should upgrade to the version described in your local Portfile.&lt;br /&gt;
&lt;br /&gt;
== Working around firewall issues ==&lt;br /&gt;
If you can't use the MacPorts rsync repository due to your firewall you can check out the macports source tree via SVN. To do this open a Terminal window and cd to a directory where you want your ports tree to live. Then type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
svn co http://svn.macports.org/repository/macports/trunk/dports/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
After the command has finished open the file /opt/local/etc/macports/sources.conf in your favorite text editor. Comment out the rsync URL and add a file URL that points to the dports directory that you just checked out from the SVN repository. Your sources.conf file will then look something like that:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# To get macports from the macports rsync server use:&lt;br /&gt;
# rsync://rsync.macports.org/release/ports/&lt;br /&gt;
&lt;br /&gt;
file:///Volumes/Data/SVN/macports/dports [default]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The above steps only work when you have an SVN client installed. This is a bit of a chicken-egg problem, since you usually get the SVN client from macports but you can also download svn from http://www.codingmonkeys.de/mbo.&lt;br /&gt;
&lt;br /&gt;
Alternate instructions can be found on the [http://trac.macports.org/wiki/howto/SyncingWithSVN macports website]&lt;br /&gt;
&lt;br /&gt;
If you don't have internet at all, or the above seems to be too complicated you can also create a binary package file on a computer that has MacPorts installed and then install it on the target computer. Please note that it is not recommended to install such a binary package on a computer that has MacPorts installed, since the binary installer does not (yet) talk to the MacPorts system to register the ports, so you might get ugly conflicts.&lt;br /&gt;
&lt;br /&gt;
That being said, you can create a Mac OS X installer for EiffelStudio and all dependencies by typing&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port mpkg eiffelstudio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then find the .mpkg file in /opt/local/var/macports/build/&amp;lt;folder name that contains the word eiffelstudio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The folder name might look something like this &amp;quot;_Volumes_Data_SVN_macports_dports_lang_eiffelstudio&amp;quot;. Just copy the .mpkg file to the target computer. It can then be installed by simply double clicking it. Note however that the build and and the target machine should be of the same architecture (Intel or PPC) and of the same major OS release.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
====I get a crash with a Permission denied: Operating system error, how do I fix it?====&lt;br /&gt;
&lt;br /&gt;
Delete the .ec directory in your home directory.&lt;br /&gt;
&lt;br /&gt;
====I get a linking error with precompiles on PPC, why is that ?====&lt;br /&gt;
&lt;br /&gt;
Precompiles did not work on the Mac before EiffelStudio 6.4 due to a limitation of the linker. To work around this issue don't use precompiles on Macs.&lt;br /&gt;
&lt;br /&gt;
{{Note|When you create a project, EiffelStudio will ask if you want to perform precompiles – say no. Then disable the precompiles for this project through the Project&amp;gt;Project menu. In the 'Groups&amp;gt;Precompile' section, remove all precompiles (eg., base_pre). Select the 'base_pre' precompile and click the red cross delete tool at the top of the window.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|Precompiling the Eiffel libraries after installing the Port is possible, there are security policies to take into account. The Port installs EiffelStudio under the system's ''/Application/MacPorts'' directory and '''not''' the user ''~/Application/MacPorts''. Due of this, EiffelStudio must be run as a super user and the precompiles build using the '''Tools''' &amp;gt; '''Precompile Wizard''' option. Alternatively, alter the base installation path when requesting to install the Port.}}&lt;br /&gt;
&lt;br /&gt;
==Hints==&lt;br /&gt;
* Use Helvetica 12 as Editor font. If you prefer a smaller font, use Hei 10.&lt;br /&gt;
* Pick and Drop works with Apple-key + mouse click.&lt;br /&gt;
* To set up the correct (default) browsers use &amp;quot;open&amp;quot; as your command-line browser in Tools&amp;gt;Preferences...&lt;br /&gt;
[[Image:preferences_open_mac.jpg]]&lt;br /&gt;
* To run the '''ec''' compiler from your shell, set up variables similar to these (e.g. in ~/.profile):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Setting variables for EiffelStudio.&lt;br /&gt;
export ISE_EIFFEL=/Applications/MacPorts/Eiffel61&lt;br /&gt;
export ISE_PLATFORM=macosx-ppc (or macosx-x86)&lt;br /&gt;
export ISE_PROJECTS=$HOME&lt;br /&gt;
export ES_PATH=$ISE_EIFFEL/studio/spec/$ISE_PLATFORM/bin&lt;br /&gt;
export PATH=$ES_PATH:$PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* The F10 and F11 debugging shortcuts conflict with the standard Exposé keys. Here are some workarounds:&lt;br /&gt;
** Use the toolbar instead.&lt;br /&gt;
** Reassign these shortcuts in EiffelStudio (Tools&amp;gt;Preferences).&lt;br /&gt;
** Reassign the Exposé keys in System Preferences.&lt;br /&gt;
* The version of '''X11 installed with Mac OS X Leopard 10.5.0 and 10.5.1 does not work'''. The 10.5.2 and later updates are probably ok, however, but if you're having problems have a look at http://trac.macosforge.org/projects/xquartz. For more details, see http://www.eiffelroom.com/blog/paulbates/a_little_help_for_mac_users which pre-dates the release of 10.5.2.&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelOnMac&amp;diff=13297</id>
		<title>EiffelOnMac</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelOnMac&amp;diff=13297"/>
				<updated>2009-08-26T14:28:53Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: /* FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EiffelStudio]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
This page gives you an overview about how to get EiffelStudio running on your Mac.&lt;br /&gt;
&lt;br /&gt;
== Installation using MacPorts ==&lt;br /&gt;
&lt;br /&gt;
The officially supported versions of Mac OS X are 10.4 and 10.5.&lt;br /&gt;
&lt;br /&gt;
MacPorts is a great tool that allows you to use many Unix applications on the Mac. We have created a package in the MacPorts repository that allows you to to install a fairly recent build with all dependencies in a convenient way. Install MacPorts as described [http://trac.macosforge.org/projects/macports/wiki/InstallingMacPorts here]. This might add the line 'export DISPLAY=:0.0' to your .profile (or .bashrc) file. This is valid for Tiger, but will prevent EiffelStudio launching in Leopard. Make sure this line is deleted if using Leopard. For more information consult the [http://guide.macports.org/ MacPorts guide] (which seems to be more up-to-date).&lt;br /&gt;
&lt;br /&gt;
Now simply type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install eiffelstudio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and you're ready to go (after a few hours compiling that is :)). Compiling on a new Intel Mac reportedly takes about an hour. An old 800 MHz PowerPC takes about seven hours.&lt;br /&gt;
&lt;br /&gt;
The latest development build is available in the eiffelstudio-devel port. To install it type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install eiffelstudio-devel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It can be installed alongside the regular ES build.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Precompiles do not work well on the Mac. If you still want to give it a shot, you need to precompile the '''base''' and '''vision2''' libraries once with admin rights. To do that, you can type: &amp;quot;sudo estudio&amp;quot; in an xterm window and then use the precompilation wizard (Tools&amp;gt;Precompilation wizard) or simply create a new project that will be precompiled. On Mac OS 10.5 (Leopard) this doesn't seem to work anymore. Here you need to set the permissions of the precompile folder to world writeable (or at least writeable for your current user). To do this type chmod a+w $ISE_EIFFEL/precomp. You can change it back after completing the precompilation: chmod 755 $ISE_EIFFEL/precomp.&lt;br /&gt;
&lt;br /&gt;
== Starting EiffelStudio ==&lt;br /&gt;
&lt;br /&gt;
Simply navigate to /Applications/MacPorts/Eiffel&amp;lt;nn&amp;gt; and double click the EiffelStudio icon. This will automatically start X11.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can also start EiffelStudio from X11 by simply entering the command 'estudio'. You can also 'sudo estudio', but the sudo does not seem to ever be needed even with a standard (non-admin) usercode (and you do use a standard usercode right? Admin usercodes are bad, can corrupt things, allow hackers (total count so far 0) more access. Also your users might not be running admin, so you should run standard and test under standard. Another tip – don't call your admin usercode 'admin'.)&lt;br /&gt;
&lt;br /&gt;
== Disable Precompiles ==&lt;br /&gt;
&lt;br /&gt;
For some reason (ask the Eiffel For Mac guys), precompiles for 6.2 don't work on the Mac. When you create a project, EiffelStudio will ask if you want to perform precompiles – say no. You must then disable the precompiles. Do this from the Project&amp;gt;Project Settings menu. Under the 'Groups&amp;gt;Precompile' section, remove all precompiles (eg., base_pre). Select the 'base_pre' precompile and click the red cross delete tool at the top of the window.&lt;br /&gt;
&lt;br /&gt;
If you are not using EiffelStudio, you can delete the precompile lines in the projects .ecf file (eg., &amp;lt;precompile name=&amp;quot;base_pre&amp;quot; location=&amp;quot;$ISE_PRECOMP/base.ecf&amp;quot;/&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
{{Note|Precompiling the Eiffel libraries after installing the Port is possible, there are security policies to take into account. The Port installs EiffelStudio under the system's ''/Application/MacPorts'' directory and '''not''' the user ''~/Application/MacPorts''. Due of this, EiffelStudio must be run as a super user and the precompiles build using the '''Tools''' &amp;gt; '''Precompile Wizard''' option. Alternatively, alter the base installation path when requesting to install the Port.}}&lt;br /&gt;
&lt;br /&gt;
== Upgrading ==&lt;br /&gt;
&lt;br /&gt;
When a new version of EiffelStudio is available, you can upgrade like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port selfupdate&lt;br /&gt;
sudo port upgrade eiffelstudio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be prepared for another long wait while it compiles. You can do likewise for eiffelstudio-devel, of course.&lt;br /&gt;
&lt;br /&gt;
Beware that this may not get the latest release if [http://trac.macports.org/browser/trunk/dports/lang/eiffelstudio/Portfile the Port file] has not been updated yet. Even after it has been updated, it may take a week for it to propagate to MacPorts. If you can't wait, here's how to get the latest version immediately:&lt;br /&gt;
# Edit your local copy of the Portfile: '''sudo port edit eiffelstudio'''. Change '''minor_version''' and '''version'''. Save.&lt;br /&gt;
# Tell MacPorts to use the local copy of your Portfile: '''cd /opt/local/var/macports/sources/rsync.macports.org/release/ports''' (assuming this is where your ports are), then type '''portindex'''. It will print hundreds of &amp;quot;Adding port&amp;quot; messages, one of which should be lang/eiffelstudio.&lt;br /&gt;
# Find out the checksums for the new version: '''sudo port -d upgrade eiffelstudio'''.&lt;br /&gt;
# Edit your local Portfile again, substituting the checksums.&lt;br /&gt;
# Now '''sudo port upgrade eiffelstudio''' should upgrade to the version described in your local Portfile.&lt;br /&gt;
&lt;br /&gt;
== Working around firewall issues ==&lt;br /&gt;
If you can't use the MacPorts rsync repository due to your firewall you can check out the macports source tree via SVN. To do this open a Terminal window and cd to a directory where you want your ports tree to live. Then type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
svn co http://svn.macports.org/repository/macports/trunk/dports/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
After the command has finished open the file /opt/local/etc/macports/sources.conf in your favorite text editor. Comment out the rsync URL and add a file URL that points to the dports directory that you just checked out from the SVN repository. Your sources.conf file will then look something like that:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# To get macports from the macports rsync server use:&lt;br /&gt;
# rsync://rsync.macports.org/release/ports/&lt;br /&gt;
&lt;br /&gt;
file:///Volumes/Data/SVN/macports/dports [default]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The above steps only work when you have an SVN client installed. This is a bit of a chicken-egg problem, since you usually get the SVN client from macports but you can also download svn from http://www.codingmonkeys.de/mbo.&lt;br /&gt;
&lt;br /&gt;
Alternate instructions can be found on the [http://trac.macports.org/wiki/howto/SyncingWithSVN macports website]&lt;br /&gt;
&lt;br /&gt;
If you don't have internet at all, or the above seems to be too complicated you can also create a binary package file on a computer that has MacPorts installed and then install it on the target computer. Please note that it is not recommended to install such a binary package on a computer that has MacPorts installed, since the binary installer does not (yet) talk to the MacPorts system to register the ports, so you might get ugly conflicts.&lt;br /&gt;
&lt;br /&gt;
That being said, you can create a Mac OS X installer for EiffelStudio and all dependencies by typing&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port mpkg eiffelstudio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then find the .mpkg file in /opt/local/var/macports/build/&amp;lt;folder name that contains the word eiffelstudio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The folder name might look something like this &amp;quot;_Volumes_Data_SVN_macports_dports_lang_eiffelstudio&amp;quot;. Just copy the .mpkg file to the target computer. It can then be installed by simply double clicking it. Note however that the build and and the target machine should be of the same architecture (Intel or PPC) and of the same major OS release.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
====I get a crash with a Permission denied: Operating system error, how do I fix it?====&lt;br /&gt;
&lt;br /&gt;
Delete the .ec directory in your home directory.&lt;br /&gt;
&lt;br /&gt;
====I get a linking error with precompiles on PPC, why is that ?====&lt;br /&gt;
&lt;br /&gt;
Precompiles did not work on the Mac before EiffelStudio 6.4 due to a limitation of the linker. To work around this issue don't use precompiles on Macs.&lt;br /&gt;
&lt;br /&gt;
{{Note|When you create a project, EiffelStudio will ask if you want to perform precompiles – say no. Then disable the precompiles for this project through the Project&amp;gt;Project menu. In the 'Groups&amp;gt;Precompile' section, remove all precompiles (eg., base_pre). Select the 'base_pre' precompile and click the red cross delete tool at the top of the window.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|Precompiling the Eiffel libraries after installing the Port is possible, there are security policies to take into account. The Port installs EiffelStudio under the system's ''/Application/MacPorts'' directory and '''not''' the user ''~/Application/MacPorts''. Due of this, EiffelStudio must be run as a super user and the precompiles build using the '''Tools''' &amp;gt; '''Precompile Wizard''' option. Alternatively, alter the base installation path when requesting to install the Port.}}&lt;br /&gt;
&lt;br /&gt;
==Hints==&lt;br /&gt;
* Use Helvetica 12 as Editor font. If you prefer a smaller font, use Hei 10.&lt;br /&gt;
* Pick and Drop works with Apple-key + mouse click.&lt;br /&gt;
* To set up the correct (default) browsers use &amp;quot;open&amp;quot; as your command-line browser in Tools&amp;gt;Preferences...&lt;br /&gt;
[[Image:preferences_open_mac.jpg]]&lt;br /&gt;
* To run the '''ec''' compiler from your shell, set up variables similar to these (e.g. in ~/.profile):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Setting variables for EiffelStudio.&lt;br /&gt;
export ISE_EIFFEL=/Applications/MacPorts/Eiffel61&lt;br /&gt;
export ISE_PLATFORM=macosx-ppc (or macosx-x86)&lt;br /&gt;
export ISE_PROJECTS=$HOME&lt;br /&gt;
export ES_PATH=$ISE_EIFFEL/studio/spec/$ISE_PLATFORM/bin&lt;br /&gt;
export PATH=$ES_PATH:$PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* The F10 and F11 debugging shortcuts conflict with the standard Exposé keys. Here are some workarounds:&lt;br /&gt;
** Use the toolbar instead.&lt;br /&gt;
** Reassign these shortcuts in EiffelStudio (Tools&amp;gt;Preferences).&lt;br /&gt;
** Reassign the Exposé keys in System Preferences.&lt;br /&gt;
* The version of '''X11 installed with Mac OS X Leopard 10.5.0 and 10.5.1 does not work'''. The 10.5.2 and later updates are probably ok, however, but if you're having problems have a look at http://trac.macosforge.org/projects/xquartz. For more details, see http://www.eiffelroom.com/blog/paulbates/a_little_help_for_mac_users which pre-dates the release of 10.5.2.&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13229</id>
		<title>EiffelVision Cocoa</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13229"/>
				<updated>2009-08-21T14:24:48Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:EiffelVision2]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
This project was created with the goal of running Eiffel Studio natively on the Mac and succeeds the previous Carbon based EiffelVision implementation.&lt;br /&gt;
=Screenshots=&lt;br /&gt;
&lt;br /&gt;
[[Image:EiffelStudio-19-05-09.png|200px|thumb|left|EiffelStudio on 19.5.09]]&lt;br /&gt;
[[Image:EiffelStudio-3-07-09.png|200px|thumb|left|EiffelStudio on 3.7.09]]&lt;br /&gt;
[[Image:EiffelStudio-21-08-09.png|200px|thumb|left|EiffelStudio on 21.8.09]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Build instructions=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Get the latest EiffelStudio for the Mac. If you have MacPorts installed you can do this by typing&lt;br /&gt;
   &amp;lt;pre&amp;gt;port install eiffelstudio65&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Check out the latest source code from the trunk&lt;br /&gt;
   &amp;lt;pre&amp;gt;svn co https://svn.origo.ethz.ch/eiffelstudio/trunk&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set your EIFFEL_SRC and ISE_LIBRARY to the directory &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   export EIFFEL_SRC=/directory/to/your/checkout/trunk/Src&lt;br /&gt;
   export EIFFEL_SRC=$ISE_LIBRARY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Locate EiffelStudio's config.sh file (probably /Applications/MacPorts/Eiffel65/studio/spec/macosx-x86/include/config.sh) and add the flag -ObjC to the definition of the ccflags, like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   ccflags='-ObjC -pipe -no-cpp-precomp -fno-common -fPIC'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Compile the C-parts of the library&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/objc_base/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/cocoa/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Now open the .ecf file of your project and add the following line to your target:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
alternatively you can add another target which will allow you to easily compile both, a GTK+ and a Cocoa version of your application:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;target name=&amp;quot;cocoa&amp;quot; extends=&amp;quot;classic&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/target&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If you want to compile Eiffel Studio there is already a target called &amp;quot;bench_cocoa&amp;quot; which you can select.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Use ec -experiment (or estudio -experiment) to compile&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
==Problem==&lt;br /&gt;
C compilation yields syntax errors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Compiling C code in C190&lt;br /&gt;
In file included from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:12,&lt;br /&gt;
                 from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,&lt;br /&gt;
                 from ns6299.c:27,&lt;br /&gt;
                 from big_file_C191_c.c:54:&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:124: error: stray '@' in program&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:124: error: syntax error before 'NSString'&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:126: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:127: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:129: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:130: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:132: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:132: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:133: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:133: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:137: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:138: error: syntax error before '*' token&lt;br /&gt;
In file included from /System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:6,&lt;br /&gt;
                 from /System/Library/Frameworks/Foundation.framework/Headers/NSAffineTransform.h:5,&lt;br /&gt;
                 from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:13,&lt;br /&gt;
                 from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,&lt;br /&gt;
                 from ns6299.c:27,&lt;br /&gt;
                 from big_file_C191_c.c:54:&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSZone.h:8: error: stray '@' in program&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Solution==&lt;br /&gt;
Make sure your config.sh was changed to allow compiling Objective-C (see step 4 above). &lt;br /&gt;
==Problem==&lt;br /&gt;
C compilation yields an linker error (symbols not found):&lt;br /&gt;
   Compiling C code in C1&lt;br /&gt;
   Compiling C code in E1&lt;br /&gt;
   Undefined symbols:&lt;br /&gt;
     &amp;quot;_bridge_void_general&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_general$non_lazy_ptr in Cobj160.o&lt;br /&gt;
     &amp;quot;_bridge_void_ptr_ptr&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_ptr_ptr$non_lazy_ptr in Cobj160.o&lt;br /&gt;
   ld: symbol(s) not found&lt;br /&gt;
   collect2: ld returned 1 exit status&lt;br /&gt;
   make: *** [ec] Error 1&lt;br /&gt;
==Solution==&lt;br /&gt;
Make sure you compiled the C-parts of the libraries (see step 5 above).&lt;br /&gt;
&lt;br /&gt;
= Contact =&lt;br /&gt;
&lt;br /&gt;
If you run into any problems or have any other feedback I'll be happy to hear from you.&lt;br /&gt;
&lt;br /&gt;
* [[User:Dfurrer|Dfurrer]]&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13228</id>
		<title>EiffelVision Cocoa</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13228"/>
				<updated>2009-08-21T14:14:20Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:EiffelVision2]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
This project was created with the goal of running Eiffel Studio natively on the Mac and succeeds the previous Carbon based EiffelVision implementation.&lt;br /&gt;
=Screenshots=&lt;br /&gt;
[[Image:EiffelStudio-19-05-09.png|200px|thumb|left|EiffelStudio on 19.5.09]]&lt;br /&gt;
[[Image:EiffelStudio-3-07-09.png|200px|thumb|left|EiffelStudio on 3.7.09]]&lt;br /&gt;
[[Image:EiffelStudio-21-08-09.png|200px|thumb|left|EiffelStudio on 21.8.09]]&lt;br /&gt;
&lt;br /&gt;
=Build instructions=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Get the latest EiffelStudio for the Mac. If you have MacPorts installed you can do this by typing&lt;br /&gt;
   &amp;lt;pre&amp;gt;port install eiffelstudio65&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Check out the latest source code from the trunk&lt;br /&gt;
   &amp;lt;pre&amp;gt;svn co https://svn.origo.ethz.ch/eiffelstudio/trunk&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set your EIFFEL_SRC and ISE_LIBRARY to the directory &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   export EIFFEL_SRC=/directory/to/your/checkout/trunk/Src&lt;br /&gt;
   export EIFFEL_SRC=$ISE_LIBRARY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Locate EiffelStudio's config.sh file (probably /Applications/MacPorts/Eiffel65/studio/spec/macosx-x86/include/config.sh) and add the flag -ObjC to the definition of the ccflags, like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   ccflags='-ObjC -pipe -no-cpp-precomp -fno-common -fPIC'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Compile the C-parts of the library&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/objc_base/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/cocoa/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Now open the .ecf file of your project and add the following line to your target:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
alternatively you can add another target which will allow you to easily compile both, a GTK+ and a Cocoa version of your application:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;target name=&amp;quot;cocoa&amp;quot; extends=&amp;quot;classic&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/target&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If you want to compile Eiffel Studio there is already a target called &amp;quot;bench_cocoa&amp;quot; which you can select.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Use ec -experiment (or estudio -experiment) to compile&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
==Problem==&lt;br /&gt;
C compilation yields syntax errors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Compiling C code in C190&lt;br /&gt;
In file included from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:12,&lt;br /&gt;
                 from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,&lt;br /&gt;
                 from ns6299.c:27,&lt;br /&gt;
                 from big_file_C191_c.c:54:&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:124: error: stray '@' in program&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:124: error: syntax error before 'NSString'&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:126: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:127: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:129: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:130: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:132: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:132: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:133: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:133: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:137: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:138: error: syntax error before '*' token&lt;br /&gt;
In file included from /System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:6,&lt;br /&gt;
                 from /System/Library/Frameworks/Foundation.framework/Headers/NSAffineTransform.h:5,&lt;br /&gt;
                 from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:13,&lt;br /&gt;
                 from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,&lt;br /&gt;
                 from ns6299.c:27,&lt;br /&gt;
                 from big_file_C191_c.c:54:&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSZone.h:8: error: stray '@' in program&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Solution==&lt;br /&gt;
Make sure your config.sh was changed to allow compiling Objective-C (see step 4 above). &lt;br /&gt;
==Problem==&lt;br /&gt;
C compilation yields an linker error (symbols not found):&lt;br /&gt;
   Compiling C code in C1&lt;br /&gt;
   Compiling C code in E1&lt;br /&gt;
   Undefined symbols:&lt;br /&gt;
     &amp;quot;_bridge_void_general&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_general$non_lazy_ptr in Cobj160.o&lt;br /&gt;
     &amp;quot;_bridge_void_ptr_ptr&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_ptr_ptr$non_lazy_ptr in Cobj160.o&lt;br /&gt;
   ld: symbol(s) not found&lt;br /&gt;
   collect2: ld returned 1 exit status&lt;br /&gt;
   make: *** [ec] Error 1&lt;br /&gt;
==Solution==&lt;br /&gt;
Make sure you compiled the C-parts of the libraries (see step 5 above).&lt;br /&gt;
&lt;br /&gt;
= Contact =&lt;br /&gt;
&lt;br /&gt;
If you run into any problems or have any other feedback I'll be happy to hear from you.&lt;br /&gt;
&lt;br /&gt;
* [[User:Dfurrer|Dfurrer]]&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=File:EiffelStudio-21-08-09.png&amp;diff=13227</id>
		<title>File:EiffelStudio-21-08-09.png</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=File:EiffelStudio-21-08-09.png&amp;diff=13227"/>
				<updated>2009-08-21T14:11:21Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=File:EiffelStudio-19-05-09.png&amp;diff=13226</id>
		<title>File:EiffelStudio-19-05-09.png</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=File:EiffelStudio-19-05-09.png&amp;diff=13226"/>
				<updated>2009-08-21T14:06:57Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=File:EiffelStudio-3-07-09.png&amp;diff=13225</id>
		<title>File:EiffelStudio-3-07-09.png</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=File:EiffelStudio-3-07-09.png&amp;diff=13225"/>
				<updated>2009-08-21T14:06:44Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=File:EiffelStudio-3-07-09-II.png&amp;diff=13224</id>
		<title>File:EiffelStudio-3-07-09-II.png</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=File:EiffelStudio-3-07-09-II.png&amp;diff=13224"/>
				<updated>2009-08-21T14:06:27Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13222</id>
		<title>EiffelVision Cocoa</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13222"/>
				<updated>2009-08-21T06:25:33Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: /* Problem */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:EiffelVision2]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
This project was created with the goal of running Eiffel Studio natively on the Mac and succeeds the previous Carbon based EiffelVision implementation.&lt;br /&gt;
&lt;br /&gt;
=Build instructions=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Get the latest EiffelStudio for the Mac. If you have MacPorts installed you can do this by typing&lt;br /&gt;
   &amp;lt;pre&amp;gt;port install eiffelstudio65&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Check out the latest source code from the trunk&lt;br /&gt;
   &amp;lt;pre&amp;gt;svn co https://svn.origo.ethz.ch/eiffelstudio/trunk&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set your EIFFEL_SRC and ISE_LIBRARY to the directory &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   export EIFFEL_SRC=/directory/to/your/checkout/trunk/Src&lt;br /&gt;
   export EIFFEL_SRC=$ISE_LIBRARY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Locate EiffelStudio's config.sh file (probably /Applications/MacPorts/Eiffel65/studio/spec/macosx-x86/include/config.sh) and add the flag -ObjC to the definition of the ccflags, like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   ccflags='-ObjC -pipe -no-cpp-precomp -fno-common -fPIC'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Compile the C-parts of the library&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/objc_base/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/cocoa/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Now open the .ecf file of your project and add the following line to your target:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
alternatively you can add another target which will allow you to easily compile both, a GTK+ and a Cocoa version of your application:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;target name=&amp;quot;cocoa&amp;quot; extends=&amp;quot;classic&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/target&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If you want to compile Eiffel Studio there is already a target called &amp;quot;bench_cocoa&amp;quot; which you can select.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Use ec -experiment (or estudio -experiment) to compile&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
==Problem==&lt;br /&gt;
C compilation yields syntax errors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Compiling C code in C190&lt;br /&gt;
In file included from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:12,&lt;br /&gt;
                 from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,&lt;br /&gt;
                 from ns6299.c:27,&lt;br /&gt;
                 from big_file_C191_c.c:54:&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:124: error: stray '@' in program&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:124: error: syntax error before 'NSString'&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:126: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:127: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:129: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:130: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:132: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:132: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:133: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:133: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:137: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:138: error: syntax error before '*' token&lt;br /&gt;
In file included from /System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:6,&lt;br /&gt;
                 from /System/Library/Frameworks/Foundation.framework/Headers/NSAffineTransform.h:5,&lt;br /&gt;
                 from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:13,&lt;br /&gt;
                 from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,&lt;br /&gt;
                 from ns6299.c:27,&lt;br /&gt;
                 from big_file_C191_c.c:54:&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSZone.h:8: error: stray '@' in program&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Solution==&lt;br /&gt;
Make sure your config.sh was changed to allow compiling Objective-C (see step 4 above). &lt;br /&gt;
==Problem==&lt;br /&gt;
C compilation yields an linker error (symbols not found):&lt;br /&gt;
   Compiling C code in C1&lt;br /&gt;
   Compiling C code in E1&lt;br /&gt;
   Undefined symbols:&lt;br /&gt;
     &amp;quot;_bridge_void_general&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_general$non_lazy_ptr in Cobj160.o&lt;br /&gt;
     &amp;quot;_bridge_void_ptr_ptr&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_ptr_ptr$non_lazy_ptr in Cobj160.o&lt;br /&gt;
   ld: symbol(s) not found&lt;br /&gt;
   collect2: ld returned 1 exit status&lt;br /&gt;
   make: *** [ec] Error 1&lt;br /&gt;
==Solution==&lt;br /&gt;
Make sure you compiled the C-parts of the libraries (see step 5 above).&lt;br /&gt;
&lt;br /&gt;
= Contact =&lt;br /&gt;
&lt;br /&gt;
If you run into any problems or have any other feedback I'll be happy to hear from you.&lt;br /&gt;
&lt;br /&gt;
* [[User:Dfurrer|Dfurrer]]&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13221</id>
		<title>EiffelVision Cocoa</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13221"/>
				<updated>2009-08-21T06:23:12Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:EiffelVision2]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
This project was created with the goal of running Eiffel Studio natively on the Mac and succeeds the previous Carbon based EiffelVision implementation.&lt;br /&gt;
&lt;br /&gt;
=Build instructions=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Get the latest EiffelStudio for the Mac. If you have MacPorts installed you can do this by typing&lt;br /&gt;
   &amp;lt;pre&amp;gt;port install eiffelstudio65&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Check out the latest source code from the trunk&lt;br /&gt;
   &amp;lt;pre&amp;gt;svn co https://svn.origo.ethz.ch/eiffelstudio/trunk&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set your EIFFEL_SRC and ISE_LIBRARY to the directory &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   export EIFFEL_SRC=/directory/to/your/checkout/trunk/Src&lt;br /&gt;
   export EIFFEL_SRC=$ISE_LIBRARY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Locate EiffelStudio's config.sh file (probably /Applications/MacPorts/Eiffel65/studio/spec/macosx-x86/include/config.sh) and add the flag -ObjC to the definition of the ccflags, like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   ccflags='-ObjC -pipe -no-cpp-precomp -fno-common -fPIC'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Compile the C-parts of the library&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/objc_base/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/cocoa/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Now open the .ecf file of your project and add the following line to your target:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
alternatively you can add another target which will allow you to easily compile both, a GTK+ and a Cocoa version of your application:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;target name=&amp;quot;cocoa&amp;quot; extends=&amp;quot;classic&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/target&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If you want to compile Eiffel Studio there is already a target called &amp;quot;bench_cocoa&amp;quot; which you can select.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Use ec -experiment (or estudio -experiment) to compile&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
==Problem==&lt;br /&gt;
C compilation yelds syntax errors&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Compiling C code in C190&lt;br /&gt;
In file included from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:12,&lt;br /&gt;
                 from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,&lt;br /&gt;
                 from ns6299.c:27,&lt;br /&gt;
                 from big_file_C191_c.c:54:&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:124: error: stray '@' in program&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:124: error: syntax error before 'NSString'&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:126: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:127: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:129: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:130: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:132: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:132: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:133: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:133: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:137: error: syntax error before '*' token&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:138: error: syntax error before '*' token&lt;br /&gt;
In file included from /System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:6,&lt;br /&gt;
                 from /System/Library/Frameworks/Foundation.framework/Headers/NSAffineTransform.h:5,&lt;br /&gt;
                 from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:13,&lt;br /&gt;
                 from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,&lt;br /&gt;
                 from ns6299.c:27,&lt;br /&gt;
                 from big_file_C191_c.c:54:&lt;br /&gt;
/System/Library/Frameworks/Foundation.framework/Headers/NSZone.h:8: error: stray '@' in program&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Solution==&lt;br /&gt;
Make sure your config.sh was changed to allow compiling Objective-C (see step 4 above). &lt;br /&gt;
==Problem==&lt;br /&gt;
C compilation yields an linker error (symbols not found):&lt;br /&gt;
   Compiling C code in C1&lt;br /&gt;
   Compiling C code in E1&lt;br /&gt;
   Undefined symbols:&lt;br /&gt;
     &amp;quot;_bridge_void_general&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_general$non_lazy_ptr in Cobj160.o&lt;br /&gt;
     &amp;quot;_bridge_void_ptr_ptr&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_ptr_ptr$non_lazy_ptr in Cobj160.o&lt;br /&gt;
   ld: symbol(s) not found&lt;br /&gt;
   collect2: ld returned 1 exit status&lt;br /&gt;
   make: *** [ec] Error 1&lt;br /&gt;
==Solution==&lt;br /&gt;
Make sure you compiled the C-parts of the libraries (see step 5 above).&lt;br /&gt;
&lt;br /&gt;
= Contact =&lt;br /&gt;
&lt;br /&gt;
If you run into any problems or have any other feedback I'll be happy to hear from you.&lt;br /&gt;
&lt;br /&gt;
* [[User:Dfurrer|Dfurrer]]&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13220</id>
		<title>EiffelVision Cocoa</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13220"/>
				<updated>2009-08-21T06:19:50Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: /* Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:EiffelVision2]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
This project was created with the goal of running Eiffel Studio natively on the Mac and succeeds the previous Carbon based EiffelVision implementation.&lt;br /&gt;
&lt;br /&gt;
=Build instructions=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Get the latest EiffelStudio for the Mac. If you have MacPorts installed you can do this by typing&lt;br /&gt;
   &amp;lt;pre&amp;gt;port install eiffelstudio65&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Check out the latest source code from the trunk&lt;br /&gt;
   &amp;lt;pre&amp;gt;svn co https://svn.origo.ethz.ch/eiffelstudio/trunk&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set your EIFFEL_SRC and ISE_LIBRARY to the directory &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   export EIFFEL_SRC=/directory/to/your/checkout/trunk/Src&lt;br /&gt;
   export EIFFEL_SRC=$ISE_LIBRARY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Locate EiffelStudio's config.sh file (probably /Applications/MacPorts/Eiffel65/studio/spec/macosx-x86/include/config.sh) and add the flag -ObjC to the definition of the ccflags, like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   ccflags='-ObjC -pipe -no-cpp-precomp -fno-common -fPIC'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Compile the C-parts of the library&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/objc_base/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/cocoa/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Now open the .ecf file of your project and add the following line to your target:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
alternatively you can add another target which will allow you to easily compile both, a GTK+ and a Cocoa version of your application:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;target name=&amp;quot;cocoa&amp;quot; extends=&amp;quot;classic&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/target&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If you want to compile Eiffel Studio there is already a target called &amp;quot;bench_cocoa&amp;quot; which you can select.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Use ec -experiment (or estudio -experiment) to compile&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
==Problem==&lt;br /&gt;
   Compiling C code in C1&lt;br /&gt;
   Compiling C code in E1&lt;br /&gt;
   Undefined symbols:&lt;br /&gt;
     &amp;quot;_bridge_void_general&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_general$non_lazy_ptr in Cobj160.o&lt;br /&gt;
     &amp;quot;_bridge_void_ptr_ptr&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_ptr_ptr$non_lazy_ptr in Cobj160.o&lt;br /&gt;
   ld: symbol(s) not found&lt;br /&gt;
   collect2: ld returned 1 exit status&lt;br /&gt;
   make: *** [ec] Error 1&lt;br /&gt;
==Solution==&lt;br /&gt;
Make sure you compiled the C-parts of the libraries (see step 5 above).&lt;br /&gt;
&lt;br /&gt;
= Contact =&lt;br /&gt;
&lt;br /&gt;
If you run into any problems or have any other feedback I'll be happy to hear from you.&lt;br /&gt;
&lt;br /&gt;
* [[User:Dfurrer|Dfurrer]]&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13219</id>
		<title>EiffelVision Cocoa</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13219"/>
				<updated>2009-08-21T06:19:17Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: /* Build instructions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:EiffelVision2]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
This project was created with the goal of running Eiffel Studio natively on the Mac and succeeds the previous Carbon based EiffelVision implementation.&lt;br /&gt;
&lt;br /&gt;
=Build instructions=&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Get the latest EiffelStudio for the Mac. If you have MacPorts installed you can do this by typing&lt;br /&gt;
   &amp;lt;pre&amp;gt;port install eiffelstudio65&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Check out the latest source code from the trunk&lt;br /&gt;
   &amp;lt;pre&amp;gt;svn co https://svn.origo.ethz.ch/eiffelstudio/trunk&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set your EIFFEL_SRC and ISE_LIBRARY to the directory &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   export EIFFEL_SRC=/directory/to/your/checkout/trunk/Src&lt;br /&gt;
   export EIFFEL_SRC=$ISE_LIBRARY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Locate EiffelStudio's config.sh file (probably /Applications/MacPorts/Eiffel65/studio/spec/macosx-x86/include/config.sh) and add the flag -ObjC to the definition of the ccflags, like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   ccflags='-ObjC -pipe -no-cpp-precomp -fno-common -fPIC'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Compile the C-parts of the library&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/objc_base/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/cocoa/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Now open the .ecf file of your project and add the following line to your target:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
alternatively you can add another target which will allow you to easily compile both, a GTK+ and a Cocoa version of your application:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;target name=&amp;quot;cocoa&amp;quot; extends=&amp;quot;classic&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/target&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If you want to compile Eiffel Studio there is already a target called &amp;quot;bench_cocoa&amp;quot; which you can select.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Use ec -experiment (or estudio -experiment) to compile&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
==Problem==&lt;br /&gt;
   Compiling C code in C1&lt;br /&gt;
   Compiling C code in E1&lt;br /&gt;
   Undefined symbols:&lt;br /&gt;
     &amp;quot;_bridge_void_general&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_general$non_lazy_ptr in Cobj160.o&lt;br /&gt;
     &amp;quot;_bridge_void_ptr_ptr&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_ptr_ptr$non_lazy_ptr in Cobj160.o&lt;br /&gt;
   ld: symbol(s) not found&lt;br /&gt;
   collect2: ld returned 1 exit status&lt;br /&gt;
   make: *** [ec] Error 1&lt;br /&gt;
==Solution==&lt;br /&gt;
Make sure you compiled the C-parts of the libraries (see above).&lt;br /&gt;
&lt;br /&gt;
= Contact =&lt;br /&gt;
&lt;br /&gt;
If you run into any problems or have any other feedback I'll be happy to hear from you.&lt;br /&gt;
&lt;br /&gt;
* [[User:Dfurrer|Dfurrer]]&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13218</id>
		<title>EiffelVision Cocoa</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13218"/>
				<updated>2009-08-21T06:15:58Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: /* FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:EiffelVision2]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
This project was created with the goal of running Eiffel Studio natively on the Mac and succeeds the previous Carbon based EiffelVision implementation.&lt;br /&gt;
&lt;br /&gt;
=Build instructions=&lt;br /&gt;
* Get the latest EiffelStudio for the Mac. If you have MacPorts installed you can do this by typing&lt;br /&gt;
   port install eiffelstudio65&lt;br /&gt;
* Check out the latest source code from the trunk&lt;br /&gt;
   svn co https://svn.origo.ethz.ch/eiffelstudio/trunk&lt;br /&gt;
* Set your EIFFEL_SRC and ISE_LIBRARY to the directory &lt;br /&gt;
   export EIFFEL_SRC=/directory/to/your/checkout/trunk/Src&lt;br /&gt;
   export EIFFEL_SRC=$ISE_LIBRARY&lt;br /&gt;
* Locate EiffelStudio's config.sh file (probably /Applications/MacPorts/Eiffel65/studio/spec/macosx-x86/include/config.sh) and add the flag -ObjC to the definition of the ccflags, like this:&lt;br /&gt;
   ccflags='-ObjC -pipe -no-cpp-precomp -fno-common -fPIC'&lt;br /&gt;
* Compile the C-parts of the library&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/objc_base/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/cocoa/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
* Now open the .ecf file of your project and add the following line to your target:&lt;br /&gt;
   &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
alternatively you can add another target which will allow you to easily compile both, a GTK+ and a Cocoa version of your application:&lt;br /&gt;
   &amp;lt;target name=&amp;quot;cocoa&amp;quot; extends=&amp;quot;classic&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/target&amp;gt;&lt;br /&gt;
If you want to compile Eiffel Studio there is already a target called &amp;quot;bench_cocoa&amp;quot; which you can select.&lt;br /&gt;
* Use ec -experiment (or estudio -experiment) to compile&lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
==Problem==&lt;br /&gt;
   Compiling C code in C1&lt;br /&gt;
   Compiling C code in E1&lt;br /&gt;
   Undefined symbols:&lt;br /&gt;
     &amp;quot;_bridge_void_general&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_general$non_lazy_ptr in Cobj160.o&lt;br /&gt;
     &amp;quot;_bridge_void_ptr_ptr&amp;quot;, referenced from:&lt;br /&gt;
         _bridge_void_ptr_ptr$non_lazy_ptr in Cobj160.o&lt;br /&gt;
   ld: symbol(s) not found&lt;br /&gt;
   collect2: ld returned 1 exit status&lt;br /&gt;
   make: *** [ec] Error 1&lt;br /&gt;
==Solution==&lt;br /&gt;
Make sure you compiled the C-parts of the libraries (see above).&lt;br /&gt;
&lt;br /&gt;
= Contact =&lt;br /&gt;
&lt;br /&gt;
If you run into any problems or have any other feedback I'll be happy to hear from you.&lt;br /&gt;
&lt;br /&gt;
* [[User:Dfurrer|Dfurrer]]&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13217</id>
		<title>EiffelVision Cocoa</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13217"/>
				<updated>2009-08-21T06:14:20Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: /* Build instructions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:EiffelVision2]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
This project was created with the goal of running Eiffel Studio natively on the Mac and succeeds the previous Carbon based EiffelVision implementation.&lt;br /&gt;
&lt;br /&gt;
=Build instructions=&lt;br /&gt;
* Get the latest EiffelStudio for the Mac. If you have MacPorts installed you can do this by typing&lt;br /&gt;
   port install eiffelstudio65&lt;br /&gt;
* Check out the latest source code from the trunk&lt;br /&gt;
   svn co https://svn.origo.ethz.ch/eiffelstudio/trunk&lt;br /&gt;
* Set your EIFFEL_SRC and ISE_LIBRARY to the directory &lt;br /&gt;
   export EIFFEL_SRC=/directory/to/your/checkout/trunk/Src&lt;br /&gt;
   export EIFFEL_SRC=$ISE_LIBRARY&lt;br /&gt;
* Locate EiffelStudio's config.sh file (probably /Applications/MacPorts/Eiffel65/studio/spec/macosx-x86/include/config.sh) and add the flag -ObjC to the definition of the ccflags, like this:&lt;br /&gt;
   ccflags='-ObjC -pipe -no-cpp-precomp -fno-common -fPIC'&lt;br /&gt;
* Compile the C-parts of the library&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/objc_base/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
   cd $ISE_LIBRARY/experimental/library/cocoa/Clib&lt;br /&gt;
   finish_freezing -library&lt;br /&gt;
* Now open the .ecf file of your project and add the following line to your target:&lt;br /&gt;
   &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
alternatively you can add another target which will allow you to easily compile both, a GTK+ and a Cocoa version of your application:&lt;br /&gt;
   &amp;lt;target name=&amp;quot;cocoa&amp;quot; extends=&amp;quot;classic&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/target&amp;gt;&lt;br /&gt;
If you want to compile Eiffel Studio there is already a target called &amp;quot;bench_cocoa&amp;quot; which you can select.&lt;br /&gt;
* Use ec -experiment (or estudio -experiment) to compile&lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
&lt;br /&gt;
= Contact =&lt;br /&gt;
&lt;br /&gt;
If you run into any problems or have any other feedback I'll be happy to hear from you.&lt;br /&gt;
&lt;br /&gt;
* [[User:Dfurrer|Dfurrer]]&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13208</id>
		<title>EiffelVision Cocoa</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13208"/>
				<updated>2009-08-20T12:21:22Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:EiffelVision2]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
This project was created with the goal of running Eiffel Studio natively on the Mac and succeeds the previous Carbon based EiffelVision implementation.&lt;br /&gt;
&lt;br /&gt;
=Build instructions=&lt;br /&gt;
* Get the latest EiffelStudio for the Mac. If you have MacPorts installed you can do this by typing&lt;br /&gt;
   port install eiffelstudio65&lt;br /&gt;
* Check out the latest source code from the trunk&lt;br /&gt;
   svn co https://svn.origo.ethz.ch/eiffelstudio/trunk&lt;br /&gt;
* Set your EIFFEL_SRC and ISE_LIBRARY to the directory &lt;br /&gt;
   export EIFFEL_SRC=/directory/to/your/checkout/trunk/Src&lt;br /&gt;
   export EIFFEL_SRC=$ISE_LIBRARY&lt;br /&gt;
* Locate EiffelStudio's config.sh file (probably /Applications/MacPorts/Eiffel65/studio/spec/macosx-x86/include/config.sh) and add the flag -ObjC to the definition of the ccflags, like this:&lt;br /&gt;
   ccflags='-ObjC -pipe -no-cpp-precomp -fno-common -fPIC'&lt;br /&gt;
* Now open the .ecf file of your project and add the following line to your target:&lt;br /&gt;
   &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
alternatively you can add another target which will allow you to easily compile both, a GTK+ and a Cocoa version of your application:&lt;br /&gt;
   &amp;lt;target name=&amp;quot;cocoa&amp;quot; extends=&amp;quot;classic&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/target&amp;gt;&lt;br /&gt;
If you want to compile Eiffel Studio there is already a target called &amp;quot;bench_cocoa&amp;quot; which you can select.&lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
&lt;br /&gt;
= Contact =&lt;br /&gt;
&lt;br /&gt;
If you run into any problems or have any other feedback I'll be happy to hear from you.&lt;br /&gt;
&lt;br /&gt;
* [[User:Dfurrer|Dfurrer]]&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13207</id>
		<title>EiffelVision Cocoa</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13207"/>
				<updated>2009-08-20T12:20:57Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:EiffelVision2]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
This project was created with the goal of running Eiffel Studio natively on the Mac and succeeds the previous Carbon based EiffelVision implementation.&lt;br /&gt;
&lt;br /&gt;
=Build instructions=&lt;br /&gt;
* Get the latest EiffelStudio for the Mac. If you have MacPorts installed you can do this by typing&lt;br /&gt;
   port install eiffelstudio65&lt;br /&gt;
* Check out the latest source code from the trunk&lt;br /&gt;
   svn co https://svn.origo.ethz.ch/eiffelstudio/trunk&lt;br /&gt;
* Set your EIFFEL_SRC and ISE_LIBRARY to the directory &lt;br /&gt;
   export EIFFEL_SRC=/directory/to/your/checkout/trunk/Src&lt;br /&gt;
   export EIFFEL_SRC=$ISE_LIBRARY&lt;br /&gt;
* Locate EiffelStudio's config.sh file (probably /Applications/MacPorts/Eiffel65/studio/spec/macosx-x86/include/config.sh) and add the flag -ObjC to the definition of the ccflags, like this:&lt;br /&gt;
   ccflags='-ObjC -pipe -no-cpp-precomp -fno-common -fPIC'&lt;br /&gt;
* Now open the .ecf file of your project and add the following line to your target:&lt;br /&gt;
   &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
alternatively you can add another target which will allow you to easily compile both, a GTK+ and a Cocoa version of your application:&lt;br /&gt;
   &amp;lt;target name=&amp;quot;cocoa&amp;quot; extends=&amp;quot;classic&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/target&amp;gt;&lt;br /&gt;
If you want to compile Eiffel Studio there is already a target called &amp;quot;bench_cocoa&amp;quot; which you can select.&lt;br /&gt;
&lt;br /&gt;
= Contact =&lt;br /&gt;
&lt;br /&gt;
If you run into any problems or have any other feedback I'll be happy to hear from you.&lt;br /&gt;
&lt;br /&gt;
* [[User:Dfurrer|Dfurrer]]&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13206</id>
		<title>EiffelVision Cocoa</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelVision_Cocoa&amp;diff=13206"/>
				<updated>2009-08-20T12:20:26Z</updated>
		
		<summary type="html">&lt;p&gt;Dfurrer: /* Contact */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:EiffelVision2]]&lt;br /&gt;
[[Category:Macintosh]]&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
This project was created with the goal of running Eiffel Studio natively on the Mac and succeeds the previous Carbon based vision implementation.&lt;br /&gt;
&lt;br /&gt;
=Build instructions=&lt;br /&gt;
* Get the latest EiffelStudio for the Mac. If you have MacPorts installed you can do this by typing&lt;br /&gt;
   port install eiffelstudio65&lt;br /&gt;
* Check out the latest source code from the trunk&lt;br /&gt;
   svn co https://svn.origo.ethz.ch/eiffelstudio/trunk&lt;br /&gt;
* Set your EIFFEL_SRC and ISE_LIBRARY to the directory &lt;br /&gt;
   export EIFFEL_SRC=/directory/to/your/checkout/trunk/Src&lt;br /&gt;
   export EIFFEL_SRC=$ISE_LIBRARY&lt;br /&gt;
* Locate EiffelStudio's config.sh file (probably /Applications/MacPorts/Eiffel65/studio/spec/macosx-x86/include/config.sh) and add the flag -ObjC to the definition of the ccflags, like this:&lt;br /&gt;
   ccflags='-ObjC -pipe -no-cpp-precomp -fno-common -fPIC'&lt;br /&gt;
* Now open the .ecf file of your project and add the following line to your target:&lt;br /&gt;
   &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
alternatively you can add another target which will allow you to easily compile both, a GTK+ and a Cocoa version of your application:&lt;br /&gt;
   &amp;lt;target name=&amp;quot;cocoa&amp;quot; extends=&amp;quot;classic&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;variable name=&amp;quot;vision_implementation&amp;quot; value=&amp;quot;cocoa&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/target&amp;gt;&lt;br /&gt;
If you want to compile Eiffel Studio there is already a target called &amp;quot;bench_cocoa&amp;quot; which you can select.&lt;br /&gt;
&lt;br /&gt;
= Contact =&lt;br /&gt;
&lt;br /&gt;
If you run into any problems or have any other feedback I'll be happy to hear from you.&lt;br /&gt;
&lt;br /&gt;
* [[User:Dfurrer|Dfurrer]]&lt;/div&gt;</summary>
		<author><name>Dfurrer</name></author>	</entry>

	</feed>