174 lines
4.0 KiB
Meson
174 lines
4.0 KiB
Meson
|
pg_config_ext = configure_file(
|
||
|
input: 'pg_config_ext.h.meson',
|
||
|
output: 'pg_config_ext.h',
|
||
|
configuration: cdata,
|
||
|
install: true,
|
||
|
install_dir: dir_include,
|
||
|
)
|
||
|
configure_files += pg_config_ext
|
||
|
|
||
|
pg_config_os = configure_file(
|
||
|
output: 'pg_config_os.h',
|
||
|
input: files('port/@0@.h'.format(portname)),
|
||
|
install: true,
|
||
|
install_dir: dir_include,
|
||
|
copy: true,
|
||
|
)
|
||
|
configure_files += pg_config_os
|
||
|
|
||
|
pg_config = configure_file(
|
||
|
output: 'pg_config.h',
|
||
|
install: true,
|
||
|
install_dir: dir_include,
|
||
|
configuration: cdata,
|
||
|
)
|
||
|
configure_files += pg_config
|
||
|
|
||
|
|
||
|
config_paths_data = configuration_data()
|
||
|
config_paths_data.set_quoted('PGBINDIR', dir_prefix / dir_bin)
|
||
|
config_paths_data.set_quoted('PGSHAREDIR', dir_prefix / dir_data)
|
||
|
config_paths_data.set_quoted('SYSCONFDIR', dir_prefix / dir_sysconf)
|
||
|
config_paths_data.set_quoted('INCLUDEDIR', dir_prefix / dir_include)
|
||
|
config_paths_data.set_quoted('PKGINCLUDEDIR', dir_prefix / dir_include_pkg)
|
||
|
config_paths_data.set_quoted('INCLUDEDIRSERVER', dir_prefix / dir_include_server)
|
||
|
config_paths_data.set_quoted('LIBDIR', dir_prefix / dir_lib)
|
||
|
config_paths_data.set_quoted('PKGLIBDIR', dir_prefix / dir_lib_pkg)
|
||
|
config_paths_data.set_quoted('LOCALEDIR', dir_prefix / dir_locale)
|
||
|
config_paths_data.set_quoted('DOCDIR', dir_prefix / dir_doc)
|
||
|
config_paths_data.set_quoted('HTMLDIR', dir_prefix / dir_doc_html)
|
||
|
config_paths_data.set_quoted('MANDIR', dir_prefix / dir_man)
|
||
|
|
||
|
|
||
|
var_cc = ' '.join(cc.cmd_array())
|
||
|
var_cpp = ' '.join(cc.cmd_array() + ['-E'])
|
||
|
var_cflags = ' '.join(cflags + cflags_warn)
|
||
|
var_cxxflags = ' '.join(cxxflags + cxxflags_warn)
|
||
|
var_cppflags = ' '.join(cppflags)
|
||
|
var_cflags_sl = '-fPIC' #FIXME
|
||
|
var_ldflags = ' '.join(ldflags)
|
||
|
var_ldflags_sl = ''.join(ldflags_sl)
|
||
|
var_ldflags_ex = '' # FIXME
|
||
|
# FIXME - some extensions might directly use symbols from one of libs. If
|
||
|
# that symbol isn't used by postgres, and statically linked, it'll cause an
|
||
|
# undefined symbol at runtime. And obviously it'll cause problems for
|
||
|
# executables, although those are probably less common.
|
||
|
var_libs = ''
|
||
|
|
||
|
|
||
|
pg_config_paths = configure_file(
|
||
|
output: 'pg_config_paths.h',
|
||
|
configuration: config_paths_data,
|
||
|
install: false,
|
||
|
)
|
||
|
configure_files += pg_config_paths
|
||
|
|
||
|
install_headers(
|
||
|
'pg_config_manual.h',
|
||
|
'postgres_ext.h',
|
||
|
)
|
||
|
|
||
|
install_headers(
|
||
|
'libpq/libpq-fs.h',
|
||
|
install_dir: dir_include / 'libpq',
|
||
|
)
|
||
|
|
||
|
install_headers(
|
||
|
'c.h',
|
||
|
'port.h',
|
||
|
'postgres_fe.h',
|
||
|
install_dir: dir_include_internal
|
||
|
)
|
||
|
|
||
|
install_headers(
|
||
|
'libpq/pqcomm.h',
|
||
|
install_dir: dir_include_internal / 'libpq',
|
||
|
)
|
||
|
|
||
|
install_headers(
|
||
|
'c.h',
|
||
|
'fmgr.h',
|
||
|
'funcapi.h',
|
||
|
'getopt_long.h',
|
||
|
'miscadmin.h',
|
||
|
'pg_config_manual.h',
|
||
|
'pg_getopt.h',
|
||
|
'pg_trace.h',
|
||
|
'pgstat.h',
|
||
|
'pgtar.h',
|
||
|
'pgtime.h',
|
||
|
'port.h',
|
||
|
'postgres.h',
|
||
|
'postgres_ext.h',
|
||
|
'postgres_fe.h',
|
||
|
'windowapi.h',
|
||
|
pg_config_ext,
|
||
|
pg_config_os,
|
||
|
pg_config,
|
||
|
install_dir: dir_include_server,
|
||
|
)
|
||
|
|
||
|
subdir('catalog')
|
||
|
subdir('nodes')
|
||
|
subdir('storage')
|
||
|
subdir('utils')
|
||
|
|
||
|
header_subdirs = [
|
||
|
'access',
|
||
|
'catalog',
|
||
|
'bootstrap',
|
||
|
'commands',
|
||
|
'common',
|
||
|
'datatype',
|
||
|
'executor',
|
||
|
'fe_utils',
|
||
|
'foreign',
|
||
|
'jit',
|
||
|
'lib',
|
||
|
'libpq',
|
||
|
'mb',
|
||
|
'nodes',
|
||
|
'optimizer',
|
||
|
'parser',
|
||
|
'partitioning',
|
||
|
'postmaster',
|
||
|
'regex',
|
||
|
'replication',
|
||
|
'rewrite',
|
||
|
'statistics',
|
||
|
'storage',
|
||
|
'tcop',
|
||
|
'snowball',
|
||
|
'tsearch',
|
||
|
'utils',
|
||
|
'port',
|
||
|
'portability',
|
||
|
]
|
||
|
|
||
|
# XXX: installing headers this way has the danger of installing editor files
|
||
|
# etc, unfortunately install_subdir() doesn't allow including / excluding by
|
||
|
# pattern currently.
|
||
|
foreach d : header_subdirs
|
||
|
if d == 'catalog'
|
||
|
continue
|
||
|
endif
|
||
|
install_subdir(d, install_dir: dir_include_server,
|
||
|
exclude_files: ['.gitignore', 'meson.build'])
|
||
|
endforeach
|
||
|
|
||
|
install_subdir('catalog',
|
||
|
install_dir: dir_include_server,
|
||
|
exclude_files: [
|
||
|
'.gitignore',
|
||
|
'Makefile',
|
||
|
'duplicate_oids',
|
||
|
'meson.build',
|
||
|
'reformat_dat_file.pl',
|
||
|
'renumber_oids.pl',
|
||
|
'unused_oids',
|
||
|
] + bki_data,
|
||
|
)
|
||
|
|
||
|
# autoconf generates the file there, ensure we get a conflict
|
||
|
generated_sources_ac += {'src/include': ['stamp-h', 'stamp-ext-h']}
|