Difference between revisions of "User:DavidFlatz"
DavidFlatz (Talk | contribs) |
(Updated to the new path of Delivery in Src.) |
||
(One intermediate revision by one other user not shown) | |||
Line 12: | Line 12: | ||
# get the sources | # get the sources | ||
− | svn co https:// | + | svn co https://svn.eiffel.com/eiffelstudio/trunk eiffelsvn |
export EIFFEL_SVN=`pwd`/eiffelsvn | export EIFFEL_SVN=`pwd`/eiffelsvn | ||
Line 31: | Line 31: | ||
mkdir eiffel01 | mkdir eiffel01 | ||
export EIFFEL01=`pwd`/eiffel01 | export EIFFEL01=`pwd`/eiffel01 | ||
− | cp -r $EIFFEL_SVN/Delivery/studio $EIFFEL_SVN/Delivery/eifinit $EIFFEL01 | + | cp -r $EIFFEL_SVN/Src/Delivery/studio $EIFFEL_SVN/Src/Delivery/eifinit $EIFFEL01 |
mkdir $EIFFEL01/studio/spec/$ISE_PLATFORM | mkdir $EIFFEL01/studio/spec/$ISE_PLATFORM | ||
mkdir $EIFFEL01/studio/spec/$ISE_PLATFORM/bin | mkdir $EIFFEL01/studio/spec/$ISE_PLATFORM/bin | ||
Line 122: | Line 122: | ||
./build-studio.new | ./build-studio.new | ||
− | # | + | # zzzz.. huh? ..woah! my first natively compiled ec! |
+ | |||
+ | cksfv build/ec $EIFFEL01/studio/spec/$ISE_PLATFORM/bin/ec | ||
+ | |||
+ | # build/ec 6E297D24 | ||
+ | # $EIFFEL01/studio/spec/$ISE_PLATFORM/bin/ec 97994877 | ||
+ | # | ||
+ | # hrm.. next turn: | ||
+ | |||
+ | mv $EIFFEL01/studio/spec/$ISE_PLATFORM/bin/ec $EIFFEL01/studio/spec/$ISE_PLATFORM/bin/ec.old | ||
+ | cp build/ec $EIFFEL01/studio/spec/$ISE_PLATFORM/bin/ | ||
+ | mv build build.old2 | ||
+ | |||
+ | ./build-studio.new | ||
+ | |||
+ | # | ||
+ | |||
</pre> | </pre> |
Latest revision as of 14:25, 27 January 2012
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://svn.eiffel.com/eiffelstudio/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/Src/Delivery/studio $EIFFEL_SVN/Src/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 # zzzz.. huh? ..woah! my first natively compiled ec! cksfv build/ec $EIFFEL01/studio/spec/$ISE_PLATFORM/bin/ec # build/ec 6E297D24 # $EIFFEL01/studio/spec/$ISE_PLATFORM/bin/ec 97994877 # # hrm.. next turn: mv $EIFFEL01/studio/spec/$ISE_PLATFORM/bin/ec $EIFFEL01/studio/spec/$ISE_PLATFORM/bin/ec.old cp build/ec $EIFFEL01/studio/spec/$ISE_PLATFORM/bin/ mv build build.old2 ./build-studio.new #