forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commite692727
committed
meson: Add initial version of meson based build system
Autoconf is showing its age, fewer and fewer contributors know how to wrangleit. Recursive make has a lot of hard to resolve dependency issues and slowincremental rebuilds. Our home-grown MSVC build system is hard to maintain fordevelopers not using Windows and runs tests serially. While these and otherissues could individually be addressed with incremental improvements, togetherthey seem best addressed by moving to a more modern build system.After evaluating different build system choices, we chose to use meson, to agood degree based on the adoption by other open source projects.We decided that it's more realistic to commit a relatively early version ofthe new build system and mature it in tree.This commit adds an initial version of a meson based build system. It supportsbuilding postgres on at least AIX, FreeBSD, Linux, macOS, NetBSD, OpenBSD,Solaris and Windows (however only gcc is supported on aix, solaris). ForWindows/MSVC postgres can now be built with ninja (faster, particularly forincremental builds) and msbuild (supporting the visual studio GUI, butbuilding slower).Several aspects (e.g. Windows rc file generation, PGXS compatibility, LLVMbitcode generation, documentation adjustments) are done in subsequent commitsrequiring further review. Other aspects (e.g. not installing test-onlyextensions) are not yet addressed.When building on Windows with msbuild, builds are slower when using a visualstudio version older than 2019, because those versions do not supportMultiToolTask, required by meson for intra-target parallelism.The plan is to remove the MSVC specific build system in src/tools/msvc soonafter reaching feature parity. However, we're not planning to remove theautoconf/make build system in the near future. Likely we're going to keep atleast the parts required for PGXS to keep working around until all supportedversions build with meson.Some initial help for postgres developers is athttps://wiki.postgresql.org/wiki/MesonWith contributions from Thomas Munro, John Naylor, Stone Tickle and others.Author: Andres Freund <andres@anarazel.de>Author: Nazir Bilal Yavuz <byavuz81@gmail.com>Author: Peter Eisentraut <peter@eisentraut.org>Reviewed-By: Peter Eisentraut <peter.eisentraut@enterprisedb.com>Discussion:https://postgr.es/m/20211012083721.hvixq4pnh2pixr3j@alap3.anarazel.de1 parentfbb5f54 commite692727
File tree
265 files changed
+10962
-0
lines changed- config
- contrib
- adminpack
- amcheck
- auth_delay
- auto_explain
- basebackup_to_shell
- basic_archive
- bloom
- bool_plperl
- btree_gin
- btree_gist
- citext
- cube
- dblink
- dict_int
- dict_xsyn
- earthdistance
- file_fdw
- fuzzystrmatch
- hstore
- hstore_plperl
- hstore_plpython
- intagg
- intarray
- isn
- jsonb_plperl
- jsonb_plpython
- lo
- ltree
- ltree_plpython
- oid2name
- old_snapshot
- pageinspect
- passwordcheck
- pg_buffercache
- pg_freespacemap
- pg_prewarm
- pg_stat_statements
- pg_surgery
- pg_trgm
- pg_visibility
- pg_walinspect
- pgcrypto
- pgrowlocks
- pgstattuple
- postgres_fdw
- seg
- sepgsql
- spi
- sslinfo
- tablefunc
- tcn
- test_decoding
- tsm_system_rows
- tsm_system_time
- unaccent
- uuid-ossp
- vacuumlo
- xml2
- doc/src/sgml
- src
- backend
- access
- brin
- common
- gin
- gist
- hash
- heap
- index
- nbtree
- rmgrdesc
- spgist
- table
- tablesample
- transam
- backup
- bootstrap
- catalog
- commands
- executor
- foreign
- jit
- llvm
- lib
- libpq
- main
- nodes
- optimizer
- geqo
- path
- plan
- prep
- util
- parser
- partitioning
- po
- port
- win32
- postmaster
- regex
- replication
- libpqwalreceiver
- logical
- pgoutput
- rewrite
- snowball
- statistics
- storage
- buffer
- file
- freespace
- ipc
- large_object
- lmgr
- page
- smgr
- sync
- tcop
- tsearch
- utils
- activity
- adt
- cache
- error
- fmgr
- hash
- init
- mb
- conversion_procs
- misc
- mmgr
- resowner
- sort
- time
- bin
- initdb
- po
- pg_amcheck
- po
- pg_archivecleanup
- po
- pg_basebackup
- po
- pg_checksums
- po
- pg_config
- po
- pg_controldata
- po
- pg_ctl
- po
- pg_dump
- po
- pg_resetwal
- po
- pg_rewind
- po
- pg_test_fsync
- po
- pg_test_timing
- po
- pg_upgrade
- po
- pg_verifybackup
- po
- pg_waldump
- po
- pgbench
- pgevent
- psql
- po
- scripts
- po
- common
- unicode
- fe_utils
- include
- catalog
- nodes
- storage
- utils
- interfaces
- ecpg
- compatlib
- ecpglib
- po
- include
- pgtypeslib
- preproc
- po
- test
- compat_informix
- compat_oracle
- connect
- pgtypeslib
- preproc
- sql
- thread
- libpq
- po
- test
- pl
- plperl
- po
- plpgsql
- src
- po
- plpython
- po
- tcl
- po
- port
- test
- authentication
- icu
- isolation
- kerberos
- ldap
- modules
- brin
- commit_ts
- delay_execution
- dummy_index_am
- dummy_seclabel
- libpq_pipeline
- plsample
- snapshot_too_old
- spgist_name_ops
- ssl_passphrase_callback
- test_bloomfilter
- test_ddl_deparse
- test_extensions
- test_ginpostinglist
- test_integerset
- test_lfind
- test_misc
- test_oat_hooks
- test_parser
- test_pg_dump
- test_predtest
- test_rbtree
- test_regex
- test_rls_hooks
- test_shm_mq
- unsafe_tests
- worker_spi
- perl
- recovery
- regress
- ssl
- subscription
- timezone
- tznames
- tools
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
265 files changed
+10962
-0
lines changedLines changed: 4 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + |
Lines changed: 6 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
20658 | 20658 |
| |
20659 | 20659 |
| |
20660 | 20660 |
| |
| 20661 | + | |
| 20662 | + | |
| 20663 | + | |
| 20664 | + | |
| 20665 | + | |
| 20666 | + |
Lines changed: 6 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2472 | 2472 |
| |
2473 | 2473 |
| |
2474 | 2474 |
| |
| 2475 | + | |
| 2476 | + | |
| 2477 | + | |
| 2478 | + | |
| 2479 | + | |
| 2480 | + |
Lines changed: 23 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + |
Lines changed: 37 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + |
Lines changed: 5 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + |
Lines changed: 16 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + |
Lines changed: 22 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + |
Lines changed: 23 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + |
Lines changed: 36 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + |
Lines changed: 42 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + |
Lines changed: 54 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + |
Lines changed: 84 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + |
0 commit comments
Comments
(0)