[Mesa-dev] [PATCH 1/3] Add meson build system
Dylan Baker
dylan at pnwbakers.com
Thu Jan 4 00:02:53 UTC 2018
Quoting Igor Gnatenko (2018-01-03 15:22:36)
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
>
> On Wed, 2018-01-03 at 13:31 -0800, Dylan Baker wrote:
> > This patch adds a complete meson build system, including tests and
> > install. It has the necessary hooks to allow it be used as a subproject
> > for other meson based builds such as mesa.
>
> It is failing to build with (autofoo-based builds fine):
>
> [25/109] cc -Iamdgpu/drm_amdgpu at sha -Iamdgpu -I../amdgpu -I. -I../
> - -I../include/drm -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64
> - -std=gnu99 -DHAVE_CONFIG_H -O2 -g -Wall -Werror=format-security -Wp,-
> D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-
> size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
> - -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fPIC -Wall
> - -Wextra -Wsign-compare -Werror-implicit-function-declaration -Wpointer-arith
> - -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations
> - -Wnested-externs -Wpacked -Wswitch-enum -Wmissing-format-attribute -Wstrict-
> aliasing=2 -Winit-self -Winline -Wshadow -Wdeclaration-after-statement -Wold-
> style-definition -Wno-unused-parameter -Wno-attributes -Wno-long-long -Wno-
> missing-field-initializers '-DAMDGPU_ASIC_ID_TABLE="share/amdgpu.ids"' -MMD -MQ
> 'amdgpu/drm_amdgpu at sha/amdgpu_asic_id.c.o' -MF 'amdgpu/drm_amdgpu at sha/amdgpu_as
> ic_id.c.o.d' -o 'amdgpu/drm_amdgpu at sha/amdgpu_asic_id.c.o' -c
> ../amdgpu/amdgpu_asic_id.c
> FAILED: amdgpu/drm_amdgpu at sha/amdgpu_asic_id.c.o
> cc -Iamdgpu/drm_amdgpu at sha -Iamdgpu -I../amdgpu -I. -I../ -I../include/drm
> - -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -std=gnu99
> - -DHAVE_CONFIG_H -O2 -g -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
> - -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-
> switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
> - -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fPIC -Wall
> - -Wextra -Wsign-compare -Werror-implicit-function-declaration -Wpointer-arith
> - -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations
> - -Wnested-externs -Wpacked -Wswitch-enum -Wmissing-format-attribute -Wstrict-
> aliasing=2 -Winit-self -Winline -Wshadow -Wdeclaration-after-statement -Wold-
> style-definition -Wno-unused-parameter -Wno-attributes -Wno-long-long -Wno-
> missing-field-initializers '-DAMDGPU_ASIC_ID_TABLE="share/amdgpu.ids"' -MMD -MQ
> 'amdgpu/drm_amdgpu at sha/amdgpu_asic_id.c.o' -MF 'amdgpu/drm_amdgpu at sha/amdgpu_as
> ic_id.c.o.d' -o 'amdgpu/drm_amdgpu at sha/amdgpu_asic_id.c.o' -c
> ../amdgpu/amdgpu_asic_id.c
> ../amdgpu/amdgpu_asic_id.c: In function ‘amdgpu_parse_asic_ids’:
> ../amdgpu/amdgpu_asic_id.c:122:26: error: ‘AMDGPU_ASIC_ID_TABLE_NUM_ENTRIES’
> undeclared (first use in this function); did you mean
> ‘AMDGPU_VCE_CLOCK_TABLE_ENTRIES’?
> size_t table_max_size = AMDGPU_ASIC_ID_TABLE_NUM_ENTRIES;
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> AMDGPU_VCE_CLOCK_TABLE_ENTRIES
> ../amdgpu/amdgpu_asic_id.c:122:26: note: each undeclared identifier is reported
> only once for each function it appears in
You need to rebase on master, that was removed in f05a2b4cb1aedb906524718db8ba2e62383f3064.
>
> [...]
>
> > diff --git a/freedreno/meson.build b/freedreno/meson.build
> > new file mode 100644
> > index 0000000..47d6e44
> > --- /dev/null
> > +++ b/freedreno/meson.build
> > @@ -0,0 +1,82 @@
> > [...]
> > +if with_freedreno_kgsl != 'false'
>
> Booleans should not compare with strings, so do just `if with_freedreno_kgsl`.
>
> Submitted meson RFE to warn: https://github.com/mesonbuild/meson/issues/2870.
>
> > + files_freedreno += files(
> > + 'kgsl/kgsl_bo.c',
> > + 'kgsl/kgsl_device.c',
> > + 'kgsl/kgsl_drm.h',
> > + 'kgsl/kgsl_pipe.c',
> > + 'kgsl/kgsl_priv.h',
> > + 'kgsl/kgsl_ringbuffer.c',
> > + 'kgsl/msm_kgsl.h',
> > + )
> > +endif
>
> [...]
>
> > diff --git a/meson_options.txt b/meson_options.txt
> > new file mode 100644
> > index 0000000..7c2fa4f
> > --- /dev/null
> > +++ b/meson_options.txt
> > @@ -0,0 +1,38 @@
> > [...]
> > +option('libkms', type : 'combo', value : 'auto', choices : ['true',
> > 'false', 'auto'])
> > +option('intel', type : 'combo', value : 'auto', choices : ['true',
> > 'false', 'auto'])
> > +option('radeon', type : 'combo', value : 'auto', choices : ['true',
> > 'false', 'auto'])
> > +option('amdgpu', type : 'combo', value : 'auto', choices : ['true',
> > 'false', 'auto'])
> > +option('nouveau', type : 'combo', value : 'auto', choices : ['true',
> > 'false', 'auto'])
> > +option('vmwgfx', type : 'combo', value : 'true', choices : ['true',
> > 'false', 'auto'])
> > +option('omap', type : 'combo', value : 'false', choices : ['true',
> > 'false', 'auto'])
> > +option('exynos', type : 'combo', value : 'false', choices : ['true',
> > 'false', 'auto'])
> > +option('freedreno', type : 'combo', value : 'auto', choices : ['true',
> > 'false', 'auto'])
> > +option('tegra', type : 'combo', value : 'false', choices : ['true',
> > 'false', 'auto'])
> > +option('vc4', type : 'combo', value : 'auto', choices : ['true',
> > 'false', 'auto'])
> > +option('etnaviv', type : 'combo', value : 'false', choices : ['true',
> > 'false', 'auto'])
> > +option('cairo_tests', type : 'combo', value : 'auto', choices : ['true',
> > 'false', 'auto'])
> > +option('man_pages', type : 'combo', value : 'auto', choices : ['true',
> > 'false', 'auto'])
> > +option('valgrind', type : 'combo', value : 'auto', choices : ['true',
> > 'false', 'auto'])
> > +option('freedreno-kgls', type : 'boolean', value : false)
>
> Probably using `_` would be better for consistency..
We use `-` in mesa for options, and I think it makes more sense to be consistent
with libdrm's biggest consumer, so I'd prefer to change install_test_programs to
install-test-programs
>
> Also, option should be named kgsl, not kgls (note sl vs ls).
gah, I keep screwing that up.
>
> > +option('install_test_programs', type : 'boolean', value : false)
> > +option('udev', type : 'boolean', value : false)
>
> Having description on all those options would be extremely useful 😉
I can add those :)
>
> [...]
>
> Still testing it, once will have more results -- will come back.
> - --
> - -Igor Gnatenko
> -----BEGIN PGP SIGNATURE-----
>
> iQIzBAEBCAAdFiEEhLFO09aHZVqO+CM6aVcUvRu8X0wFAlpNZbwACgkQaVcUvRu8
> X0xuQRAAulgnkHdNb2LCq6R+4A+IwEbyVD3uNIBv0eF0X/k/8w7IT7PcNwdS8VN3
> XBrSLqFTxHTsghtMXSDXDW6LqA3Zv8VCkWZb3G/bek4w6iwwHmEVLGawiO1jVlHY
> uX7bQEf/bdrM/UnXY1PnBmzmfhIcu6LhAry+pPS0iYxJWgcv6XbFil5fYu+N9T1H
> vdlj8WJtZA9u4VhHdqFaf8JN8OwuBC2+87mNvuZMwKF1d4BD9r77WRuhDnyRWzJs
> NoxufXz9JPx2YRbg6V8V5V4fsCV5oFpSpkpnTqIasjWlyJXo2Dhatt6oCbtu+ip4
> Vf5Nr7WzIbXhT8WAYnLPc8E2mtWK5HG8NhrLJnqY4kdyiJ+w7X0PXKYeBPXRN1NG
> zrF+h7Kd4LJvPwh0KMl1idGiGa5Mmr/vF/apIKrMBMvJ++E9zs+sPCNbSjnI3aWe
> 47LIqTkVxCLjwHIpQqDWZ+bUNanpwFaWtVWm9xvlPcpZ35pP2PqeyZ6abpqykP8b
> OSQK9fN0PpiZsfVT25K8SaGvFzUy37lFSs/3cvTFQ+rmKo7xYxj1qbd4xvml0CU8
> 4IcPcFKRZRMFIE1cecqg7lNxlgfcA7bdrOSbvjHpKNlEUpRZOtNDPjgkx8RWlA3J
> x1u8mcARzI5m837isa0eOatVgYXy+Eg86zWxiIy1jGliWaJTvN0=
> =Rikj
> -----END PGP SIGNATURE-----
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: signature
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180103/6f366c60/attachment.sig>
More information about the mesa-dev
mailing list