vlc-config.in.in 4.75 KB
Newer Older
1
#!@SHELL@
Sam Hocevar's avatar
Sam Hocevar committed
2
3
4
5

prefix="@prefix@"
exec_prefix="@exec_prefix@"
exec_prefix_set=no
6
datarootdir="@datarootdir@"
Sam Hocevar's avatar
Sam Hocevar committed
7
8
9

optim="@optim@"

10
11
plugins="@PLUGINS@ "
builtins="@BUILTINS@ "
Sam Hocevar's avatar
Sam Hocevar committed
12

Sam Hocevar's avatar
Sam Hocevar committed
13
14
15
16
17
cppflags=""
cflags=""
cxxflags=""
objcflags=""
ldflags=""
18
libs=""
Sam Hocevar's avatar
Sam Hocevar committed
19

Sam Hocevar's avatar
Sam Hocevar committed
20
21
22
23
24
25
26
27
28
29
30
31
32
cflags_tuning="@CFLAGS_TUNING@"

#
#  Do not touch below this place unless you really know what you are doing
#
usage()
{
        cat << BLAH
Usage: vlc-config OPTIONS MODULES
Options:
        [--prefix[=DIR]]          set prefix
        [--exec-prefix[=DIR]]     set exec prefix
        [--version]               print version and exit
33
        [--list]                  print modules names and exit
Sam Hocevar's avatar
Sam Hocevar committed
34
35
36
37
38
39
40
41
42
43
        [--libs]                  output linking flags
        [--cflags]                output C compilation flags
        [--cxxflags]              output C++ compilation flags
        [--objcflags]             output Objective C compilation flags
Modules:
        vlc                       the main VLC object
        plugin                    flags for plugin modules
        builtin                   flags for built-in modules
        pic                       flags for PIC code
        MODULE                    any available module (dummy, gtk, avi, etc.)
44
        libs                      flags for external libs
Sam Hocevar's avatar
Sam Hocevar committed
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
BLAH
        exit $1
}

register_flags()
{
  case "$1" in
    #@1@#
    *)
      ;;
  esac
}

if test $# -eq 0; then
        usage 1 1>&2
fi

62
63
if test "${top_builddir}" != ""; then
  top_builddir="${top_builddir}/"
zorglub's avatar
zorglub committed
64
65
elif test "${TOP_BUILDDIR}" != ""; then
  top_builddir="${TOP_BUILDDIR}/"
66
fi
67
includes="${includes}"
Sam Hocevar's avatar
Sam Hocevar committed
68
69
70
71
72
73
cppflags="${includes}"
module=""

#
#  On Linux and Solaris, activate 64-bit off_t (by default under BSD)
#
74
cppflags="${cppflags} -D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 -D_REENTRANT -D_THREAD_SAFE"
Sam Hocevar's avatar
Sam Hocevar committed
75
76
77
78

#
#  Various additional defines
#
79
if [ "${optim}" = speed ]; then
80
81
82
  cflags="${cflags} ${cflags_tuning}"
  cxxflags="${cxxflags} ${cflags_tuning}"
  objcflags="${objcflags} ${cflags_tuning}"
Sam Hocevar's avatar
Sam Hocevar committed
83
84
85
86
87
88
89
fi

#
#  The main argument loop
#
while test $# -gt 0; do
  case "$1" in
zorglub's avatar
zorglub committed
90
  -*=*) optarg=`echo "$1" | sed 's/-[_a-zA-Z0-9\-]*=//'` ;;
Sam Hocevar's avatar
Sam Hocevar committed
91
92
93
  *) optarg= ;;
  esac

94
95
96
  # Mangle plugin name, if applicable
  # This is just a convenience hack for modules/common.am
  tgt="$1"
97
  tgt="${tgt##*/}"
98
  case "$tgt" in
99
    lib*_plugin_la-*.lo)
100
      tgt="${tgt#*lib}"
101
102
103
104
105
106
107
108
109
110
111
      tgt="${tgt%_plugin_la-*.lo}"
      ;;
    lib*_plugin.la)
      tgt="${tgt#lib}"
      tgt="${tgt%_plugin.la}"
      ;;
    *)
      ;;
  esac

  case "$tgt" in
