Print this page
10062 illumos.sh could be re-organized

Split Close
Expand all
Collapse all
          --- old/usr/src/tools/env/illumos.sh
          +++ new/usr/src/tools/env/illumos.sh
↓ open down ↓ 15 lines elided ↑ open up ↑
  16   16  # fields enclosed by brackets "[]" replaced with your own identifying
  17   17  # information: Portions Copyright [yyyy] [name of copyright owner]
  18   18  #
  19   19  # CDDL HEADER END
  20   20  #
  21   21  # Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  22   22  # Copyright 2015 Nexenta Systems, Inc.  All rights reserved.
  23   23  # Copyright 2012 Joshua M. Clulow <josh@sysmgr.org>
  24   24  # Copyright 2015, OmniTI Computer Consulting, Inc. All rights reserved.
  25   25  # Copyright 2018 OmniOS Community Edition (OmniOSce) Association.
       26 +# Copyright (c) 2018, Joyent, Inc.
  26   27  #
       28 +# - This file is sourced by "bldenv.sh" and "nightly.sh" and should not
       29 +#   be executed directly.
       30 +# - This script is only interpreted by ksh93 and explicitly allows the
       31 +#   use of ksh93 language extensions.
  27   32  
  28      -# Configuration variables for the runtime environment of the nightly
  29      -# build script and other tools for construction and packaging of
  30      -# releases.
  31      -# This example is suitable for building an illumos workspace, which
  32      -# will contain the resulting archives. It is based off the onnv
  33      -# release. It sets NIGHTLY_OPTIONS to make nightly do:
       33 +
       34 +# -----------------------------------------------------------------------------
       35 +# Parameters you are likely to want to change
       36 +# -----------------------------------------------------------------------------
       37 +
  34   38  #       DEBUG build only (-D, -F)
  35   39  #       do not bringover from the parent (-n)
  36   40  #       runs 'make check' (-C)
  37   41  #       checks for new interfaces in libraries (-A)
  38   42  #       sends mail on completion (-m and the MAILTO variable)
  39   43  #       creates packages for PIT/RE (-p)
  40   44  #       checks for changes in ELF runpaths (-r)
  41   45  #       build and use this workspace's tools in $SRC/tools (-t)
  42      -#
  43      -# - This file is sourced by "bldenv.sh" and "nightly.sh" and should not
  44      -#   be executed directly.
  45      -# - This script is only interpreted by ksh93 and explicitly allows the
  46      -#   use of ksh93 language extensions.
  47      -#
  48   46  export NIGHTLY_OPTIONS='-FnCDAmprt'
  49   47  
       48 +# Some scripts optionally send mail messages to MAILTO.
       49 +#export MAILTO=
       50 +
  50   51  # CODEMGR_WS - where is your workspace at
  51      -#export CODEMGR_WS="$HOME/ws/illumos-gate"
  52   52  export CODEMGR_WS="`git rev-parse --show-toplevel`"
  53   53  
       54 +# Compilers may be specified using the following variables:
       55 +# PRIMARY_CC    - primary C compiler
       56 +# PRIMARY_CCC   - primary C++ compiler
       57 +#
       58 +# SHADOW_CCS    - list of shadow C compilers
       59 +# SHADOW_CCCS   - list of shadow C++ compilers
       60 +#
       61 +# Each entry has the form <name>,<path to binary>,<style> where name is a
       62 +# free-form name (possibly used in the makefiles to guard options), path is
       63 +# the path to the executable.  style is the 'style' of command line taken by
       64 +# the compiler, currently either gnu (or gcc) or sun (or cc), which is also
       65 +# used by Makefiles to guard options.
       66 +#
       67 +# __SUNC and __GNUC must still be set to reflect the style of the primary
       68 +# compiler (and to influence the default primary, otherwise)
       69 +#
       70 +# for example:
       71 +# export PRIMARY_CC=gcc4,/opt/gcc/4.4.4/bin/gcc,gnu
       72 +# export PRIMARY_CCC=gcc4,/opt/gcc/4.4.4/bin/g++,gnu
       73 +# export SHADOW_CCS=studio12,/opt/SUNWspro/bin/cc,sun
       74 +# export SHADOW_CCCS=studio12,/opt/SUNWspro/bin/CC,sun
       75 +#
       76 +# There can be several space-separated entries in SHADOW_* to run multiple
       77 +# shadow compilers.
       78 +#
       79 +# To disable shadow compilation, unset SHADOW_* or set them to the empty string.
       80 +#
       81 +export SHADOW_CCS=gcc7,/usr/gcc/7/bin/gcc,gnu
       82 +export SHADOW_CCCS=gcc7,/usr/gcc/7/bin/g++,gnu
       83 +
       84 +# Comment this out to disable support for SMB printing, i.e. if you
       85 +# don't want to bother providing the CUPS headers this needs.
       86 +export ENABLE_SMB_PRINTING=
       87 +
       88 +# If your distro uses certain versions of Perl, make sure either Makefile.master
       89 +# contains your new defaults OR your .env file sets them.
       90 +# These are how you would override for building on OmniOS r151028, for example.
       91 +#export PERL_VERSION=5.28
       92 +#export PERL_ARCH=i86pc-solaris-thread-multi-64int
       93 +#export PERL_PKGVERS=
       94 +
       95 +# If your distro uses certain versions of Python, make sure either
       96 +# Makefile.master contains your new defaults OR your .env file sets them.
       97 +#export PYTHON_VERSION=2.7
       98 +#export PYTHON_PKGVERS=-27
       99 +#export PYTHON_SUFFIX=
      100 +#export PYTHON3_VERSION=3.5
      101 +#export PYTHON3_PKGVERS=-35
      102 +#export PYTHON3_SUFFIX=m
      103 +
      104 +# To disable building with either Python2 or Python 3 (or both), uncomment
      105 +# these lines:
      106 +#export BUILDPY2='#'
      107 +#export BUILDPY3='#'
      108 +
      109 +# Set if your distribution has different package versioning
      110 +#export PKGVERS_BRANCH=2018.0.0.17900
      111 +
      112 +# Skip Java 8 builds on distributions that don't support it
      113 +#export BLD_JAVA_8=
      114 +
      115 +# POST_NIGHTLY can be any command to be run at the end of nightly.  See
      116 +# nightly(1) for interactions between environment variables and this command.
      117 +#POST_NIGHTLY=
      118 +
      119 +# -----------------------------------------------------------------------------
      120 +# You are less likely to need to modify parameters below.
      121 +# -----------------------------------------------------------------------------
      122 +
  54  123  # Maximum number of dmake jobs.  The recommended number is 2 + NCPUS,
  55  124  # where NCPUS is the number of logical CPUs on your build system.
  56  125  function maxjobs
  57  126  {
  58  127          nameref maxjobs=$1
  59  128          integer ncpu
  60  129          integer -r min_mem_per_job=512 # minimum amount of memory for a job
  61  130  
  62  131          ncpu=$(builtin getconf ; getconf 'NPROCESSORS_ONLN')
  63  132          (( maxjobs=ncpu + 2 ))
↓ open down ↓ 27 lines elided ↑ open up ↑
  91  160  
  92  161  # path to onbld tool binaries
  93  162  ONBLD_BIN='/opt/onbld/bin'
  94  163  
  95  164  # PARENT_WS is used to determine the parent of this workspace. This is
  96  165  # for the options that deal with the parent workspace (such as where the
  97  166  # proto area will go).
  98  167  export PARENT_WS=''
  99  168  
 100  169  # CLONE_WS is the workspace nightly should do a bringover from.
      170 +# The bringover, if any, is done as STAFFER.
 101  171  export CLONE_WS='ssh://anonhg@hg.illumos.org/illumos-gate'
 102  172  
 103      -# The bringover, if any, is done as STAFFER.
 104  173  # Set STAFFER to your own login as gatekeeper or developer
 105  174  # The point is to use group "staff" and avoid referencing the parent
 106  175  # workspace as root.
 107      -# Some scripts optionally send mail messages to MAILTO.
 108      -#
 109  176  export STAFFER="$LOGNAME"
 110      -export MAILTO="$STAFFER"
      177 +export MAILTO="${MAILTO:-$STAFFER}"
 111  178  
 112  179  # If you wish the mail messages to be From: an arbitrary address, export
 113  180  # MAILFROM.
 114  181  #export MAILFROM="user@example.com"
 115  182  
 116  183  # The project (see project(4)) under which to run this build.  If not
 117  184  # specified, the build is simply run in a new task in the current project.
 118  185  export BUILD_PROJECT=''
 119  186  
 120  187  # You should not need to change the next three lines
↓ open down ↓ 68 lines elided ↑ open up ↑
 189  256  # variables allows you to get the compilers and onbld files locally.
 190  257  # Set BUILD_TOOLS to pull everything from one location.
 191  258  # Alternately, you can set ONBLD_TOOLS to where you keep the contents of
 192  259  # SUNWonbld and SPRO_ROOT to where you keep the compilers.  SPRO_VROOT
 193  260  # exists to make it easier to test new versions of the compiler.
 194  261  export BUILD_TOOLS='/opt'
 195  262  #export ONBLD_TOOLS='/opt/onbld'
 196  263  export SPRO_ROOT='/opt/SUNWspro'
 197  264  export SPRO_VROOT="$SPRO_ROOT"
 198  265  
 199      -# Compilers may be specified using the following variables:
 200      -# PRIMARY_CC    - primary C compiler
 201      -# PRIMARY_CCC   - primary C++ compiler
 202      -#
 203      -# SHADOW_CCS    - list of shadow C compilers
 204      -# SHADOW_CCCS   - list of shadow C++ compilers
 205      -#
 206      -# Each entry has the form <name>,<path to binary>,<style> where name is a
 207      -# free-form name (possibly used in the makefiles to guard options), path is
 208      -# the path to the executable.  style is the 'style' of command line taken by
 209      -# the compiler, currently either gnu (or gcc) or sun (or cc), which is also
 210      -# used by Makefiles to guard options.
 211      -#
 212      -# __SUNC and __GNUC must still be set to reflect the style of the primary
 213      -# compiler (and to influence the default primary, otherwise)
 214      -#
 215      -# for example:
 216      -# export PRIMARY_CC=gcc4,/opt/gcc/4.4.4/bin/gcc,gnu
 217      -# export PRIMARY_CCC=gcc4,/opt/gcc/4.4.4/bin/g++,gnu
 218      -# export SHADOW_CCS=studio12,/opt/SUNWspro/bin/cc,sun
 219      -# export SHADOW_CCCS=studio12,/opt/SUNWspro/bin/CC,sun
 220      -#
 221      -# There can be several space-separated entries in SHADOW_* to run multiple
 222      -# shadow compilers.
 223      -#
 224      -# To disable shadow compilation, unset SHADOW_* or set them to the empty string.
 225      -#
 226      -export SHADOW_CCS=gcc7,/usr/gcc/7/bin/gcc,gnu
 227      -export SHADOW_CCCS=gcc7,/usr/gcc/7/bin/g++,gnu
 228      -
 229  266  # This goes along with lint - it is a series of the form "A [y|n]" which
 230  267  # means "go to directory A and run 'make lint'" Then mail me (y) the
 231  268  # difference in the lint output. 'y' should only be used if the area you're
 232  269  # linting is actually lint clean or you'll get lots of mail.
 233  270  # You shouldn't need to change this though.
 234  271  #export LINTDIRS="$SRC y"
 235  272  
 236  273  # Set this flag to 'n' to disable the use of 'checkpaths'.  The default,
 237  274  # if the 'N' option is not specified, is to run this test.
 238  275  #CHECK_PATHS='y'
 239      -
 240      -# POST_NIGHTLY can be any command to be run at the end of nightly.  See
 241      -# nightly(1) for interactions between environment variables and this command.
 242      -#POST_NIGHTLY=
 243      -
 244      -# Comment this out to disable support for SMB printing, i.e. if you
 245      -# don't want to bother providing the CUPS headers this needs.
 246      -export ENABLE_SMB_PRINTING=
 247      -
 248      -# If your distro uses certain versions of Perl, make sure either Makefile.master
 249      -# contains your new defaults OR your .env file sets them.
 250      -# These are how you would override for building on OmniOS r151028, for example.
 251      -#export PERL_VERSION=5.28
 252      -#export PERL_ARCH=i86pc-solaris-thread-multi-64int
 253      -#export PERL_PKGVERS=
 254      -
 255      -# If your distro uses certain versions of Python, make sure either
 256      -# Makefile.master contains your new defaults OR your .env file sets them.
 257      -#export PYTHON_VERSION=2.7
 258      -#export PYTHON_PKGVERS=-27
 259      -#export PYTHON_SUFFIX=
 260      -#export PYTHON3_VERSION=3.5
 261      -#export PYTHON3_PKGVERS=-35
 262      -#export PYTHON3_SUFFIX=m
 263      -
 264      -# To disable building with either Python2 or Python 3 (or both), uncomment
 265      -# these lines:
 266      -#export BUILDPY2='#'
 267      -#export BUILDPY3='#'
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX