1
0
mirror of https://github.com/SoftEtherVPN/SoftEtherVPN.git synced 2024-11-06 09:40:41 +03:00

Merge pull request #1081 from metalefty/describe_cmake_flags

Describe CMake options added by myself
This commit is contained in:
Ilya Shipitsin 2020-03-20 18:43:16 +05:00 committed by GitHub
commit 3b00d4c56b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 58 additions and 25 deletions

View File

@ -1,5 +1,5 @@
SoftEther VPN is developed by SoftEther VPN Project at University of Tsukuba. SoftEther VPN is developed by SoftEther VPN Project at University of Tsukuba.
http://www.softether.org/ https://www.softether.org/
AUTHORS OF SOFTETHER VPN AUTHORS OF SOFTETHER VPN
------------------------ ------------------------
@ -89,6 +89,7 @@ CONTRIBUTORS:
- Johan de Vries <devries@wivion.nl> - Johan de Vries <devries@wivion.nl>
- Josh Soref <https://github.com/jsoref> - Josh Soref <https://github.com/jsoref>
- Joshua Perry <josh@6bit.com> - Joshua Perry <josh@6bit.com>
- Koichiro Iwao <meta@FreeBSD.org>
- Luiz Eduardo Gava <luiz.gava@procempa.com.br> - Luiz Eduardo Gava <luiz.gava@procempa.com.br>
- macvk <tutumbul@gmail.com> - macvk <tutumbul@gmail.com>
- Maks Naumov <maksqwe1@ukr.net> - Maks Naumov <maksqwe1@ukr.net>
@ -134,5 +135,5 @@ JOIN THE SOFTETHER VPN DEVELOPMENT
Want to become a contributor? Please send us a patch. Want to become a contributor? Please send us a patch.
See also: SoftEther VPN Patch Acceptance Policy See also: SoftEther VPN Patch Acceptance Policy
http://www.softether.org/5-download/src/9.patch https://www.softether.org/5-download/src/9.patch

6
configure vendored
View File

@ -21,8 +21,12 @@ if [ ! -d "tmp" ]; then
mkdir tmp mkdir tmp
fi fi
if [ ! -z ${CMAKE_FLAGS+x} ]; then
CMAKE_FLAGS="${CMAKE_FLAGS}"
fi
if [ ! -z ${CMAKE_INSTALL_PREFIX+x} ]; then if [ ! -z ${CMAKE_INSTALL_PREFIX+x} ]; then
CMAKE_FLAGS="-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}" CMAKE_FLAGS="-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} ${CMAKE_FLAGS}"
fi fi
if [ -z ${OPENSSL_ROOT_DIR} ]; then if [ -z ${OPENSSL_ROOT_DIR} ]; then

View File

