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

