build.sh to build.cmd
* 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
ADD
build.cmd
+@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

MODIFY
docs/INSTALL.md
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,10 +49,16 @@ cd dendrite
Then build it:
+* Linux or UNIX-like systems:
```bash
./build.sh
```
+* Windows:
+ ```dos
+ build.cmd
+ ```
+
## Install NATS Server
Follow the [NATS Server installation instructions](https://docs.nats.io/running-a-nats-service/introduction/installation) and then [start your NATS deployment](https://docs.nats.io/running-a-nats-service/introduction/running).

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>