mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-30 04:00:37 +00:00
24d939a19b
When we're using wgl, we have to link to `-lopengl32`, not `-lGL`. Fixes building of anything that uses this pc file, such as the nvcodec plugin. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/803>
115 lines
4.2 KiB
Meson
115 lines
4.2 KiB
Meson
pkgconf = configuration_data()
|
|
|
|
pkgconf.set('prefix', join_paths(get_option('prefix')))
|
|
pkgconf.set('exec_prefix', '${prefix}')
|
|
pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir')))
|
|
pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
|
|
pkgconf.set('GST_API_VERSION', api_version)
|
|
pkgconf.set('VERSION', gst_version)
|
|
pkgconf.set('LIBM', libm.found() ? '-lm' : '')
|
|
pkgconf.set('ZLIB_LIBS', zlib_dep.found() ? '-lz' : '')
|
|
pkgconf.set('ORC_PC', have_orcc ? 'orc-0.4' : '')
|
|
|
|
# needed for generating -uninstalled.pc files
|
|
pkgconf.set('abs_top_builddir', join_paths(meson.current_build_dir(), '..'))
|
|
pkgconf.set('abs_top_srcdir', join_paths(meson.current_source_dir(), '..'))
|
|
pkgconf.set('allocatorslibdir', join_paths(meson.build_root(), gstallocators.outdir()))
|
|
pkgconf.set('applibdir', join_paths(meson.build_root(), gstapp.outdir()))
|
|
pkgconf.set('audiolibdir', join_paths(meson.build_root(), gstaudio.outdir()))
|
|
pkgconf.set('fftlibdir', join_paths(meson.build_root(), gstfft.outdir()))
|
|
pkgconf.set('pbutilslibdir', join_paths(meson.build_root(), pbutils.outdir()))
|
|
pkgconf.set('rifflibdir', join_paths(meson.build_root(), gstriff.outdir()))
|
|
pkgconf.set('rtplibdir', join_paths(meson.build_root(), gst_rtp.outdir()))
|
|
pkgconf.set('rtsplibdir', join_paths(meson.build_root(), gst_rtsp.outdir()))
|
|
pkgconf.set('sdplibdir', join_paths(meson.build_root(), gstsdp.outdir()))
|
|
pkgconf.set('taglibdir', join_paths(meson.build_root(), gsttag.outdir()))
|
|
pkgconf.set('videolibdir', join_paths(meson.build_root(), gstvideo.outdir()))
|
|
|
|
pkg_install_dir = '@0@/pkgconfig'.format(get_option('libdir'))
|
|
|
|
pkg_files = [
|
|
'gstreamer-allocators',
|
|
'gstreamer-app',
|
|
'gstreamer-audio',
|
|
'gstreamer-fft',
|
|
'gstreamer-pbutils',
|
|
'gstreamer-plugins-base',
|
|
'gstreamer-riff',
|
|
'gstreamer-rtp',
|
|
'gstreamer-rtsp',
|
|
'gstreamer-sdp',
|
|
'gstreamer-tag',
|
|
'gstreamer-video',
|
|
]
|
|
|
|
# XXX: requires the meson.build to be parsed/executed after gst-libs/gl/meson.build
|
|
if build_gstgl
|
|
gllibdir = join_paths(meson.build_root(), gstgl.outdir())
|
|
pkgconf.set('gllibdir', gllibdir)
|
|
pkgconf.set('glliblinkerflag', '-L' + gllibdir)
|
|
pkg_files += ['gstreamer-gl', 'gstreamer-gl-prototypes']
|
|
pkgconf.set('GL_APIS', ' '.join(enabled_gl_apis))
|
|
pkgconf.set('GL_WINDOWS', ' '.join(enabled_gl_winsys))
|
|
pkgconf.set('GL_PLATFORMS', ' '.join(enabled_gl_platforms))
|
|
pkgconf.set('gl_lib_name', 'gl')
|
|
gl_proto_requires = ''
|
|
gl_proto_libs = ''
|
|
if enabled_gl_apis.contains('gl')
|
|
if gl_dep.type_name() == 'pkgconfig'
|
|
gl_proto_requires += ' gl'
|
|
elif gl_dep.type_name() == 'library'
|
|
if 'wgl' in enabled_gl_platforms
|
|
gl_proto_libs += ' -lopengl32'
|
|
else
|
|
gl_proto_libs += ' -lGL'
|
|
endif
|
|
elif gl_dep.type_name() == 'appleframework'
|
|
gl_proto_libs += ' -framework OpenGL'
|
|
endif
|
|
endif
|
|
if enabled_gl_apis.contains('gles2')
|
|
if gles2_dep.type_name() == 'pkgconfig'
|
|
gl_proto_requires += ' glesv2'
|
|
elif gles2_dep.type_name() == 'library'
|
|
gl_proto_libs += ' -lGLESv2'
|
|
elif gles2_dep.type_name() == 'appleframework'
|
|
gl_proto_libs += ' -framework OpenGLES'
|
|
endif
|
|
endif
|
|
pkgconf.set('GL_PROTO_EXTRA_REQUIRES', gl_proto_requires)
|
|
pkgconf.set('GL_PROTO_EXTRA_LIBS', gl_proto_libs)
|
|
if enabled_gl_platforms.contains('egl')
|
|
pkg_files += ['gstreamer-gl-egl']
|
|
if egl_dep.type_name() == 'pkgconfig'
|
|
pkgconf.set('GL_EGL_EXTRA_REQUIRES', 'egl')
|
|
pkgconf.set('GL_EGL_EXTRA_LIBS', '')
|
|
elif egl_dep.type_name() == 'library'
|
|
pkgconf.set('GL_EGL_EXTRA_REQUIRES', '')
|
|
pkgconf.set('GL_EGL_EXTRA_LIBS', '-lEGL')
|
|
endif
|
|
endif
|
|
if enabled_gl_winsys.contains('x11')
|
|
pkg_files += ['gstreamer-gl-x11']
|
|
endif
|
|
if enabled_gl_winsys.contains('wayland')
|
|
pkg_files += ['gstreamer-gl-wayland']
|
|
endif
|
|
else
|
|
pkgconf.set('glliblinkerflag', '')
|
|
pkgconf.set('gl_lib_name', '')
|
|
endif
|
|
|
|
foreach p : pkg_files
|
|
infile = p + '.pc.in'
|
|
outfile = p + '-1.0.pc'
|
|
configure_file(input : infile,
|
|
output : outfile,
|
|
configuration : pkgconf,
|
|
install_dir : pkg_install_dir)
|
|
|
|
infile = p + '-uninstalled.pc.in'
|
|
outfile = p + '-1.0-uninstalled.pc'
|
|
configure_file(input : infile,
|
|
output : outfile,
|
|
configuration : pkgconf)
|
|
endforeach
|