Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Open sidebar
VideoLAN
VLC-Android
Commits
fe1ffba9
Commit
fe1ffba9
authored
Feb 05, 2015
by
Jean-Baptiste Kempf
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Move generation of iomx and anw in the Android.mk
And call it from compile-libvlc.sh
parent
836c1fe6
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
47 additions
and
33 deletions
+47
-33
Makefile
Makefile
+0
-24
compile-libvlc.sh
compile-libvlc.sh
+8
-3
libvlc/jni/Android.mk
libvlc/jni/Android.mk
+39
-6
No files found.
Makefile
View file @
fe1ffba9
...
...
@@ -12,23 +12,6 @@ JAVA_SOURCES+=$(shell find $(APP_SRC)/res -name "*.xml" -o -name "*.png")
JNI_SOURCES
=
$(SRC)
/jni/
*
.c
$(SRC)
/jni/
*
.h
LIBVLC_LIBS
=
libvlcjni
ifneq
($(HAVE_64),1)
# Can't link with 32bits symbols.
# Not a problem since MediaCodec should work on 64bits devices (android-21)
LIBVLC_LIBS
+=
libiomx.14 libiomx.13 libiomx.10
endif
# The following iomx libs are used for DEBUG only.
# (after android Jelly Bean, we prefer to use MediaCodec instead of iomx)
#LIBVLC_LIBS += libiomx.19 libiomx.18
LIBVLC_LIBS
+=
libanw.10 libanw.13 libanw.14 libanw.18 libanw.21
LIBVLCJNI
=
$(
addprefix
$(SRC)
/obj/local/
$(ARCH)
/,
$(
addsuffix
.so,
$(LIBVLC_LIBS)
))
PRIVATE_LIBDIR
=
android-libs
PRIVATE_LIBS
=
$(PRIVATE_LIBDIR)
/libstagefright.so
$(PRIVATE_LIBDIR)
/libmedia.so
$(PRIVATE_LIBDIR)
/libutils.so
$(PRIVATE_LIBDIR)
/libcutils.so
$(PRIVATE_LIBDIR)
/libbinder.so
$(PRIVATE_LIBDIR)
/libui.so
$(PRIVATE_LIBDIR)
/libhardware.so
ANT_OPTS
+=
-v
VERBOSE
=
GEN
=
...
...
@@ -57,13 +40,6 @@ endef
$(VLC_APK)
:
$(LIBVLCJNI) $(JAVA_SOURCES)
$(
call
build_apk
)
$(PRIVATE_LIBDIR)/%.so
:
$(PRIVATE_LIBDIR)/%.c
$(GEN)$(TARGET_TUPLE)
-gcc
$<
-shared
-o
$@
--sysroot
=
$(SYSROOT)
$(PRIVATE_LIBDIR)/%.c
:
$(PRIVATE_LIBDIR)/%.symbols
$(VERBOSE)
rm
-f
$@
$(GEN)
for
s
in
`
cat
$<
`
;
do
echo
"void
$$
s() {}"
>>
$@
;
done
apk
:
$(
call
build_apk
)
...
...
compile-libvlc.sh
View file @
fe1ffba9
...
...
@@ -427,13 +427,16 @@ make $MAKEFLAGS
cd
../..
######################################################################################
# libvlcJNI
######################################################################################
##################
# libVLC modules #
##################
echo
"Generating static module list"
VLC_MODULES
=
`
./find_modules.sh vlc/
$VLC_BUILD_DIR
`
echo
$VLC_MODULES
DEFINITION
=
""
;
BUILTINS
=
"const void *vlc_static_modules[] = {
\n
"
;
for
file
in
$VLC_MODULES
;
do
...
...
@@ -444,6 +447,9 @@ done; \
BUILTINS
=
"
$BUILTINS
NULL
\n
};
\n
"
;
\
printf
"/* Autogenerated from the list of modules */
\n
$DEFINITION
\n
$BUILTINS
\n
"
>
libvlc/jni/libvlcjni.h
###############################
# NDK-Build for libvlcjni.so #
###############################
echo
$VLC_BUILD_DIR
LIBVLC_LIBS
=
"libvlcjni"
...
...
@@ -464,4 +470,3 @@ $ANDROID_NDK/ndk-build -C libvlc \
APP_PLATFORM
=
${
ANDROID_API
}
\
APP_ABI
=
${
ANDROID_ABI
}
\
NDK_PROJECT_PATH
=
jni
libvlc/jni/Android.mk
View file @
fe1ffba9
LOCAL_PATH
:=
$(
call
my-dir
)
include
$(CLEAR_VARS)
ANDROID_PRIVATE_LIBDIR
:=
$(LOCAL_PATH)
/../../android-libs
LOCAL_MODULE
:=
libvlcjni
...
...
@@ -87,9 +88,25 @@ LOCAL_LDLIBS := -L$(VLC_CONTRIB)/lib \
-lzvbi
\
$(CPP_STATIC)
################
# PRIVATE LIBS #
################
ANDROID_PRIVATE_LIBS
=
$(ANDROID_PRIVATE_LIBDIR)
/libstagefright.so
$(ANDROID_PRIVATE_LIBDIR)
/libmedia.so
$(ANDROID_PRIVATE_LIBDIR)
/libutils.so
$(ANDROID_PRIVATE_LIBDIR)
/libcutils.so
$(ANDROID_PRIVATE_LIBDIR)
/libbinder.so
$(ANDROID_PRIVATE_LIBDIR)
/libui.so
$(ANDROID_PRIVATE_LIBDIR)
/libhardware.so
$(ANDROID_PRIVATE_LIBDIR)/%.so
:
$(ANDROID_PRIVATE_LIBDIR)/%.c
$(GEN)$(TARGET_TUPLE)
-gcc
$<
-shared
-o
$@
--sysroot
=
$(SYSROOT)
$(ANDROID_PRIVATE_LIBDIR)/%.c
:
$(ANDROID_PRIVATE_LIBDIR)/%.symbols
$(VERBOSE)
rm
-f
$@
$(GEN)
for
s
in
`
cat
$<
`
;
do
echo
"void
$$
s() {}"
>>
$@
;
done
$(TARGET_OUT)/$(1).so
:
$(ANDROID_PRIVATE_LIBS)
include
$(BUILD_SHARED_LIBRARY)
# libiomx-* build
###########
# libiOMX #
###########
LIBIOMX_INCLUDES_COMMON
:=
$(VLC_SRC_DIR)
/modules/codec/omxil
...
...
@@ -129,20 +146,33 @@ LIBIOMX_INCLUDES_21 := $(LIBIOMX_INCLUDES_COMMON) \
$(ANDROID_SYS_HEADERS)
/21/system/core/include
\
$(ANDROID_SYS_HEADERS)
/21/hardware/libhardware/include
ifneq
($(HAVE_64),1)
# Can't link with 32bits symbols.
# Not a problem since MediaCodec should work on 64bits devices (android-21)
LIBIOMX_LIBS
+=
libiomx.14 libiomx.13 libiomx.10
endif
# (after android Jelly Bean, we prefer to use MediaCodec instead of iomx)
#LIBIOMX_LIBS += libiomx.19 libiomx.18
define
build_iomx
include
$(CLEAR_VARS)
LOCAL_MODULE
:=
$(1)
LOCAL_SRC_FILES
:=
../
$(VLC_SRC_DIR)
/modules/codec/omxil/iomx.cpp
LOCAL_C_INCLUDES
:=
$
(
LIBIOMX_INCLUDES_
$(2)
)
LOCAL_LDLIBS
:=
-L
$(ANDROID_
LIBS
)
-lgcc
-lstagefright
-lmedia
-lutils
-lbinder
-llog
-lcutils
-lui
LOCAL_LDLIBS
:=
-L
$(ANDROID_
PRIVATE_LIBDIR
)
-lgcc
-lstagefright
-lmedia
-lutils
-lbinder
-llog
-lcutils
-lui
LOCAL_CFLAGS
:=
-Wno-psabi
-DANDROID_API
=
$(2)
$(TARGET_OUT)/$(1).so
:
$(ANDROID_PRIVATE_LIBS)
include
$(BUILD_SHARED_LIBRARY)
endef
# call build_iomx for each libiomx-* in LIB
VLC
_LIBS
$(foreach
IOMX_MODULE,
$(filter
libiomx.%,
$(LIB
VLC
_LIBS)
)
,
\
# call build_iomx for each libiomx-* in LIB
IOMX
_LIBS
$(foreach
IOMX_MODULE,
$(LIB
IOMX
_LIBS),
\
$(eval
$(call
build_iomx,$(IOMX_MODULE),$(subst
libiomx.,,$(IOMX_MODULE)))))
#######
# ANW #
#######
LIBANW_SRC_FILES_COMMON
+=
../
$(VLC_SRC_DIR)
/modules/video_output/android/nativewindowpriv.c
# Once we always build this with a version of vlc that contains nativewindowpriv.c,
# we can remove this condition
...
...
@@ -153,11 +183,14 @@ include $(CLEAR_VARS)
LOCAL_MODULE
:=
$(1)
LOCAL_SRC_FILES
:=
$(LIBANW_SRC_FILES_COMMON)
LOCAL_C_INCLUDES
:=
$
(
LIBIOMX_INCLUDES_
$(2)
)
LOCAL_LDLIBS
:=
-L
$(ANDROID_
LIBS
)
-llog
-lhardware
LOCAL_LDLIBS
:=
-L
$(ANDROID_
PRIVATE_LIBDIR
)
-llog
-lhardware
LOCAL_CFLAGS
:=
$(LIBIOMX_CFLAGS_COMMON)
-DANDROID_API
=
$(2)
$(TARGET_OUT)/$(1).so
:
$(ANDROID_PRIVATE_LIBS)
include
$(BUILD_SHARED_LIBRARY)
endef
$(foreach
ANW_MODULE,$(filter
libanw.%,$(LIBVLC_LIBS)),
\
LIBANW_LIBS
+=
libanw.10 libanw.13 libanw.14 libanw.18 libanw.21
$(foreach
ANW_MODULE,$(LIBANW_LIBS),
\
$(eval
$(call
build_anw,$(ANW_MODULE),$(subst
libanw.,,$(ANW_MODULE)))))
endif
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment