Andres Freund 902ab2fcef meson: Add windows resource files
The generated resource files aren't exactly the same ones as the old
buildsystems generate. Previously "InternalName" and "OriginalFileName" were
mostly wrong / not set (despite being required), but that was hard to fix in
at least the make build. Additionally, the meson build falls back to a
"auto-generated" description when not set, and doesn't set it in a few cases -
unlikely that anybody looks at these descriptions in detail.

Author: Andres Freund <andres@anarazel.de>
Author: Nazir Bilal Yavuz <byavuz81@gmail.com>
Reviewed-by: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
2022-10-05 09:56:05 -07:00

61 lines
1.6 KiB
Meson

ecpglib_sources = files(
'connect.c',
'data.c',
'descriptor.c',
'error.c',
'execute.c',
'memory.c',
'misc.c',
'prepare.c',
'sqlda.c',
'typename.c',
)
ecpglib_so_sources = [] # for shared lib, in addition to the above
ecpglib_inc = [include_directories('.'), ecpg_inc]
ecpglib_c_args = ['-DSO_MAJOR_VERSION=6']
export_file = custom_target('libecpg.exports', kwargs: gen_export_kwargs)
if host_system == 'windows'
ecpglib_so_sources += rc_lib_gen.process(win32ver_rc, extra_args: [
'--NAME', 'libecpg',
'--FILEDESC', 'ECPG - embedded SQL in C',])
endif
# see src/interfaces/libpq/meson.build
ecpglib_st = static_library('libecpg',
ecpglib_sources,
include_directories: ecpglib_inc,
c_args: ecpglib_c_args,
dependencies: [frontend_stlib_code, thread_dep, libpq],
link_with: [ecpg_pgtypes_st],
kwargs: default_lib_args,
)
ecpg_targets += ecpglib_st
ecpglib_so = shared_library('libecpg',
ecpglib_sources + ecpglib_so_sources,
include_directories: ecpglib_inc,
c_args: ecpglib_c_args,
dependencies: [frontend_shlib_code, libpq, thread_dep],
link_with: ecpg_pgtypes_so,
soversion: host_system != 'windows' ? '6' : '',
darwin_versions: ['6', '6.' + pg_version_major.to_string()],
version: '6.' + pg_version_major.to_string(),
link_args: export_fmt.format(export_file.full_path()),
link_depends: export_file,
kwargs: default_lib_args,
)
ecpg_targets += ecpglib_so
pkgconfig.generate(
name: 'libecpg',
description: 'PostgreSQL libecpg library',
url: pg_url,
libraries: ecpglib_so,
libraries_private: [frontend_shlib_code, thread_dep],
requires_private: ['libpgtypes', 'libpq'],
)
subdir('po', if_found: libintl)