From 54f51353c358470dbdf0d6c6923c51407df09f06 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Cl=C3=A9ment=20Stenac?= Date: Sat, 26 Nov 2005 18:53:59 +0000 Subject: [PATCH] * 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 --- bindings/java/Makefile.am | 9 +++------ vlc-config.in.in | 23 ++++++++++++++++++++--- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/bindings/java/Makefile.am b/bindings/java/Makefile.am index 55126f53e2..13f6428204 100644 --- a/bindings/java/Makefile.am +++ b/bindings/java/Makefile.am @@ -17,17 +17,14 @@ JCC = gcj -g JCH = gcjh -jni # Compile flags -CXXFLAGS += `top_builddir=../.. ../../vlc-config --cflags` -I../../ -I ../../include ${JINCLUDES} -LDFLAGS += -L../../lib -lvlc_pic -fPIC `top_builddir=../.. ../../vlc-config --libs builtin pic` +CXXFLAGS += `top_builddir=../.. ../../vlc-config --cflags pic` -I../../ -I ../../include ${JINCLUDES} +LDFLAGS += -L../../lib -lvlc_pic `top_builddir=../.. ../../vlc-config --libs builtin vlc pic` # Build targets 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 - $(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 $(CXX) -c vlc-graphics-jni.cc $(CXXFLAGS) diff --git a/vlc-config.in.in b/vlc-config.in.in index c1946a65ef..9c16886046 100644 --- a/vlc-config.in.in +++ b/vlc-config.in.in @@ -88,7 +88,6 @@ elif test "${TOP_BUILDDIR}" != ""; then fi includes="${includes}" cppflags="${includes}" -libs="-L@libdir@" module="" linkage="c" @@ -144,7 +143,7 @@ fi # while test $# -gt 0; do case "$1" in - -*=*) optarg=`echo "$1" | sed 's/-_a-zA-Z0-9*=//'` ;; + -*=*) optarg=`echo "$1" | sed 's/-[_a-zA-Z0-9\-]*=//'` ;; *) optarg= ;; esac @@ -211,7 +210,12 @@ while test $# -gt 0; do ;; external) echo_external=yes - ldflags="${ldflags} -lvlc" + if test "x${echo_pic}" = "xno" + then + ldflags="${ldflags} -lvlc" + else + ldflags="${ldflags} -lvlc_pic" + fi ;; *) module="$1" @@ -227,6 +231,8 @@ while test $# -gt 0; do shift done +libs="-L@libdir@" + # # If a module was requested, use its name # @@ -304,6 +310,17 @@ fi if test "${echo_objcflags}" = yes; then echo "${cppflags} ${objcflags}" 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_builtin}" = yes; then for module in `echo "${builtins}"`; do -- 2.39.5