summaryrefslogtreecommitdiff
path: root/build.sh
diff options
context:
space:
mode:
Diffstat (limited to 'build.sh')
-rwxr-xr-xbuild.sh304
1 files changed, 0 insertions, 304 deletions
diff --git a/build.sh b/build.sh
deleted file mode 100755
index 3903216246..0000000000
--- a/build.sh
+++ /dev/null
@@ -1,304 +0,0 @@
-#!/bin/sh
-
-# This is a the master build script - it is intended to be run by parabuild
-# It is called by a wrapper script in the shared repository which sets up
-# the environment from the various BuildParams files and does all the build
-# result post-processing.
-#
-# PLEASE NOTE:
-#
-# * This script is interpreted on three platforms, including windows and cygwin
-# Cygwin can be tricky....
-# * The special style in which python is invoked is intentional to permit
-# use of a native python install on windows - which requires paths in DOS form
-# * This script relies heavily on parameters defined in BuildParams
-# * The basic convention is that the build name can be mapped onto a mercurial URL,
-# which is also used as the "branch" name.
-
-build_dir_Darwin()
-{
- echo build-darwin-i386
-}
-
-build_dir_Linux()
-{
- echo viewer-linux-i686-$(echo $1 | tr A-Z a-z)
-}
-
-build_dir_CYGWIN()
-{
- echo build-vc80
-}
-
-installer_Darwin()
-{
- ls -1td "$(build_dir_Darwin ${last_built_variant:-Release})/newview/"*.dmg 2>/dev/null | sed 1q
-}
-
-installer_Linux()
-{
- ls -1td "$(build_dir_Linux ${last_built_variant:-Release})/newview/"*.tar.bz2 2>/dev/null | sed 1q
-}
-
-installer_CYGWIN()
-{
- d=$(build_dir_CYGWIN ${last_built_variant:-Release})
- p=$(sed 's:.*=::' "$d/newview/${last_built_variant:-Release}/touched.bat")
- echo "$d/newview/${last_built_variant:-Release}/$p"
-}
-
-pre_build()
-{
- local variant="$1"
- local build_dir="$2"
- begin_section "Pre$variant"
- #export PATH="/cygdrive/c/Program Files/Microsoft Visual Studio 8/Common7/IDE/:$PATH"
- python develop.py \
- --incredibuild \
- --unattended \
- -t $variant \
- -G "$cmake_generator" \
- configure \
- -DVIEWER_CHANNEL:STRING="$viewer_channel" \
- -DVIEWER_LOGIN_CHANNEL:STRING="$login_channel" \
- -DINSTALL_PROPRIETARY:BOOL=ON \
- -DLOCALIZESETUP:BOOL=ON \
- -DPACKAGE:BOOL=ON
- end_section "Pre$variant"
-}
-
-build()
-{
- local variant="$1"
- local build_dir="$2"
- if $build_viewer
- then
- begin_section "Viewer$variant"
- if python develop.py \
- --incredibuild \
- --unattended \
- -t $variant \
- -G "$cmake_generator" \
- build package
-# && \
-# python develop.py \
-# --incredibuild \
-# --unattended \
-# -t $variant \
-# -G "$cmake_generator" \
-# build package
- then
- echo true >"$build_dir"/build_ok
- else
- echo false >"$build_dir"/build_ok
- fi
- end_section "Viewer$variant"
- fi
-}
-
-# This is called from the branch independent script upon completion of all platform builds.
-build_docs()
-{
- begin_section Docs
- # Stub code to generate docs
- echo Hello world > documentation.txt
- upload_item docs documentation.txt text/plain
- end_section Docs
-}
-
-# Check to see if we were invoked from the wrapper, if not, re-exec ourselves from there
-if [ "x$arch" = x ]
-then
- top=`hg root`
- if [ -x "$top/../buildscripts/hg/bin/build.sh" ]
- then
- exec "$top/../buildscripts/hg/bin/build.sh" "$top"
- else
- cat <<EOF
-This script, if called in a development environment, requires that the branch
-independent build script repository be checked out next to this repository.
-This repository is located at http://hg.lindenlab.com/parabuild/buildscripts
-EOF
- exit 1
- fi
-fi
-
-# Check to see if we're skipping the platform
-eval '$build_'"$arch" || pass
-
-# Run the version number update script
-# File no longer exists in code-sep branch, so let's make sure it exists in order to use it.
-if test -f scripts/update_version_files.py ; then
- begin_section UpdateVer
- scripts/update_version_files.py \
- --channel="$viewer_channel" \
- --server_channel="$server_channel" \
- --revision=$revision \
- --verbose \
- || fail update_version_files.py
- end_section UpdateVer
-fi
-
-# Now retrieve the version for use in the version manager
-# First three parts only, $revision will be appended automatically.
-build_viewer_update_version_manager_version=`scripts/get_version.py --viewer-version | sed 's/\.[0-9]*$//'`
-
-# Now run the build
-cd indra
-succeeded=true
-build_processes=
-last_built_variant=
-for variant in $variants
-do
- eval '$build_'"$variant" || continue
- eval '$build_'"$arch"_"$variant" || continue
-
- # Only the last built arch is available for upload
- last_built_variant="$variant"
-
- begin_section "Do$variant"
- build_dir=`build_dir_$arch $variant`
- build_dir_stubs="$build_dir/win_setup/$variant"
- rm -rf "$build_dir"
- mkdir -p "$build_dir"
- if pre_build "$variant" "$build_dir" >> "$build_log" 2>&1
- then
- if $build_link_parallel
- then
- begin_section BuildParallel
- ( build "$variant" "$build_dir" > "$build_dir/build.log" 2>&1 ) &
- build_processes="$build_processes $!"
- end_section BuildParallel
- elif $build_coverity
- then
- mkdir -p "$build_dir/cvbuild"
- coverity_config=`cygpath --windows "$coverity_dir/config/coverity_config.xml"`
- coverity_tmpdir=`cygpath --windows "$build_dir/cvbuild"`
- coverity_root=`cygpath --windows "$top/latest"`
- case "$variant" in
- Release)
- begin_section Coverity
- begin_section CovBuild
- "$coverity_dir"/bin/cov-build\
- --verbose 4 \
- --config "$coverity_config"\
- --dir "$coverity_tmpdir"\
- python develop.py -t $variant -G "$cmake_generator" build "$coverity_product"\
- >> "$build_log" 2>&1\
- &&\
- end_section CovBuild\
- &&\
- begin_section CovAnalyze\
- &&\
- "$coverity_dir"/bin/cov-analyze\
- --cxx\
- --security\
- --concurrency\
- --dir "$coverity_tmpdir"\
- >> "$build_log" 2>&1\
- &&\
- end_section CovAnalyze\
- &&\
- begin_section CovCommit\
- &&\
- "$coverity_dir"/bin/cov-commit-defects\
- --product "$coverity_product"\
- --dir "$coverity_tmpdir"\
- --remote "$coverity_server"\
- --strip-path "$coverity_root"\
- --target "$branch/$arch"\
- --version "$revision"\
- --description "$repo: $variant $revision"\
- --user admin --password admin\
- >> "$build_log" 2>&1\
- || record_failure "Coverity Build Failed"
- # since any step could have failed, rely on the enclosing block to close any pending sub-blocks
- end_section Coverity
- ;;
- esac
- if test -r "$build_dir"/cvbuild/build-log.txt
- then
- upload_item log "$build_dir"/cvbuild/build-log.txt text/plain
- fi
- else
- begin_section "Build$variant"
- build "$variant" "$build_dir" >> "$build_log" 2>&1
- if `cat "$build_dir/build_ok"`
- then
- echo so far so good.
- else
- record_failure "Build of \"$variant\" failed."
- fi
- end_section "Build$variant"
- fi
- else
- record_failure "Build Prep for \"$variant\" failed."
- fi
- end_section "Do$variant"
-done
-
-# If we are building variants in parallel, wait, then collect results.
-# This requires that the build dirs are variant specific
-if $build_link_parallel && [ x"$build_processes" != x ]
-then
- begin_section WaitParallel
- wait $build_processes
- for variant in $variants
- do
- eval '$build_'"$variant" || continue
- eval '$build_'"$arch"_"$variant" || continue
-
- begin_section "Build$variant"
- build_dir=`build_dir_$arch $variant`
- build_dir_stubs="$build_dir/win_setup/$variant"
- cat "$build_dir/build.log" >> "$build_log"
- if `cat "$build_dir/build_ok"`
- then
- echo so far so good.
- else
- record_failure "Parallel build of \"$variant\" failed."
- fi
- end_section "Build$variant"
- done
- end_section WaitParallel
-fi
-
-# check status and upload results to S3
-if $succeeded
-then
- if $build_viewer
- then
- begin_section Upload
- # Upload installer - note that ONLY THE FIRST ITEM uploaded as "installer"
- # will appear in the version manager.
- package=$(installer_$arch)
- if [ x"$package" = x ] || test -d "$package"
- then
- # Coverity doesn't package, so it's ok, anything else is fail
- succeeded=$build_coverity
- else
- upload_item installer "$package" binary/octet-stream
-
- # Upload crash reporter files.
- case "$last_built_variant" in
- Release)
- for symbolfile in $symbolfiles
- do
- upload_item symbolfile "$build_dir/$symbolfile" binary/octet-stream
- done
- ;;
- esac
-
- # Upload stub installers
- upload_stub_installers "$build_dir_stubs"
- fi
- end_section Upload
- else
- echo skipping viewer
- fi
-else
- echo skipping upload of build results due to failed build.
-fi
-
-# The branch independent build.sh script invoking this script will finish processing
-$succeeded || exit 1