Sam Hocevar's avatar
Sam Hocevar committed
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
    --prefix=*)
      prefix="${optarg}"
      if test "${exec_prefix_set}" = no ; then
        exec_prefix="${optarg}"
      fi
      ;;
    --prefix)
      echo_prefix=yes
      ;;
    --exec-prefix=*)
      exec_prefix="${optarg}"
      exec_prefix_set=yes
      ;;
    --exec-prefix)
      echo_exec_prefix=yes
      ;;
    --version)
      echo "@VERSION@"
      exit 0
      ;;
132
133
134
    --list)
      echo_list=yes
      ;;
Sam Hocevar's avatar
Sam Hocevar committed
135
136
137
    --cflags)
      echo_cflags=yes
      ;;
138
139
140
    --cppflags)
      echo_cppflags=yes
      ;;
Sam Hocevar's avatar
Sam Hocevar committed
141
142
143
144
145
146
    --cxxflags)
      echo_cxxflags=yes
      ;;
    --objcflags)
      echo_objcflags=yes
      ;;
147
148
149
150
    --ldflags)
      echo_ldflags=yes
      ;;
    --libs|-libs)
Sam Hocevar's avatar
Sam Hocevar committed
151
152
153
154
155
      echo_libs=yes
      ;;
    -*)
      usage 1 1>&1
      ;;
156
    libvlccore)
zorglub's avatar
zorglub committed
157
      cppflags="${cppflags} -D__LIBVLC__ -I${top_builddir}src/misc"
Sam Hocevar's avatar
Sam Hocevar committed
158
159
160
      ;;
    plugin)
      echo_plugin=yes
zorglub's avatar
zorglub committed
161
      cppflags="${cppflags} -D__LIBVLC__ -D__PLUGIN__"
Sam Hocevar's avatar
Sam Hocevar committed
162
163
164
      ;;
    builtin)
      echo_builtin=yes
zorglub's avatar
zorglub committed
165
      cppflags="${cppflags} -D__LIBVLC__ -D__BUILTIN__"
Sam Hocevar's avatar
Sam Hocevar committed
166
      ;;
167
168
    pic)
      ;;
Sam Hocevar's avatar
Sam Hocevar committed
169
    *)
170
      module="$tgt"
Sam Hocevar's avatar
Sam Hocevar committed
171
172
173
174
      ;;
  esac

  # Register per-module *FLAGS
175
  register_flags "$tgt"
Sam Hocevar's avatar
Sam Hocevar committed
176
177
178
179
180
181
182

  shift
done

#
#  If a module was requested, use its name
#
Sam Hocevar's avatar
Sam Hocevar committed
183
if test -n "${module}"; then
184
  cppflags="${cppflags} -DMODULE_NAME=${module} -DMODULE_NAME_IS_${module} -DMODULE_STRING=\"${module}\""
Sam Hocevar's avatar
Sam Hocevar committed
185
186
187
188
189
fi

#
#  Output what we were asked
#
190
191
192
193
194
195
196
197
198
199
200
201
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

Sam Hocevar's avatar
Sam Hocevar committed
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
if test "${echo_prefix}" = yes; then
  echo "${prefix}"
fi
if test "${echo_exec_prefix}" = yes; then
  echo "${exec_prefix}"
fi
if test "${echo_cppflags}" = yes; then
  echo "${cppflags}"
fi
if test "${echo_cflags}" = yes; then
  echo "${cppflags} ${cflags}"
fi
if test "${echo_cxxflags}" = yes; then
  echo "${cppflags} ${cxxflags}"
fi
if test "${echo_objcflags}" = yes; then
  echo "${cppflags} ${objcflags}"
fi
220
221
222
if test "${echo_ldflags}" = yes; then
  echo "${ldflags}"
fi
zorglub's avatar
zorglub committed
223
224
225
226
227
228
229

# 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),
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
230
#  you need "builtin vlc"
Sam Hocevar's avatar
Sam Hocevar committed
231
if test "${echo_libs}" = yes; then
232
  echo "${libs}"
Sam Hocevar's avatar
Sam Hocevar committed
233
fi