diff --git a/build_iflow.sh b/build_iflow.sh index 2f27f255713732857ef63bee85039f0d64f41f41..0a2abab9d3cfc72c6c4205e48b8b9b15adda5d71 100755 --- a/build_iflow.sh +++ b/build_iflow.sh @@ -39,26 +39,25 @@ export IFLOW_MIRROR_URL source $IFLOW_SHELL_DIR/common.sh # essential package -RUN sudo apt install build-essential clang libreadline-dev bison flex libffi-dev cmake libboost-all-dev swig klayout libeigen3-dev libspdlog-dev -y - +RUN_ROOT apt install wget build-essential clang libreadline-dev bison flex libffi-dev cmake libboost-all-dev swig klayout libeigen3-dev libspdlog-dev -y # tcl -RUN sudo apt install tcl-dev -y -RUN sudo cp -f /usr/include/tcl8.6/*.h /usr/include/ -RUN sudo ln -s -f /usr/lib/x86_64-linux-gnu/libtcl8.6.so /usr/lib/x86_64-linux-gnu/libtcl8.5.so +RUN_ROOT apt install tcl-dev -y +RUN_ROOT cp -f /usr/include/tcl8.6/*.h /usr/include/ +RUN_ROOT ln -s -f /usr/lib/x86_64-linux-gnu/libtcl8.6.so /usr/lib/x86_64-linux-gnu/libtcl8.5.so # lemon CHECK_DIR /usr/local/include/lemon ||\ { - RUN wget http://lemon.cs.elte.hu/pub/sources/lemon-1.3.1.tar.gz - RUN tar zxvf lemon-1.3.1.tar.gz - RUN cd lemon-1.3.1 - RUN mkdir build - RUN cd build - RUN cmake .. - RUN make -j$IFLOW_BUILD_THREAD_NUM - RUN sudo make install - RUN cd ../../ - RUN rm -rf lemon-1.3.1 lemon-1.3.1.tar.gz + RUN wget http://lemon.cs.elte.hu/pub/sources/lemon-1.3.1.tar.gz + RUN tar zxvf lemon-1.3.1.tar.gz + RUN cd lemon-1.3.1 + CHECK_DIR build || RUN mkdir build + RUN cd build + RUN cmake .. + RUN make -j$IFLOW_BUILD_THREAD_NUM + RUN_ROOT make install + RUN cd ../../ + RUN rm -rf lemon-1.3.1 lemon-1.3.1.tar.gz } # update iFlow @@ -69,4 +68,4 @@ RUN git pull origin master RUN $IFLOW_SHELL_DIR/install_tools.sh # link iEDA lib -echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:'$IFLOW_TOOLS_DIR'/iEDA_0.1/lib' >> ~/.bashrc +echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:'$IFLOW_TOOLS_DIR'/iEDA_0.1/lib' >> ~/.bashrc \ No newline at end of file diff --git a/scripts/shell/common.sh b/scripts/shell/common.sh index a63cf1d40f02aa51378d6257fd4a7f178275cf8d..2a86e13d3edab8a64ed4f9528953d9f700ddf5af 100755 --- a/scripts/shell/common.sh +++ b/scripts/shell/common.sh @@ -31,4 +31,13 @@ function RUN() echo "[iFlow Warning] Exec '$*' failed, retry..." && sleep 1 fi done +} + +function RUN_ROOT() +{ + if [ `whoami` = "root" ]; then + RUN $* + else + RUN sudo $* + fi } \ No newline at end of file