annotate src/mesa.mk @ 5402:7f42b41d6021

mesa: revert c0d7569adb6c until we use meson to build * src/mesa-1-fixes.patch, src/mesa.mk: reverted
author John Donoghue <john.donoghue@ieee.org>
date Thu, 14 May 2020 10:26:19 -0400
parents c0d7569adb6c
children fb50ae69121c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3785
e1e69acf0bb2 osmesa: added for offscreen rendering with OpenGL toolkits
Andreas Weber <andy.weber.aw@gmail.com>
parents:
diff changeset
1 # This file is part of MXE Octave.
e1e69acf0bb2 osmesa: added for offscreen rendering with OpenGL toolkits
Andreas Weber <andy.weber.aw@gmail.com>
parents:
diff changeset
2 # See index.html for further information.
e1e69acf0bb2 osmesa: added for offscreen rendering with OpenGL toolkits
Andreas Weber <andy.weber.aw@gmail.com>
parents:
diff changeset
3
4488
8f9bee27223f optionally build mesa OpenGL library
John W. Eaton <jwe@octave.org>
parents: 4481
diff changeset
4 PKG := mesa
5402
7f42b41d6021 mesa: revert c0d7569adb6c until we use meson to build
John Donoghue <john.donoghue@ieee.org>
parents: 5398
diff changeset
5 $(PKG)_VERSION := 19.0.8
7f42b41d6021 mesa: revert c0d7569adb6c until we use meson to build
John Donoghue <john.donoghue@ieee.org>
parents: 5398
diff changeset
6 $(PKG)_CHECKSUM := 5fd340a6304f7501014e1bd7291e4cfa7a6efcdb
4481
7d6f1fd0d672 update osmesa package to version 7.2.1
John W. Eaton <jwe@octave.org>
parents: 3929
diff changeset
7 $(PKG)_SUBDIR := mesa-$($(PKG)_VERSION)
7d6f1fd0d672 update osmesa package to version 7.2.1
John W. Eaton <jwe@octave.org>
parents: 3929
diff changeset
8 $(PKG)_FILE := mesa-$($(PKG)_VERSION).tar.xz
7d6f1fd0d672 update osmesa package to version 7.2.1
John W. Eaton <jwe@octave.org>
parents: 3929
diff changeset
9 $(PKG)_URL := ftp://ftp.freedesktop.org/pub/mesa/$($(PKG)_FILE)
4778
a50783d698b2 mesa.mk: Update to mesa 18.1.5 and build with llvm on Windows systems
John W. Eaton <jwe@octave.org>
parents: 4660
diff changeset
10 $(PKG)_DEPS := build-mako expat zlib llvm s2tc
4992
5e93880ab76e mesa.mk: Attempt to include system pkg-config path when needed.
Markus Mützel <markus.muetzel@gmx.de>
parents: 4946
diff changeset
11
5e93880ab76e mesa.mk: Attempt to include system pkg-config path when needed.
Markus Mützel <markus.muetzel@gmx.de>
parents: 4946
diff changeset
12 $(PKG)_PKG_CONFIG_PATH := $(PKG_CONFIG_PATH)
4488
8f9bee27223f optionally build mesa OpenGL library
John W. Eaton <jwe@octave.org>
parents: 4481
diff changeset
13 ifeq ($(MXE_WINDOWS_BUILD),yes)
8f9bee27223f optionally build mesa OpenGL library
John W. Eaton <jwe@octave.org>
parents: 4481
diff changeset
14 ifeq ($(USE_SYSTEM_OPENGL),no)
4513
1fdd8063e38d mesa: windows: optionally build opengl target; build in release mode
John W. Eaton <jwe@octave.org>
parents: 4511
diff changeset
15 $(PKG)_SCONS_OPENGL_OPTIONS := libgl-gdi
4488
8f9bee27223f optionally build mesa OpenGL library
John W. Eaton <jwe@octave.org>
parents: 4481
diff changeset
16 endif
8f9bee27223f optionally build mesa OpenGL library
John W. Eaton <jwe@octave.org>
parents: 4481
diff changeset
17 else
8f9bee27223f optionally build mesa OpenGL library
John W. Eaton <jwe@octave.org>
parents: 4481
diff changeset
18 ifeq ($(USE_SYSTEM_OPENGL),yes)
8f9bee27223f optionally build mesa OpenGL library
John W. Eaton <jwe@octave.org>
parents: 4481
diff changeset
19 $(PKG)_CONFIGURE_OPENGL_OPTIONS := \
4500
102c3d608dd6 mesa: enable egl when building opengl.
John W. Eaton <jwe@octave.org>
parents: 4497
diff changeset
20 --disable-opengl --disable-egl --disable-gles1 --disable-gles2 \
4497
e7d902eeefda mesa: also disable gles1 and gles2 if opengl is disabled.
John W. Eaton <jwe@octave.org>
parents: 4488
diff changeset
21 --disable-dri --disable-glx \
4488
8f9bee27223f optionally build mesa OpenGL library
John W. Eaton <jwe@octave.org>
parents: 4481
diff changeset
22 --with-gallium-drivers="" --with-dri-drivers="" \
8f9bee27223f optionally build mesa OpenGL library
John W. Eaton <jwe@octave.org>
parents: 4481
diff changeset
23 --with-platforms=""
8f9bee27223f optionally build mesa OpenGL library
John W. Eaton <jwe@octave.org>
parents: 4481
diff changeset
24 else
8f9bee27223f optionally build mesa OpenGL library
John W. Eaton <jwe@octave.org>
parents: 4481
diff changeset
25 $(PKG)_CONFIGURE_OPENGL_OPTIONS := \
4992
5e93880ab76e mesa.mk: Attempt to include system pkg-config path when needed.
Markus Mützel <markus.muetzel@gmx.de>
parents: 4946
diff changeset
26 --enable-glx="gallium-xlib" --with-gallium-drivers="swrast" \
5e93880ab76e mesa.mk: Attempt to include system pkg-config path when needed.
Markus Mützel <markus.muetzel@gmx.de>
parents: 4946
diff changeset
27 --disable-dri --disable-gbm --disable-egl
4488
8f9bee27223f optionally build mesa OpenGL library
John W. Eaton <jwe@octave.org>
parents: 4481
diff changeset
28 ifeq ($(USE_SYSTEM_X11_LIBS),no)
8f9bee27223f optionally build mesa OpenGL library
John W. Eaton <jwe@octave.org>
parents: 4481
diff changeset
29 $(PKG)_DEPS += dri2proto glproto libdrm libxshmfence x11 xdamage xext xfixes
4992
5e93880ab76e mesa.mk: Attempt to include system pkg-config path when needed.
Markus Mützel <markus.muetzel@gmx.de>
parents: 4946
diff changeset
30 else
5e93880ab76e mesa.mk: Attempt to include system pkg-config path when needed.
Markus Mützel <markus.muetzel@gmx.de>
parents: 4946
diff changeset
31 $(PKG)_PKG_CONFIG_PATH := $(PKG_CONFIG_PATH):$(BUILD_PKG_CONFIG_PATH)
4488
8f9bee27223f optionally build mesa OpenGL library
John W. Eaton <jwe@octave.org>
parents: 4481
diff changeset
32 endif
8f9bee27223f optionally build mesa OpenGL library
John W. Eaton <jwe@octave.org>
parents: 4481
diff changeset
33 endif
4992
5e93880ab76e mesa.mk: Attempt to include system pkg-config path when needed.
Markus Mützel <markus.muetzel@gmx.de>
parents: 4946
diff changeset
34 $(PKG)_CONFIGURE_ENV += \
5e93880ab76e mesa.mk: Attempt to include system pkg-config path when needed.
Markus Mützel <markus.muetzel@gmx.de>
parents: 4946
diff changeset
35 PKG_CONFIG="$(MXE_PKG_CONFIG)" \
5e93880ab76e mesa.mk: Attempt to include system pkg-config path when needed.
Markus Mützel <markus.muetzel@gmx.de>
parents: 4946
diff changeset
36 PKG_CONFIG_LIBDIR=$($(PKG)_PKG_CONFIG_PATH)
4488
8f9bee27223f optionally build mesa OpenGL library
John W. Eaton <jwe@octave.org>
parents: 4481
diff changeset
37 endif
3785
e1e69acf0bb2 osmesa: added for offscreen rendering with OpenGL toolkits
Andreas Weber <andy.weber.aw@gmail.com>
parents:
diff changeset
38
e1e69acf0bb2 osmesa: added for offscreen rendering with OpenGL toolkits
Andreas Weber <andy.weber.aw@gmail.com>
parents:
diff changeset
39 define $(PKG)_UPDATE
e1e69acf0bb2 osmesa: added for offscreen rendering with OpenGL toolkits
Andreas Weber <andy.weber.aw@gmail.com>
parents:
diff changeset
40 echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;
e1e69acf0bb2 osmesa: added for offscreen rendering with OpenGL toolkits
Andreas Weber <andy.weber.aw@gmail.com>
parents:
diff changeset
41 echo $($(PKG)_VERSION)
e1e69acf0bb2 osmesa: added for offscreen rendering with OpenGL toolkits
Andreas Weber <andy.weber.aw@gmail.com>
parents:
diff changeset
42 endef
e1e69acf0bb2 osmesa: added for offscreen rendering with OpenGL toolkits
Andreas Weber <andy.weber.aw@gmail.com>
parents:
diff changeset
43
3790
a169ad26bac2 use scons to build osmesa on windows systems
John W. Eaton <jwe@octave.org>
parents: 3788
diff changeset
44 ifeq ($(MXE_WINDOWS_BUILD),yes)
3803
f2776007d295 osmesa: update for win64
John D
parents: 3790
diff changeset
45 ifeq ($(ENABLE_WINDOWS_64),yes)
f2776007d295 osmesa: update for win64
John D
parents: 3790
diff changeset
46 $(PKG)_MACHINE := x86_64
f2776007d295 osmesa: update for win64
John D
parents: 3790
diff changeset
47 else
f2776007d295 osmesa: update for win64
John D
parents: 3790
diff changeset
48 $(PKG)_MACHINE := x86
f2776007d295 osmesa: update for win64
John D
parents: 3790
diff changeset
49 endif
3790
a169ad26bac2 use scons to build osmesa on windows systems
John W. Eaton <jwe@octave.org>
parents: 3788
diff changeset
50 define $(PKG)_BUILD
4778
a50783d698b2 mesa.mk: Update to mesa 18.1.5 and build with llvm on Windows systems
John W. Eaton <jwe@octave.org>
parents: 4660
diff changeset
51 cd '$(1)' && LLVM=$(HOST_PREFIX) scons platform=windows toolchain=crossmingw machine=$($(PKG)_MACHINE) verbose=1 build=release $($(PKG)_SCONS_OPENGL_OPTIONS)
3790
a169ad26bac2 use scons to build osmesa on windows systems
John W. Eaton <jwe@octave.org>
parents: 3788
diff changeset
52
a169ad26bac2 use scons to build osmesa on windows systems
John W. Eaton <jwe@octave.org>
parents: 3788
diff changeset
53 ## Do the scons config files have useful install targets?
a169ad26bac2 use scons to build osmesa on windows systems
John W. Eaton <jwe@octave.org>
parents: 3788
diff changeset
54 $(INSTALL) -d '$(3)$(HOST_INCDIR)/GL';
a169ad26bac2 use scons to build osmesa on windows systems
John W. Eaton <jwe@octave.org>
parents: 3788
diff changeset
55 for f in '$(1)/include/GL/*.h' ; do \
a169ad26bac2 use scons to build osmesa on windows systems
John W. Eaton <jwe@octave.org>
parents: 3788
diff changeset
56 $(INSTALL) -m 644 $$f '$(3)$(HOST_INCDIR)/GL'; \
a169ad26bac2 use scons to build osmesa on windows systems
John W. Eaton <jwe@octave.org>
parents: 3788
diff changeset
57 done
4946
a99cf8dbe52d mesa: Update to v18.2.8
Markus Mützel <markus.muetzel@gmx.de>
parents: 4778
diff changeset
58 $(INSTALL) -d '$(3)$(HOST_INCDIR)/KHR';
a99cf8dbe52d mesa: Update to v18.2.8
Markus Mützel <markus.muetzel@gmx.de>
parents: 4778
diff changeset
59 for f in '$(1)/include/KHR/*.h' ; do \
a99cf8dbe52d mesa: Update to v18.2.8
Markus Mützel <markus.muetzel@gmx.de>
parents: 4778
diff changeset
60 $(INSTALL) -m 644 $$f '$(3)$(HOST_INCDIR)/KHR'; \
a99cf8dbe52d mesa: Update to v18.2.8
Markus Mützel <markus.muetzel@gmx.de>
parents: 4778
diff changeset
61 done
4513
1fdd8063e38d mesa: windows: optionally build opengl target; build in release mode
John W. Eaton <jwe@octave.org>
parents: 4511
diff changeset
62
1fdd8063e38d mesa: windows: optionally build opengl target; build in release mode
John W. Eaton <jwe@octave.org>
parents: 4511
diff changeset
63 if [ -f '$(1)/build/windows-$($(PKG)_MACHINE)/gallium/targets/libgl-gdi/opengl32.dll' ]; then \
4778
a50783d698b2 mesa.mk: Update to mesa 18.1.5 and build with llvm on Windows systems
John W. Eaton <jwe@octave.org>
parents: 4660
diff changeset
64 $(INSTALL) -d '$(3)$(HOST_BINDIR)'; \
4513
1fdd8063e38d mesa: windows: optionally build opengl target; build in release mode
John W. Eaton <jwe@octave.org>
parents: 4511
diff changeset
65 $(INSTALL) -m 755 '$(1)/build/windows-$($(PKG)_MACHINE)/gallium/targets/libgl-gdi/opengl32.dll' '$(3)$(HOST_BINDIR)/opengl32.dll'; \
1fdd8063e38d mesa: windows: optionally build opengl target; build in release mode
John W. Eaton <jwe@octave.org>
parents: 4511
diff changeset
66 fi
3790
a169ad26bac2 use scons to build osmesa on windows systems
John W. Eaton <jwe@octave.org>
parents: 3788
diff changeset
67 endef
a169ad26bac2 use scons to build osmesa on windows systems
John W. Eaton <jwe@octave.org>
parents: 3788
diff changeset
68 else
a169ad26bac2 use scons to build osmesa on windows systems
John W. Eaton <jwe@octave.org>
parents: 3788
diff changeset
69 define $(PKG)_BUILD
3785
e1e69acf0bb2 osmesa: added for offscreen rendering with OpenGL toolkits
Andreas Weber <andy.weber.aw@gmail.com>
parents:
diff changeset
70 mkdir '$(1)/.build'
3825
b6f31861c73e osmesa:call autoreconf
John Donoghue
parents: 3803
diff changeset
71 cd '$(1)' && autoreconf -fi -I m4
3788
f6d63f2a2de6 allow osmesa to build; remove it from octave deps for Windows systems
John W. Eaton <jwe@octave.org>
parents: 3787
diff changeset
72 cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \
3785
e1e69acf0bb2 osmesa: added for offscreen rendering with OpenGL toolkits
Andreas Weber <andy.weber.aw@gmail.com>
parents:
diff changeset
73 $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
e1e69acf0bb2 osmesa: added for offscreen rendering with OpenGL toolkits
Andreas Weber <andy.weber.aw@gmail.com>
parents:
diff changeset
74 $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
e1e69acf0bb2 osmesa: added for offscreen rendering with OpenGL toolkits
Andreas Weber <andy.weber.aw@gmail.com>
parents:
diff changeset
75 --prefix='$(HOST_PREFIX)' \
4488
8f9bee27223f optionally build mesa OpenGL library
John W. Eaton <jwe@octave.org>
parents: 4481
diff changeset
76 $($(PKG)_CONFIGURE_OPENGL_OPTIONS) \
5225
52b97ff9726c *src/mesa.mk: Force enable the deprecated autotools toolchain for native builds.
Markus Mützel <markus.muetzel@gmx.de>
parents: 5209
diff changeset
77 --enable-autotools \
4778
a50783d698b2 mesa.mk: Update to mesa 18.1.5 and build with llvm on Windows systems
John W. Eaton <jwe@octave.org>
parents: 4660
diff changeset
78 --disable-osmesa \
4488
8f9bee27223f optionally build mesa OpenGL library
John W. Eaton <jwe@octave.org>
parents: 4481
diff changeset
79 --disable-gbm \
8f9bee27223f optionally build mesa OpenGL library
John W. Eaton <jwe@octave.org>
parents: 4481
diff changeset
80 --disable-xvmc \
3785
e1e69acf0bb2 osmesa: added for offscreen rendering with OpenGL toolkits
Andreas Weber <andy.weber.aw@gmail.com>
parents:
diff changeset
81 && $(CONFIGURE_POST_HOOK)
3787
282bc5054a7f (incompletely) attempt to make osmesa actually build for Windows
John W. Eaton <jwe@octave.org>
parents: 3785
diff changeset
82
282bc5054a7f (incompletely) attempt to make osmesa actually build for Windows
John W. Eaton <jwe@octave.org>
parents: 3785
diff changeset
83 $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
3790
a169ad26bac2 use scons to build osmesa on windows systems
John W. Eaton <jwe@octave.org>
parents: 3788
diff changeset
84 endef
a169ad26bac2 use scons to build osmesa on windows systems
John W. Eaton <jwe@octave.org>
parents: 3788
diff changeset
85 endif