gstreamer/ext/sctp/meson.build
Tim-Philipp Müller 80a0da9698 sctp: hook up internal copy of libusrsctp to build
Add option 'sctp-internal-usrsctp' so people can choose
to build againts the distro version instead.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/870

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1465>
2020-08-14 01:33:28 +01:00

62 lines
1.7 KiB
Meson

sctp_sources = [
'gstsctpdec.c',
'gstsctpenc.c',
'gstsctpplugin.c',
'sctpassociation.c'
]
if get_option('sctp').disabled()
subdir_done()
endif
sctp_platform_deps = []
found_system_usrsctp = false
if not get_option('sctp-internal-usrsctp').enabled()
sctp_dep = cc.find_library('usrsctp', required: false)
sctp_header = cc.has_header('usrsctp.h')
if host_system == 'windows'
sctp_platform_deps += [cc.find_library('ws2_32')]
endif
found_system_usrsctp = sctp_dep.found() and sctp_header
if get_option('sctp-internal-usrsctp').disabled() and not found_system_usrsctp
if get_option('sctp').enabled()
error('sctp plugin enabled but could not find libusrsctp or usrsctp.h, and internal libusrsctp disabled')
else
message('Could not find libusrsctp or usrsctp.h, and internal libusrsctp disabled - not building sctp plugin')
subdir_done()
endif
endif
endif
if not found_system_usrsctp
message('Using internal libusrsctp')
subdir('usrsctp')
sctp_dep = usrsctp_dep
sctp_header = true
if get_option('sctp').enabled() and not sctp_dep.found()
error('sctp plugin enabled but could not find system libusrsctp or configure internal libusrsctp')
endif
endif
if not gst_debug_disabled
sctp_args = ['-DSCTP_DEBUG']
else
sctp_args = []
endif
if sctp_dep.found() and sctp_header
gstsctp = library('gstsctp',
sctp_sources,
c_args : gst_plugins_bad_args + sctp_args,
include_directories : [configinc],
dependencies : [sctp_dep, gst_dep, gstbase_dep, gstsctp_dep, sctp_platform_deps],
install : true,
install_dir : plugins_install_dir,
)
pkgconfig.generate(gstsctp, install_dir : plugins_pkgconfig_install_dir)
plugins += [gstsctp]
endif