annotate Resources/holy-build-box-internal.sh @ 47:ad348691c27d

fix holy-build-box
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 16 Aug 2022 09:48:04 +0200
parents eb09eb1251b9
children
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 \
47
ad348691c27d fix holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 34
diff changeset
34 -DUSE_LEGACY_BOOST=ON \
3
cd1231292eb6 build type in holy build box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
35 -DCMAKE_BUILD_TYPE=$1 -DSTATIC_BUILD=ON \
0
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
36 -DCMAKE_INSTALL_PREFIX=/target
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
37
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
38 make -j`nproc`
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
39
13
b7fa5e51367c don't strip debug binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 12
diff changeset
40 if [ "$1" == "Release" ]; then
b7fa5e51367c don't strip debug binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 12
diff changeset
41 strip ./libOrthancGoogleCloudPlatform.so
b7fa5e51367c don't strip debug binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 12
diff changeset
42 fi
12
42a6a2dd54ff stripping binary in holy build box to reduce binary size
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3
diff changeset
43
0
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
44 make install