diff --git a/BUILD/build_deb_local.sh b/BUILD/build_deb_local.sh index 6bfff2ed4..a6e0c62de 100755 --- a/BUILD/build_deb_local.sh +++ b/BUILD/build_deb_local.sh @@ -5,25 +5,26 @@ set -x -cd ./MaxScale +cpus=$(grep -c processor /proc/cpuinfo) +cd ./MaxScale mkdir _build cd _build cmake .. $cmake_flags export LD_LIBRARY_PATH=$PWD/log_manager:$PWD/query_classifier -make || exit 1 +make -j $cpus || exit 1 if [[ "$cmake_flags" =~ "BUILD_TESTS=Y" ]] then # We don't care about memory leaks in the tests (e.g. servers are never freed) export ASAN_OPTIONS=detect_leaks=0 # All tests must pass otherwise the build is considered a failure - ctest --output-on-failure || exit 1 + ctest --output-on-failure -j 100 || exit 1 fi export LD_LIBRARY_PATH=$(for i in `find $PWD/ -name '*.so*'`; do echo $(dirname $i); done|sort|uniq|xargs|sed -e 's/[[:space:]]/:/g') -make package +make package -j $cpus res=$? if [ $res != 0 ] ; then echo "Make package failed" @@ -35,7 +36,7 @@ sudo rm CMakeCache.txt echo "Building tarball..." cmake .. $cmake_flags -DTARBALL=Y -sudo make package +sudo make package -j $cpus cp _CPack_Packages/Linux/DEB/*.deb ../ @@ -57,7 +58,7 @@ then export LD_LIBRARY_PATH="" cmake .. $cmake_flags -DTARGET_COMPONENT=$component export LD_LIBRARY_PATH=$(for i in `find $PWD/ -name '*.so*'`; do echo $(dirname $i); done|sort|uniq|xargs|sed -e 's/[[:space:]]/:/g') - make package + make package -j $cpus cp _CPack_Packages/Linux/DEB/*.deb ../ cd .. cp _build/*.deb . @@ -68,7 +69,7 @@ fi if [ "$BUILD_RABBITMQ" == "yes" ] ; then cmake ../rabbitmq_consumer/ $cmake_flags - sudo make package + sudo make package -j $cpus res=$? if [ $res != 0 ] ; then exit $res diff --git a/BUILD/build_rpm_local.sh b/BUILD/build_rpm_local.sh index a0a092d97..b651c6fa9 100755 --- a/BUILD/build_rpm_local.sh +++ b/BUILD/build_rpm_local.sh @@ -5,19 +5,21 @@ set -x +cpus=$(grep -c processor /proc/cpuinfo) + cd ./MaxScale mkdir _build cd _build cmake .. $cmake_flags -make || exit 1 +make -j $cpus || exit 1 if [[ "$cmake_flags" =~ "BUILD_TESTS=Y" ]] then # We don't care about memory leaks in the tests (e.g. servers are never freed) export ASAN_OPTIONS=detect_leaks=0 # All tests must pass otherwise the build is considered a failure - ctest --output-on-failure || exit 1 + ctest --output-on-failure -j 100 || exit 1 # See if docker is installed and run REST API and MaxCtrl tests if it is command -v docker @@ -41,7 +43,7 @@ sudo rm -rf /usr/bin/strip sudo touch /usr/bin/strip sudo chmod a+x /usr/bin/strip -sudo make package +sudo make package -j $cpus res=$? if [ $res != 0 ] ; then echo "Make package failed" @@ -53,7 +55,7 @@ sudo rm CMakeCache.txt echo "Building tarball..." cmake .. $cmake_flags -DTARBALL=Y -sudo make package +sudo make package -j $cpus cd .. cp _build/*.rpm . @@ -66,7 +68,7 @@ then cd _build rm CMakeCache.txt cmake .. $cmake_flags -DTARGET_COMPONENT=$component - sudo make package + sudo make package -j $cpus cd .. cp _build/*.rpm . cp _build/*.gz . @@ -75,7 +77,7 @@ fi if [ "$BUILD_RABBITMQ" == "yes" ] ; then cmake ../rabbitmq_consumer/ $cmake_flags - sudo make package + sudo make package -j $cpus res=$? if [ $res != 0 ] ; then exit $res diff --git a/BUILD/install_build_deps.sh b/BUILD/install_build_deps.sh index d1e6184ec..f5ac6aba7 100755 --- a/BUILD/install_build_deps.sh +++ b/BUILD/install_build_deps.sh @@ -6,6 +6,8 @@ # Build in a temp directory so we don't pollute cwd tmpdir=$(mktemp -d) +cpus=$(grep -c processor /proc/cpuinfo) + cd $tmpdir command -v apt-get @@ -102,14 +104,6 @@ else # Enable it by default echo "source /opt/rh/devtoolset-7/enable" >> ~/.bashrc - else - # Installed for REST API and MaxCtrl unit tests - sudo yum -y install docker epel-release - sudo yum -y install docker-compose - sudo groupadd docker - sudo usermod -a -G docker `whoami` - sudo sed -i 's/--selinux-enabled/--selinux-enabled=false/' /etc/sysconfig/docker - sudo systemctl start docker fi fi @@ -131,7 +125,7 @@ if [ "`echo -e "3.7.1\n$cmake_version"|sort -V|head -n 1`" != "3.7.1" ] ; then cd cmake-3.7.1 ./bootstrap - gmake + make -j $cpus sudo make install cd .. fi @@ -151,7 +145,7 @@ fi cd rabbitmq-c git checkout v0.7.1 cmake . -DCMAKE_C_FLAGS=-fPIC -DBUILD_SHARED_LIBS=N -DCMAKE_INSTALL_PREFIX=/usr -sudo make install +sudo make install -j $cpus cd ../../ # TCL @@ -180,7 +174,7 @@ then tar xzf tcl8.6.5-src.tar.gz cd tcl8.6.5/unix ./configure - sudo make install + sudo make install -j $cpus cd ../../.. fi @@ -198,7 +192,7 @@ git checkout v2.9 mkdir build cd build cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_C_FLAGS=-fPIC -DJANSSON_INSTALL_LIB_DIR=$install_libdir -make +make -j $cpus sudo make install cd ../../ @@ -218,7 +212,7 @@ pushd $avro_dir/build # Make sure the library isn't linked against snappy sed -i 's/find_package(Snappy)//' ../lang/c/CMakeLists.txt cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_C_FLAGS=-fPIC -DCMAKE_CXX_FLAGS=-fPIC -make +make -j $cpus sudo make install popd