4 exec_prefix="@exec_prefix@"
6 datarootdir="@datarootdir@"
15 builtins="@BUILTINS@ "
24 cflags_tuning="@CFLAGS_TUNING@"
25 cflags_optim_size="@CFLAGS_OPTIM_SIZE@"
26 cflags_optim_speed="@CFLAGS_OPTIM_SPEED@"
27 cflags_optim_nodebug="@CFLAGS_OPTIM_NODEBUG@"
28 cflags_nooptim="@CFLAGS_NOOPTIM@"
31 # Do not touch below this place unless you really know what you are doing
36 Usage: vlc-config OPTIONS MODULES
38 [--prefix[=DIR]] set prefix
39 [--exec-prefix[=DIR]] set exec prefix
40 [--version] print version and exit
41 [--linkage] print linkage mode (c, c++, objc)
42 [--target] print targets and exit
43 [--list] print modules names and exit
44 [--libs] output linking flags
45 [--cflags] output C compilation flags
46 [--cxxflags] output C++ compilation flags
47 [--objcflags] output Objective C compilation flags
49 vlc the main VLC object
50 plugin flags for plugin modules
51 builtin flags for built-in modules
52 pic flags for PIC code
53 MODULE any available module (dummy, gtk, avi, etc.)
76 if test $# -eq 0; then
81 # No need to include the default @*FLAGS@ values here because they are
82 # automatically added when using $(COMPILE), $(CXXCOMPILE) or $(OBJCCOMPILE)
84 if test "@includedir@" != "/usr/include"; then
85 includes="-I@includedir@"
87 if test "${top_builddir}" != ""; then
88 top_builddir="${top_builddir}/"
89 elif test "${TOP_BUILDDIR}" != ""; then
90 top_builddir="${TOP_BUILDDIR}/"
92 includes="${includes}"
93 cppflags="${includes}"
98 # On Linux and Solaris, activate 64-bit off_t (by default under BSD)
100 cppflags="${cppflags} -D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE"
103 # Gettext, data and plugin location
105 cppflags="${cppflags} -DLOCALEDIR=\"@datadir@/locale\""
106 cppflags="${cppflags} -DDATA_PATH=\"@datadir@/vlc\""
107 cppflags="${cppflags} -DPLUGIN_PATH=\"@libdir@/vlc\""
110 # Various additional defines
112 if [ "${debug}" = yes ]; then
113 cppflags="${cppflags} -DDEBUG"
114 cflags="${cflags} -g"
115 cxxflags="${cxxflags} -g"
116 objcflags="${objcflags} -g"
117 ldflags="${ldflags} -g"
119 if [ "${cprof}" = yes ]; then
120 cppflags="${cppflags} -DCPROF"
121 cflags="${cflags} -finstrument-functions"
122 cxxflags="${cxxflags} -finstrument-functions"
123 objcflags="${objcflags} -finstrument-functions"
125 if [ "${gprof}" = yes ]; then
126 cppflags="${cppflags} -DGPROF"
127 cflags="${cflags} -pg"
128 cxxflags="${cxxflags} -pg"
129 objcflags="${objcflags} -pg"
130 ldflags="${ldflags} -pg"
132 if [ "${release}" = yes ]; then
133 cppflags="${cppflags} -DHAVE_RELEASE"
135 if [ "${optim}" = size ]; then
136 cflags="${cflags} ${cflags_optim_size} ${cflags_tuning}"
137 cxxflags="${cxxflags} ${cflags_optim_size} ${cflags_tuning}"
138 objcflags="${objcflags} ${cflags_optim_size} ${cflags_tuning}"
139 if [ "${debug}" != yes -a "${gprof}" != yes -a "${cprof}" != yes ]; then
140 cflags="${cflags} ${cflags_optim_nodebug}"
141 cxxflags="${cxxflags} ${cflags_optim_nodebug}"
142 objcflags="${objcflags} ${cflags_optim_nodebug}"
144 elif [ "${optim}" = speed ]; then
145 cflags="${cflags} ${cflags_optim_speed} ${cflags_tuning}"
146 cxxflags="${cxxflags} ${cflags_optim_speed} ${cflags_tuning}"
147 objcflags="${objcflags} ${cflags_optim_speed} ${cflags_tuning}"
148 if [ "${debug}" != yes -a "${gprof}" != yes -a "${cprof}" != yes ]; then
149 cflags="${cflags} ${cflags_optim_nodebug}"
150 cxxflags="${cxxflags} ${cflags_optim_nodebug}"
151 objcflags="${objcflags} ${cflags_optim_nodebug}"
154 cflags="${cflags} ${cflags_nooptim}"
155 cxxflags="${cxxflags} ${cflags_nooptim}"
156 objcflags="${objcflags} ${cflags_nooptim}"
160 # The main argument loop
162 while test $# -gt 0; do
164 -*=*) optarg=`echo "$1" | sed 's/-[_a-zA-Z0-9\-]*=//'` ;;
171 if test "${exec_prefix_set}" = no ; then
172 exec_prefix="${optarg}"
179 exec_prefix="${optarg}"
220 cppflags="${cppflags} -D__LIBVLC__ -I${top_builddir}src/misc"
224 cppflags="${cppflags} -D__LIBVLC__ -D__PLUGIN__"
228 cppflags="${cppflags} -D__LIBVLC__ -D__BUILTIN__"
236 libs="${libs} -lvlc -lvlc-control"
243 # Register per-module *FLAGS
246 # Register module targets
247 register_targets "$1"
253 # If a module was requested, use its name
255 if test -n "${module}"; then
256 cppflags="${cppflags} -DMODULE_NAME=${module} -DMODULE_NAME_IS_${module}"
260 # Output what we were asked
262 if test "${echo_linkage}" = yes; then
263 if test "${echo_plugin}" = yes; then
264 for module in `echo "${plugins}"`; do
265 register_flags "${module}"
268 if test "${echo_builtin}" = yes; then
269 for module in `echo "${builtins}"`; do
270 register_flags "${module}"
277 if test "${echo_target}" = yes; then
278 if test "${echo_plugin}" = yes; then
279 for module in `echo "${plugins}"`; do
280 register_targets "${module}"
282 for target in `echo "${list}"`; do printf "${top_builddir}modules/${target}_plugin "; done
285 if test "${echo_builtin}" = yes; then
286 for module in `echo "${builtins}"`; do
287 register_targets "${module}"
289 for target in `echo "${list}"`; do printf "${top_builddir}modules/${target}.a "; done
295 if test "${echo_list}" = yes; then
296 if test "${echo_plugin}" = yes; then
300 if test "${echo_builtin}" = yes; then
307 if test "${echo_prefix}" = yes; then
310 if test "${echo_exec_prefix}" = yes; then
311 echo "${exec_prefix}"
313 if test "${echo_cppflags}" = yes; then
316 if test "${echo_cflags}" = yes; then
317 echo "${cppflags} ${cflags}"
319 if test "${echo_cxxflags}" = yes; then
320 echo "${cppflags} ${cxxflags}"
322 if test "${echo_objcflags}" = yes; then
323 echo "${cppflags} ${objcflags}"
325 if test "${echo_ldflags}" = yes; then
330 # There are 4 possibilities
331 # - We are a plugin or a builtin
332 # - We are building from the outside (external):
333 # - Give full libvlc linkflags + -lvlc (in libdir)
334 # - Link with builtins in libdir
335 # - We are building something from the inside (builtin)
336 # - Link with builtins in place
337 # If you want something shared from the inside (binding),
338 # you need "builtin vlc"
339 if test "${echo_libs}" = yes; then
340 if test "${echo_builtin}" = yes; then
341 for module in `echo "${builtins}"`; do
342 register_targets "${module}"
343 register_flags "${module}"
345 for target in `echo "${list}"`; do printf "${top_builddir}modules/${target}.a "; done
347 if test "${echo_external}" = yes; then
348 for module in `echo "${builtins}"`; do
349 libs="${libs} @libdir@/vlc/lib${module}.a"
351 for module in `echo "${builtins}"`; do
352 register_flags "${module}"