@ -5,6 +5,7 @@ This document describes how to build SoftEtherVPN for UNIX based Operating syste
* [Install Requirements on Debian/Ubuntu](#install-requirements-on-debianubuntu) * [Install Requirements on Debian/Ubuntu](#install-requirements-on-debianubuntu)
* [Install Requirements on macOS](#install-requirements-on-macos) * [Install Requirements on macOS](#install-requirements-on-macos)
- [Build from source code and install](#build-from-source-code-and-install) - [Build from source code and install](#build-from-source-code-and-install)
- [Additional Build Options](#additional-build-options)
- [How to Run SoftEther](#how-to-run-softether) - [How to Run SoftEther](#how-to-run-softether)
* [Start/Stop SoftEther VPN Server](#startstop-softether-vpn-server) * [Start/Stop SoftEther VPN Server](#startstop-softether-vpn-server)
* [Start/Stop SoftEther VPN Bridge](#startstop-softether-vpn-bridge) * [Start/Stop SoftEther VPN Bridge](#startstop-softether-vpn-bridge)
@ -18,18 +19,15 @@ This document describes how to build SoftEtherVPN for UNIX based Operating syste
You need to install the following software to build SoftEther VPN for UNIX. You need to install the following software to build SoftEther VPN for UNIX.
- Linux, FreeBSD, Solaris or Mac OS X. - [CMake](https://cmake.org)
- GNU Compiler Collection (gcc) and binary utilities. *** - C compiler (GCC, Clang, etc)
- GNU Make (gmake). - C Library (BSD libc, GNU libc, musl libc, etc)
- GNU C Library (glibc). - POSIX threads library (pthread)
- POSIX Threads (pthread). - OpenSSL or LibreSSL (crypto, ssl)
- OpenSSL (crypto, ssl). - make (GNU make, BSD make, etc)
- libiconv. - libiconv
- readline. - readline
- ncurses. - ncurses
*It has been noted that clang is also supported as an alternative to gcc.*
## Install requirements on Centos/RedHat ## Install requirements on Centos/RedHat
@ -66,7 +64,7 @@ This will compile and install SoftEther VPN Server, Bridge and Client binaries u
If any error occurs, please check the above requirements. If any error occurs, please check the above requirements.
# Build on musl-based linux # Build on musl-based linux
To build the programs from the source code when using musl as libc, run the following commands: To build the programs from the source code when using musl as libc, run the following commands:
@ -82,6 +80,38 @@ make -C tmp install
Building without USE_MUSL environment variable set compiles, but produced executables exhibit bad run-time behaviour. Building without USE_MUSL environment variable set compiles, but produced executables exhibit bad run-time behaviour.
# Additional Build Options
There are some additional build options useful if you're a distro package maintainer and creating a package of SoftEther VPN. It is recommended that you only specify these options when you understand what happens.
## Specify log, config, PID directories
By default, SoftEther VPN writes out all files such as logs, config files, PID files under the same directory as `vpnserver`, `vpnbridge`, `vpnclient` executables. This behaviour is suitable when [using SoftEther without installation](#using-softether-without-installation) however not appropriate using with installation.
Usually PID files are to put in `/var/run` or `/run`. Logs are `/var/log`. Other variable state information files including config files are `/var/lib` or `/var/db`.
These directories can be changed at compile-time by specifying via CMake variables.
* `SE_PIDDIR` - PID directory
* `SE_LOGDIR` - root log directory
* `SE_DBDIR` - config files and variable state directory
To specify directories, perform `./configure` like below.
```bash
CMAKE_FLAGS="-DSE_PIDDIR=/run/softether -DSE_LOGDIR=/var/log/softether -DSE_DBDIR=/var/lib/softether" ./configure
```
Please note that these directories are not created automatically after installation. Make sure to create these directories before starting SoftEther VPN Server, Bridge or Client.
## Build without [cpu_features](https://github.com/google/cpu_features)
SoftEther VPN uses cpu_features library to retrieve CPU features such as available processor instructions. However, cpu_features is not available on some architectures. Whether to build with cpu_features is auto detected but autodetection is not so smart.
If you want to build without cpu_features explicitly, perform `./configure` like below.
```bash
CMAKE_FLAGS="-DSKIP_CPU_FEATURES" ./configure
```
# How to Run SoftEther # How to Run SoftEther
## Start/Stop SoftEther VPN Server ## Start/Stop SoftEther VPN Server
@ -107,9 +137,7 @@ vpncmd
Or you can also use VPN Server Manager GUI Tool on other Windows PC to Or you can also use VPN Server Manager GUI Tool on other Windows PC to
connect to the VPN Server remotely. You can download the GUI Tool connect to the VPN Server remotely. You can download the GUI Tool
from http://www.softether-download.com/. from https://www.softether-download.com/.
## Start/Stop SoftEther VPN Bridge ## Start/Stop SoftEther VPN Bridge
@ -135,7 +163,7 @@ vpncmd
Or you can also use VPN Server Manager GUI Tool on other Windows PC to Or you can also use VPN Server Manager GUI Tool on other Windows PC to
connect to the VPN Bridge remotely. You can download the GUI Tool connect to the VPN Bridge remotely. You can download the GUI Tool
from http://www.softether-download.com/. from https://www.softether-download.com/.
## Start/Stop SoftEther VPN Client ## Start/Stop SoftEther VPN Client
@ -161,7 +189,7 @@ vpncmd
Or you can also use VPN Client Manager GUI Tool on other Windows PC to Or you can also use VPN Client Manager GUI Tool on other Windows PC to
connect to the VPN Client remotely. You can download the GUI Tool connect to the VPN Client remotely. You can download the GUI Tool
from http://www.softether-download.com/. from https://www.softether-download.com/.
# About HTML5-based Modern Admin Console and JSON-RPC API Suite # About HTML5-based Modern Admin Console and JSON-RPC API Suite
@ -205,4 +233,4 @@ In this case please do not run the `make install` command after compiling the so
************************************ ************************************
Thank You Using SoftEther VPN ! Thank You Using SoftEther VPN !
By SoftEther VPN Open-Source Project By SoftEther VPN Open-Source Project
http://www.softether.org/ https://www.softether.org/

View File

@ -74,4 +74,4 @@ Download Links:
************************************ ************************************
Thank You Using SoftEther VPN ! Thank You Using SoftEther VPN !
By SoftEther VPN Open-Source Project By SoftEther VPN Open-Source Project
http://www.softether.org/ https://www.softether.org/

View File

@ -332,7 +332,7 @@ VPN Gate Academic Experiment Project is an online service operated for just
the academic research purpose at the graduate school of University of Tsukuba, the academic research purpose at the graduate school of University of Tsukuba,
Japan. The purpose of this research is to expend our knowledge about the Japan. The purpose of this research is to expend our knowledge about the
"Global Distributed Public VPN Relay Server" (GDPVRS) technology. For details, "Global Distributed Public VPN Relay Server" (GDPVRS) technology. For details,
please visit http://www.vpngate.net/. please visit https://www.vpngate.net/.
5.2. About VPN Gate Service 5.2. About VPN Gate Service
SoftEther VPN Server and SoftEther VPN Client may contain "VPN Gate Service" SoftEther VPN Server and SoftEther VPN Client may contain "VPN Gate Service"
@ -468,7 +468,7 @@ Gate Service's user illegally abused your VPN Gate Service and you have to
decode the packet logs in order to comply the laws), contact the administrator decode the packet logs in order to comply the laws), contact the administrator
of the VPN Gate Academic Experiment Service at Graduate School of University of the VPN Gate Academic Experiment Service at Graduate School of University
of Tsukuba, Japan. You can find the contact address at of Tsukuba, Japan. You can find the contact address at
http://www.vpngate.net/. The administrator of VPN Gate Service will respond to https://www.vpngate.net/. The administrator of VPN Gate Service will respond to
decode the packet logs if there is an appropriate and legal request from court decode the packet logs if there is an appropriate and legal request from court
or other judicial authorities, according to laws. or other judicial authorities, according to laws.