Prepare for MSVC support in y[dt]k

This commit is contained in:
Robin Gareus 2025-10-22 15:34:21 +02:00
parent 4bdad3a20d
commit d8a379bc6d
No known key found for this signature in database
GPG key ID: A090BCE02CF57F04
3 changed files with 7 additions and 7 deletions

View file

@ -10,7 +10,7 @@ def options(ctx):
def configure(conf):
autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.28', mandatory=True)
autowaf.check_pkg(conf, 'lv2', uselib_store='LV2_1_16_0', atleast_version='1.16.0', mandatory=False)
if conf.env['build_target'] != 'mingw' and sys.platform != 'darwin': # Linux
if conf.env['build_target'] != 'mingw' and conf.env['build_target'] != 'msvc' and sys.platform != 'darwin': # Linux
autowaf.check_pkg(conf, 'x11', uselib_store='X11', system=True, mandatory=True)
def build(bld):
@ -24,7 +24,7 @@ def build(bld):
if sys.platform == 'darwin':
cflags += ['-fvisibility=hidden']
defines += ['SUIL_WITH_COCOA_IN_GTK2', 'SUIL_MODULE_PREFIX="lib"', 'SUIL_MODULE_EXT=".dylib"']
elif bld.env['build_target'] == 'mingw':
elif bld.env['build_target'] == 'mingw' or bld.env['build_target'] == 'msvc':
defines += ['SUIL_WITH_WIN_IN_GTK2', 'SUIL_MODULE_PREFIX=""', 'SUIL_MODULE_EXT=".dll"']
else:
defines += ['SUIL_WITH_X11_IN_GTK2', 'SUIL_MODULE_PREFIX="lib"', 'SUIL_MODULE_EXT=".so"']
@ -56,7 +56,7 @@ def build(bld):
uselib = 'LV2 DL GLIB PANGOCAIRO',
linkflags = ['-framework', 'Cocoa'])
elif bld.env['build_target'] == 'mingw':
elif bld.env['build_target'] == 'mingw' or bld.env['build_target'] == 'msvc':
bld(features = 'cxx cxxshlib',
source = 'win_in_gtk2.cpp',
target = 'suil_win_in_gtk2',

View file

@ -154,7 +154,7 @@ def configure(conf):
autowaf.check_pkg(conf, 'pango', uselib_store='PANGO', atleast_version='1.20', mandatory=True)
autowaf.check_pkg(conf, 'cairo', uselib_store='CAIRO', atleast_version='1.12', mandatory=True)
autowaf.check_pkg(conf, 'pangocairo', uselib_store='PANGOCAIRO', mandatory=True)
if conf.env['build_target'] == 'mingw':
if conf.env['build_target'] == 'mingw' or conf.env['build_target'] == 'msvc':
autowaf.check_pkg(conf, 'gio-windows-2.0', uselib_store='GIO-WINDOWS', mandatory=True)
elif sys.platform != 'darwin':
autowaf.check_pkg(conf, 'gio-unix-2.0', uselib_store='GIO-UNIX', mandatory=True)
@ -186,7 +186,7 @@ def build(bld):
obj.uselib += ' OSX' # -framework Cocoa -framework CoreFoundation -framework ApplicationServices
obj.includes += ['quartz', 'quartz/ydk', 'ydk/quartz']
obj.export_includes += ['quartz']
elif bld.env['build_target'] == 'mingw':
elif bld.env['build_target'] == 'mingw' or bld.env['build_target'] == 'msvc':
obj.source = libydk_sources + libydk_win32_sources
obj.cflags += ['-mms-bitfields', '-Wl,--export-all-symbols']
obj.uselib += ' GIO-WINDOWS'

View file

@ -263,7 +263,7 @@ def configure(conf):
autowaf.check_pkg(conf, 'cairo', uselib_store='CAIRO', atleast_version='1.12', mandatory=True)
autowaf.check_pkg(conf, 'pangocairo', uselib_store='PANGOCAIRO', mandatory=True)
autowaf.check_pkg(conf, 'gmodule-2.0', uselib_store='GMODULE', mandatory=True)
if conf.env['build_target'] != 'mingw' and sys.platform != 'darwin': # Linux
if conf.env['build_target'] != 'mingw' and conf.env['build_target'] != 'msvc' and sys.platform != 'darwin': # Linux
autowaf.check_pkg(conf, 'x11', uselib_store='X11', system=True, mandatory=True)
autowaf.check_pkg(conf, 'xext', uselib_store='XEXT', system=True, mandatory=True)
@ -294,7 +294,7 @@ def build(bld):
obj.source = libytk_sources + libytk_quartz_sources
obj.cflags += ['-xobjective-c']
obj.uselib += ' OSX' # -framework Cocoa -framework CoreFoundation -framework ApplicationServices
elif bld.env['build_target'] == 'mingw':
elif bld.env['build_target'] == 'mingw' or bld.env['build_target'] == 'msvc':
obj.source = libytk_sources + libytk_win32_sources
obj.defines += [ 'INSIDE_GTK_WIN32', 'DLL_EXPORT', 'PIC' ]
obj.ldflags = '-limm32 -lole32 -lgdi32 -lcomdlg32 -lwinspool -lcomctl32 -luuid'