]> git.sesse.net Git - vlc/blobdiff - vlc-config.in.in
Merge branch 'master' into lpcm_encoder
[vlc] / vlc-config.in.in
index c437224300e1676a43c9071095091c13e0791cf1..e457e226a5a5a3c4acb518d17640f68b9d1efab1 100644 (file)
@@ -1,26 +1,28 @@
-#!/bin/sh
+#!@SHELL@
 
 prefix="@prefix@"
 exec_prefix="@exec_prefix@"
 exec_prefix_set=no
+datarootdir="@datarootdir@"
 
-release="@release@"
 debug="@debug@"
 gprof="@gprof@"
 cprof="@cprof@"
 optim="@optim@"
 
-plugins="@PLUGINS@"
-builtins="@BUILTINS@"
+plugins="@PLUGINS@ "
+builtins="@BUILTINS@ "
 
 cppflags=""
 cflags=""
 cxxflags=""
 objcflags=""
 ldflags=""
+libs=""
 
 cflags_tuning="@CFLAGS_TUNING@"
-cflags_optim="@CFLAGS_OPTIM@"
+cflags_optim_size="@CFLAGS_OPTIM_SIZE@"
+cflags_optim_speed="@CFLAGS_OPTIM_SPEED@"
 cflags_optim_nodebug="@CFLAGS_OPTIM_NODEBUG@"
 cflags_nooptim="@CFLAGS_NOOPTIM@"
 
@@ -36,7 +38,7 @@ Options:
         [--exec-prefix[=DIR]]     set exec prefix
         [--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
@@ -47,6 +49,7 @@ Modules:
         builtin                   flags for built-in modules
         pic                       flags for PIC code
         MODULE                    any available module (dummy, gtk, avi, etc.)
+        libs                      flags for external libs
 BLAH
         exit $1
 }
@@ -60,79 +63,67 @@ register_flags()
   esac
 }
 
-register_targets()
-{
-  case "$1" in
-    #@2@#
-    *)
-      ;;
-  esac
-}
-
 if test $# -eq 0; then
         usage 1 1>&2
 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
-  includes="-I@includedir@"
-fi
-if test "${top_srcdir}" != ""; then
-  top_srcdir="${top_srcdir}/"
+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"
 
 #
 #  On Linux and Solaris, activate 64-bit off_t (by default under BSD)
 #
-cppflags="${cppflags} -D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -D_GNU_SOURCE"
-
-#
-#  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} -D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 -D_REENTRANT -D_THREAD_SAFE"
 
 #
 #  Various additional defines
 #
 if [ "${debug}" = yes ]; then
-  cppflags="${cppflags} -DDEBUG"
   cflags="${cflags} -g"
   cxxflags="${cxxflags} -g"
   objcflags="${objcflags} -g"
   ldflags="${ldflags} -g"
 fi
 if [ "${cprof}" = yes ]; then
-  cppflags="${cppflags} -DCPROF"
   cflags="${cflags} -finstrument-functions"
   cxxflags="${cxxflags} -finstrument-functions"
   objcflags="${objcflags} -finstrument-functions"
 fi
 if [ "${gprof}" = yes ]; then
-  cppflags="${cppflags} -DGPROF"
   cflags="${cflags} -pg"
   cxxflags="${cxxflags} -pg"
   objcflags="${objcflags} -pg"
   ldflags="${ldflags} -pg"
 fi
-if [ "${release}" = yes ]; then
-  cppflags="${cppflags} -DHAVE_RELEASE"
-fi
-if [ "${optim}" = yes ]; then
-  cppflags="${cppflags} ${cflags_optim} ${cflags_tuning}"
+if [ "${optim}" = size ]; then
+  cflags="${cflags} ${cflags_optim_size} ${cflags_tuning}"
+  cxxflags="${cxxflags} ${cflags_optim_size} ${cflags_tuning}"
+  objcflags="${objcflags} ${cflags_optim_size} ${cflags_tuning}"
+  if [ "${debug}" != yes -a "${gprof}" != yes -a "${cprof}" != yes ]; then
+    cflags="${cflags} ${cflags_optim_nodebug}"
+    cxxflags="${cxxflags} ${cflags_optim_nodebug}"
+    objcflags="${objcflags} ${cflags_optim_nodebug}"
+  fi
+elif [ "${optim}" = speed ]; then
+  cflags="${cflags} ${cflags_optim_speed} ${cflags_tuning}"
+  cxxflags="${cxxflags} ${cflags_optim_speed} ${cflags_tuning}"
+  objcflags="${objcflags} ${cflags_optim_speed} ${cflags_tuning}"
   if [ "${debug}" != yes -a "${gprof}" != yes -a "${cprof}" != yes ]; then
-    cppflags="${cppflags} ${cflags_optim_nodebug}"
+    cflags="${cflags} ${cflags_optim_nodebug}"
+    cxxflags="${cxxflags} ${cflags_optim_nodebug}"
+    objcflags="${objcflags} ${cflags_optim_nodebug}"
   fi
 else
-  cppflags="${cppflags} ${cflags_nooptim}"
+  cflags="${cflags} ${cflags_nooptim}"
+  cxxflags="${cxxflags} ${cflags_nooptim}"
+  objcflags="${objcflags} ${cflags_nooptim}"
 fi
 
 #
