]> git.sesse.net Git - vlc/blobdiff - vlc-config.in.in
The Debian packaging data have been moved to svn.v.o/pkg-multimedia
[vlc] / vlc-config.in.in
index 5adcde83b3cef57678c009312a1e475fe4499d35..0bf2d7bbe1ee80e1b37d82e2961472143fd203bb 100644 (file)
@@ -10,14 +10,14 @@ gprof="@gprof@"
 cprof="@cprof@"
 optim="@optim@"
 
-plugins="@PLUGINS@"
-builtins="@BUILTINS@"
+plugins="@PLUGINS@ "
+builtins="@BUILTINS@ "
 
-cppflags="${cppflags} -DDEBUG"
-cflags="${cflags} -g"
-cxxflags="${cxxflags} -g"
-objcflags="${objcflags} -g"
-ldflags="${objcflags} -g"
+cppflags=""
+cflags=""
+cxxflags=""
+objcflags=""
+ldflags=""
 
 cflags_tuning="@CFLAGS_TUNING@"
 cflags_optim="@CFLAGS_OPTIM@"
@@ -37,6 +37,7 @@ Options:
         [--version]               print version and exit
         [--linkage]               print linkage mode (c, c++, objc)
         [--target]                print targets and exit
+        [--list]                  print modules names and exit
         [--libs]                  output linking flags
         [--cflags]                output C compilation flags
         [--cxxflags]              output C++ compilation flags
@@ -77,11 +78,16 @@ fi
 #  No need to include the default @*FLAGS@ values here because they are
 #  automatically added when using $(COMPILE), $(CXXCOMPILE) or $(OBJCCOMPILE)
 #
-if test "@includedir@" != /usr/include ; then
+if test "@includedir@" != "/usr/include"; then
   includes="-I@includedir@"
 fi
+if test "${top_builddir}" != ""; then
+  top_builddir="${top_builddir}/"
+elif test "${TOP_BUILDDIR}" != ""; then
+  top_builddir="${TOP_BUILDDIR}/"
+fi
+includes="${includes}"
 cppflags="${includes}"
-libs="-L@libdir@"
 module=""
 linkage="c"
 
@@ -94,8 +100,8 @@ cppflags="${cppflags} -D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 -D_LARGEFILE64_SOURC
 #  Gettext, data and plugin location
 #
 cppflags="${cppflags} -DLOCALEDIR=\"@datadir@/locale\""
-cppflags="${cppflags} -DDATA_PATH=\"${prefix}/share/vlc\""
-cppflags="${cppflags} -DPLUGIN_PATH=\"${prefix}/lib/vlc\""
+cppflags="${cppflags} -DDATA_PATH=\"@datadir@/vlc\""
+cppflags="${cppflags} -DPLUGIN_PATH=\"@libdir@/vlc\""
 
 #
 #  Various additional defines
@@ -105,7 +111,7 @@ if [ "${debug}" = yes ]; then
   cflags="${cflags} -g"
   cxxflags="${cxxflags} -g"
   objcflags="${objcflags} -g"
-  ldflags="${objcflags} -g"
+  ldflags="${ldflags} -g"
 fi
 if [ "${cprof}" = yes ]; then
   cppflags="${cppflags} -DCPROF"
@@ -137,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
 
@@ -168,6 +174,9 @@ while test $# -gt 0; do
     --target)
       echo_target=yes
       ;;
+    --list)
+      echo_list=yes
+      ;;
     --cflags)
       echo_cflags=yes
       ;;
@@ -184,7 +193,7 @@ while test $# -gt 0; do
       usage 1 1>&1
       ;;
     vlc)
-      cppflags="${cppflags} -D__VLC__"
+      cppflags="${cppflags} -D__VLC__ -I${top_builddir}src/misc"
       ;;
     plugin)
       echo_plugin=yes
@@ -199,6 +208,15 @@ while test $# -gt 0; do
       ;;
     mozilla)
       ;;
