0
0
mirror of https://github.com/schwabe/ics-openvpn.git synced 2024-09-19 19:42:29 +02:00

Remove old build instructions/scripts (closes #830)

This commit is contained in:
Arne Schwabe 2018-01-26 18:47:34 +01:00
parent 7080af6853
commit fbb7655b2b
2 changed files with 23 additions and 77 deletions

View File

@ -15,7 +15,7 @@ See the file todo.txt for ideas/not yet implemented features (and the bug track
Build instructions:
- Install sdk, ndk, cmake (e.g. with Android studio)
- Install sdk, ndk, cmake (e.g. with Android studio), swig (3.0+)
Fetch the git submodules (the default urls for the submodules use ssh,
setup your own github ssh key or change the url to http in .gitmodules):
@ -23,42 +23,45 @@ setup your own github ssh key or change the url to http in .gitmodules):
git submodule init
git submodule update
Build the project using "gradle build" (Or use Android Studio).
Android studio tends to the whole build of binaries in its sync gradle
phase to 15 minutes for initial gradle sync are completely normal.
The native build is know not to work under Windows.
The native build should with Windows and Linux but is rarely tested
since my main development platform is Mac Os X
FAQ
Q: Why are you not answering my questions about modifying ics-openvpn/why do not help build my app on top
of ics-openvpn? I thought this is open source.
Q: Why are you not answering my questions about modifying
ics-openvpn/why do not help build my app on top of ics-openvpn? I
thought this is open source.
A: There are many people building/wanting to build commercial VPN clients on top of my of my client. These
client often do not even honour the license my app or the license of OpenVPN. Even if these modified
software does honour the license I don't like doing unpaid work/giving advise for free to commerical
software developers.
A: There are many people building/wanting to build commercial VPN
clients on top of my of my client. These client often do not even
honour the license my app or the license of OpenVPN. Even if these
modified software does honour the license I don't like doing unpaid
work/giving advise for free to commerical software developers.
If you have a legitimate non commercial open source project I will gladly help you but please understand
my initial reservations.
If you have a legitimate non commercial open source project I will
gladly help you but please understand my initial reservations.
Q: How is the OpenVPN version different from normal OpenVPN
A: OpenVPN for Android uses a OpenVPN 2.4 master branch + dual stack client patches.
A git repository of the OpenVPN source code and changes is under:
https://github.com/schwabe/openvpn/
A: OpenVPN for Android uses a OpenVPN master branch + dual stack
client patches. A git repository of the OpenVPN source code and
changes is under: https://github.com/schwabe/openvpn/
Q: what is minivpn?
A: minivpn is only a executable thats links against libopenvpn which is the normal openvpn build as
library. It is done this way so the Android Play/Store apk will treat the library as normal library
and update it on updates of the application. Also the application does not need to take care of
keeping minivpn up to date because it contains no code. For almost all intents and purposes
minivpn + libopenvpn.so is the same as the normal openvpn binary
A: minivpn is only a executable thats links against libopenvpn which
is the normal openvpn build as library. It is done this way so the
Android Play/Store apk will treat the library as normal library and
update it on updates of the application. Also the application does
not need to take care of keeping minivpn up to date because it
contains no code. For almost all intents and purposes minivpn +
libopenvpn.so is the same as the normal openvpn binary
Q: How do I start a VPN by name from an external app?

View File

@ -1,57 +0,0 @@
#!/bin/bash
# Exit on errors
set -e
# Generate git config if the openvpn directory is checked out from git
if [ -e openvpn/.git ]; then
GIT=git
cd openvpn
CONFIGURE_GIT_CHFILES=$($GIT diff-files --name-status -r --ignore-submodules --quiet -- || echo "+")
CONFIGURE_GIT_UNCOMMITTED=$($GIT diff-index --cached --quiet --ignore-submodules HEAD || echo "*")
CONFIGURE_GIT_REVISION=$($GIT rev-parse --symbolic-full-name HEAD | cut -d/ -f3)-$($GIT rev-parse --short=16 HEAD)
echo "#define CONFIGURE_GIT_REVISION \"${CONFIGURE_GIT_REVISION}\"" > config-version.h.tmp; \
echo "#define CONFIGURE_GIT_FLAGS \"${CONFIGURE_GIT_CHFILES}${CONFIGURE_GIT_UNCOMMITTED}\"" >> config-version.h.tmp
if ! [ -f config-version.h ] || ! cmp -s config-version.h.tmp config-version.h; then \
echo "replacing config-version.h"
mv config-version.h.tmp config-version.h
else
rm -f config-version.h.tmp
fi
cd ..
else
echo "Cannot find .git directory in openvpn, aborting"
exit 1
fi
if [ "x$1" = "x" ]; then
ndk-build -j 8 USE_BREAKPAD=0
else
ndk-build $@
fi
if [ $? = 0 ]; then
rm -rf ovpnlibs/
cd libs
mkdir -p ../ovpnlibs/assets
for i in *
do
cp -v $i/nopie_openvpn ../ovpnlibs/assets/nopie_openvpn.$i
cp -v $i/pie_openvpn ../ovpnlibs/assets/pie_openvpn.$i
done
# Removed compiled openssl libs, will use platform so libs
# Reduces size of apk
#
rm -v */libcrypto.so */libssl.so || true
for arch in *
do
builddir=../ovpnlibs/jniLibs/$arch
mkdir -p $builddir
cp -v $arch/*.so $builddir
done
else
exit $?
fi