yaml-cpp

FORK: A YAML parser and emitter in C++
git clone https://git.neptards.moe/neptards/yaml-cpp.git
Log | Files | Refs | README | LICENSE

get-nprocessors.sh (2220B)


      1 #!/usr/bin/env bash
      2 # Copyright 2017 Google Inc.
      3 # All Rights Reserved.
      4 #
      5 #
      6 # Redistribution and use in source and binary forms, with or without
      7 # modification, are permitted provided that the following conditions are
      8 # met:
      9 #
     10 #     * Redistributions of source code must retain the above copyright
     11 # notice, this list of conditions and the following disclaimer.
     12 #     * Redistributions in binary form must reproduce the above
     13 # copyright notice, this list of conditions and the following disclaimer
     14 # in the documentation and/or other materials provided with the
     15 # distribution.
     16 #     * Neither the name of Google Inc. nor the names of its
     17 # contributors may be used to endorse or promote products derived from
     18 # this software without specific prior written permission.
     19 #
     20 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     21 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     22 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
     23 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
     24 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
     25 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
     26 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     27 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     28 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     29 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     30 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     31 
     32 # This file is typically sourced by another script.
     33 # if possible, ask for the precise number of processors,
     34 # otherwise take 2 processors as reasonable default; see
     35 # https://docs.travis-ci.com/user/speeding-up-the-build/#Makefile-optimization
     36 if [ -x /usr/bin/getconf ]; then
     37     NPROCESSORS=$(/usr/bin/getconf _NPROCESSORS_ONLN)
     38 else
     39     NPROCESSORS=2
     40 fi
     41 
     42 # as of 2017-09-04 Travis CI reports 32 processors, but GCC build
     43 # crashes if parallelized too much (maybe memory consumption problem),
     44 # so limit to 4 processors for the time being.
     45 if [ $NPROCESSORS -gt 4 ] ; then
     46 	echo "$0:Note: Limiting processors to use by make from $NPROCESSORS to 4."
     47 	NPROCESSORS=4
     48 fi