| ################################################################################ |
| # |
| # irrlicht |
| # |
| ################################################################################ |
| |
| IRRLICHT_VERSION_MAJOR = 1.8 |
| IRRLICHT_VERSION = $(IRRLICHT_VERSION_MAJOR).5 |
| IRRLICHT_SOURCE = irrlicht-$(IRRLICHT_VERSION).zip |
| IRRLICHT_SITE = https://downloads.sourceforge.net/project/irrlicht/Irrlicht%20SDK/$(IRRLICHT_VERSION_MAJOR)/$(IRRLICHT_VERSION) |
| IRRLICHT_INSTALL_STAGING = YES |
| |
| # Bundled libraries: bzip2, libaesGladman, libpng, lzma, zlib, |
| # The handcrafted Makefile can only use bundled libraries. |
| IRRLICHT_LICENSE = Zlib (irrlicht), BSD-3-Clause (libaesGladman), bzip2-1.0.5 (bzip2), IJG (libjpeg), Libpng (libpng) |
| IRRLICHT_LICENSE_FILES = \ |
| doc/aesGladman.txt \ |
| doc/bzip2-license.txt \ |
| doc/irrlicht-license.txt \ |
| doc/jpglib-license.txt \ |
| doc/libpng-license.txt |
| |
| IRRLICHT_SUBDIR = source/Irrlicht |
| |
| IRRLICHT_DEPENDENCIES = libgl xlib_libXxf86vm |
| |
| define IRRLICHT_EXTRACT_CMDS |
| $(UNZIP) -d $(@D) $(IRRLICHT_DL_DIR)/$(IRRLICHT_SOURCE) |
| mv $(@D)/irrlicht-$(IRRLICHT_VERSION)/* $(@D) |
| $(RM) -r $(@D)/irrlicht-$(IRRLICHT_VERSION) |
| endef |
| |
| IRRLICHT_CONF_OPTS = $(TARGET_CONFIGURE_OPTS) |
| |
| # Build a static library OR a shared library, otherwise we need to compile with -fPIC |
| # "relocation R_X86_64_32S can not be used when making a shared object; recompile with -fPIC" |
| ifeq ($(BR2_STATIC_LIBS),) |
| IRRLICHT_CONF_OPTS += sharedlib |
| endif |
| |
| # Irrlicht fail to detect properly the NEON support on aarch64 or ARM with NEON FPU support. |
| # While linking an application with libIrrlicht.so, we get an undefined reference to |
| # png_init_filter_functions_neon. |
| # Some files are missing in the libpng bundled in Irrlicht, in particular arm/arm_init.c, |
| # so disable NEON support completely. |
| IRRLICHT_CONF_OPTS += CPPFLAGS="$(TARGET_CPPFLAGS) -DPNG_ARM_NEON_OPT=0" |
| |
| define IRRLICHT_BUILD_CMDS |
| $(TARGET_MAKE_ENV) |
| $(MAKE) -C $(@D)/$(IRRLICHT_SUBDIR) $(IRRLICHT_CONF_OPTS) |
| endef |
| |
| define IRRLICHT_INSTALL_STAGING_CMDS |
| $(TARGET_MAKE_ENV) $(MAKE) \ |
| INSTALL_DIR=$(STAGING_DIR)/usr/lib \ |
| -C $(@D)/$(IRRLICHT_SUBDIR) install |
| endef |
| |
| define IRRLICHT_INSTALL_TARGET_CMDS |
| $(TARGET_MAKE_ENV) $(MAKE) \ |
| INSTALL_DIR=$(TARGET_DIR)/usr/lib \ |
| -C $(@D)/$(IRRLICHT_SUBDIR) install |
| endef |
| |
| $(eval $(generic-package)) |