annotate Resources/holy-build-box-internal.sh @ 43:5f50a2b2ae04

fix missing cpp
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 24 Feb 2021 07:27:30 +0100
parents eb09eb1251b9
children ad348691c27d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 #!/bin/bash
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2 set -e
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3
34
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 13
diff changeset
4 # Holy Build Box doesn't contain "hg", there's no "pip" or
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 13
diff changeset
5 # "easy_install" in Python 2.6 (the version of Holy Build Box) and
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 13
diff changeset
6 # we're running as a standard user. So we have to install Mercurial
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 13
diff changeset
7 # from source.
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 13
diff changeset
8 MERCURIAL=mercurial-5.4.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 13
diff changeset
9 cd /tmp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 13
diff changeset
10 curl https://www.mercurial-scm.org/release/${MERCURIAL}.tar.gz > ${MERCURIAL}.tar.gz
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 13
diff changeset
11 tar xvf ${MERCURIAL}.tar.gz
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 13
diff changeset
12
0
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13 # Activate Holy Build Box environment.
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
14 source /hbb_exe/activate
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
15
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
16 set -x
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17
2
39bdff8f0247 user management in holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 0
diff changeset
18 mkdir /tmp/build
39bdff8f0247 user management in holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 0
diff changeset
19 cd /tmp/build
0
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21 # Holy Build Box defines LDFLAGS as "-L/hbb_exe/lib
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22 # -static-libstdc++". The "-L/hbb_exe/lib" option results in linking
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23 # errors "undefined reference" to `std::__once_callable',
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24 # 'std::__once_call' and '__once_proxy'.
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25 export LDFLAGS=-static-libstdc++
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
26 unset LDPATHFLAGS
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
27 unset SHLIB_LDFLAGS
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
28 unset LD_LIBRARY_PATH
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
29 unset LIBRARY_PATH
34
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 13
diff changeset
30 export PATH=${PATH}:/tmp/${MERCURIAL}/
0
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
31
2
39bdff8f0247 user management in holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 0
diff changeset
32 cp -r /source /tmp/source-writeable
39bdff8f0247 user management in holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 0
diff changeset
33 cmake /tmp/source-writeable \
3
cd1231292eb6 build type in holy build box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
34 -DCMAKE_BUILD_TYPE=$1 -DSTATIC_BUILD=ON \
0
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
35 -DCMAKE_INSTALL_PREFIX=/target
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
36
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
37 make -j`nproc`
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
38
13
b7fa5e51367c don't strip debug binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 12
diff changeset
39 if [ "$1" == "Release" ]; then
b7fa5e51367c don't strip debug binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 12
diff changeset
40 strip ./libOrthancGoogleCloudPlatform.so
b7fa5e51367c don't strip debug binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 12
diff changeset
41 fi
12
42a6a2dd54ff stripping binary in holy build box to reduce binary size
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3
diff changeset
42
0
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
43 make install