Commit 54f51353 authored by Clément Stenac's avatar Clément Stenac

* vlc-config:

   - Fix optarg parsing
   - Set ${libs} after the main loop to get the right exec prefix
   - Give -lvlc_pic if we want PIC
* Java bindings build 
   - Use vlc-config better
   - Use pic for building
parent e45f20e7
...@@ -17,17 +17,14 @@ JCC = gcj -g ...@@ -17,17 +17,14 @@ JCC = gcj -g
JCH = gcjh -jni JCH = gcjh -jni
# Compile flags # Compile flags
CXXFLAGS += `top_builddir=../.. ../../vlc-config --cflags` -I../../ -I ../../include ${JINCLUDES} CXXFLAGS += `top_builddir=../.. ../../vlc-config --cflags pic` -I../../ -I ../../include ${JINCLUDES}
LDFLAGS += -L../../lib -lvlc_pic -fPIC `top_builddir=../.. ../../vlc-config --libs builtin pic` LDFLAGS += -L../../lib -lvlc_pic `top_builddir=../.. ../../vlc-config --libs builtin vlc pic`
# Build targets # Build targets
all: libjvlc.so VlcClient all: libjvlc.so VlcClient
# FIXME: -ldbus-1 and -lhal are UGLY
# Problem is vlc-config --libs builtin does not output what is needed to build
# vlc. We need to clean up vlc-config first
libjvlc.so: vlc-glue-jni.o vlc-graphics-jni.o libjvlc.so: vlc-glue-jni.o vlc-graphics-jni.o
$(CXX) -ldbus-1 -lhal -shared vlc-glue-jni.o vlc-graphics-jni.o $(LIBJINCLUDES) ${LDFLAGS} -o libjvlc.so $(CXX) -shared vlc-glue-jni.o vlc-graphics-jni.o $(LIBJINCLUDES) ${LDFLAGS} -o libjvlc.so
vlc-graphics-jni.o: VlcClient vlc-graphics-jni.o: VlcClient
$(CXX) -c vlc-graphics-jni.cc $(CXXFLAGS) $(CXX) -c vlc-graphics-jni.cc $(CXXFLAGS)
......
...@@ -88,7 +88,6 @@ elif test "${TOP_BUILDDIR}" != ""; then ...@@ -88,7 +88,6 @@ elif test "${TOP_BUILDDIR}" != ""; then
fi fi
includes="${includes}" includes="${includes}"
cppflags="${includes}" cppflags="${includes}"
libs="-L@libdir@"
module="" module=""
linkage="c" linkage="c"
...@@ -144,7 +143,7 @@ fi ...@@ -144,7 +143,7 @@ fi
# #
while test $# -gt 0; do while test $# -gt 0; do
case "$1" in case "$1" in
-*=*) optarg=`echo "$1" | sed 's/-_a-zA-Z0-9*=//'` ;; -*=*) optarg=`echo "$1" | sed 's/-[_a-zA-Z0-9\-]*=//'` ;;
*) optarg= ;; *) optarg= ;;
esac esac
...@@ -211,7 +210,12 @@ while test $# -gt 0; do ...@@ -211,7 +210,12 @@ while test $# -gt 0; do
;; ;;
external) external)
echo_external=yes echo_external=yes
ldflags="${ldflags} -lvlc" if test "x${echo_pic}" = "xno"
then
ldflags="${ldflags} -lvlc"
else
ldflags="${ldflags} -lvlc_pic"
fi
;; ;;
*) *)
module="$1" module="$1"
...@@ -227,6 +231,8 @@ while test $# -gt 0; do ...@@ -227,6 +231,8 @@ while test $# -gt 0; do
shift shift
done done
libs="-L@libdir@"
# #
# If a module was requested, use its name # If a module was requested, use its name
# #
...@@ -304,6 +310,17 @@ fi ...@@ -304,6 +310,17 @@ fi
if test "${echo_objcflags}" = yes; then if test "${echo_objcflags}" = yes; then
echo "${cppflags} ${objcflags}" echo "${cppflags} ${objcflags}"
fi fi
# Libs
# There are 4 possibilities
# - We are a plugin or a builtin
# - We are building from the outside (external):
# - Give full libvlc linkflags + -lvlc(_pic) (in libdir)
# - Link with builtins in libdir
# - We are building something from the inside (builtin)
# - Link with builtins in place
# If you want something shared from the inside (binding),
# you need "builtin vlc pic"
if test "${echo_libs}" = yes; then if test "${echo_libs}" = yes; then
if test "${echo_builtin}" = yes; then if test "${echo_builtin}" = yes; then
for module in `echo "${builtins}"`; do for module in `echo "${builtins}"`; do
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment