summaryrefslogtreecommitdiffstats
path: root/packaging/utils/compile-and-run-windows.sh
blob: 2d540eee94e78ea15626c28674091b73428ee660 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#!/bin/sh

# On MSYS2, install these dependencies to build netdata:
install_dependencies() {
    pacman -S \
        git cmake ninja clang base-devel msys2-devel \
        libyaml-devel libzstd-devel libutil-linux libutil-linux-devel \
        mingw-w64-x86_64-toolchain mingw-w64-ucrt-x86_64-toolchain \
        mingw64/mingw-w64-x86_64-mold ucrt64/mingw-w64-ucrt-x86_64-mold \
        msys/gdb ucrt64/mingw-w64-ucrt-x86_64-gdb mingw64/mingw-w64-x86_64-gdb \
        msys/zlib-devel mingw64/mingw-w64-x86_64-zlib ucrt64/mingw-w64-ucrt-x86_64-zlib \
        msys/libuv-devel ucrt64/mingw-w64-ucrt-x86_64-libuv mingw64/mingw-w64-x86_64-libuv \
        liblz4-devel mingw64/mingw-w64-x86_64-lz4 ucrt64/mingw-w64-ucrt-x86_64-lz4 \
        openssl-devel mingw64/mingw-w64-x86_64-openssl ucrt64/mingw-w64-ucrt-x86_64-openssl \
        protobuf-devel mingw64/mingw-w64-x86_64-protobuf ucrt64/mingw-w64-ucrt-x86_64-protobuf \
        msys/pcre2-devel mingw64/mingw-w64-x86_64-pcre2 ucrt64/mingw-w64-ucrt-x86_64-pcre2 \
        msys/brotli-devel mingw64/mingw-w64-x86_64-brotli ucrt64/mingw-w64-ucrt-x86_64-brotli \
        msys/ccache ucrt64/mingw-w64-ucrt-x86_64-ccache mingw64/mingw-w64-x86_64-ccache \
        mingw64/mingw-w64-x86_64-go ucrt64/mingw-w64-ucrt-x86_64-go \
        mingw64/mingw-w64-x86_64-nsis \
        msys/libcurl msys/libcurl-devel
}

if [ "${1}" = "install" ]
then
	install_dependencies || exit 1
	exit 0
fi

BUILD_FOR_PACKAGING="Off"
if [ "${1}" = "package" ]
then
	BUILD_FOR_PACKAGING="On"
fi

export PATH="/usr/local/bin:${PATH}"

WT_ROOT="$(pwd)"
BUILD_TYPE="Debug"
NULL=""

if [ -z "${MSYSTEM}" ]; then
   build="${WT_ROOT}/build-${OSTYPE}"
else
   build="${WT_ROOT}/build-${OSTYPE}-${MSYSTEM}"
fi

if [ "$USER" = "vk" ]; then
    build="${WT_ROOT}/build"
fi

set -exu -o pipefail

if [ ! -d "${build}" ]
then
  /usr/bin/cmake -S "${WT_ROOT}" -B "${build}" \
      -G Ninja \
      -DCMAKE_INSTALL_PREFIX="/opt/netdata" \
      -DCMAKE_BUILD_TYPE="${BUILD_TYPE}" \
      -DCMAKE_C_FLAGS="-fstack-protector-all -O0 -ggdb -Wall -Wextra -Wno-char-subscripts -Wa,-mbig-obj -pipe -DNETDATA_INTERNAL_CHECKS=1 -D_FILE_OFFSET_BITS=64 -D__USE_MINGW_ANSI_STDIO=1" \
      -DBUILD_FOR_PACKAGING=${BUILD_FOR_PACKAGING} \
      -DUSE_MOLD=Off \
      -DNETDATA_USER="${USER}" \
      -DDEFAULT_FEATURE_STATE=Off \
      -DENABLE_H2O=Off \
      -DENABLE_ML=On \
      -DENABLE_BUNDLED_JSONC=On \
      -DENABLE_BUNDLED_PROTOBUF=Off \
      -DENABLE_PLUGIN_APPS=On \
      ${NULL}
fi

ninja -v -C "${build}" || ninja -v -C "${build}" -j 1

echo "Stopping service Netdata"
sc stop "Netdata" || echo "Failed"

ninja -v -C "${build}" install || ninja -v -C "${build}" -j 1

# register the event log publisher
cmd.exe //c "$(cygpath -w -a "/opt/netdata/usr/bin/wevt_netdata_install.bat")"

#echo
#echo "Compile with:"
#echo "ninja -v -C \"${build}\" install || ninja -v -C \"${build}\" -j 1"

echo "starting netdata..."
# enable JIT debug with gdb
export MSYS="error_start:$(cygpath -w /usr/bin/gdb)"

rm -rf /opt/netdata/var/log/netdata/*.log || echo
/opt/netdata/usr/bin/netdata -D