Skip to content

Commit

Permalink
Reintroduce custom code for Ubuntu 20.04 Focal
Browse files Browse the repository at this point in the history
  • Loading branch information
kelson42 committed May 21, 2023
1 parent e23dad3 commit 328e2ca
Showing 1 changed file with 44 additions and 1 deletion.
45 changes: 44 additions & 1 deletion meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,50 @@ if with_writer
thread_dep = dependency('threads')
zlib_dep = dependency('zlib', static:static_linkage)
gumbo_dep = dependency('gumbo', static:static_linkage)
magic_dep = dependency('libmagic', static:static_linkage)
magic_dep = dependency('libmagic', static:static_linkage, required:false)

# libmagic.pc has been introduced in version 5.39 of
# File. Unfortunately Ubuntu 20.04 (Focal) still uses version
# 5.38. Therefore we have to keep this special handling. As
# soon as Ubuntu 20.04 will move forward we will be able to remove
# this custom code. Check https://launchpad.net/ubuntu/+source/file
# and https://bugs.launchpad.net/ubuntu/+source/file/+bug/1951594
if not magic_dep.found()
magic_include_path = ''
magic_prefix_install = get_option('magic-install-prefix')
if magic_prefix_install == ''
if compiler.has_header('magic.h')
if find_library_in_compiler
magic_lib = compiler.find_library('magic')
else
magic_lib = find_library('magic')
endif
magic_dep = declare_dependency(link_args:['-lmagic'])
else
error('magic.h not found')
endif
else
if not find_library_in_compiler
error('For custom magic_prefix_install you need a meson version >=0.31.0')
endif
magic_include_path = magic_prefix_install + '/include'
magic_include_args = ['-I'+magic_include_path]
if compiler.has_header('magic.h', args:magic_include_args)
magic_include_dir = include_directories(magic_include_path, is_system:true)
magic_lib_path = join_paths(magic_prefix_install, get_option('libdir'))
magic_lib = compiler.find_library('magic', dirs:magic_lib_path, required:false)
if not magic_lib.found()
magic_lib_path = join_paths(magic_prefix_install, 'lib')
magic_lib = compiler.find_library('magic', dirs:magic_lib_path)
endif
magic_link_args = ['-L'+magic_lib_path, '-lmagic']
magic_dep = declare_dependency(include_directories:magic_include_dir, link_args:magic_link_args)
else
error('magic.h not found')
endif
endif
endif

endif

subdir('src')
Expand Down

0 comments on commit 328e2ca

Please sign in to comment.