@@ -668,6 +668,9 @@ print_header()
668
668
fi
669
669
}
670
670
671
+ . install_prerequisites/set_SUDO.sh
672
+ set_SUDO_if_necessary
673
+
671
674
build_opencoarrays ()
672
675
{
673
676
print_header
@@ -681,7 +684,10 @@ build_opencoarrays()
681
684
else
682
685
CC=$MPICC FC=$MPIFC $CMAKE .. -DCMAKE_INSTALL_PREFIX=$install_path &&
683
686
make -j$num_threads &&
684
- make install
687
+ if [[ ! -z $SUDO ]]; then
688
+ printf " \nThe chosen installation path requires sudo privileges. Please enter password if prompted.\n"
689
+ fi &&
690
+ $SUDO make install
685
691
fi
686
692
}
687
693
@@ -698,70 +704,74 @@ report_results()
698
704
echo " "
699
705
echo " $install_path /bin."
700
706
echo " "
701
- if [[ -f $install_path / setup.sh ]]; then
702
- rm $install_path / setup.sh
707
+ if [[ -f setup.sh ]]; then
708
+ $SUDO rm setup.sh
703
709
fi
704
710
# Prepend the OpenCoarrays license to the setup.sh script:
705
711
while IFS=' ' read -r line || [[ -n " $line " ]]; do
706
- echo " # $line " >> $install_path / setup.sh
712
+ echo " # $line " >> setup.sh
707
713
done < " $opencoarrays_src_dir /COPYRIGHT-BSD3"
708
- echo " # " >> $install_path / setup.sh
709
- echo " # Execute this script via the following commands: " >> $install_path / setup.sh
710
- echo " # cd $install_path " >> $install_path / setup.sh
711
- echo " # source setup.sh " >> $install_path / setup.sh
712
- echo " " >> $install_path / setup.sh
713
- echo " if [[ -z \"\$ PATH\" ]]; then " >> $install_path / setup.sh
714
- echo " export PATH=\" $install_path / bin\" " >> $install_path / setup.sh
715
- echo " else " >> $install_path / setup.sh
716
- echo " export PATH=\" $install_path / bin\" :\$ PATH " >> $install_path / setup.sh
717
- echo " fi " >> $install_path / setup.sh
718
- echo " " >> $install_path / setup.sh
714
+ echo " # " >> setup.sh
715
+ echo " # Execute this script via the following commands: " >> setup.sh
716
+ echo " # cd $install_path " >> setup.sh
717
+ echo " # source setup.sh " >> setup.sh
718
+ echo " " >> setup.sh
719
+ echo " if [[ -z \"\$ PATH\" ]]; then " >> setup.sh
720
+ echo " export PATH=\" bin\" " >> setup.sh
721
+ echo " else " >> setup.sh
722
+ echo " export PATH=\" bin\" :\$ PATH " >> setup.sh
723
+ echo " fi " >> setup.sh
724
+ echo " " >> setup.sh
719
725
gcc_install_path=` ./build gcc --default --query-path`
720
726
if [[ -d " $gcc_install_path /lib" ]]; then
721
- echo " if [[ -z \"\$ LD_LIBRARY_PATH\" ]]; then " >> $install_path / setup.sh
722
- echo " export LD_LIBRARY_PATH=\" $gcc_install_path /lib\" " >> $install_path / setup.sh
723
- echo " else " >> $install_path / setup.sh
724
- echo " export LD_LIBRARY_PATH=\" $gcc_install_path /lib\" :\$ LD_LIBRARY_PATH " >> $install_path / setup.sh
725
- echo " fi " >> $install_path / setup.sh
727
+ echo " if [[ -z \"\$ LD_LIBRARY_PATH\" ]]; then " >> setup.sh
728
+ echo " export LD_LIBRARY_PATH=\" $gcc_install_path /lib\" " >> setup.sh
729
+ echo " else " >> setup.sh
730
+ echo " export LD_LIBRARY_PATH=\" $gcc_install_path /lib\" :\$ LD_LIBRARY_PATH " >> setup.sh
731
+ echo " fi " >> setup.sh
726
732
fi
727
- echo " " >> $install_path / setup.sh
733
+ echo " " >> setup.sh
728
734
mpich_install_path=` ./build mpich --default --query-path`
729
735
if [[ -x " $mpich_install_path /bin/mpif90" ]]; then
730
- echo " if [[ -z \"\$ PATH\" ]]; then " >> $install_path / setup.sh
731
- echo " export PATH=\" $mpich_install_path /bin\" " >> $install_path / setup.sh
732
- echo " else " >> $install_path / setup.sh
733
- echo " export PATH=\" $mpich_install_path /bin\" :\$ PATH " >> $install_path / setup.sh
734
- echo " fi " >> $install_path / setup.sh
736
+ echo " if [[ -z \"\$ PATH\" ]]; then " >> setup.sh
737
+ echo " export PATH=\" $mpich_install_path /bin\" " >> setup.sh
738
+ echo " else " >> setup.sh
739
+ echo " export PATH=\" $mpich_install_path /bin\" :\$ PATH " >> setup.sh
740
+ echo " fi " >> setup.sh
735
741
fi
736
742
cmake_install_path=` ./build cmake --default --query-path`
737
743
if [[ -x " $cmake_install_path /bin/cmake" ]]; then
738
- echo " if [[ -z \"\$ PATH\" ]]; then " >> $install_path / setup.sh
739
- echo " export PATH=\" $cmake_install_path /bin\" " >> $install_path / setup.sh
740
- echo " else " >> $install_path / setup.sh
741
- echo " export PATH=\" $cmake_install_path /bin\" :\$ PATH " >> $install_path / setup.sh
742
- echo " fi " >> $install_path / setup.sh
744
+ echo " if [[ -z \"\$ PATH\" ]]; then " >> setup.sh
745
+ echo " export PATH=\" $cmake_install_path /bin\" " >> setup.sh
746
+ echo " else " >> setup.sh
747
+ echo " export PATH=\" $cmake_install_path /bin\" :\$ PATH " >> setup.sh
748
+ echo " fi " >> setup.sh
743
749
fi
744
750
flex_install_path=` ./build flex --default --query-path`
745
751
if [[ -x " $flex_install_path /bin/flex" ]]; then
746
- echo " if [[ -z \"\$ PATH\" ]]; then " >> $install_path / setup.sh
747
- echo " export PATH=\" $flex_install_path /bin\" " >> $install_path / setup.sh
748
- echo " else " >> $install_path / setup.sh
749
- echo " export PATH=\" $flex_install_path /bin\" :\$ PATH " >> $install_path / setup.sh
750
- echo " fi " >> $install_path / setup.sh
752
+ echo " if [[ -z \"\$ PATH\" ]]; then " >> setup.sh
753
+ echo " export PATH=\" $flex_install_path /bin\" " >> setup.sh
754
+ echo " else " >> setup.sh
755
+ echo " export PATH=\" $flex_install_path /bin\" :\$ PATH " >> setup.sh
756
+ echo " fi " >> setup.sh
751
757
fi
752
758
bison_install_path=` ./build bison --default --query-path`
753
759
if [[ -x " $bison_install_path /bin/yacc" ]]; then
754
- echo " if [[ -z \"\$ PATH\" ]]; then " >> $install_path / setup.sh
755
- echo " export PATH=\" $bison_install_path /bin\" " >> $install_path / setup.sh
756
- echo " else " >> $install_path / setup.sh
757
- echo " export PATH=\" $bison_install_path /bin\" :\$ PATH " >> $install_path / setup.sh
758
- echo " fi " >> $install_path / setup.sh
760
+ echo " if [[ -z \"\$ PATH\" ]]; then " >> setup.sh
761
+ echo " export PATH=\" $bison_install_path /bin\" " >> setup.sh
762
+ echo " else " >> setup.sh
763
+ echo " export PATH=\" $bison_install_path /bin\" :\$ PATH " >> setup.sh
764
+ echo " fi " >> setup.sh
759
765
fi
766
+ setup_sh_location=$install_path
767
+ $SUDO mv setup.sh $install_path || setup_sh_location=${PWD}
760
768
echo " *** Before using caf, cafrun, or build, please execute the following command ***"
761
769
echo " *** or add it to your login script and launch a new shell (or the equivalent ***"
762
770
echo " *** for your shell if you are not using a bash shell): ***"
763
771
echo " "
764
- echo " source $install_path /setup.sh"
772
+ echo " source $setup_sh_location /setup.sh"
773
+ echo " "
774
+ echo " *** Installation complete. ***"
765
775
766
776
else # Installation failed
767
777
0 commit comments