#!/bin/sh # Set up the environment OLD_PATH=$PATH INIT_DIR=`pwd` TMP_EIFFEL_SRC="" TMP_ISE_SRC="" TMP_ISE_LIBRARY="" . set_aliases echo > $INSTALL_LOG echo $* > tmpin$$.tmp awk 'index($0, "h") != 0 { exit 54 }' tmpin$$.tmp if [ $? -eq 54 ] ; then echo Installation for ISE Eiffel 5 generation. echo "Parameters are all (to generate all deliveries), no_compile, no_wizards, no_new_ec and no_install (or nothing to fully regenerate the enterprise installation)." fullrf tmpin$$.tmp CANCEL fi awk 'index($0, "no_comp") != 0 { exit 54 }' tmpin$$.tmp if [ $? -eq 54 ] ; then NO_COMPILE="True" else NO_COMPILE="" fi awk 'index($0, "no_ins") != 0 { exit 54 }' tmpin$$.tmp if [ $? -eq 54 ] ; then NO_INSTALL="True" else NO_INSTALL="" fi awk 'index($0, "no_wiz") != 0 { exit 54 }' tmpin$$.tmp if [ $? -eq 54 ] ; then NO_WIZARDS="True" else NO_WIZARDS="" fi awk 'index($0, "no_new_ec") != 0 { exit 54 }' tmpin$$.tmp if [ $? -eq 54 ] ; then NO_NEW_EC="True" else NO_NEW_EC="" fi awk 'index($0, "all") != 0 { exit 54 }' tmpin$$.tmp if [ $? -eq 54 ] ; then MULTIPLE_EDITIONS="True" else MULTIPLE_EDITIONS="" fi rm -f tmpin$$.tmp cd $INIT_DIR remtrace Approximative starting time: remtrace `date +%c` . check_environment cd $INIT_DIR if [ -d $EXPORT_DIR ]; then fullrd $EXPORT_DIR fi safe_md $EXPORT_DIR remtrace Retrieve and organize the delivery remtrace Remove $INSTALL_DIR if [ -d $INSTALL_DIR ]; then fullrd $INSTALL_DIR >> $INSTALL_LOG; fi if [ -d $INSTALL_DIR ]; then fullrf $INSTALL_DIR >> $INSTALL_LOG; fi if [ -d $INSTALL_DIR ]; then echo "Cannot delete $INSTALL_DIR!" CANCEL fi md $INSTALL_DIR cd $INSTALL_DIR remtrace studio exprt $DEFAULT_ORIGO_SVN/Delivery/studio studio fullrd studio/config/windows fullrd studio/wizards/new_projects/wizard fullrf studio/wizards/new_projects/wizard.dsc fullrd studio/wizards/new_projects/dotnet fullrf studio/wizards/new_projects/dotnet.dsc fullrd studio/wizards/new_projects/wel fullrf studio/wizards/new_projects/wel.dsc remtrace esbuilder exprt $DEFAULT_ORIGO_SVN/Delivery/esbuilder esbuilder remtrace vision2_demo exprt $DEFAULT_ORIGO_SVN/Delivery/vision2_demo vision2_demo remtrace precomp safe_md $INSTALL_DIR/precomp safe_md $INSTALL_DIR/precomp/spec cd $INSTALL_DIR/precomp/spec exprt $DEFAULT_ORIGO_SVN/Delivery/precomp/spec/platform platform cd platform fullrd lex fullrd mel fullrd net fullrd net-mt fullrd parse fullrd vision cd $INSTALL_DIR remtrace C_library exprt $DEFAULT_ORIGO_SVN/Src/C_library C_library cd $INSTALL_DIR remtrace root exprt -N $DEFAULT_ORIGO_SVN/Delivery Delivery move Delivery/* . >> $INSTALL_LOG fullrd Delivery >> $INSTALL_LOG remtrace Borland files fullrf BCC55.tar.gz fullrf *.bat fullrf *.exe if [ ! -d $NEW_EIFFEL_SRC ]; then md $NEW_EIFFEL_SRC fi #Save environment variables TMP_EIFFEL_SRC=$EIFFEL_SRC TMP_ISE_SRC=$ISE_SRC TMP_ISE_LIBRARY=$ISE_LIBRARY EIFFEL_SRC=$NEW_EIFFEL_SRC ISE_SRC=$NEW_ISE_SRC ISE_LIBRARY=$NEW_ISE_LIBRARY export ISE_LIBRARY export ISE_SRC export EIFFEL_SRC cd $INIT_DIR # Fill directories if [ ! "$NO_COMPILE" ]; then remtrace Update all source files. cd $INIT_DIR if [ -d $EIFFEL_SRC ]; then fullrd $EIFFEL_SRC fi md $EIFFEL_SRC co $DEFAULT_ORIGO_SVN/Src $EIFFEL_SRC if [ -n "$UNIX_BASE_PATH" ]; then remtrace Adjusting unix base path # updating EIFFEL_ENV rm -f tmp sed -e "/UNIX_BASE_PATH/s|/usr/local|$UNIX_BASE_PATH|g" $EIFFEL_SRC/framework/environment/interface/eiffel_env.e > tmp rm -f $EIFFEL_SRC/framework/environment/interface/eiffel_env.e mv -f tmp $EIFFEL_SRC/framework/environment/interface/eiffel_env.e # update finish_freezing rm -f tmp sed -e "/UNIX_BASE_PATH/s|/usr/local|$UNIX_BASE_PATH|g" $INSTALL_DIR/studio/spec/unix/finish_freezing > tmp rm -f $INSTALL_DIR/studio/spec/unix/finish_freezing mv -f tmp $INSTALL_DIR/studio/spec/unix/finish_freezing chmod +x $INSTALL_DIR/studio/spec/unix/finish_freezing fi if [ -n "$UNIX_LIB_NAME" ]; then remtrace Adjusting unix lib name # updating EIFFEL_ENV rm -f tmp sed -e "/UNIX_LIB_NAME/s/lib/$UNIX_LIB_NAME/g" $EIFFEL_SRC/framework/environment/interface/eiffel_env.e > tmp rm -f $EIFFEL_SRC/framework/environment/interface/eiffel_env.e mv -f tmp $EIFFEL_SRC/framework/environment/interface/eiffel_env.e # update finish_freezing rm -f tmp sed -e "/UNIX_LIB_NAME/s/lib/$UNIX_LIB_NAME/g" $INSTALL_DIR/studio/spec/unix/finish_freezing > tmp rm -f $INSTALL_DIR/studio/spec/unix/finish_freezing mv -f tmp $INSTALL_DIR/studio/spec/unix/finish_freezing chmod +x $INSTALL_DIR/studio/spec/unix/finish_freezing fi remtrace ISE specific files cd $EIFFEL_SRC co $DEFAULT_ISE_SVN/Src/library/keygen library/keygen cd tools co $DEFAULT_ISE_SVN/Src/tools/activation activation co $DEFAULT_ISE_SVN/Src/tools/estudio_enterprise estudio_enterprise cd $INIT_DIR remtrace Update all libraries . update_libraries $GTK_DIR remtrace Generate needed executables of the bin directory cd $INIT_DIR . make_exes cd $INIT_DIR if [ ! "$NO_WIZARDS" ]; then remtrace Generate the precompilation and the \"new project\" wizards . make_wizards cd $INIT_DIR else quick_move -r studio/wizards fi else remtrace Copy executable files from the old delivery quick_move -r studio/spec quick_move -r studio/wizards fi remtrace Check out the documentation # When compiling for GTK 1.2, disable the building of the documentation # since on most machine GTK 1.2 is not installed. cd $INIT_DIR . make_xml_documentation cd $INIT_DIR remtrace "Putting the Eiffel libraries in the delivery" . make_libraries $GTK_DIR cd $INIT_DIR cd $INSTALL_DIR remtrace Free add ons exprt $DEFAULT_ORIGO_SVN/free_add_ons free_add_ons cd $INSTALL_DIR fullrd free_add_ons cd $INIT_DIR if [ ! "$NO_INSTALL" ]; then remtrace Compress everything if [ ! "$NO_COMPILE" ]; then remtrace C directory cd $EIFFEL_SRC tar -cf c.tar C bzip2 c.tar move c.tar.bz2 $EXPORT_DIR remtrace C_library tar -cf c_libs.tar C_library bzip2 c_libs.tar move c_libs.tar.bz2 $EXPORT_DIR remtrace Eiffel libraries tar -cf libs.tar library bzip2 libs.tar move libs.tar.bz2 $EXPORT_DIR fi remtrace The delivery itself cd $INSTALL_DIR tar -cf delivery.tar * bzip2 delivery.tar move delivery.tar.bz2 $EXPORT_DIR cd $INIT_DIR copy compile* $EXPORT_DIR copy make_images $EXPORT_DIR copy make_cd_image $EXPORT_DIR copy set_aliases $EXPORT_DIR # Now edit `set_aliases' in $EXPORT_DIR as we are now going for compilation mode. cd $EXPORT_DIR rm -f tmp sed -e "s/\/PorterPackage//g" set_aliases > tmp rm -f set_aliases mv -f tmp set_aliases # Update the revision number as well sed -e "s/^SVN_VERSION.*$/SVN_VERSION=$SVN_VERSION/g" set_aliases > tmp rm -f set_aliases mv -f tmp set_aliases cd $INIT_DIR fi # Restore environment variables to their original value EIFFEL_SRC=$TMP_EIFFEL_SRC ISE_SRC=$TMP_ISE_SRC ISE_LIBRARY=$TMP_ISE_LIBRARY TMP_EIFFEL_SRC="" TMP_ISE_SRC="" TMP_ISE_LIBRARY="" fullrd $NEW_EIFFEL_SRC fullrd $INSTALL_DIR fullrd $DOCUMENT_DIR/xmldoc # Finish remtrace final time: remtrace `date +%c` # Error handling and normal ending echo You should now run \'compile_exes\' in $EXPORT_DIR, after modifying set_aliases to update the EXPORT_DIR, if necessary. CANCEL