diff options
Diffstat (limited to 'boot/syslinux/syslinux.mk')
-rw-r--r-- | boot/syslinux/syslinux.mk | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/boot/syslinux/syslinux.mk b/boot/syslinux/syslinux.mk index 8ef53f9229..0868896e72 100644 --- a/boot/syslinux/syslinux.mk +++ b/boot/syslinux/syslinux.mk @@ -4,7 +4,7 @@ # ################################################################################ -SYSLINUX_VERSION = 6.02 +SYSLINUX_VERSION = 6.03 SYSLINUX_SOURCE = syslinux-$(SYSLINUX_VERSION).tar.xz SYSLINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/boot/syslinux @@ -19,6 +19,10 @@ ifeq ($(BR2_TARGET_SYSLINUX_LEGACY_BIOS),y) SYSLINUX_TARGET = bios endif +# The syslinux build system must be forced to use Buildroot's gnu-efi +# package by setting EFIINC, LIBDIR and LIBEFI. Otherwise, it uses its +# own copy of gnu-efi included in syslinux's sources since 6.03 +# release. ifeq ($(BR2_TARGET_SYSLINUX_EFI),y) ifeq ($(BR2_ARCH_IS_64),y) SYSLINUX_EFI_BITS = efi64 @@ -27,6 +31,10 @@ SYSLINUX_EFI_BITS = efi32 endif # 64-bit SYSLINUX_DEPENDENCIES += gnu-efi SYSLINUX_TARGET = $(SYSLINUX_EFI_BITS) +SYSLINUX_EFI_ARGS = \ + EFIINC=$(STAGING_DIR)/usr/include/efi \ + LIBDIR=$(STAGING_DIR)/usr/lib \ + LIBEFI=$(STAGING_DIR)/usr/lib/libefi.a endif # EFI # The syslinux tarball comes with pre-compiled binaries. @@ -44,7 +52,7 @@ SYSLINUX_POST_PATCH_HOOKS += SYSLINUX_CLEANUP # be used. define SYSLINUX_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE1) CC="$(HOSTCC) -idirafter $(HOST_DIR)/usr/include $(HOST_LDFLAGS)" \ - AR="$(HOSTAR)" SYSROOT=$(STAGING_DIR) -C $(@D) $(SYSLINUX_TARGET) + AR="$(HOSTAR)" $(SYSLINUX_EFI_ARGS) -C $(@D) $(SYSLINUX_TARGET) endef # While the actual bootloader is compiled for the target, several @@ -54,8 +62,8 @@ endef # install time define SYSLINUX_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE1) CC="$(HOSTCC) -idirafter $(HOST_DIR)/usr/include $(HOST_LDFLAGS)" \ - AR="$(HOSTAR)" SYSROOT=$(STAGING_DIR) INSTALLROOT=$(HOST_DIR) \ - -C $(@D) $(SYSLINUX_TARGET) install + AR="$(HOSTAR)" $(SYSLINUX_EFI_ARGS) INSTALLROOT=$(HOST_DIR) \ + -C $(@D) $(SYSLINUX_TARGET) install endef SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_ISOLINUX) += bios/core/isolinux.bin @@ -74,7 +82,7 @@ define SYSLINUX_INSTALL_IMAGES_CMDS done for i in $(SYSLINUX_C32); do \ $(INSTALL) -D -m 0755 $(HOST_DIR)/usr/share/syslinux/$${i} \ - $(BINARIES_DIR)/syslinux/$${i}; \ + $(BINARIES_DIR)/syslinux/$${i}; \ done endef |