wwivbbs / wwiv

WWIV BBS Software v5
http://www.wwivbbs.org
Other
186 stars 71 forks source link
bbs bulletin-board bulletinboard cpp11 cpp17 fidonet ftn retro wwiv wwivnet

WWIV BBS

WWIV is compiled with the following compilers:


Building WWIV BBS


We prefer contributors to FORK wwivbbs repositories to their account and work from there.

Building on Windows

Installing Git

You will need Git installed. You can use the GitHub Desktop GUI, but it's also easy to use the command line tool directly. You'll need to download Git and install it. Make sure the git command is in your PATH.

If you are using GitHub Desktop, this is likely in the folder: "Documents\GitHub\WWIV". Otherwise just create a directory and clone your fork. You can follow instructions that are written by GitHub Here. Just make sure that when you clone the repo, you have "Recurse Submodules" specified in the tool, or using --recurse-submodules on the command line.

Download and Install Visual Studio

WWIV is compiled with the VS2019 compiler for windows. You can download Microsoft Visual Studio 2019 Community

Choose to install the Desktop development with C++ workload. You also may want to optionally install the following "Individual Components":

   Git For Windows (Only if you do not have this already)
   GitHub extension for Visual Studio

Build WWIV (Windows)

Building on Linux

This only builds the binaries, it does NOT include the supporting files. Please follow the Linux Installation instructions under Steps to install the software for first installing the base system.

NOTE: Do these steps as a non-root user; your BBS user would be the easiest from a file permissions perspective later on. root should never be used to compile binaries.

Install pre-requisite software

Package Comments
git to grab the source code for compiling
ncurses ncurses-devel, libncurses5-dev, etc depending on your distro
zlib1g-dev or zlib-dev depending on your distro
cmake 3.18 or later (3.22 or later if using arm64 or aarch64)
make for cryptlib
ninja-build 1.8 or later, earlier versions probably work too
g++ 8.3.0 or later (easiest to install via build-essential on debian/ubuntu)

If you are on debian or ubuntu, you can use the /builds/linux/install-prereqs.sh script to ensure that the right software is installed. This command should be executed as root (using sudo)

WWIV Binaries

Here's the list of binaries that will be built in the build directory:

Getting the source from GitHub

If you plan to have an active repo, we prefer contributors to FORK WWIVBBS repositories to their account and work from there.

Compiling WWIV

Now change directory to the wwiv directory where you cloned the repository and run the following:

  mkdir _build
  cd _build 
  ../cmake-config.sh 
  cmake --build .

Copy all of the files newly built, or symlinks to them from your WWIV base install i.e. in /opt/wwiv/ (assuming the source is in $HOME/git/wwiv now.)

 # This should be done as the wwiv user who has the source code.
 cd /opt/wwiv
 ln -s $HOME/git/wwiv/builds/tools/linux/use-built-bin.sh

 export BUILT_BIN=$HOME/out/wwiv
 ./use-built-bin.sh ${BUILT_BIN} bbs wwivd wwivconfig network network?

Out of Source Build warning

If you get an error about needing to do an out of source build, please make sure that you are executing the cmake command from a directory that is not the same as your source code, such as a subdirectory called _b or _build or even a different directory all together. I use /home/rushfan/out/wwiv myself.

Once you get a warning about this, you will need to clean the build so you need to remove the following file and directory:

Building on ChromeOS/ChromeBook


Installation and SysOp Instructions

All the installation and SysOp administration information you need is in the WWIV Documentation


Get Involved

If you want to help out with WWIV BBS: