How to install
--------------
Binary packages for Debian Linux and Windows are available
from https://www.dolanghub.de/document/beziehen

Run with Docker
----------------------------
Latest version of DO-Shell can be run directly using Docker. Docker image
is based on Debian stable.

```console
docker run -it docker.dolanghub.de/dosh:latest /usr/bin/dosh
```

How to build from source
------------------------

Source code is available from public git repository at
https://git.dolanghub.de/do/runtime

### Get latest source code

```console
git clone https://git.dolanghub.de/do/runtime.git
```

```console
git submodule update --init --recursive
```

### Build for Debian Linux

1. Install required packages. Required packages can be
found in `build/docker/debian.bookworm/Dockerfile`

    ```console
    apt-get install cmake file g++ bison unixodbc-dev dpkg-dev git libssl-dev libicu-dev odbc-mariadb
    ```

2. Create a subfolder `linux` inside the projects root folder

    ```console
    mkdir linux
    ```

3. Switch to the newly created folder

    ```console
    cd linux
    ```

4. Run cmake

    ```console
    cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo
    ```

5. Compile the project

    ```console
    cmake --build .
    ```

6. Start do shell (dosh)

    ```console
    bin/dosh
    ```

### Build for Windows 10 and later versions
1. Install Visual Studio Community Edition 2019 or newer
with C++ and CMake support.

2. Open a Visual Studio Developer command prompt and navigate
to the root directory of this project.

3. Create a new folder

    ```console
    mkdir vs
    ```

4. Switch to the new folder

    ```console
    cd vs
    ```

5. Run cmake

    a. For 64-Bit build

    ```console
    cmake .. -Ax64
    ```

    b. For 32-Bit build

    ```console
    cmake .. -AWin32
    ```

    CMake will create a file `do.sln` which can be opened
    with Visual Studio. You can also build directly from command line

6. Build from command line

    ```console
    cmake --build . --config Release
    ```

7. Start DO-Shell

    ```console
    .\Release\dosh.exe
    ```

How to contribute
-----------------

You can send pull requests, patches and inspiration to
the following mail address
> contrib@dolanghub.de

You can send bug reports and security concerns to the following
mail address
> bugs@dolanghub.de
