1 # Copyright (c) 2022-2023, PostgreSQL Global Development Group
3 # Data layout influencing options
5 option('blocksize', type : 'combo',
6 choices : ['1', '2', '4', '8', '16', '32'],
8 description: 'set relation block size in kB')
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 : 'Whether to enable tap tests')
46 option('PG_TEST_EXTRA', type : 'string', value: '',
47 description: 'Enable selected extra tests')
49 option('atomics', type : 'boolean', value: true,
50 description: 'whether to use atomic operations')
52 option('spinlocks', type : 'boolean', value: true,
53 description: 'whether to use spinlocks')
58 option('extra_include_dirs', type : 'array', value: [],
59 description: 'non-default directories to be searched for headers')
61 option('extra_lib_dirs', type : 'array', value: [],
62 description: 'non-default directories to be searched for libs')
64 option('extra_version', type : 'string', value: '',
65 description: 'append STRING to the PostgreSQL version number')
67 option('darwin_sysroot', type : 'string', value: '',
68 description: 'select a non-default sysroot path')
70 option('rpath', type : 'boolean', value: true,
71 description: 'whether to embed shared library search path in executables')
74 # External dependencies
76 option('bonjour', type : 'feature', value: 'auto',
77 description: 'build with Bonjour support')
79 option('bsd_auth', type : 'feature', value: 'auto',
80 description: 'build with BSD Authentication support')
82 option('dtrace', type : 'feature', value: 'disabled',
83 description: 'DTrace support')
85 option('gssapi', type : 'feature', value: 'auto',
86 description: 'GSSAPI support')
88 option('icu', type : 'feature', value: 'auto',
89 description: 'ICU support')
91 option('ldap', type : 'feature', value: 'auto',
92 description: 'LDAP support')
94 option('libedit_preferred', type : 'boolean', value: false,
95 description: 'Prefer BSD Libedit over GNU Readline')
97 option('libxml', type : 'feature', value: 'auto',
98 description: 'XML support')
100 option('libxslt', type : 'feature', value: 'auto',
101 description: 'XSLT support in contrib/xml2')
103 option('llvm', type : 'feature', value: 'disabled',
104 description: 'whether to use llvm')
106 option('lz4', type : 'feature', value: 'auto',
107 description: 'LZ4 support')
109 option('nls', type: 'feature', value: 'auto',
110 description: 'native language support')
112 option('pam', type : 'feature', value: 'auto',
113 description: 'build with PAM support')
115 option('plperl', type : 'feature', value: 'auto',
116 description: 'build Perl modules (PL/Perl)')
118 option('plpython', type : 'feature', value: 'auto',
119 description: 'build Python modules (PL/Python)')
121 option('pltcl', type : 'feature', value: 'auto',
122 description: 'build with TCL support')
124 option('tcl_version', type : 'string', value : 'tcl',
125 description: 'specify TCL version')
127 option('readline', type : 'feature', value : 'auto',
128 description: 'use GNU Readline or BSD Libedit for editing')
130 option('selinux', type : 'feature', value : 'disabled',
131 description: 'build with SELinux support')
133 option('ssl', type : 'combo', choices : ['none', 'openssl'],
135 description: 'use LIB for SSL/TLS support (openssl)')
137 option('systemd', type : 'feature', value: 'auto',
138 description: 'build with systemd support')
140 option('uuid', type : 'combo', choices : ['none', 'bsd', 'e2fs', 'ossp'],
142 description: 'build contrib/uuid-ossp using LIB')
144 option('zlib', type : 'feature', value: 'auto',
145 description: 'whether to use zlib')
147 option('zstd', type : 'feature', value: 'auto',
148 description: 'whether to use zstd')
153 option('BISON', type : 'array', value: ['bison', 'win_bison'],
154 description: 'path to bison binary')
156 option('DTRACE', type : 'string', value: 'dtrace',
157 description: 'path to dtrace binary')
159 option('FLEX', type : 'array', value: ['flex', 'win_flex'],
160 description: 'path to flex binary')
162 option('GZIP', type : 'string', value: 'gzip',
163 description: 'path to gzip binary')
165 option('LZ4', type : 'string', value: 'lz4',
166 description: 'path to lz4 binary')
168 option('OPENSSL', type : 'string', value: 'openssl',
169 description: 'path to openssl binary')
171 option('PERL', type : 'string', value: 'perl',
172 description: 'path to perl binary')
174 option('PROVE', type : 'string', value: 'prove',
175 description: 'path to prove binary')
177 option('PYTHON', type : 'array', value: ['python3', 'python'],
178 description: 'path to python binary')
180 option('SED', type : 'string', value: 'gsed',
181 description: 'path to sed binary')
183 option('STRIP', type : 'string', value: 'strip',
184 description: 'path to strip binary, used for PGXS emulation')
186 option('TAR', type : 'string', value: 'tar',
187 description: 'path to tar binary')
189 option('XMLLINT', type : 'string', value: 'xmllint',
190 description: 'path to xmllint binary')
192 option('XSLTPROC', type : 'string', value: 'xsltproc',
193 description: 'path to xsltproc binary')
195 option('ZSTD', type : 'string', value: 'zstd',
196 description: 'path to zstd binary')
198 option('ZIC', type : 'string', value: 'zic',
199 description: 'path to zic binary, when cross-compiling')