index 5887cb92b52f95ea04170afbb2f5f79900b8fdf2..b803000c708eeb275a9549a5229c5850f8c03783 100644 (file)
-export_file = custom_target('libpq.exports', kwargs: gen_export_kwargs)
-
-ecpg_compat = both_libraries('libecpg_compat',
+ecpg_compat_sources = files(
'informix.c',
- include_directories: ['.', ecpg_inc, postgres_inc, libpq_inc],
- c_args: ['-DSO_MAJOR_VERSION=3'],
- dependencies: [frontend_code, thread_dep],
- link_with: [ecpglib, ecpg_pgtypes],
+)
+ecpg_compat_so_sources = [] # for shared lib, in addition to the above
+
+ecpg_compat_inc = [include_directories('.'), ecpg_inc, libpq_inc]
+ecpg_compat_c_args = ['-DSO_MAJOR_VERSION=3']
+export_file = custom_target('libecpg_compat.exports', kwargs: gen_export_kwargs)
+
+# see src/interfaces/libpq/meson.build
+ecpg_compat_st = static_library('libecpg_compat',
+ ecpg_compat_sources,
+ include_directories: ecpg_compat_inc,
+ c_args: ecpg_compat_c_args,
+ dependencies: [frontend_stlib_code, thread_dep],
+ link_with: [ecpglib_st, ecpg_pgtypes_st],
+ kwargs: default_lib_args,
+)
+ecpg_targets += ecpg_compat_st
+
+ecpg_compat_so = shared_library('libecpg_compat',
+ ecpg_compat_sources + ecpg_compat_so_sources,
+ include_directories: ecpg_compat_inc,
+ c_args: ecpg_compat_c_args,
+ dependencies: [frontend_shlib_code, thread_dep],
+ link_with: [ecpglib_so, ecpg_pgtypes_so],
soversion: host_system != 'windows' ? '3' : '',
darwin_versions: ['3', '3.' + pg_version_major.to_string()],
version: '3.' + pg_version_major.to_string(),
@@ -13,10 +31,13 @@ ecpg_compat = both_libraries('libecpg_compat',
link_depends: export_file,
kwargs: default_lib_args,
)
-ecpg_targets += [ecpg_compat.get_shared_lib(), ecpg_compat.get_static_lib()]
+ecpg_targets += ecpg_compat_so
pkgconfig.generate(
- ecpg_compat.get_shared_lib(),
+ name: 'libecpg_compat',
description: 'PostgreSQL libecpg_compat library',
url: pg_url,
+ libraries: ecpg_compat_so,
+ libraries_private: [frontend_stlib_code, thread_dep],
+ requires_private: ['libecpg', 'libpgtypes'],
)
index 2da029ec8ea6172b23e8860d3e2e3edafc6ce3c0..6fdf019149cbf2a0706b9975ce97dfe594e2f42a 100644 (file)
'sqlda.c',
'typename.c',
)
+ecpglib_so_sources = [] # for shared lib, in addition to the above
-export_file = custom_target('libpq.exports', kwargs: gen_export_kwargs)
+ecpglib_inc = [include_directories('.'), ecpg_inc]
+ecpglib_c_args = ['-DSO_MAJOR_VERSION=6']
+export_file = custom_target('libecpg.exports', kwargs: gen_export_kwargs)
-ecpglib = both_libraries('libecpg',
+# see src/interfaces/libpq/meson.build
+ecpglib_st = static_library('libecpg',
ecpglib_sources,
- include_directories: ['.', ecpg_inc, postgres_inc],
- c_args: ['-DSO_MAJOR_VERSION=6'],
- dependencies: [frontend_code, libpq, thread_dep],
- link_with: [ecpg_pgtypes],
+ 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_depends: export_file,
kwargs: default_lib_args,
)
-ecpg_targets += [ecpglib.get_shared_lib(), ecpglib.get_static_lib()]
+ecpg_targets += ecpglib_so
pkgconfig.generate(
- ecpglib.get_shared_lib(),
+ 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)
index 96489d9f1d732ed8e32f97d67ffad7f4c072ed4d..8e5d235810a4d364c80cdb447f28b6f290193522 100644 (file)
'numeric.c',
'timestamp.c',
)
+ecpg_pgtypes_so_sources = [] # for shared lib, in addition to the above
-export_file = custom_target('libpq.exports', kwargs: gen_export_kwargs)
+export_file = custom_target('libpgtypes.exports', kwargs: gen_export_kwargs)
+ecpg_pgtypes_inc = [include_directories('.'), ecpg_inc]
+ecpg_pgtypes_c_args = ['-DSO_MAJOR_VERSION=3']
-ecpg_pgtypes = both_libraries('libpgtypes',
+# see src/interfaces/libpq/meson.build
+ecpg_pgtypes_st = static_library('libpgtypes',
ecpg_pgtypes_sources,
- include_directories: ['.', ecpg_inc, postgres_inc],
- c_args: ['-DSO_MAJOR_VERSION=3'],
- dependencies: [frontend_code],
+ include_directories: ecpg_pgtypes_inc,
+ c_args: ecpg_pgtypes_c_args,
+ dependencies: frontend_stlib_code,
+ kwargs: default_lib_args,
+)
+ecpg_targets += ecpg_pgtypes_st
+
+ecpg_pgtypes_so = shared_library('libpgtypes',
+ ecpg_pgtypes_sources + ecpg_pgtypes_so_sources,
+ include_directories: ecpg_pgtypes_inc,
+ c_args: ecpg_pgtypes_c_args,
+ dependencies: frontend_shlib_code,
version: '3.' + pg_version_major.to_string(),
soversion: host_system != 'windows' ? '3' : '',
darwin_versions: ['3', '3.' + pg_version_major.to_string()],
@@ -21,10 +34,12 @@ ecpg_pgtypes = both_libraries('libpgtypes',
link_depends: export_file,
kwargs: default_lib_args,
)
-ecpg_targets += [ecpg_pgtypes.get_shared_lib(), ecpg_pgtypes.get_static_lib()]
+ecpg_targets += ecpg_pgtypes_so
pkgconfig.generate(
- ecpg_pgtypes.get_shared_lib(),
+ name: 'libpgtypes',
description: 'PostgreSQL libpgtypes library',
url: pg_url,
+ libraries: ecpg_pgtypes_so,
+ libraries_private: [frontend_stlib_code],
)
index f0ace641f0c6e86dacfbc7e51bb11b7a485c4043..8904aa7fd90fd25f1e1607e0655fc2c9f9ba9199 100644 (file)
@@ -22,7 +22,7 @@ testprep_targets += pg_regress_ecpg
ecpg_test_exec_kw = {
'dependencies': [frontend_code, libpq],
'include_directories': [ecpg_inc],
- 'link_with': [ecpglib, ecpg_compat, ecpg_pgtypes],
+ 'link_with': [ecpglib_so, ecpg_compat_so, ecpg_pgtypes_so],
'build_by_default': false,
'install': false,
}