mirror of
https://github.com/SELinuxProject/selinux
synced 2024-12-21 21:50:00 +00:00
cacf51cef0
The Android build does not like the symbol versioning introduced
by commit 8147bc7; the build fails with:
host SharedLib: libsepol (out/host/linux-x86/obj/lib/libsepol.so)
prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.15-4.8//x86_64-linux/bin/ld: error: symbol cil_build_policydb has undefined version
prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.15-4.8//x86_64-linux/bin/ld: error: symbol cil_build_policydb has undefined version LIBSEPOL_1.1
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Omit the versioned symbols and simply use the current interfaces
when building on Android.
Commit 36f62b7
also broke the Android build by moving secilc out of
libsepol, because the libsepol headers were not installed by the Android.mk
file.
Export the required libsepol headers for use by secilc and adjust secilc
to pick them up from the right location on Android.
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
32 lines
603 B
Makefile
32 lines
603 B
Makefile
LOCAL_PATH:= $(call my-dir)
|
|
|
|
common_src_files := secilc.c
|
|
|
|
common_cflags := \
|
|
-Wall -Wshadow -O2 \
|
|
-pipe -fno-strict-aliasing \
|
|
-Wno-return-type
|
|
|
|
ifeq ($(HOST_OS), darwin)
|
|
common_cflags += -DDARWIN
|
|
endif
|
|
|
|
common_includes := \
|
|
$(LOCAL_PATH)/../libsepol/cil/include/ \
|
|
$(LOCAL_PATH)/../libsepol/include/ \
|
|
|
|
##
|
|
# secilc
|
|
#
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := secilc
|
|
LOCAL_MODULE_TAGS := optional
|
|
LOCAL_C_INCLUDES := $(common_includes)
|
|
LOCAL_CFLAGS := $(common_cflags)
|
|
LOCAL_SRC_FILES := secilc.c
|
|
LOCAL_SHARED_LIBRARIES := libsepol
|
|
LOCAL_MODULE_CLASS := EXECUTABLES
|
|
|
|
include $(BUILD_HOST_EXECUTABLE)
|