+    external)
+      echo_external=yes
+      if test "x${echo_pic}" = "xno"
+      then
+        ldflags="${ldflags} -lvlc"
+      else
+        ldflags="${ldflags} -lvlc_pic"
+      fi
+      ;;      
     *)
       module="$1"
       ;;
@@ -213,10 +231,12 @@ while test $# -gt 0; do
   shift
 done
 
+libs="-L@libdir@"
+
 #
 #  If a module was requested, use its name
 #
-if test "${module}" != ""; then
+if test -n "${module}"; then
   cppflags="${cppflags} -DMODULE_NAME=${module} -DMODULE_NAME_IS_${module}"
 fi
 
@@ -224,12 +244,12 @@ fi
 #  Output what we were asked
 #
 if test "${echo_linkage}" = yes; then
-  if test "${echo_plugin}"; then
+  if test "${echo_plugin}" = yes; then
     for module in `echo "${plugins}"`; do
       register_flags "${module}"
     done
   fi
-  if test "${echo_builtin}"; then
+  if test "${echo_builtin}" = yes; then
     for module in `echo "${builtins}"`; do
       register_flags "${module}"
     done
@@ -239,21 +259,35 @@ if test "${echo_linkage}" = yes; then
 fi
 
 if test "${echo_target}" = yes; then
-  if test "${echo_plugin}"; then
+  if test "${echo_plugin}" = yes; then
     for module in `echo "${plugins}"`; do
       register_targets "${module}"
     done
-    echo "${list}" | sed -e 's/[^ ][^ ]*/&_plugin/g'
+    for target in `echo "${list}"`; do printf "${top_builddir}modules/${target}_plugin "; done
+    printf '\n'
   fi
-  if test "${echo_builtin}"; then
+  if test "${echo_builtin}" = yes; then
     for module in `echo "${builtins}"`; do
       register_targets "${module}"
     done
-    if test "${echo_pic}"; then
-      echo "${list}" | sed -e 's/[^ ][^ ]*/&_pic.a/g'
+    if test "${echo_pic}" = yes; then
+      for target in `echo "${list}"`; do printf "${top_builddir}modules/${target}_pic.a "; done
     else
-      echo "${list}" | sed -e 's/[^ ][^ ]*/&.a/g'
+      for target in `echo "${list}"`; do printf "${top_builddir}modules/${target}.a "; done
     fi
+    printf '\n'
+  fi
+  exit 0
+fi
+
+if test "${echo_list}" = yes; then
+  if test "${echo_plugin}" = yes; then
+    echo "${plugins}"
+    printf '\n'
+  fi
+  if test "${echo_builtin}" = yes; then
+    echo "${builtins}"
+    printf '\n'
   fi
   exit 0
 fi
@@ -276,18 +310,43 @@ 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}"; then
+  if test "${echo_builtin}" = yes; then
     for module in `echo "${builtins}"`; do
       register_targets "${module}"
       register_flags "${module}"
     done
-    if test "${echo_pic}"; then
-      libs="`echo "${list}" | sed -e 's/[^ ][^ ]*/&_pic.a/g'` ${libs}"
+    if test "${echo_pic}" = yes; then
+      for target in `echo "${list}"`; do printf "${top_builddir}modules/${target}_pic.a "; done
     else
-      libs="`echo "${list}" | sed -e 's/[^ ][^ ]*/&.a/g'` ${libs}"
+      for target in `echo "${list}"`; do printf "${top_builddir}modules/${target}.a "; done
     fi
   fi
+  if test "${echo_external}" = yes; then
+    if test "${echo_pic}" = yes; then
+      for module in `echo "${builtins}"`; do
+        ldflags="${ldflags} @libdir@/vlc/lib${module}_pic.a"
+      done
+    else
+      for module in `echo "${builtins}"`; do
+        ldflags="${ldflags} @libdir@/vlc/lib${module}.a"
+      done
+    fi
+    for module in `echo "${builtins}"`; do
+      register_flags "${module}"
+    done
+    register_flags "vlc"
+  fi
   echo "${libs} ${ldflags}"
 fi
-