1 # Copyright (c) 2022-2024, PostgreSQL Global Development Group
3 # Data layout influencing options
5 option('blocksize', type: 'combo',
6 choices: ['1', '2', '4', '8', '16', '32'],
8 description: 'Relation block size, in kilobytes')
10 option('wal_blocksize', type: 'combo',
11 choices: ['1', '2', '4', '8', '16', '32', '64'],
13 description: 'WAL block size, in kilobytes')
15 option('segsize', type: 'integer', value: 1,
16 description: 'Segment size, in gigabytes')
18 option('segsize_blocks', type: 'integer', value: 0,
19 description: 'Segment size, in blocks')
22 # Miscellaneous options
24 option('krb_srvnam', type: 'string', value: 'postgres',
25 description: 'Default Kerberos service principal for GSSAPI')
27 option('system_tzdata', type: 'string', value: '',
28 description: 'Use system time zone data in specified directory')
33 option('pgport', type: 'integer', value: 5432,
35 description: 'Default port number for server and clients')
40 option('cassert', type: 'boolean', value: false,
41 description: 'Enable assertion checks (for debugging)')
43 option('tap_tests', type: 'feature', value: 'auto',
44 description: 'Enable TAP tests')
46 option('injection_points', type: 'boolean', value: false,
47 description: 'Enable injection points')
49 option('PG_TEST_EXTRA', type: 'string', value: '',
50 description: 'Enable selected extra tests')
52 option('atomics', type: 'boolean', value: true,
53 description: 'Use atomic operations')
55 option('spinlocks', type: 'boolean', value: true,
56 description: 'Use spinlocks')
61 option('extra_include_dirs', type: 'array', value: [],
62 description: 'Non-default directories to be searched for headers')
64 option('extra_lib_dirs', type: 'array', value: [],
65 description: 'Non-default directories to be searched for libs')
67 option('extra_version', type: 'string', value: '',
68 description: 'Append STRING to the PostgreSQL version number')
70 option('darwin_sysroot', type: 'string', value: '',
71 description: 'Select a non-default sysroot path')
73 option('rpath', type: 'boolean', value: true,
74 description: 'Embed shared library search path in executables')
77 # External dependencies
79 option('bonjour', type: 'feature', value: 'auto',
80 description: 'Bonjour support')
82 option('bsd_auth', type: 'feature', value: 'auto',
83 description: 'BSD Authentication support')
85 option('docs', type: 'feature', value: 'auto',
86 description: 'Documentation in HTML and man page format')
88 option('docs_pdf', type: 'feature', value: 'auto',
89 description: 'Documentation in PDF format')
91 option('docs_html_style', type: 'combo', choices: ['simple', 'website'],
92 description: 'CSS stylesheet for HTML documentation')
94 option('dtrace', type: 'feature', value: 'disabled',
95 description: 'DTrace support')
97 option('gssapi', type: 'feature', value: 'auto',
98 description: 'GSSAPI support')
100 option('icu', type: 'feature', value: 'auto',
101 description: 'ICU support')
103 option('ldap', type: 'feature', value: 'auto',
104 description: 'LDAP support')
106 option('libedit_preferred', type: 'boolean', value: false,
107 description: 'Prefer BSD Libedit over GNU Readline')
109 option('libxml', type: 'feature', value: 'auto',
110 description: 'XML support')
112 option('libxslt', type: 'feature', value: 'auto',
113 description: 'XSLT support in contrib/xml2')
115 option('llvm', type: 'feature', value: 'disabled',
116 description: 'LLVM support')
118 option('lz4', type: 'feature', value: 'auto',
119 description: 'LZ4 support')
121 option('nls', type: 'feature', value: 'auto',
122 description: 'Native language support')
124 option('pam', type: 'feature', value: 'auto',
125 description: 'PAM support')
127 option('plperl', type: 'feature', value: 'auto',
128 description: 'Build Perl modules (PL/Perl)')
130 option('plpython', type: 'feature', value: 'auto',
131 description: 'Build Python modules (PL/Python)')
133 option('pltcl', type: 'feature', value: 'auto',
134 description: 'Build with Tcl support (PL/Tcl)')
136 option('tcl_version', type: 'string', value: 'tcl',
137 description: 'Tcl version')
139 option('readline', type: 'feature', value: 'auto',
140 description: 'Use GNU Readline or BSD Libedit for editing')
142 option('selinux', type: 'feature', value: 'auto',
143 description: 'SELinux support')
145 option('ssl', type: 'combo', choices: ['auto', 'none', 'openssl'],
147 description: 'Use LIB for SSL/TLS support (openssl)')
149 option('systemd', type: 'feature', value: 'auto',
150 description: 'systemd support')
152 option('uuid', type: 'combo', choices: ['none', 'bsd', 'e2fs', 'ossp'],
154 description: 'Use LIB for contrib/uuid-ossp support')
156 option('zlib', type: 'feature', value: 'auto',
157 description: 'Enable zlib')
159 option('zstd', type: 'feature', value: 'auto',
160 description: 'Enable zstd')
165 option('BISON', type: 'array', value: ['bison', 'win_bison'],
166 description: 'Path to bison binary')
168 option('DTRACE', type: 'string', value: 'dtrace',
169 description: 'Path to dtrace binary')
171 option('FLEX', type: 'array', value: ['flex', 'win_flex'],
172 description: 'Path to flex binary')
174 option('FOP', type: 'string', value: 'fop',
175 description: 'Path to fop binary')
177 option('GZIP', type: 'string', value: 'gzip',
178 description: 'Path to gzip binary')
180 option('LZ4', type: 'string', value: 'lz4',
181 description: 'Path to lz4 binary')
183 option('OPENSSL', type: 'string', value: 'openssl',
184 description: 'Path to openssl binary')
186 option('PERL', type: 'string', value: 'perl',
187 description: 'Path to perl binary')
189 option('PROVE', type: 'string', value: 'prove',
190 description: 'Path to prove binary')
192 option('PYTHON', type: 'array', value: ['python3', 'python'],
193 description: 'Path to python binary')
195 option('SED', type: 'string', value: 'gsed',
196 description: 'Path to sed binary')
198 option('STRIP', type: 'string', value: 'strip',
199 description: 'Path to strip binary, used for PGXS emulation')
201 option('TAR', type: 'string', value: 'tar',
202 description: 'Path to tar binary')
204 option('XMLLINT', type: 'string', value: 'xmllint',
205 description: 'Path to xmllint binary')
207 option('XSLTPROC', type: 'string', value: 'xsltproc',
208 description: 'Path to xsltproc binary')
210 option('ZSTD', type: 'string', value: 'zstd',
211 description: 'Path to zstd binary')
213 option('ZIC', type: 'string', value: 'zic',
214 description: 'Path to zic binary, when cross-compiling')