@@ -140,11 +131,28 @@ 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
 
-  case "$1" in
+  # Mangle plugin name, if applicable
+  # This is just a convenience hack for modules/common.am
+  tgt="$1"
+  tgt="${tgt##*/}"
+  case "$tgt" in
+    lib*_plugin_la-*.lo)
+      tgt="${tgt#*lib}"
+      tgt="${tgt%_plugin_la-*.lo}"
+      ;;
+    lib*_plugin.la)
+      tgt="${tgt#lib}"
+      tgt="${tgt%_plugin.la}"
+      ;;
+    *)
+      ;;
+  esac
+
+  case "$tgt" in
     --prefix=*)
       prefix="${optarg}"
       if test "${exec_prefix_set}" = no ; then
@@ -168,50 +176,52 @@ while test $# -gt 0; do
     --linkage)
       echo_linkage=yes
       ;;
-    --target)
-      echo_target=yes
+    --list)
+      echo_list=yes
       ;;
     --cflags)
       echo_cflags=yes
       ;;
+    --cppflags)
+      echo_cppflags=yes
+      ;;
     --cxxflags)
       echo_cxxflags=yes
       ;;
     --objcflags)
       echo_objcflags=yes
       ;;
-    --libs)
+    --ldflags)
+      echo_ldflags=yes
+      ;;
+    --libs|-libs)
       echo_libs=yes
       ;;
     -*)
       usage 1 1>&1
       ;;
-    vlc)
-      cppflags="${cppflags} -D__VLC__"
+    libvlccore)
+      cppflags="${cppflags} -D__LIBVLC__ -I${top_builddir}src/misc"
       ;;
     plugin)
       echo_plugin=yes
-      cppflags="${cppflags} -D__VLC__ -D__PLUGIN__"
-      ;;
-    pic)
-      echo_pic=yes
+      cppflags="${cppflags} -D__LIBVLC__ -D__PLUGIN__"
       ;;
     builtin)
       echo_builtin=yes
-      cppflags="${cppflags} -D__VLC__ -D__BUILTIN__"
+      cppflags="${cppflags} -D__LIBVLC__ -D__BUILTIN__"
+      ;;
+    pic)
       ;;
     mozilla)
       ;;
     *)
-      module="$1"
+      module="$tgt"
       ;;
   esac
 
   # Register per-module *FLAGS
-  register_flags "$1"
-
-  # Register module targets
-  register_targets "$1"
+  register_flags "$tgt"
 
   shift
 done
@@ -220,44 +230,24 @@ done
 #  If a module was requested, use its name
 #
 if test -n "${module}"; then
-  cppflags="${cppflags} -DMODULE_NAME=${module} -DMODULE_NAME_IS_${module}"
+  cppflags="${cppflags} -DMODULE_NAME=${module} -DMODULE_NAME_IS_${module} -DMODULE_STRING=\"${module}\""
 fi
 
 #
 #  Output what we were asked
 #
 if test "${echo_linkage}" = yes; then
-  if test "${echo_plugin}" = yes; then
-    for module in `echo "${plugins}"`; do
-      register_flags "${module}"
-    done
-  fi
-  if test "${echo_builtin}" = yes; then
-    for module in `echo "${builtins}"`; do
-      register_flags "${module}"
-    done
-  fi
   echo "${linkage}"
   exit 0
 fi
 
-if test "${echo_target}" = yes; then
+if test "${echo_list}" = yes; then
   if test "${echo_plugin}" = yes; then
-    for module in `echo "${plugins}"`; do
-      register_targets "${module}"
-    done
-    for target in `echo "${list}"`; do printf "${top_srcdir}modules/${target}_plugin "; done
+    echo "${plugins}"
     printf '\n'
   fi
   if test "${echo_builtin}" = yes; then
-    for module in `echo "${builtins}"`; do
-      register_targets "${module}"
-    done
-    if test "${echo_pic}" = yes; then
-      for target in `echo "${list}"`; do printf "${top_srcdir}modules/${target}_pic.a "; done
-    else
-      for target in `echo "${list}"`; do printf "${top_srcdir}modules/${target}.a "; done
-    fi
+    echo "${builtins}"
     printf '\n'
   fi
   exit 0
@@ -281,18 +271,17 @@ fi
 if test "${echo_objcflags}" = yes; then
   echo "${cppflags} ${objcflags}"
 fi
-if test "${echo_libs}" = yes; then
-  if test "${echo_builtin}" = yes; then
-    for module in `echo "${builtins}"`; do
-      register_targets "${module}"
-      register_flags "${module}"
-    done
-    if test "${echo_pic}" = yes; then
-      for target in `echo "${list}"`; do printf "${top_srcdir}modules/${target}_pic.a "; done
-    else
-      for target in `echo "${list}"`; do printf "${top_srcdir}modules/${target}.a "; done
-    fi
-  fi
-  echo "${libs} ${ldflags}"
+if test "${echo_ldflags}" = yes; then
+  echo "${ldflags}"
 fi
 
+# Libs
+# There are 4 possibilities
+#  - We are a plugin or a builtin
+#  - 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"
+if test "${echo_libs}" = yes; then
+  echo "${libs}"
+fi