WWIV BBS Software v5
Clone or download
wwiv Merge pull request #1161 from MRGEffitas/bad_filenames
Added missing commas into bad_filename
Latest commit 41dc3c2 Nov 18, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bbs Added missing commas into bad_filename Nov 18, 2018
bbs_test Add bindir(), bbsdir(), configdir() and logdir() to a() Sep 1, 2018
brware/bredit remove old broken aliases May 4, 2014
builds force newer cmake and C++17 Sep 3, 2018
cmake define _DEBUG on Debug Builds with CMake Sep 16, 2018
core Start of cleanup in file areas Sep 15, 2018
core_test fix some gcc6 warnings Sep 3, 2018
deps remove abseil-cpp, we're probably not going to use it soon Aug 16, 2018
local_io reformat Aug 26, 2018
localui Fix crash when maxv is 0 Sep 7, 2018
misc added new zip-city data created by GP. Also included his tool he wrot… Jun 18, 2014
netdocs Removed # modifier from callout.net Jul 6, 2018
network Pass all standard args to network binaries Sep 1, 2018
network1 Get rid of dir,fname version of all file classes. Aug 4, 2018
network2 Be consistent on message when writing to dead.net Sep 3, 2018
network3 Add --configdir, start to use bindir Sep 1, 2018
networkb make quiet be more quiet Sep 1, 2018
networkb_test Add --configdir, start to use bindir Sep 1, 2018
networkc cleanup nsl Sep 1, 2018
networkf Be consistent on message when writing to dead.net Sep 3, 2018
scripts add support for binkp m_file crc Oct 14, 2016
sdk Fix /C chat Sep 11, 2018
sdk_test Added tests for Allow Sep 2, 2018
specs update network version to 53 from51 Jul 6, 2018
wwivconfig Only execute beginday event when asked to. Sep 6, 2018
wwivd Only execute beginday event when asked to. Sep 6, 2018
wwivd_test Get rid of dir,fname version of all file classes. Aug 4, 2018
wwivutil Add --configdir, start to use bindir Sep 1, 2018
.clang-format Code cleanups and updating todo list Jun 29, 2018
.gitignore added sample file, updated gitignore Nov 20, 2017
.gitmodules remove abseil-cpp, we're probably not going to use it soon Aug 16, 2018
.lgtm create .lgtm file Aug 10, 2016
CMakeLists.txt Update Comment. Sep 3, 2018
CMakeSettings.json a couple of missing files, low priority Nov 20, 2017
Doxyfile try to make real docs for textfile. Dec 25, 2016
LICENSE Create LICENSE Feb 3, 2018
MAINTAINERS add MAINTAINERS file for lgtm.io Aug 10, 2016
README.md update README.md Sep 11, 2018
asan.sh add way to disable logging Jan 13, 2017
clean.cmd more scripts Feb 10, 2017
clean.sh clean moar Dec 27, 2017
contributing.md --rebase can hurt people. make it easy Jul 22, 2016
debug.sh Force out of source builds Jan 8, 2018
eclipse.sh add script to generate eclipse project for wwiv Jan 1, 2015
todo.md update todo list Sep 13, 2018

README.md

WWIV BBS

WWIV is compiled with the following compilers:

  • MS Visual C++ 2017 Community Edition.
  • GCC 6.3 (or later) on Linux (Debian9, Centos7 (with GCC 7) or Ubuntu)

You will need CMake 3.9 or later to build WWIV.


Building WWIV BBS


Windows Builds

This assumes you already have github desktop installed. We prefer contributors to FORK WWIVBBS repositories to their account and work from there. If you're on Windows this is likely in this folder: "Documents\GitHub\WWIV"

Download Visual Studio

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

Install VS2017

Choose a custom install and select the following components:

C++
   Common Tools for C++
Common Tools
   Git Fow Windows <- You should have this already
   GitHub for VS

Build WWIV

  • From the VS2017 menu, select File and then Open from Source Control On the bottom, you should see your local GIT repositories already. Above that you will see Login to GitHub, do that.
  • Now in your Local repositories (Documents\GitHub\WWIV), open the folder WWIV in Visual Studio. It should recognize the CMake build and be able to build WWIV.
  • When VS says "READY" on the bottom, go to Build on the menu and select Build Solution(F7). If you have any build errors, run Build one more time and see if that resolves itself as there can be timing issues on some machines.
  • You select whether or not you are building DEBUG or RELEASE on the toolbar. Those binaries and other built files will be places in a \debug and \release folder along side your github source files. ex: Documents\GitHub\WWIV\debug or Documents\GitHub\WWIV\release.

Linux Builds

This only builds the binaries, it does NOT include the supporting files. Please follow the Linux Installation instructions for getting the supporting files in place.

** 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.

Things you need:

Package Comments
git to grab the source code for compiling
ncurses ncurses-devel, libncurses5-dev, etc depending on your distro
cmake 3.9 or later
make (unless you want to experiment with ninja)
g++ 6.3.0 or later

Build Steps

There are two primary ways to get the files for building; download a zip of the project or clone the repo. In both cases, you will end up with the following files in the build directory:

  • bbs/bbs
  • wwivconfig/wwivconfig
  • wwivd/wwivd
  • wwivutil/wwivutil
  • network/network
  • networkb/networkb
  • networkc/networkc
  • networkf/networkf
  • network1/network1
  • network2/network2
  • network3/network3

Using a downloaded .zip (no git required)

  • If you don't want to worry about managing a git repo and just want the files, you can download the zipped project file from GitHub. Go to https://github.com/wwivbbs/wwiv and click on the Download Zip Button
  • unzip the zip file. It will create a wwiv-master directory in your current location
  • navigate to wwiv-master

Using a git repository

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

  • Fork, then clone your fork

    # Create a directory for your fork's clone.
    mkdir git
    chdir git
    # Clone your fork into the current directory (git).
    # Use your GitHub username instead of <em>YOUR-USERNAME</em>
    git clone https://github.com/<em>YOUR-USERNAME</em>/wwiv.git
  • Navigate to wwiv

Compiling WWIV

No matter which way you used (source zip or git repository), compiling WWIV is the same.

  • If you want to create a debug version, run ./debug.sh instead of cmake .. in the next step.
  • run the following: mkdir _build && cd _build && cmake .. && cmake --build . -- -j$(cat /proc/cpuinfo | awk '/^processor/{print $3}' | wc -l) (don't forget the ".")

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: