diff options
Diffstat (limited to 'docs/index.md')
| -rw-r--r-- | docs/index.md | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/docs/index.md b/docs/index.md deleted file mode 100644 index 82858ab..0000000 --- a/docs/index.md +++ /dev/null @@ -1,98 +0,0 @@ ---- -layout: default -title: Home -nav_order: 1 -description: "eduVPN-common documentation." -permalink: / ---- - -## eduVPN-common documentation - -This is the documentation for eduVPN-common, a shared GO library to be used as a common codebase between eduVPN clients. This library is a WIP and is not production ready. - -### Dependencies -#### Linux -To build the GO shared library using Linux you need the following dependencies: - -- [Go](https://go.dev/doc/install) 1.15 or later -- [Gcc](https://gcc.gnu.org/) -- [GNU Make](https://www.gnu.org/software/make/) -- Dependencies for each wrapper you are interested in - -#### Windows -On Windows, you can install gcc and make (or even Go) via MinGW or Cygwin or use WSL. For MinGW: - -1. [Install MinGW](https://www.msys2.org/#installation) (you don't need to install any extra packages yet) and open some - MSYS2 terminal (e.g. from the start menu or one of the installed binaries) -2. Install the [`make`](https://packages.msys2.org/package/make?repo=msys) package (`pacman -S make`) (or - e.g. [`mingw-w64-x86_64-make`](https://packages.msys2.org/package/mingw-w64-x86_64-make?repo=mingw64) and - use `mingw32-make` in the command line) -3. To compile for x86_64: - 1. Install the [`mingw-w64-x86_64-gcc`](https://packages.msys2.org/package/mingw-w64-x86_64-gcc?repo=mingw64) - package - 2. Open the MinGW 64-bit console, via the start menu, or in your current - terminal: `path/to/msys64/msys2_shell.cmd -mingw64 -defterm -no-start -use-full-path` - 3. Run the make commands in the project directory -4. To compile for x86 (32-bit): - 1. Install the [`mingw-w64-i686-gcc`](https://packages.msys2.org/package/mingw-w64-i686-gcc?repo=mingw32) package - 2. Open the MinGW 32-bit console, via the start menu, or in your current - terminal: `path/to/msys64/msys2_shell.cmd -mingw32 -defterm -no-start -use-full-path` - 3. Run the make commands in the project directory - -### Building -Build shared library for current platform: - -```shell -make -``` - -Build shared library for specified OS & architecture (example): - -```shell -make GOOS=windows GOARCH=386 -``` - -To list all platforms supported by cgo, run `go tool dist list`. - -Results will be output in `exports/lib/`. - -Usually you will need to specify the compiler when cross compiling, for example: - -```shell -make GOOS=windows GOARCH=amd64 CC=x86_64-w64-mingw32-gcc -``` - -For example, you can cross compile for Windows from Linux using [MinGW-w64](https://www.mingw-w64.org/downloads/). - -Test Go code: - -```shell -make test-go -``` - -### Testing - -To test the wrappers, issue the following command in a shell (you will need compilers for all wrappers if you do this): - -```shell -make test-wrappers -``` - -Specify `-j` to execute tests in parallel. You can specify specific wrappers to test by appending -e.g. `WRAPPERS="csharp php"`. - -Test both: - -```shell -make test -``` - -Clean built libraries and wrapper builds: - -```shell -make -j clean -``` - -Usually you won't need to do this, as changes in the library should automatically be incorporated in wrappers. -Specify `CLEAN_ALL=1` to also remove downloaded dependencies for some wrappers. You can clean individual wrappers by -executing clean in their directories, or specify `WRAPPERS=...`. |
