mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-11-21 03:13:05 +08:00
meson: Basic cygwin support
There likely are further issues, but as evidenced by the CI task proposed by Justin in the referenced thread, this suffices to build and run basic tests in cygwin (some fixes for the test infrastructure are needed, but that's independent of the meson aspect). Author: Justin Pryzby <pryzby@telsasoft.com> Reviewed-by: Andres Freund <andres@anarazel.de> Discussion: https://postgr.es/m/20221021034040.GT16921@telsasoft.com
This commit is contained in:
parent
a61b1f7482
commit
79f7c482f6
@ -211,6 +211,10 @@ if host_system == 'aix'
|
||||
|
||||
elif host_system == 'cygwin'
|
||||
cppflags += '-D_GNU_SOURCE'
|
||||
dlsuffix = '.dll'
|
||||
mod_link_args_fmt = ['@0@']
|
||||
mod_link_with_name = 'lib@0@.exe.a'
|
||||
mod_link_with_dir = 'libdir'
|
||||
|
||||
elif host_system == 'darwin'
|
||||
dlsuffix = '.dylib'
|
||||
@ -2310,8 +2314,8 @@ gnugetopt_dep = cc.find_library('gnugetopt', required: false)
|
||||
# (i.e., allow '-' as a flag character), so use our version on those platforms
|
||||
# - We want to use system's getopt_long() only if the system provides struct
|
||||
# option
|
||||
always_replace_getopt = host_system in ['windows', 'openbsd', 'solaris']
|
||||
always_replace_getopt_long = host_system == 'windows' or not cdata.has('HAVE_STRUCT_OPTION')
|
||||
always_replace_getopt = host_system in ['windows', 'cygwin', 'openbsd', 'solaris']
|
||||
always_replace_getopt_long = host_system in ['windows', 'cygwin'] or not cdata.has('HAVE_STRUCT_OPTION')
|
||||
|
||||
# Required on BSDs
|
||||
execinfo_dep = cc.find_library('execinfo', required: false)
|
||||
|
@ -40,6 +40,10 @@ if host_system == 'windows'
|
||||
'win32setlocale.c',
|
||||
'win32stat.c',
|
||||
)
|
||||
elif host_system == 'cygwin'
|
||||
pgport_sources += files(
|
||||
'dirmod.c',
|
||||
)
|
||||
endif
|
||||
|
||||
if cc.get_id() == 'msvc'
|
||||
|
@ -12,6 +12,8 @@ regress_sources = pg_regress_c + files(
|
||||
host_tuple_cc = cc.get_id()
|
||||
if host_system == 'windows' and host_tuple_cc == 'gcc'
|
||||
host_tuple_cc = 'mingw'
|
||||
elif host_system == 'cygwin' and host_tuple_cc == 'gcc'
|
||||
host_tuple_cc = 'cygwin'
|
||||
endif
|
||||
host_tuple = '@0@-@1@-@2@'.format(host_cpu, host_system, host_tuple_cc)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user