Optimization (#4426)
* Optimization Add security flags to CFLAGS and LDFLAGS. Use local variables instead of global variables. Clean up and simplify the script. * Optimizition Add security flags to CFLAGS and LDFLAGS. Simplify and organize the file. Makefile * Optimization Add security flags to CFLAGS and LDFLAGS. Use local variables instead of global variables. Clean up and simplify the script. * Optimization
This commit is contained in:
@@ -1,32 +1,37 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
set -o errexit
|
set -o errexit
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
set -o nounset
|
set -o nounset
|
||||||
|
|
||||||
# Set magic variables for current file & dir
|
# Set magic variables for current file & dir
|
||||||
__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
__file="${__dir}/$(basename "${BASH_SOURCE[0]}")"
|
__file="${__dir}/$(basename "${BASH_SOURCE[0]}")"
|
||||||
__base="$(basename ${__file} .sh)"
|
__base="$(basename "${__file}" .sh)"
|
||||||
|
|
||||||
if [[ ! -d $NDK_HOME ]]; then
|
if [[ ! -d $NDK_HOME ]]; then
|
||||||
echo "Android NDK: NDK_HOME not found. please set env \$NDK_HOME"
|
echo "Android NDK: NDK_HOME not found. please set env \$NDK_HOME"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
TMPDIR=$(mktemp -d)
|
TMPDIR=$(mktemp -d)
|
||||||
clear_tmp () {
|
clear_tmp () {
|
||||||
rm -rf $TMPDIR
|
rm -rf "$TMPDIR"
|
||||||
}
|
}
|
||||||
trap 'echo -e "Aborted, error $? in command: $BASH_COMMAND"; trap ERR; clear_tmp; exit 1' ERR INT
|
trap 'echo -e "Aborted, error $? in command: $BASH_COMMAND"; trap ERR; clear_tmp; exit 1' ERR INT
|
||||||
install -m644 $__dir/tun2socks.mk $TMPDIR/
|
|
||||||
pushd $TMPDIR
|
install -m644 "$__dir/tun2socks.mk" "$TMPDIR/"
|
||||||
ln -s $__dir/badvpn badvpn
|
pushd "$TMPDIR"
|
||||||
ln -s $__dir/libancillary libancillary
|
ln -s "$__dir/badvpn" badvpn
|
||||||
|
ln -s "$__dir/libancillary" libancillary
|
||||||
$NDK_HOME/ndk-build \
|
$NDK_HOME/ndk-build \
|
||||||
NDK_PROJECT_PATH=. \
|
NDK_PROJECT_PATH=. \
|
||||||
APP_BUILD_SCRIPT=./tun2socks.mk \
|
APP_BUILD_SCRIPT=./tun2socks.mk \
|
||||||
APP_ABI=all \
|
APP_ABI=all \
|
||||||
APP_PLATFORM=android-21 \
|
APP_PLATFORM=android-21 \
|
||||||
NDK_LIBS_OUT=$TMPDIR/libs \
|
NDK_LIBS_OUT="$TMPDIR/libs" \
|
||||||
NDK_OUT=$TMPDIR/tmp \
|
NDK_OUT="$TMPDIR/tmp" \
|
||||||
APP_SHORT_COMMANDS=false LOCAL_SHORT_COMMANDS=false -B -j4
|
APP_SHORT_COMMANDS=false LOCAL_SHORT_COMMANDS=false -B -j4
|
||||||
cp -r $TMPDIR/libs $__dir/
|
cp -r "$TMPDIR/libs" "$__dir/"
|
||||||
popd
|
popd
|
||||||
rm -rf $TMPDIR
|
rm -rf "$TMPDIR"
|
||||||
|
|||||||
21
tun2socks.mk
21
tun2socks.mk
@@ -15,16 +15,17 @@
|
|||||||
#
|
#
|
||||||
LOCAL_PATH := $(call my-dir)
|
LOCAL_PATH := $(call my-dir)
|
||||||
ROOT_PATH := $(LOCAL_PATH)
|
ROOT_PATH := $(LOCAL_PATH)
|
||||||
|
|
||||||
########################################################
|
########################################################
|
||||||
## libancillary
|
## libancillary
|
||||||
########################################################
|
########################################################
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
ANCILLARY_SOURCE := fd_recv.c fd_send.c
|
ANCILLARY_SOURCE := fd_recv.c fd_send.c
|
||||||
LOCAL_MODULE := libancillary
|
LOCAL_MODULE := libancillary
|
||||||
#LOCAL_CFLAGS += -I$(LOCAL_PATH)/libancillary
|
|
||||||
LOCAL_C_INCLUDES := $(LOCAL_PATH)/libancillary
|
LOCAL_C_INCLUDES := $(LOCAL_PATH)/libancillary
|
||||||
LOCAL_SRC_FILES := $(addprefix libancillary/, $(ANCILLARY_SOURCE))
|
LOCAL_SRC_FILES := $(addprefix libancillary/, $(ANCILLARY_SOURCE))
|
||||||
include $(BUILD_STATIC_LIBRARY)
|
include $(BUILD_STATIC_LIBRARY)
|
||||||
|
|
||||||
########################################################
|
########################################################
|
||||||
## tun2socks
|
## tun2socks
|
||||||
########################################################
|
########################################################
|
||||||
@@ -34,7 +35,8 @@ LOCAL_CFLAGS += -DBADVPN_THREADWORK_USE_PTHREAD -DBADVPN_LINUX -DBADVPN_BREACTOR
|
|||||||
LOCAL_CFLAGS += -DBADVPN_USE_SIGNALFD -DBADVPN_USE_EPOLL
|
LOCAL_CFLAGS += -DBADVPN_USE_SIGNALFD -DBADVPN_USE_EPOLL
|
||||||
LOCAL_CFLAGS += -DBADVPN_LITTLE_ENDIAN -DBADVPN_THREAD_SAFE
|
LOCAL_CFLAGS += -DBADVPN_LITTLE_ENDIAN -DBADVPN_THREAD_SAFE
|
||||||
LOCAL_CFLAGS += -DNDEBUG -DANDROID
|
LOCAL_CFLAGS += -DNDEBUG -DANDROID
|
||||||
LOCAL_CFLAGS += -I
|
LOCAL_CFLAGS += -fstack-protector-strong -D_FORTIFY_SOURCE=2
|
||||||
|
LOCAL_LDFLAGS := -Wl,-z,relro,-z,now
|
||||||
LOCAL_STATIC_LIBRARIES := libancillary
|
LOCAL_STATIC_LIBRARIES := libancillary
|
||||||
LOCAL_C_INCLUDES := \
|
LOCAL_C_INCLUDES := \
|
||||||
$(LOCAL_PATH)/badvpn/lwip/src/include/ipv4 \
|
$(LOCAL_PATH)/badvpn/lwip/src/include/ipv4 \
|
||||||
@@ -43,6 +45,7 @@ LOCAL_C_INCLUDES := \
|
|||||||
$(LOCAL_PATH)/badvpn/lwip/custom \
|
$(LOCAL_PATH)/badvpn/lwip/custom \
|
||||||
$(LOCAL_PATH)/badvpn \
|
$(LOCAL_PATH)/badvpn \
|
||||||
$(LOCAL_PATH)/libancillary
|
$(LOCAL_PATH)/libancillary
|
||||||
|
|
||||||
TUN2SOCKS_SOURCES := \
|
TUN2SOCKS_SOURCES := \
|
||||||
base/BLog_syslog.c \
|
base/BLog_syslog.c \
|
||||||
system/BReactor_badvpn.c \
|
system/BReactor_badvpn.c \
|
||||||
@@ -107,18 +110,10 @@ TUN2SOCKS_SOURCES := \
|
|||||||
tun2socks/SocksUdpGwClient.c \
|
tun2socks/SocksUdpGwClient.c \
|
||||||
udpgw_client/UdpGwClient.c \
|
udpgw_client/UdpGwClient.c \
|
||||||
socks_udp_client/SocksUdpClient.c
|
socks_udp_client/SocksUdpClient.c
|
||||||
|
|
||||||
LOCAL_MODULE := tun2socks
|
LOCAL_MODULE := tun2socks
|
||||||
LOCAL_LDLIBS := -ldl -llog
|
LOCAL_LDLIBS := -ldl -llog
|
||||||
LOCAL_LDFLAGS=-Wl,--build-id=none
|
LOCAL_LDFLAGS := -Wl,--build-id=none
|
||||||
LOCAL_SRC_FILES := $(addprefix badvpn/, $(TUN2SOCKS_SOURCES))
|
LOCAL_SRC_FILES := $(addprefix badvpn/, $(TUN2SOCKS_SOURCES))
|
||||||
LOCAL_BUILD_SCRIPT := BUILD_EXECUTABLE
|
include $(BUILD_EXECUTABLE)
|
||||||
LOCAL_MAKEFILE := $(local-makefile)
|
|
||||||
$(call check-defined-LOCAL_MODULE,$(LOCAL_BUILD_SCRIPT))
|
|
||||||
$(call check-LOCAL_MODULE,$(LOCAL_MAKEFILE))
|
|
||||||
$(call check-LOCAL_MODULE_FILENAME)
|
|
||||||
# we are building target objects
|
|
||||||
my := TARGET_
|
|
||||||
$(call handle-module-filename,lib,$(TARGET_SONAME_EXTENSION))
|
|
||||||
$(call handle-module-built)
|
|
||||||
LOCAL_MODULE_CLASS := EXECUTABLE
|
|
||||||
include $(BUILD_SYSTEM)/build-module.mk
|
include $(BUILD_SYSTEM)/build-module.mk
|
||||||
|
|||||||
Reference in New Issue
Block a user