|
1 |
| -project('plpgsql_check', ['c']) |
| 1 | +project('plpgsql_check', ['c'], version: '2.7') |
2 | 2 |
|
3 | 3 | pg_config = find_program('pg_config')
|
4 | 4 |
|
5 | 5 | bindir = run_command(pg_config, '--bindir', check: true).stdout().strip()
|
6 | 6 | includedir_server = run_command(pg_config, '--includedir-server', check: true).stdout().strip()
|
| 7 | +includedir = run_command(pg_config, '--includedir', check: true).stdout().strip() |
7 | 8 | pkglibdir = run_command(pg_config, '--pkglibdir', check: true).stdout().strip()
|
8 | 9 | sharedir = run_command(pg_config, '--sharedir', check: true).stdout().strip()
|
| 10 | +libdir = run_command(pg_config, '--libdir', check: true).stdout().strip() |
9 | 11 |
|
10 | 12 | versionstring = run_command(pg_config, '--version', check: true).stdout().strip()
|
11 | 13 | pg_version = versionstring.split(' ')[1]
|
| 14 | +plpgsql_check_version = meson.project_version() |
12 | 15 |
|
13 | 16 | if pg_version.endswith('devel')
|
14 | 17 | pg_version_arr = [pg_version.split('devel')[0], '0']
|
@@ -44,18 +47,37 @@ plpgsql_check_sources = files(
|
44 | 47 | 'src/tracer.c',
|
45 | 48 | )
|
46 | 49 |
|
47 |
| -shared_module( |
| 50 | +compilerName = meson.get_compiler('c').get_id() |
| 51 | + |
| 52 | +if meson.get_compiler('c').get_id() == 'msvc' |
| 53 | + incdir = [includedir_server / 'port/win32_msvc', |
| 54 | + includedir_server / 'port/win32', |
| 55 | + includedir_server, |
| 56 | + includedir] |
| 57 | + postgres_lib = meson.get_compiler('c').find_library( |
| 58 | + 'postgres', |
| 59 | + dirs: libdir, |
| 60 | + static: true, |
| 61 | + required: true |
| 62 | + ) |
| 63 | +else |
| 64 | + incdir = [includedir_server] |
| 65 | + postgres_lib = '' |
| 66 | +endif |
| 67 | + |
| 68 | +plpgsql_check_lib = shared_module( |
48 | 69 | 'plpgsql_check',
|
49 | 70 | plpgsql_check_sources,
|
50 |
| - include_directories: [includedir_server], |
| 71 | + include_directories: incdir, |
51 | 72 | install: true,
|
52 | 73 | install_dir: pkglibdir,
|
53 | 74 | name_prefix: '',
|
| 75 | + dependencies: postgres_lib, |
54 | 76 | )
|
55 | 77 |
|
56 | 78 | install_data(
|
57 | 79 | 'plpgsql_check.control',
|
58 |
| - 'plpgsql_check--2.7.sql', |
| 80 | + 'plpgsql_check--' + plpgsql_check_version + '.sql', |
59 | 81 | install_dir: sharedir / 'extension',
|
60 | 82 | )
|
61 | 83 |
|
|
0 commit comments