]> git.sesse.net Git - vlc/commitdiff
* vlc-config:
authorClément Stenac <zorglub@videolan.org>
Sat, 26 Nov 2005 18:53:59 +0000 (18:53 +0000)
committerClément Stenac <zorglub@videolan.org>
Sat, 26 Nov 2005 18:53:59 +0000 (18:53 +0000)
   - 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
vlc-config.in.in

index 55126f53e264477857fbcf7f68a819fd10024837..13f64282046cc80c0c8958f01b6b6d026f63acd6 100644 (file)
@@ -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)
index c1946a65efd92a73fa360901651959a51e1c8ef9..9c16886046128a4fed8a4a6860eb2e436f0ffe46 100644 (file)
@@ -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