#!/bin/sh # Set up the environment LASTTIME=`date +%s` LASTTIME_TOT=`date +%s` OLD_PATH=$PATH INIT_DIR=`pwd` TMP_EIFFEL_SRC="" . 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 [ -e $EXPORT_DIR ]; then fullrd $EXPORT_DIR fi safe_md $EXPORT_DIR give_time_to warm up remtrace Retrieve and organize the delivery remtrace Remove $INSTALL_DIR if [ -d $INSTALL_DIR ]; then fullrd $INSTALL_DIR >> $INSTALL_LOG; fi if [ -e $INSTALL_DIR ]; then fullrf $INSTALL_DIR >> $INSTALL_LOG; fi if [ -e $INSTALL_DIR ]; then echo "Cannot delete $INSTALL_DIR!" CANCEL fi md $INSTALL_DIR cd $INSTALL_DIR remtrace studio exprt -r $DEFAULT_CVS_TAG -d studio Delivery/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 remtrace build exprt -r $DEFAULT_CVS_TAG -d build Delivery/build remtrace vision2_tour exprt -r $DEFAULT_CVS_TAG -d vision2_tour Delivery/vision2_tour remtrace eifinit exprt -r $DEFAULT_CVS_TAG -d eifinit Delivery/eifinit remtrace install exprt -r $DEFAULT_CVS_TAG -d install Delivery/install remtrace precomp safe_md $INSTALL_DIR/precomp safe_md $INSTALL_DIR/precomp/spec cd $INSTALL_DIR/precomp/spec exprt -r $DEFAULT_CVS_TAG -d unix Delivery/precomp/spec/unix cd unix fullrd lex fullrd mel fullrd net fullrd net-mt fullrd parse fullrd vision cd $INSTALL_DIR remtrace wizards exprt -r $DEFAULT_CVS_TAG -d wizards Delivery/wizards remtrace C_library exprt -r $DEFAULT_CVS_TAG -d C_library Src/C_library remtrace Free add ons exprt -r $DEFAULT_CVS_TAG -d free_add_ons free_add_ons cd $INSTALL_DIR/free_add_ons gunzip -c gobo/gobo_33_unix.tgz | tar -xf - fullrf gobo/gobo_33_unix.tgz fullrf gobo/gobo_33_win.tgz fullrf gobo/gobo_unix.tgz fullrf gobo/gobo_win.tgz fullrd wex cd $INSTALL_DIR remtrace root exprt -l -r $DEFAULT_CVS_TAG Delivery/ move Delivery/* . >> $INSTALL_LOG fullrd Delivery >> $INSTALL_LOG remtrace Borland files fullrf BCC55.tar.gz fullrf *.bat fullrf *.exe if [ ! -e $NEW_EIFFEL_SRC ]; then md $NEW_EIFFEL_SRC fi TMP_EIFFEL_SRC=$EIFFEL_SRC EIFFEL_SRC=$NEW_EIFFEL_SRC remtrace Check out the documentation cd $INSTALL_DIR exprt -r $DEFAULT_CVS_TAG -d docs Delivery/newdocs cd $INSTALL_DIR/docs fullrd PDF cd $INSTALL_DIR cd $INIT_DIR give_time_to organize the delivery and to start filling it # Fill directories if [ ! "$NO_COMPILE" ]; then remtrace Update all libraries source update_libraries cd $INIT_DIR give_time_to update libraries remtrace Generate needed executables of the bin directory source make_exes cd $INIT_DIR give_time_to compile exes if [ ! "$NO_WIZARDS" ]; then remtrace Generate the precompilation and the \"new project\" wizards source make_wizards cd $INIT_DIR give_time_to compile basic wizards 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 give_time_to copy executables from the old delivery fi remtrace Recompile abs2rel cd $EIFFEL_SRC exprt -r $DEFAULT_CVS_TAG -d abs2rel Src/tools/abs2rel cd abs2rel finalize abs2rel.ace fff cleanup_eiffel abs2rel remtrace Converting absolute path names in the documentation. abs2rel -root:$INSTALL_DIR/docs cd $INIT_DIR remtrace "Putting the Eiffel libraries in the delivery" . make_libraries give_time_to "export the Eiffel libraries" 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 gzip c.tar move c.tar.gz $EXPORT_DIR remtrace C_library tar -cf c_libs.tar C_library gzip c_libs.tar move c_libs.tar.gz $EXPORT_DIR remtrace Eiffel libraries tar -cf libs.tar library gzip libs.tar move libs.tar.gz $EXPORT_DIR fi remtrace The delivery itself cd $INSTALL_DIR tar -cf delivery.tar * gzip delivery.tar move delivery.tar.gz $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 give_time_to compile the delivery fi EIFFEL_SRC=$TMP_EIFFEL_SRC TMP_EIFFEL_SRC="" fullrd $NEW_EIFFEL_SRC fullrd $INSTALL_DIR # Finish remtrace final time: remtrace `date +%c` remtrace "total time used (seconds):" newtime=`date +%s` remtrace $(($newtime - $LASTTIME_TOT)) # 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