<?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=DavidFlatz</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=DavidFlatz"/>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/Special:Contributions/DavidFlatz"/>
		<updated>2026-05-23T18:59:04Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.24.1</generator>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=User:DavidFlatz&amp;diff=2541</id>
		<title>User:DavidFlatz</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=User:DavidFlatz&amp;diff=2541"/>
				<updated>2006-05-02T23:50:13Z</updated>
		
		<summary type="html">&lt;p&gt;DavidFlatz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://img54.imageshack.us/img54/5623/eiffel5710011kk.png&lt;br /&gt;
&lt;br /&gt;
yay \o/&lt;br /&gt;
&lt;br /&gt;
== My little Linux Eiffel Compiling Log ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# I assume that you have the binary version of Eiffel 5.7 &lt;br /&gt;
# installed and that it's working. (ISE_EIFFEL, ISE_PLATFORM and&lt;br /&gt;
# PATH set)&lt;br /&gt;
&lt;br /&gt;
# get the sources&lt;br /&gt;
&lt;br /&gt;
svn co https://eiffelsoftware.origo.ethz.ch/svn/es/trunk eiffelsvn&lt;br /&gt;
export EIFFEL_SVN=`pwd`/eiffelsvn&lt;br /&gt;
&lt;br /&gt;
# get the automatic build script build-studio&lt;br /&gt;
&lt;br /&gt;
wget http://se.inf.ethz.ch/people/schoeller/download/build-studio&lt;br /&gt;
chmod +x build-studio&lt;br /&gt;
&lt;br /&gt;
# roll your first eiffel compiler&lt;br /&gt;
&lt;br /&gt;
./build-studio&lt;br /&gt;
&lt;br /&gt;
# go to sleep and don't touch your computer (your memory's gonna get flushed &lt;br /&gt;
# make sure you have enough swap or the kernel will kill ec)&lt;br /&gt;
&lt;br /&gt;
# build the first delivery&lt;br /&gt;
&lt;br /&gt;
mkdir eiffel01&lt;br /&gt;
export EIFFEL01=`pwd`/eiffel01&lt;br /&gt;
cp -r $EIFFEL_SVN/Delivery/studio $EIFFEL_SVN/Delivery/eifinit $EIFFEL01&lt;br /&gt;
mkdir $EIFFEL01/studio/spec/$ISE_PLATFORM&lt;br /&gt;
mkdir $EIFFEL01/studio/spec/$ISE_PLATFORM/bin&lt;br /&gt;
mkdir $EIFFEL01/studio/spec/$ISE_PLATFORM/include&lt;br /&gt;
mkdir $EIFFEL01/studio/spec/$ISE_PLATFORM/lib&lt;br /&gt;
mkdir $EIFFEL01/studio/help/defaults/$ISE_PLATFORM&lt;br /&gt;
mkdir $EIFFEL01/studio/config/$ISE_PLATFORM&lt;br /&gt;
cp $EIFFEL01/studio/spec/unix/*       $EIFFEL01/studio/spec/$ISE_PLATFORM/bin&lt;br /&gt;
cp $EIFFEL01/studio/config/unix/*     $EIFFEL01/studio/config/$ISE_PLATFORM&lt;br /&gt;
cp $EIFFEL_SVN/Src/C/run-time/*.h     $EIFFEL01/studio/spec/$ISE_PLATFORM/include&lt;br /&gt;
cp $EIFFEL_SVN/Src/C/config.sh        $EIFFEL01/studio/spec/$ISE_PLATFORM/include&lt;br /&gt;
cp $EIFFEL_SVN/Src/C/run-time/lib*    $EIFFEL01/studio/spec/$ISE_PLATFORM/lib&lt;br /&gt;
cp $EIFFEL_SVN/Src/C/run-time/x2c     $EIFFEL01/studio/spec/$ISE_PLATFORM/bin&lt;br /&gt;
cp $EIFFEL_SVN/Src/ipc/daemon/estudio $EIFFEL01/studio/spec/$ISE_PLATFORM/bin&lt;br /&gt;
cp build/es                           $EIFFEL01/studio/spec/$ISE_PLATFORM/bin&lt;br /&gt;
&lt;br /&gt;
# now we have a kind of working delivery&lt;br /&gt;
&lt;br /&gt;
export ISE_EIFFEL=$EIFFEL01&lt;br /&gt;
export ISE_LIBRARY=$EIFFEL_SVN/Src&lt;br /&gt;
export PATH=$EIFFEL01/studio/spec/$ISE_PLATFORM/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
# say hello to your newly compiled&lt;br /&gt;
estudio&lt;br /&gt;
&lt;br /&gt;
# now we want to compile the eiffel compiler natively .. we have to patch the &lt;br /&gt;
# build-studio script&lt;br /&gt;
&lt;br /&gt;
cp build-studio build-studio.new&lt;br /&gt;
&lt;br /&gt;
patch -p1 &amp;lt;&amp;lt; EOT&lt;br /&gt;
diff -Naur a/build-studio.new b/build-studio.new&lt;br /&gt;
--- a/build-studio.new  2006-05-02 19:44:12.000000000 +0200&lt;br /&gt;
+++ b/build-studio.new  2006-05-02 19:44:18.000000000 +0200&lt;br /&gt;
@@ -129,6 +129,7 @@&lt;br /&gt;
 cd $BUILD_DIR&lt;br /&gt;
 cp &amp;quot;$EIFFEL_SRC/Eiffel/Ace/batch.unix.ace&amp;quot; batch.ace&lt;br /&gt;
 cp &amp;quot;$EIFFEL_SRC/Eiffel/Ace/newbench.linux.ace&amp;quot; ide.ace&lt;br /&gt;
+cp &amp;quot;$EIFFEL_SRC/Eiffel/Ace/ec.acex&amp;quot; ec.acex&lt;br /&gt;
 # sed -i 's+Eiffel/common+common+g' batch.ace&lt;br /&gt;
 # sed -i 's+Eiffel/common+common+g' ide.ace&lt;br /&gt;
 echo &amp;quot;done.&amp;quot;&lt;br /&gt;
@@ -137,7 +138,8 @@&lt;br /&gt;
 then&lt;br /&gt;
     echo -n &amp;quot;Compiling batch ... &amp;quot;&lt;br /&gt;
     cd $BUILD_DIR&lt;br /&gt;
-    ec -stop -ace batch.ace -finalize &amp;gt; $ROOT_DIR/compile_batch.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
+    #ec -stop -ace batch.ace -finalize &amp;gt; $ROOT_DIR/compile_batch.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
+    ec -stop -config ec.acex -target batch -finalize &amp;gt; $ROOT_DIR/compile_batch.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
     echo &amp;quot;done.&amp;quot;&lt;br /&gt;
     if [ $? != 0 ]&lt;br /&gt;
        then&lt;br /&gt;
@@ -147,7 +149,8 @@&lt;br /&gt;
     fi&lt;br /&gt;
         &lt;br /&gt;
     echo -n &amp;quot;Patching the Makefile.SH ... &amp;quot;&lt;br /&gt;
-    cd $BUILD_DIR/EIFGEN/F_code&lt;br /&gt;
+    cd $BUILD_DIR/EIFGENs/batch/F_code&lt;br /&gt;
+    #cd $BUILD_DIR/EIFGEN/F_code&lt;br /&gt;
     sed -i 's/libmtcompiler.a/libmtwcompiler.a/g' Makefile.SH&lt;br /&gt;
     sed -i 's/\$(EXTERNALS) \$(EIFLIB)/\$\(EIFLIB\) \$\(EXTERNALS\)/g' \&lt;br /&gt;
        Makefile.SH&lt;br /&gt;
@@ -167,7 +170,8 @@&lt;br /&gt;
     echo -n &amp;quot;Compiling the IDE ... &amp;quot;&lt;br /&gt;
     cd $BUILD_DIR&lt;br /&gt;
     rm -rf EIFGEN *.epr&lt;br /&gt;
-    ec -stop -ace ide.ace -finalize &amp;gt; $ROOT_DIR/compile_ide.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
+    #ec -stop -ace ide.ace -finalize &amp;gt; $ROOT_DIR/compile_ide.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
+    ec -stop -config ec.acex -target bench -finalize &amp;gt; $ROOT_DIR/compile_ide.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
     echo &amp;quot;done.&amp;quot;&lt;br /&gt;
     if [ $? != 0 ]&lt;br /&gt;
        then&lt;br /&gt;
@@ -176,8 +180,9 @@&lt;br /&gt;
        exit 1&lt;br /&gt;
     fi&lt;br /&gt;
     &lt;br /&gt;
-    echo -n &amp;quot;Patching the Makefile ... &amp;quot;&lt;br /&gt;
-    cd $BUILD_DIR/EIFGEN/F_code&lt;br /&gt;
+    #echo -n &amp;quot;Patching the Makefile ... &amp;quot;&lt;br /&gt;
+    cd $BUILD_DIR/EIFGENs/bench/F_code&lt;br /&gt;
+    # cd $BUILD_DIR/EIFGEN/F_code&lt;br /&gt;
 #    sed -i 's/libmtcompiler.a/libmtwcompiler.a/g' Makefile.SH&lt;br /&gt;
 #    sed -i 's/\$(EXTERNALS) \$(EIFLIB)/\$\(EIFLIB\) \$\(EXTERNALS\)/g' \&lt;br /&gt;
 #      Makefile.SH&lt;br /&gt;
EOT&lt;br /&gt;
&lt;br /&gt;
mv build build.old&lt;br /&gt;
&lt;br /&gt;
chmod +x build-studio.new&lt;br /&gt;
./build-studio.new&lt;br /&gt;
&lt;br /&gt;
# zzzz.. huh? ..woah! my first natively compiled ec!&lt;br /&gt;
&lt;br /&gt;
cksfv build/ec $EIFFEL01/studio/spec/$ISE_PLATFORM/bin/ec&lt;br /&gt;
&lt;br /&gt;
# build/ec                                    6E297D24&lt;br /&gt;
# $EIFFEL01/studio/spec/$ISE_PLATFORM/bin/ec  97994877&lt;br /&gt;
#&lt;br /&gt;
# hrm.. next turn:&lt;br /&gt;
&lt;br /&gt;
mv $EIFFEL01/studio/spec/$ISE_PLATFORM/bin/ec $EIFFEL01/studio/spec/$ISE_PLATFORM/bin/ec.old&lt;br /&gt;
cp build/ec $EIFFEL01/studio/spec/$ISE_PLATFORM/bin/&lt;br /&gt;
mv build build.old2&lt;br /&gt;
&lt;br /&gt;
./build-studio.new&lt;br /&gt;
&lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>DavidFlatz</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Bootstrapping&amp;diff=2528</id>
		<title>Bootstrapping</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Bootstrapping&amp;diff=2528"/>
				<updated>2006-05-02T20:29:28Z</updated>
		
		<summary type="html">&lt;p&gt;DavidFlatz: studio/config needs to be copied to $ISE_PLATFORM too&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Compiler]]&lt;br /&gt;
==Definition==&lt;br /&gt;
Check out the definition from wikipedia http://en.wikipedia.org/wiki/Bootstrapping to know more about bootstrapping.&lt;br /&gt;
&lt;br /&gt;
==Why bootstrapping?==&lt;br /&gt;
The general idea is that when you do a change in the code generation (often for improving the speed) you want to get a compiler that has been compiled with the new code generation to benefit from the changes.&lt;br /&gt;
&lt;br /&gt;
==When not bootstrapping==&lt;br /&gt;
Although you can always do a bootstrap, there are cases when it is actually not required. For example when:&lt;br /&gt;
* Changing an header file which will impact the C generated code in  a non-intrusive way, but still requires a new runtime. In that case, no bootstrap is necessary, it suffices to copy the new header and runtime to the current delivery.&lt;br /&gt;
* Changing a kernel library class which does not involve a special compiler knowledge (e.g. fixing a routine of STRING).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Bootstrapping the compiler==&lt;br /&gt;
===Initial compiler===&lt;br /&gt;
To start the bootstrap process you have to start from a working compiler, this is usually one of the released version. Let's call this compiler ''original ec'' and its delivery ''original_delivery''.&lt;br /&gt;
&lt;br /&gt;
===First step===&lt;br /&gt;
Using ''original ec'' and the configuration file finalize a new ec, this version is called ''ec_level1''. This version is compiled with the header files and run-time of the ''original delivery''.&lt;br /&gt;
&lt;br /&gt;
===Second step===&lt;br /&gt;
Compile a new run-time and copy the headers to a new delivery ''level1 delivery'', as well as the new ''ec_level1'' executable. Now repeat the first step, you now get a version called ''ec_level2''. This version is obviously compiled with the header files and run-time of the ''level11 delivery''.&lt;br /&gt;
&lt;br /&gt;
===Final step===&lt;br /&gt;
Using the same ''level1 delivery'', but this time using the ''ec_level2'' executable, repeat the first step, you now get a version called ''ec_level3''. This version is also called the bootstrapped version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===How do we find if it really worked?===&lt;br /&gt;
If everything went well, the generated code for ''ec_level2'' and ''ec_level3'' should be identical.&lt;br /&gt;
&lt;br /&gt;
{{Note|By generated code we meant the C code because although the binaries should be exactly identical in size, they usually are not identical because most binary formats store a date in the binary and since they have not been compiled at the exact same time we cannot compare them.}}&lt;br /&gt;
&lt;br /&gt;
If they are not identical, then something is not right in the new code generation or in the run-time/header files, and the bootstrap process needs to be restarted from the ''original ec'' and the ''orginal delivery''.&lt;br /&gt;
&lt;br /&gt;
Of course you restart the bootstrap process after find the cause of the error and fixing it.&lt;br /&gt;
&lt;br /&gt;
==Building a delivery==&lt;br /&gt;
The above steps talk about building deliveries. Below are the instructions on how to build a minimal delivery in a directory called EiffelXX. The following commands will only work if executed under bash.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export SVNURL=https://eiffelsoftware.origo.ethz.ch/svn/es/trunk&lt;br /&gt;
mkdir EiffelXX&lt;br /&gt;
export $NEW_ISE_EIFFEL=`pwd`/EiffelXX&lt;br /&gt;
cd EiffelXX&lt;br /&gt;
svn co $SVNURL/Delivery/studio&lt;br /&gt;
svn co $SVNURL/Delivery/eifinit&lt;br /&gt;
&lt;br /&gt;
cd studio/config&lt;br /&gt;
mkdir $ISE_PLATFORM&lt;br /&gt;
&lt;br /&gt;
cp unix/* $ISE_PLATFORM&lt;br /&gt;
cd ..&lt;br /&gt;
&lt;br /&gt;
cd studio/spec&lt;br /&gt;
mkdir $ISE_PLATFORM&lt;br /&gt;
mkdir $ISE_PLATFORM/bin&lt;br /&gt;
mkdir $ISE_PLATFORM/include&lt;br /&gt;
mkdir $ISE_PLATFORM/lib&lt;br /&gt;
&lt;br /&gt;
cp unix/* $ISE_PLATFORM/bin&lt;br /&gt;
rm -rf unix&lt;br /&gt;
&lt;br /&gt;
cd $EIFFEL_SRC/C/run-time&lt;br /&gt;
cp *.h $NEW_ISE_EIFFEL/studio/spec/$ISE_PLATFORM/include&lt;br /&gt;
cp ../config.sh $NEW_ISE_EIFFEL/studio/spec/$ISE_PLATFORM/include&lt;br /&gt;
cp lib* $NEW_ISE_EIFFEL/studio/spec/$ISE_PLATFORM/lib&lt;br /&gt;
cp x2c $NEW_ISE_EIFFEL/studio/spec/$ISE_PLATFORM/bin&lt;br /&gt;
cd ..&lt;br /&gt;
cp ipc/daemon/estudio $NEW_ISE_EIFFEL/studio/spec/$ISE_PLATFORM/bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>DavidFlatz</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=User:DavidFlatz&amp;diff=2515</id>
		<title>User:DavidFlatz</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=User:DavidFlatz&amp;diff=2515"/>
				<updated>2006-05-02T18:51:36Z</updated>
		
		<summary type="html">&lt;p&gt;DavidFlatz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://img54.imageshack.us/img54/5623/eiffel5710011kk.png&lt;br /&gt;
&lt;br /&gt;
yay \o/&lt;br /&gt;
&lt;br /&gt;
== My little Linux Eiffel Compiling Log ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# I assume that you have the binary version of Eiffel 5.7 &lt;br /&gt;
# installed and that it's working. (ISE_EIFFEL, ISE_PLATFORM and&lt;br /&gt;
# PATH set)&lt;br /&gt;
&lt;br /&gt;
# get the sources&lt;br /&gt;
&lt;br /&gt;
svn co https://eiffelsoftware.origo.ethz.ch/svn/es/trunk eiffelsvn&lt;br /&gt;
export EIFFEL_SVN=`pwd`/eiffelsvn&lt;br /&gt;
&lt;br /&gt;
# get the automatic build script build-studio&lt;br /&gt;
&lt;br /&gt;
wget http://se.inf.ethz.ch/people/schoeller/download/build-studio&lt;br /&gt;
chmod +x build-studio&lt;br /&gt;
&lt;br /&gt;
# roll your first eiffel compiler&lt;br /&gt;
&lt;br /&gt;
./build-studio&lt;br /&gt;
&lt;br /&gt;
# go to sleep and don't touch your computer (your memory's gonna get flushed &lt;br /&gt;
# make sure you have enough swap or the kernel will kill ec)&lt;br /&gt;
&lt;br /&gt;
# build the first delivery&lt;br /&gt;
&lt;br /&gt;
mkdir eiffel01&lt;br /&gt;
export EIFFEL01=`pwd`/eiffel01&lt;br /&gt;
cp -r $EIFFEL_SVN/Delivery/studio $EIFFEL_SVN/Delivery/eifinit $EIFFEL01&lt;br /&gt;
mkdir $EIFFEL01/studio/spec/$ISE_PLATFORM&lt;br /&gt;
mkdir $EIFFEL01/studio/spec/$ISE_PLATFORM/bin&lt;br /&gt;
mkdir $EIFFEL01/studio/spec/$ISE_PLATFORM/include&lt;br /&gt;
mkdir $EIFFEL01/studio/spec/$ISE_PLATFORM/lib&lt;br /&gt;
mkdir $EIFFEL01/studio/help/defaults/$ISE_PLATFORM&lt;br /&gt;
mkdir $EIFFEL01/studio/config/$ISE_PLATFORM&lt;br /&gt;
cp $EIFFEL01/studio/spec/unix/*       $EIFFEL01/studio/spec/$ISE_PLATFORM/bin&lt;br /&gt;
cp $EIFFEL01/studio/config/unix/*     $EIFFEL01/studio/config/$ISE_PLATFORM&lt;br /&gt;
cp $EIFFEL_SVN/Src/C/run-time/*.h     $EIFFEL01/studio/spec/$ISE_PLATFORM/include&lt;br /&gt;
cp $EIFFEL_SVN/Src/C/config.sh        $EIFFEL01/studio/spec/$ISE_PLATFORM/include&lt;br /&gt;
cp $EIFFEL_SVN/Src/C/run-time/lib*    $EIFFEL01/studio/spec/$ISE_PLATFORM/lib&lt;br /&gt;
cp $EIFFEL_SVN/Src/C/run-time/x2c     $EIFFEL01/studio/spec/$ISE_PLATFORM/bin&lt;br /&gt;
cp $EIFFEL_SVN/Src/ipc/daemon/estudio $EIFFEL01/studio/spec/$ISE_PLATFORM/bin&lt;br /&gt;
cp build/es                           $EIFFEL01/studio/spec/$ISE_PLATFORM/bin&lt;br /&gt;
&lt;br /&gt;
# now we have a kind of working delivery&lt;br /&gt;
&lt;br /&gt;
export ISE_EIFFEL=$EIFFEL01&lt;br /&gt;
export ISE_LIBRARY=$EIFFEL_SVN/Src&lt;br /&gt;
export PATH=$EIFFEL01/studio/spec/$ISE_PLATFORM/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
# say hello to your newly compiled&lt;br /&gt;
estudio&lt;br /&gt;
&lt;br /&gt;
# now we want to compile the eiffel compiler natively .. we have to patch the &lt;br /&gt;
# build-studio script&lt;br /&gt;
&lt;br /&gt;
cp build-studio build-studio.new&lt;br /&gt;
&lt;br /&gt;
patch -p1 &amp;lt;&amp;lt; EOT&lt;br /&gt;
diff -Naur a/build-studio.new b/build-studio.new&lt;br /&gt;
--- a/build-studio.new  2006-05-02 19:44:12.000000000 +0200&lt;br /&gt;
+++ b/build-studio.new  2006-05-02 19:44:18.000000000 +0200&lt;br /&gt;
@@ -129,6 +129,7 @@&lt;br /&gt;
 cd $BUILD_DIR&lt;br /&gt;
 cp &amp;quot;$EIFFEL_SRC/Eiffel/Ace/batch.unix.ace&amp;quot; batch.ace&lt;br /&gt;
 cp &amp;quot;$EIFFEL_SRC/Eiffel/Ace/newbench.linux.ace&amp;quot; ide.ace&lt;br /&gt;
+cp &amp;quot;$EIFFEL_SRC/Eiffel/Ace/ec.acex&amp;quot; ec.acex&lt;br /&gt;
 # sed -i 's+Eiffel/common+common+g' batch.ace&lt;br /&gt;
 # sed -i 's+Eiffel/common+common+g' ide.ace&lt;br /&gt;
 echo &amp;quot;done.&amp;quot;&lt;br /&gt;
@@ -137,7 +138,8 @@&lt;br /&gt;
 then&lt;br /&gt;
     echo -n &amp;quot;Compiling batch ... &amp;quot;&lt;br /&gt;
     cd $BUILD_DIR&lt;br /&gt;
-    ec -stop -ace batch.ace -finalize &amp;gt; $ROOT_DIR/compile_batch.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
+    #ec -stop -ace batch.ace -finalize &amp;gt; $ROOT_DIR/compile_batch.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
+    ec -stop -config ec.acex -target batch -finalize &amp;gt; $ROOT_DIR/compile_batch.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
     echo &amp;quot;done.&amp;quot;&lt;br /&gt;
     if [ $? != 0 ]&lt;br /&gt;
        then&lt;br /&gt;
@@ -147,7 +149,8 @@&lt;br /&gt;
     fi&lt;br /&gt;
         &lt;br /&gt;
     echo -n &amp;quot;Patching the Makefile.SH ... &amp;quot;&lt;br /&gt;
-    cd $BUILD_DIR/EIFGEN/F_code&lt;br /&gt;
+    cd $BUILD_DIR/EIFGENs/batch/F_code&lt;br /&gt;
+    #cd $BUILD_DIR/EIFGEN/F_code&lt;br /&gt;
     sed -i 's/libmtcompiler.a/libmtwcompiler.a/g' Makefile.SH&lt;br /&gt;
     sed -i 's/\$(EXTERNALS) \$(EIFLIB)/\$\(EIFLIB\) \$\(EXTERNALS\)/g' \&lt;br /&gt;
        Makefile.SH&lt;br /&gt;
@@ -167,7 +170,8 @@&lt;br /&gt;
     echo -n &amp;quot;Compiling the IDE ... &amp;quot;&lt;br /&gt;
     cd $BUILD_DIR&lt;br /&gt;
     rm -rf EIFGEN *.epr&lt;br /&gt;
-    ec -stop -ace ide.ace -finalize &amp;gt; $ROOT_DIR/compile_ide.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
+    #ec -stop -ace ide.ace -finalize &amp;gt; $ROOT_DIR/compile_ide.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
+    ec -stop -config ec.acex -target bench -finalize &amp;gt; $ROOT_DIR/compile_ide.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
     echo &amp;quot;done.&amp;quot;&lt;br /&gt;
     if [ $? != 0 ]&lt;br /&gt;
        then&lt;br /&gt;
@@ -176,8 +180,9 @@&lt;br /&gt;
        exit 1&lt;br /&gt;
     fi&lt;br /&gt;
     &lt;br /&gt;
-    echo -n &amp;quot;Patching the Makefile ... &amp;quot;&lt;br /&gt;
-    cd $BUILD_DIR/EIFGEN/F_code&lt;br /&gt;
+    #echo -n &amp;quot;Patching the Makefile ... &amp;quot;&lt;br /&gt;
+    cd $BUILD_DIR/EIFGENs/bench/F_code&lt;br /&gt;
+    # cd $BUILD_DIR/EIFGEN/F_code&lt;br /&gt;
 #    sed -i 's/libmtcompiler.a/libmtwcompiler.a/g' Makefile.SH&lt;br /&gt;
 #    sed -i 's/\$(EXTERNALS) \$(EIFLIB)/\$\(EIFLIB\) \$\(EXTERNALS\)/g' \&lt;br /&gt;
 #      Makefile.SH&lt;br /&gt;
EOT&lt;br /&gt;
&lt;br /&gt;
mv build build.old&lt;br /&gt;
&lt;br /&gt;
chmod +x build-studio.new&lt;br /&gt;
./build-studio.new&lt;br /&gt;
&lt;br /&gt;
# THAT'S WHERE I AM RIGHT NOW!!!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>DavidFlatz</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Talk:How_to_contribute&amp;diff=2487</id>
		<title>Talk:How to contribute</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Talk:How_to_contribute&amp;diff=2487"/>
				<updated>2006-05-02T14:14:12Z</updated>
		
		<summary type="html">&lt;p&gt;DavidFlatz: Bug Tracking?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bug Tracking? ==&lt;br /&gt;
&lt;br /&gt;
What about setting up a bug tracking system like [http://www.bugzilla.org Bugzilla]? Even small open-source projects need a sort of ticketing system to organize bugs and enhancements.&lt;br /&gt;
&lt;br /&gt;
[[User:DavidFlatz|DavidFlatz]] 16:14, 2 May 2006 (CEST)&lt;/div&gt;</summary>
		<author><name>DavidFlatz</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=User:DavidFlatz&amp;diff=2486</id>
		<title>User:DavidFlatz</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=User:DavidFlatz&amp;diff=2486"/>
				<updated>2006-05-02T14:05:10Z</updated>
		
		<summary type="html">&lt;p&gt;DavidFlatz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://img54.imageshack.us/img54/5623/eiffel5710011kk.png&lt;br /&gt;
&lt;br /&gt;
yay \o/&lt;/div&gt;</summary>
		<author><name>DavidFlatz</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Talk:Compiling_EiffelStudio&amp;diff=2483</id>
		<title>Talk:Compiling EiffelStudio</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Talk:Compiling_EiffelStudio&amp;diff=2483"/>
				<updated>2006-05-02T11:07:16Z</updated>
		
		<summary type="html">&lt;p&gt;DavidFlatz: Eiffel Delivery&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;i installed everything acording to the howto here in the wiki&lt;br /&gt;
&lt;br /&gt;
i have win2000 on my machine&lt;br /&gt;
installed the 3 .net products acording to the win32 c compiler installation page&lt;br /&gt;
installed eiffel studio 57&lt;br /&gt;
got everthyng from the svn&lt;br /&gt;
compiled the libraries&lt;br /&gt;
&lt;br /&gt;
when compiling the eiffel studio the following error occurs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   big_file_C1_c.c&lt;br /&gt;
   1 Datei(en) kopiert.&lt;br /&gt;
   emain.c&lt;br /&gt;
   1 Datei(en) kopiert.&lt;br /&gt;
   /usr/bin/link: invalid option -- S&lt;br /&gt;
   Try `/usr/bin/link --help' for more information.&lt;br /&gt;
   NMAKE : fatal error U1077: 'D:\Programme\cygwin\bin\link.EXE' : return code '0x1'&lt;br /&gt;
   Stop.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
the same error occurs when i try to compiel a eiffel project from the downloaded eiffel studio...&lt;br /&gt;
any ideas help ??&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[[User:Patrickr|Patrickr]] 21:21, 13 April 2006 (CEST)'''&lt;br /&gt;
&lt;br /&gt;
There seems to be a problem with the paths and the wrong link command is used. Try to change the order of the paths so that the linker from the microsoft compiler is found before the linker in the cygwin environment.&lt;br /&gt;
&lt;br /&gt;
== try 2 ==&lt;br /&gt;
&lt;br /&gt;
thx for the fast response&lt;br /&gt;
ok, i changed my path and put cygwin at the end:&lt;br /&gt;
&lt;br /&gt;
next error:&lt;br /&gt;
&lt;br /&gt;
   big_file_C1_c.c&lt;br /&gt;
   1 Datei(en) kopiert.&lt;br /&gt;
   emain.c&lt;br /&gt;
   1 Datei(en) kopiert.&lt;br /&gt;
   Microsoft (R) Incremental Linker Version 8.00.50727.42&lt;br /&gt;
   Copyright (C) Microsoft Corporation.  All rights reserved.&lt;br /&gt;
   &lt;br /&gt;
   -STACK:5000000 -NODEFAULTLIB:libc -STACK:5000000 -NODEFAULTLIB:libc -SUBSYSTEM:C&lt;br /&gt;
   ONSOLE -OUT:ec.exe&lt;br /&gt;
   e1\emain.obj&lt;br /&gt;
   D:\PROGRA~1\EIFFEL~1\studio\spec\windows\lib\msc\mtwkbench.lib&lt;br /&gt;
   E:\Files\'ETH~1\SASS06~1\57dev\C\bench\mtcompiler.lib&lt;br /&gt;
   E:\Files\'ETH~1\SASS06~1\57dev\C\platform\platform.lib&lt;br /&gt;
   E:\Files\'ETH~1\SASS06~1\57dev\Eiffel\library\cli_writer\spec\msc\lib\cli_writer.lib&lt;br /&gt;
   USER32.lib WSOCK32.lib ADVAPI32.lib GDI32.lib SHELL32.lib COMDLG32.lib UUID.lib&lt;br /&gt;
   OLE32.lib OLEAUT32.lib COMCTL32.lib MPR.LIB&lt;br /&gt;
   ec.res&lt;br /&gt;
   C79\Cobj79.lib C78\Cobj78.lib C77\Cobj77.lib C76\Cobj76.lib C75\Cobj75.lib&lt;br /&gt;
   C74\Cobj74.lib C73\Cobj73.lib C72\Cobj72.lib C71\Cobj71.lib C70\Cobj70.lib&lt;br /&gt;
   C69\Cobj69.lib C68\Cobj68.lib C67\Cobj67.lib C66\Cobj66.lib C65\Cobj65.lib&lt;br /&gt;
   C64\Cobj64.lib C63\Cobj63.lib C62\Cobj62.lib C61\Cobj61.lib C60\Cobj60.lib&lt;br /&gt;
   C59\Cobj59.lib C58\Cobj58.lib C57\Cobj57.lib C56\Cobj56.lib C55\Cobj55.lib&lt;br /&gt;
   C54\Cobj54.lib C53\Cobj53.lib C52\Cobj52.lib C51\Cobj51.lib C50\Cobj50.lib&lt;br /&gt;
   C49\Cobj49.lib C48\Cobj48.lib C47\Cobj47.lib C46\Cobj46.lib C45\Cobj45.lib&lt;br /&gt;
   C44\Cobj44.lib C43\Cobj43.lib C42\Cobj42.lib C41\Cobj41.lib C40\Cobj40.lib&lt;br /&gt;
   C39\Cobj39.lib C38\Cobj38.lib C37\Cobj37.lib C36\Cobj36.lib C35\Cobj35.lib&lt;br /&gt;
   C34\Cobj34.lib C33\Cobj33.lib C32\Cobj32.lib C31\Cobj31.lib C30\Cobj30.lib&lt;br /&gt;
   C29\Cobj29.lib C28\Cobj28.lib C27\Cobj27.lib C26\Cobj26.lib C25\Cobj25.lib&lt;br /&gt;
   C24\Cobj24.lib C23\Cobj23.lib C22\Cobj22.lib C21\Cobj21.lib C20\Cobj20.lib&lt;br /&gt;
   C19\Cobj19.lib C18\Cobj18.lib C17\Cobj17.lib C16\Cobj16.lib C15\Cobj15.lib&lt;br /&gt;
   C14\Cobj14.lib C13\Cobj13.lib C12\Cobj12.lib C11\Cobj11.lib C10\Cobj10.lib&lt;br /&gt;
   C9\Cobj9.lib C8\Cobj8.lib C7\Cobj7.lib C6\Cobj6.lib C5\Cobj5.lib&lt;br /&gt;
   C4\Cobj4.lib C3\Cobj3.lib C2\Cobj2.lib C1\Cobj1.lib E1\Eobj1.lib&lt;br /&gt;
   LINK : fatal error LNK1181: cannot open input file'&lt;br /&gt;
   E:\Files\'ETH~1\SASS06~1\57dev\C\bench\mtcompiler.lib'&lt;br /&gt;
   NMAKE : fatal error U1077: '&amp;quot;C:\Programme\Microsoft Visual Studio 8\VC\bin\link.EXE&amp;quot;' : return code '0x49d'&lt;br /&gt;
   Stop.&lt;br /&gt;
&lt;br /&gt;
sorry wont be able to compile again until after eastern&lt;br /&gt;
&lt;br /&gt;
'''[[User:Manus|Manus]] 22:00, 13 April 2006 (PST)'''&lt;br /&gt;
&lt;br /&gt;
Looks like the runtime was not compiled. See the instructions at [[Compiling_EiffelStudio|Compiling EiffelStudio]].&lt;br /&gt;
&lt;br /&gt;
'''[[User:FoB|FoB]] 11:23, 18 April 2006 (CEST)'''&lt;br /&gt;
&lt;br /&gt;
when i compile the runtime i get 10 errors &amp;quot;path not found&amp;quot; it looks like the following line is guilty of producing this error&lt;br /&gt;
   &amp;quot;%MSVCDir%\bin\nmake&amp;quot; %1&lt;br /&gt;
&lt;br /&gt;
i added the following line to the file configure.bat (i tried both nmake i have on my computer)&lt;br /&gt;
   set MSVCDir=D:\Programme\psdk;C:\Programme\Microsoft Visual Studio 8\VC\bin&lt;br /&gt;
   set MSVCDir=D:\Programme\Microsoft.NET\SDK\v2.0;C:\Programme\Microsoft Visual Studio 8\VC\bin&lt;br /&gt;
&lt;br /&gt;
unfortunatly i now get 10 times the following error:&lt;br /&gt;
   Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch.&lt;br /&gt;
&lt;br /&gt;
'''[[User:Patrickr|Patrickr]] 17:09, 18 April 2006 (CEST)'''&lt;br /&gt;
&lt;br /&gt;
You have to give a single path, not a list of paths. The correct path should be C:\Programme\Microsoft Visual Studio 8\VC\bin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[[User:FoB|FoB]] 19:43, 18 April 2006 (CEST)'''&amp;lt;br&amp;gt;&lt;br /&gt;
the problem is, that nmake.exe is in psdk folder and the cl.exe is in the VC\bin folder&lt;br /&gt;
if I only give a singel path either nmake or cl aren't found. giving a set of pathes both executables are found, but still the syntax error occurs...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[[User:FoB|FoB]] 08:51, 25 April 2006 (CEST)'''&amp;lt;br&amp;gt;&lt;br /&gt;
my problem is solved :-)&amp;lt;br&amp;gt;&lt;br /&gt;
[[user:manus|manus]] has posted the solution on the es-devl mailinglist ([http://origo.ethz.ch/pipermail/es-devel/2006-April/000082.html link]).&amp;lt;br&amp;gt;&lt;br /&gt;
you need to get this file ([http://origo.ethz.ch/pipermail/es-devel/attachments/20060424/e5afb9a9/windows-msc-x86-2005.obj windows-msc-x86-2005]) and replace the existing one: &amp;lt;code&amp;gt;%EIFFEL_SRC%/C/CONFIGS/windows-msc-x86&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== mkdep not found ==&lt;br /&gt;
&lt;br /&gt;
while compiling the run-time on linux I get the following error:&lt;br /&gt;
&lt;br /&gt;
   /bin/sh: /home/manus/local/56dev/C/mkdep: Datei oder Verzeichnis nicht gefunden (file or directory not found)&lt;br /&gt;
   make[2]: *** Keine Regel vorhanden, um das Target »MTidrs.o«,&lt;br /&gt;
     benötigt von »all«, zu erstellen.  Schluss.&lt;br /&gt;
   make[1]: *** [subdirs] Fehler 1&lt;br /&gt;
   make: *** [all] Fehler 2&lt;br /&gt;
&lt;br /&gt;
I don't have any idea why it looks for mkdep in that directory.&lt;br /&gt;
&lt;br /&gt;
'''[[User:Manus|Manus]] 9:25, 26 April 2006 (PST)'''&lt;br /&gt;
 This errors is harmless if you do not change the dependencies of the runtime header files. If you do, make sure to update this value to $EIFFEL_SRC/C/mkdep so that the generated Makefile has the proper dependencies.&lt;br /&gt;
&lt;br /&gt;
== Eiffel Delivery ==&lt;br /&gt;
&lt;br /&gt;
In the whole Compiling EiffelStudio Routine there is no word about building Eiffel Delivery. Here's the instructions for linux from the es-devel mailinglist:&lt;br /&gt;
&amp;lt;pre&amp;gt;To build the minimal repository of the compiler, do the following checkout:&lt;br /&gt;
&lt;br /&gt;
mkdir Eiffel57&lt;br /&gt;
cd Eiffel57&lt;br /&gt;
svn co /trunk/Delivery/studio&lt;br /&gt;
svn co /trunk/Delivery/eifinit&lt;br /&gt;
&lt;br /&gt;
cd studio/spec&lt;br /&gt;
mkdir $ISE_PLATFORM&lt;br /&gt;
mkdir $ISE_PLATFORM/bin&lt;br /&gt;
mkdir $ISE_PLATFORM/include&lt;br /&gt;
mkdir $ISE_PLATFORM/lib&lt;br /&gt;
&lt;br /&gt;
cp unix/* $ISE_PLATFORM/bin&lt;br /&gt;
rm -rf unix&lt;br /&gt;
&lt;br /&gt;
cd $EIFFEL_SRC/C/run-time&lt;br /&gt;
cp *.h $ISE_EIFFEL/studio/spec/$ISE_PLATFORM/include&lt;br /&gt;
cp ../config.sh $ISE_EIFFEL/studio/spec/$ISE_PLATFORM/include&lt;br /&gt;
cp lib* $ISE_EIFFEL/studio/spec/$ISE_PLATFORM/lib&lt;br /&gt;
cp x2c $ISE_EIFFEL/studio/spec/$ISE_PLATFORM/bin&lt;br /&gt;
cd ..&lt;br /&gt;
cp ipc/daemon/estudio $ISE_EIFFEL/studio/spec/$ISE_PLATFORM/bin&lt;br /&gt;
&lt;br /&gt;
mkdir $ISE_EIFFEL/studio/help/defaults/$ISE_PLATFORM&lt;br /&gt;
mv $ISE_EIFFEL/studio/help/defaults/unix/*&lt;br /&gt;
$ISE_EIFFEL/studio/help/defaults/$ISE_PLATFORM&lt;br /&gt;
rm -rf $INSTALL_DIR/studio/help/defaults/unix&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[User:DavidFlatz|DavidFlatz]] 13:07, 2 May 2006 (CEST)&lt;/div&gt;</summary>
		<author><name>DavidFlatz</name></author>	</entry>

	</feed>