compiler = meson.get_compiler('c')
+compat_sources = [
+ 'compat/nonblock.c',
+ 'compat/obstack.c',
+ 'compat/open.c',
+ 'compat/terminal.c',
+]
+
libgit_sources = [
'abspath.c',
'add-interactive.c',
'commit.c',
'common-exit.c',
'common-init.c',
- 'compat/nonblock.c',
- 'compat/obstack.c',
- 'compat/open.c',
- 'compat/terminal.c',
'compiler-tricks/not-constant.c',
'config.c',
'connect.c',
if not has_poll_h and not has_sys_poll_h
libgit_c_args += '-DNO_POLL'
- libgit_sources += 'compat/poll/poll.c'
+ compat_sources += 'compat/poll/poll.c'
libgit_include_directories += 'compat/poll'
endif
# implementation to threat things like drive prefixes specially.
if host_machine.system() == 'windows' or not compiler.has_header('libgen.h')
libgit_c_args += '-DNO_LIBGEN_H'
- libgit_sources += 'compat/basename.c'
+ compat_sources += 'compat/basename.c'
endif
if compiler.has_header('paths.h')
foreach symbol : ['inet_ntop', 'inet_pton', 'hstrerror']
if not compiler.has_function(symbol, dependencies: networking_dependencies)
libgit_c_args += '-DNO_' + symbol.to_upper()
- libgit_sources += 'compat/' + symbol + '.c'
+ compat_sources += 'compat/' + symbol + '.c'
endif
endforeach
endif
endif
if host_machine.system() == 'darwin'
- libgit_sources += 'compat/precompose_utf8.c'
+ compat_sources += 'compat/precompose_utf8.c'
libgit_c_args += '-DPRECOMPOSE_UNICODE'
libgit_c_args += '-DPROTECT_HFS_DEFAULT'
endif
# Configure general compatibility wrappers.
if host_machine.system() == 'cygwin'
- libgit_sources += [
+ compat_sources += [
'compat/win32/path-utils.c',
]
elif host_machine.system() == 'windows'
- libgit_sources += [
+ compat_sources += [
'compat/winansi.c',
'compat/win32/dirent.c',
'compat/win32/flush.c',
libgit_include_directories += 'compat/win32'
if compiler.get_id() == 'msvc'
libgit_include_directories += 'compat/vcbuild/include'
- libgit_sources += 'compat/msvc.c'
+ compat_sources += 'compat/msvc.c'
else
- libgit_sources += 'compat/mingw.c'
+ compat_sources += 'compat/mingw.c'
endif
endif
if host_machine.system() == 'linux'
- libgit_sources += 'compat/linux/procinfo.c'
+ compat_sources += 'compat/linux/procinfo.c'
elif host_machine.system() == 'windows'
- libgit_sources += 'compat/win32/trace2_win32_process_info.c'
+ compat_sources += 'compat/win32/trace2_win32_process_info.c'
elif host_machine.system() == 'darwin'
- libgit_sources += 'compat/darwin/procinfo.c'
+ compat_sources += 'compat/darwin/procinfo.c'
else
- libgit_sources += 'compat/stub/procinfo.c'
+ compat_sources += 'compat/stub/procinfo.c'
endif
if host_machine.system() == 'cygwin' or host_machine.system() == 'windows'
# Configure the simple-ipc subsystem required fro the fsmonitor.
if host_machine.system() == 'windows'
- libgit_sources += [
+ compat_sources += [
'compat/simple-ipc/ipc-shared.c',
'compat/simple-ipc/ipc-win32.c',
]
libgit_c_args += '-DSUPPORTS_SIMPLE_IPC'
else
- libgit_sources += [
+ compat_sources += [
'compat/simple-ipc/ipc-shared.c',
'compat/simple-ipc/ipc-unix-socket.c',
]
libgit_c_args += '-DHAVE_FSMONITOR_DAEMON_BACKEND'
libgit_c_args += '-DHAVE_FSMONITOR_OS_SETTINGS'
- libgit_sources += [
+ compat_sources += [
'compat/fsmonitor/fsm-health-' + fsmonitor_backend + '.c',
'compat/fsmonitor/fsm-ipc-' + fsmonitor_backend + '.c',
'compat/fsmonitor/fsm-listen-' + fsmonitor_backend + '.c',
if compiler.get_define('REG_ENHANCED', prefix: '#include <regex.h>') != ''
libgit_c_args += '-DUSE_ENHANCED_BASIC_REGULAR_EXPRESSIONS'
- libgit_sources += 'compat/regcomp_enhanced.c'
+ compat_sources += 'compat/regcomp_enhanced.c'
endif
elif not get_option('regex').enabled()
libgit_c_args += [
'-DNO_MBSUPPORT',
]
build_options_config.set('NO_REGEX', '1')
- libgit_sources += 'compat/regex/regex.c'
+ compat_sources += 'compat/regex/regex.c'
libgit_include_directories += 'compat/regex'
else
error('Native regex support requested but not found')
if get_option('b_sanitize').contains('address')
libgit_c_args += '-DNO_MMAP'
- libgit_sources += 'compat/mmap.c'
+ compat_sources += 'compat/mmap.c'
else
checkfuncs += { 'mmap': ['mmap.c'] }
endif
if not compiler.has_function(func)
libgit_c_args += '-DNO_' + func.to_upper()
foreach impl : impls
- libgit_sources += 'compat/' + impl
+ compat_sources += 'compat/' + impl
endforeach
endif
endforeach
if not compiler.has_function('strdup')
libgit_c_args += '-DOVERRIDE_STRDUP'
- libgit_sources += 'compat/strdup.c'
+ compat_sources += 'compat/strdup.c'
endif
if not compiler.has_function('qsort')
libgit_c_args += '-DINTERNAL_QSORT'
endif
-libgit_sources += 'compat/qsort_s.c'
+compat_sources += 'compat/qsort_s.c'
if compiler.has_function('getdelim')
libgit_c_args += '-DHAVE_GETDELIM'
}
''', name: 'fread reads directories').returncode() == 0
libgit_c_args += '-DFREAD_READS_DIRECTORIES'
- libgit_sources += 'compat/fopen.c'
+ compat_sources += 'compat/fopen.c'
endif
if not meson.is_cross_build() and fs.exists('/dev/tty')
endif
libgit = declare_dependency(
- link_with: static_library('git',
- sources: libgit_sources,
- c_args: libgit_c_args + [
- '-DGIT_VERSION_H="' + version_def_h.full_path() + '"',
- ],
- dependencies: libgit_dependencies,
- include_directories: libgit_include_directories,
- ),
+ link_with: [
+ static_library('compat',
+ sources: compat_sources,
+ c_args: libgit_c_args,
+ dependencies: libgit_dependencies,
+ include_directories: libgit_include_directories,
+ ),
+ static_library('git',
+ sources: libgit_sources,
+ c_args: libgit_c_args + [
+ '-DGIT_VERSION_H="' + version_def_h.full_path() + '"',
+ ],
+ dependencies: libgit_dependencies,
+ include_directories: libgit_include_directories,
+ ),
+ ],
compile_args: libgit_c_args,
dependencies: libgit_dependencies,
include_directories: libgit_include_directories,