aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmanuele Aliberti <ealib@users.noreply.github.com>2022-04-05 12:27:29 +0200
committerGitHub <noreply@github.com>2022-04-05 11:27:29 +0100
commitfb10633a80395b56ad92f0a82adcfbe2ed809cb3 (patch)
tree221e88f2b8a026c631153bbd00bb9cec5f30486e
parent2defc4249d650f0bd43aa33b49b6b20032db43a4 (diff)
build.sh to build.cmd (#2319)
* build.sh to build.cmd convert and adapt for Windows users * remove hardwired GO ARCH * silence cmd.exe * update directions for Windows * Update INSTALL.md Co-authored-by: emanuele.aliberti <emanuele.aliberti@mtka.eu> Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
-rw-r--r--build.cmd51
-rw-r--r--docs/INSTALL.md16
2 files changed, 64 insertions, 3 deletions
diff --git a/build.cmd b/build.cmd
new file mode 100644
index 00000000..9e90622c
--- /dev/null
+++ b/build.cmd
@@ -0,0 +1,51 @@
+@echo off
+
+:ENTRY_POINT
+ setlocal EnableDelayedExpansion
+
+ REM script base dir
+ set SCRIPTDIR=%~dp0
+ set PROJDIR=%SCRIPTDIR:~0,-1%
+
+ REM Put installed packages into ./bin
+ set GOBIN=%PROJDIR%\bin
+
+ set FLAGS=
+
+ REM Check if sources are under Git control
+ if not exist ".git" goto :CHECK_BIN
+
+ REM set BUILD=`git rev-parse --short HEAD \\ ""`
+ FOR /F "tokens=*" %%X IN ('git rev-parse --short HEAD') DO (
+ set BUILD=%%X
+ )
+
+ REM set BRANCH=`(git symbolic-ref --short HEAD \ tr -d \/ ) \\ ""`
+ FOR /F "tokens=*" %%X IN ('git symbolic-ref --short HEAD') DO (
+ set BRANCHRAW=%%X
+ set BRANCH=!BRANCHRAW:/=!
+ )
+ if "%BRANCH%" == "main" set BRANCH=
+
+ set FLAGS=-X github.com/matrix-org/dendrite/internal.branch=%BRANCH% -X github.com/matrix-org/dendrite/internal.build=%BUILD%
+
+:CHECK_BIN
+ if exist "bin" goto :ALL_SET
+ mkdir "bin"
+
+:ALL_SET
+ set CGO_ENABLED=1
+ for /D %%P in (cmd\*) do (
+ go build -trimpath -ldflags "%FLAGS%" -v -o ".\bin" ".\%%P"
+ )
+
+ set CGO_ENABLED=0
+ set GOOS=js
+ set GOARCH=wasm
+ go build -trimpath -ldflags "%FLAGS%" -o bin\main.wasm .\cmd\dendritejs-pinecone
+
+ goto :DONE
+
+:DONE
+ echo Done
+ endlocal \ No newline at end of file
diff --git a/docs/INSTALL.md b/docs/INSTALL.md
index 523c5c7d..ca1316ac 100644
--- a/docs/INSTALL.md
+++ b/docs/INSTALL.md
@@ -34,6 +34,10 @@ If you want to run a polylith deployment, you also need:
* A standalone [NATS Server](https://github.com/nats-io/nats-server) deployment with JetStream enabled
+If you want to build it on Windows, you need `gcc` in the path:
+
+* [MinGW-w64](https://www.mingw-w64.org/)
+
## Building Dendrite
Start by cloning the code:
@@ -45,9 +49,15 @@ cd dendrite
Then build it:
-```bash
-./build.sh
-```
+* Linux or UNIX-like systems:
+ ```bash
+ ./build.sh
+ ```
+
+* Windows:
+ ```dos
+ build.cmd
+ ```
## Install NATS Server