1
- project (' plpgsql_check' , [' c' ], version : ' 2.7' )
1
+ project (' plpgsql_check' , [' c' ], version : ' 2.7.13 ' )
2
2
3
3
pg_config = find_program (' pg_config' )
4
4
@@ -11,7 +11,6 @@ libdir = run_command(pg_config, '--libdir', check: true).stdout().strip()
11
11
12
12
versionstring = run_command (pg_config, ' --version' , check : true ).stdout().strip()
13
13
pg_version = versionstring.split(' ' )[1 ]
14
- plpgsql_check_version = meson .project_version()
15
14
16
15
if pg_version.endswith(' devel' )
17
16
pg_version_arr = [pg_version.split(' devel' )[0 ], ' 0' ]
@@ -27,7 +26,12 @@ pg_version_major = pg_version_arr[0].to_int()
27
26
pg_version_minor = pg_version_arr[1 ].to_int()
28
27
pg_version_num = (pg_version_major * 10000 ) + pg_version_minor
29
28
30
- plpgsql_check_sources = files (
29
+ module_version_minor = meson .project_version()
30
+ module_version_arr = module_version_minor.split(' .' )
31
+ module_version = module_version_arr[0 ] + ' .' + module_version_arr[1 ]
32
+ module_name = meson .project_name()
33
+
34
+ sources = files (
31
35
' src/assign.c' ,
32
36
' src/cursors_leaks.c' ,
33
37
' src/format.c' ,
@@ -47,6 +51,14 @@ plpgsql_check_sources = files(
47
51
' src/tracer.c' ,
48
52
)
49
53
54
+ data = [ module_name + ' .control' ,
55
+ module_name + ' --' + module_version + ' .sql' ]
56
+
57
+ tests = [ ' plpgsql_check_active' ,
58
+ ' plpgsql_check_passive' ,
59
+ ' plpgsql_check_active-' + pg_version_major.to_string(),
60
+ ' plpgsql_check_passive-' + pg_version_major.to_string() ]
61
+
50
62
compilerName = meson .get_compiler(' c' ).get_id()
51
63
52
64
if meson .get_compiler(' c' ).get_id() == ' msvc'
@@ -61,39 +73,55 @@ if meson.get_compiler('c').get_id() == 'msvc'
61
73
required : true
62
74
)
63
75
else
64
- incdir = [includedir_server]
76
+ incdir = [ includedir_server ]
65
77
postgres_lib = ''
66
78
endif
67
79
68
- plpgsql_check_lib = shared_module (
69
- ' plpgsql_check ' ,
70
- plpgsql_check_sources ,
80
+ module_lib = shared_module (
81
+ module_name ,
82
+ sources ,
71
83
include_directories : incdir,
72
84
install : true ,
73
85
install_dir : pkglibdir,
74
86
name_prefix : '' ,
75
87
dependencies : postgres_lib,
76
88
)
77
89
78
- install_data (
79
- ' plpgsql_check.control' ,
80
- ' plpgsql_check--' + plpgsql_check_version + ' .sql' ,
81
- install_dir : sharedir / ' extension' ,
82
- )
90
+ install_data (data, install_dir : sharedir / ' extension' )
91
+
92
+ fs = import (' fs' )
93
+ bindistdir = fs.expanduser(' ~' / module_name / module_name + ' -' +
94
+ ' -' .join( [ module_version_minor,
95
+ target_machine .cpu(),
96
+ target_machine .system() ] ))
97
+
98
+ lib_name = fs.name(module_lib.full_path())
99
+ lib_suffix = lib_name.split(' .' )[1 ]
100
+
101
+ python_exe = find_program (' python3' , ' python' )
102
+
103
+ custom_target (' bindist' ,
104
+ depends : module_lib,
105
+ input : module_lib,
106
+ output : ' bindist' ,
107
+ command : [ python_exe,
108
+ meson .current_source_dir() / ' install_bindist.py' ,
109
+ meson .current_source_dir(),
110
+ bindistdir,
111
+ module_lib.full_path(),
112
+ fs.stem(lib_name) + ' _' + pg_version_major.to_string() + ' .' + lib_suffix,
113
+ data ],
114
+ install : false ,
115
+ build_by_default : false )
83
116
84
117
pg_regress = find_program (
85
118
' pg_regress' ,
86
119
dirs : [pkglibdir / ' pgxs/src/test/regress' ]
87
120
)
88
121
89
- regress_tests = [' plpgsql_check_active' ,
90
- ' plpgsql_check_passive' ,
91
- ' plpgsql_check_active-' + pg_version_major.to_string(),
92
- ' plpgsql_check_passive-' + pg_version_major.to_string()]
93
-
94
122
test (' regress' ,
95
123
pg_regress,
96
- args : [' --bindir' , bindir,
97
- ' --inputdir' , meson .current_source_dir(),
98
- ] + regress_tests ,
124
+ args : [ ' --bindir' , bindir,
125
+ ' --inputdir' , meson .current_source_dir(),
126
+ ] + tests ,
99
127
)
0 commit comments