view src/mesa.mk @ 6359:b68148d8be7b

* src/mesa.mk: update to v22.1.5
author John Donoghue <john.donoghue@ieee.org>
date Wed, 10 Aug 2022 15:18:27 -0400
parents 8a36987a6132
children 16e934b7b6cd
line wrap: on
line source

# This file is part of MXE Octave.
# See index.html for further information.

PKG             := mesa
$(PKG)_VERSION  := 22.1.5
$(PKG)_CHECKSUM := d2e6d071e560c0f92a519a7c4b38d4c43f6dae19
$(PKG)_SUBDIR   := mesa-$($(PKG)_VERSION)
$(PKG)_FILE     := mesa-$($(PKG)_VERSION).tar.xz
$(PKG)_URL      := ftp://ftp.freedesktop.org/pub/mesa/$($(PKG)_FILE)
$(PKG)_DEPS     := build-mako build-meson build-ninja expat zlib llvm s2tc

define $(PKG)_UPDATE
    $(WGET) -q -O- https://archive.mesa3d.org | \
    $(SED) -n 's|.*href=\"mesa-\([0-9][0-9\.]*\)\.tar.xz\".*|\1|p' | $(SORT) -V | \
    tail -1
endef

# FIXME: Should this be defined in the top-level Makefile?
ifeq ($(MXE_NATIVE_BUILD),no)
  MESON_TOOLCHAIN_FILE := $(HOST_PREFIX)/share/meson/cross/mxe-conf.ini
else
  MESON_TOOLCHAIN_FILE := $(HOST_PREFIX)/share/meson/native/mxe-conf.ini
endif

ifeq ($(MXE_WINDOWS_BUILD),yes)
  $(PKG)_MESON_TOOLCHAIN_FILE := --cross-file '$(MESON_TOOLCHAIN_FILE)'
else
  ifeq ($(USE_SYSTEM_X11_LIBS),no)
    $(PKG)_DEPS += dri2proto glproto libdrm libxshmfence x11 xdamage xext xfixes
    $(PKG)_BUILD_X11_LIBS_FLAGS = -Dxlib-lease=disabled
  else
    $(PKG)_PKG_CONFIG_PATH := $(PKG_CONFIG_PATH):$(BUILD_PKG_CONFIG_PATH)
  endif
  $(PKG)_MESON_TOOLCHAIN_FILE := --native-file '$(MESON_TOOLCHAIN_FILE)'
  $(PKG)_MESON_ENV += \
      PKG_CONFIG="$(MXE_PKG_CONFIG)" \
      PKG_CONFIG_LIBDIR=$($(PKG)_PKG_CONFIG_PATH)

  $(PKG)_X11_FLAGS := -Dplatforms='x11' \
      -Dglx=xlib \
      -Ddri-drivers='' \
      $($(PKG)_BUILD_X11_LIBS_FLAGS)
endif

define $(PKG)_BUILD
  cd '$(1)' && $($(PKG)_MESON_ENV) \
      meson $(1)/.build \
      $($(PKG)_MESON_TOOLCHAIN_FILE) \
      -Dprefix='$(HOST_PREFIX)' \
      $($(PKG)_X11_FLAGS) \
      -Dgallium-drivers=swrast \
      -Dvulkan-drivers='' \
      -Degl=disabled \
      -Dgbm=disabled \
      -Dshared-llvm=enabled

  cd '$(1)/.build' && DESTDIR=$(3) ninja -j $(JOBS) install

  #  install headers
  for i in EGL GLES GLES2 GLES3 KHR; do \
      $(INSTALL) -d "$(HOST_INCDIR)/$$i"; \
      $(INSTALL) -m 644 "$(1)/include/$$i/"* "$(HOST_INCDIR)/$$i/"; \
  done
  
  # opengl32.dll.a shadows libopengl32.a from mingw. They export slightly
  # different symbols which causes problems for some packages. So don't install
  # it for cross-builds.
  if [ x$(MXE_NATIVE_BUILD) == xno ]; then \
    rm -f $(3)$(HOST_LIBDIR)/opengl32.dll.a; \
  fi
endef