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')
58 option('PG_GIT_REVISION', type: 'string', value: 'HEAD',
59 description: 'git revision to be packaged by pgdist target')
64 option('extra_include_dirs', type: 'array', value: [],
65 description: 'Non-default directories to be searched for headers')
67 option('extra_lib_dirs', type: 'array', value: [],
68 description: 'Non-default directories to be searched for libs')
70 option('extra_version', type: 'string', value: '',
71 description: 'Append STRING to the PostgreSQL version number')
73 option('darwin_sysroot', type: 'string', value: '',
74 description: 'Select a non-default sysroot path')
76 option('rpath', type: 'boolean', value: true,
77 description: 'Embed shared library search path in executables')
80 # External dependencies
82 option('bonjour', type: 'feature', value: 'auto',
83 description: 'Bonjour support')
85 option('bsd_auth', type: 'feature', value: 'auto',
86 description: 'BSD Authentication support')
88 option('docs', type: 'feature', value: 'auto',
89 description: 'Documentation in HTML and man page format')
91 option('docs_pdf', type: 'feature', value: 'auto',
92 description: 'Documentation in PDF format')
94 option('docs_html_style', type: 'combo', choices: ['simple', 'website'],
95 description: 'CSS stylesheet for HTML documentation')
97 option('dtrace', type: 'feature', value: 'disabled',
98 description: 'DTrace support')
100 option('gssapi', type: 'feature', value: 'auto',
101 description: 'GSSAPI support')
103 option('icu', type: 'feature', value: 'auto',
104 description: 'ICU support')
106 option('ldap', type: 'feature', value: 'auto',
107 description: 'LDAP support')
109 option('libedit_preferred', type: 'boolean', value: false,
110 description: 'Prefer BSD Libedit over GNU Readline')
112 option('libxml', type: 'feature', value: 'auto',
113 description: 'XML support')
115 option('libxslt', type: 'feature', value: 'auto',
116 description: 'XSLT support in contrib/xml2')
118 option('llvm', type: 'feature', value: 'disabled',
119 description: 'LLVM support')
121 option('lz4', type: 'feature', value: 'auto',
122 description: 'LZ4 support')
124 option('nls', type: 'feature', value: 'auto',
125 description: 'Native language support')
127 option('pam', type: 'feature', value: 'auto',
128 description: 'PAM support')
130 option('plperl', type: 'feature', value: 'auto',
131 description: 'Build Perl modules (PL/Perl)')
133 option('plpython', type: 'feature', value: 'auto',
134 description: 'Build Python modules (PL/Python)')
136 option('pltcl', type: 'feature', value: 'auto',
137 description: 'Build with Tcl support (PL/Tcl)')
139 option('tcl_version', type: 'string', value: 'tcl',
140 description: 'Tcl version')
142 option('readline', type: 'feature', value: 'auto',
143 description: 'Use GNU Readline or BSD Libedit for editing')
145 option('selinux', type: 'feature', value: 'auto',
146 description: 'SELinux support')
148 option('ssl', type: 'combo', choices: ['auto', 'none', 'openssl'],
150 description: 'Use LIB for SSL/TLS support (openssl)')
152 option('systemd', type: 'feature', value: 'auto',
153 description: 'systemd support')
155 option('uuid', type: 'combo', choices: ['none', 'bsd', 'e2fs', 'ossp'],
157 description: 'Use LIB for contrib/uuid-ossp support')
159 option('zlib', type: 'feature', value: 'auto',
160 description: 'Enable zlib')
162 option('zstd', type: 'feature', value: 'auto',
163 description: 'Enable zstd')
168 option('BISON', type: 'array', value: ['bison', 'win_bison'],
169 description: 'Path to bison binary')
171 option('DTRACE', type: 'string', value: 'dtrace',
172 description: 'Path to dtrace binary')
174 option('FLEX', type: 'array', value: ['flex', 'win_flex'],
175 description: 'Path to flex binary')
177 option('FOP', type: 'string', value: 'fop',
178 description: 'Path to fop binary')
180 option('GZIP', type: 'string', value: 'gzip',
181 description: 'Path to gzip binary')
183 option('LZ4', type: 'string', value: 'lz4',
184 description: 'Path to lz4 binary')
186 option('OPENSSL', type: 'string', value: 'openssl',
187 description: 'Path to openssl binary')
189 option('PERL', type: 'string', value: 'perl',
190 description: 'Path to perl binary')
192 option('PROVE', type: 'string', value: 'prove',
193 description: 'Path to prove binary')
195 option('PYTHON', type: 'array', value: ['python3', 'python'],
196 description: 'Path to python binary')
198 option('SED', type: 'string', value: 'gsed',
199 description: 'Path to sed binary')
201 option('STRIP', type: 'string', value: 'strip',
202 description: 'Path to strip binary, used for PGXS emulation')
204 option('TAR', type: 'string', value: 'tar',
205 description: 'Path to tar binary')
207 option('XMLLINT', type: 'string', value: 'xmllint',
208 description: 'Path to xmllint binary')
210 option('XSLTPROC', type: 'string', value: 'xsltproc',
211 description: 'Path to xsltproc binary')
213 option('ZSTD', type: 'string', value: 'zstd',
214 description: 'Path to zstd binary')
216 option('ZIC', type: 'string', value: 'zic',
217 description: 'Path to zic binary, when cross-compiling')