Bump buidlroot version to 2018.02.6
This commit is contained in:
@@ -38,7 +38,7 @@ choice
|
||||
Select the specific U-Boot version you want to use
|
||||
|
||||
config BR2_TARGET_UBOOT_LATEST_VERSION
|
||||
bool "2017.01"
|
||||
bool "2018.01"
|
||||
|
||||
config BR2_TARGET_UBOOT_CUSTOM_VERSION
|
||||
bool "Custom version"
|
||||
@@ -86,7 +86,7 @@ endif
|
||||
|
||||
config BR2_TARGET_UBOOT_VERSION
|
||||
string
|
||||
default "2017.01" if BR2_TARGET_UBOOT_LATEST_VERSION
|
||||
default "2018.01" if BR2_TARGET_UBOOT_LATEST_VERSION
|
||||
default BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE \
|
||||
if BR2_TARGET_UBOOT_CUSTOM_VERSION
|
||||
default "custom" if BR2_TARGET_UBOOT_CUSTOM_TARBALL
|
||||
@@ -129,6 +129,12 @@ config BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE
|
||||
depends on BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG
|
||||
help
|
||||
Path to the U-Boot configuration file.
|
||||
|
||||
config BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES
|
||||
string "Additional configuration fragment files"
|
||||
help
|
||||
A space-separated list of configuration fragment files,
|
||||
that will be merged to the main U-Boot configuration file.
|
||||
endif
|
||||
|
||||
config BR2_TARGET_UBOOT_NEEDS_DTC
|
||||
@@ -138,6 +144,12 @@ config BR2_TARGET_UBOOT_NEEDS_DTC
|
||||
Select this option if your U-Boot board configuration
|
||||
requires the Device Tree compiler to be available.
|
||||
|
||||
config BR2_TARGET_UBOOT_NEEDS_PYLIBFDT
|
||||
bool "U-Boot needs pylibfdt"
|
||||
help
|
||||
Select this option if your U-Boot board configuration
|
||||
requires the Python libfdt library to be available.
|
||||
|
||||
config BR2_TARGET_UBOOT_NEEDS_OPENSSL
|
||||
bool "U-Boot needs OpenSSL"
|
||||
help
|
||||
@@ -146,6 +158,18 @@ config BR2_TARGET_UBOOT_NEEDS_OPENSSL
|
||||
typically the case when the board configuration has
|
||||
CONFIG_FIT_SIGNATURE enabled.
|
||||
|
||||
config BR2_TARGET_UBOOT_NEEDS_ATF_BL31
|
||||
bool "U-Boot needs ATF BL31"
|
||||
depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE
|
||||
depends on !BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33
|
||||
select BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31
|
||||
help
|
||||
Some specific platforms (such as Allwinner A64/H5)
|
||||
encapsulate the BL31 part of ATF inside U-Boot. This option
|
||||
makes sure ATF gets built prior to U-Boot, and that the BL31
|
||||
variable pointing to ATF's BL31 binary, is passed during the
|
||||
Buildroot build.
|
||||
|
||||
menu "U-Boot binary format"
|
||||
|
||||
config BR2_TARGET_UBOOT_FORMAT_AIS
|
||||
@@ -159,6 +183,9 @@ config BR2_TARGET_UBOOT_FORMAT_BIN
|
||||
bool "u-boot.bin"
|
||||
default y
|
||||
|
||||
config BR2_TARGET_UBOOT_FORMAT_DTB_BIN
|
||||
bool "u-boot-dtb.bin"
|
||||
|
||||
config BR2_TARGET_UBOOT_FORMAT_DTB_IMG
|
||||
bool "u-boot-dtb.img"
|
||||
|
||||
@@ -319,13 +346,14 @@ config BR2_TARGET_UBOOT_SPL
|
||||
into DDR.
|
||||
|
||||
config BR2_TARGET_UBOOT_SPL_NAME
|
||||
string "U-Boot SPL binary image name"
|
||||
string "U-Boot SPL/TPL binary image name(s)"
|
||||
default "spl/u-boot-spl.bin"
|
||||
depends on BR2_TARGET_UBOOT_SPL
|
||||
help
|
||||
A space-separated list of SPL binaries, generated during
|
||||
u-boot build. For most platform it is spl/u-boot-spl.bin
|
||||
but not always. It is MLO on OMAP for example.
|
||||
A space-separated list of SPL/TPL binaries, generated during
|
||||
u-boot build. For most platform SPL name is spl/u-boot-spl.bin
|
||||
and TPL name is tpl/u-boot-tpl.bin but not always. SPL name is
|
||||
MLO on OMAP and SPL on i.MX6 for example.
|
||||
|
||||
config BR2_TARGET_UBOOT_ZYNQ_IMAGE
|
||||
bool "Generate image for Xilinx Zynq"
|
||||
@@ -340,13 +368,29 @@ config BR2_TARGET_UBOOT_ZYNQ_IMAGE
|
||||
to be set.
|
||||
|
||||
config BR2_TARGET_UBOOT_ALTERA_SOCFPGA_IMAGE_CRC
|
||||
bool "CRC SPL image for Altera SoC FPGA"
|
||||
bool "CRC image for Altera SoC FPGA (mkpimage)"
|
||||
depends on BR2_arm
|
||||
depends on BR2_TARGET_UBOOT_SPL
|
||||
depends on BR2_TARGET_UBOOT_SPL || BR2_TARGET_UBOOT_FORMAT_DTB_BIN
|
||||
help
|
||||
Generate SPL image fixed by the mkpimage tool to enable
|
||||
Pass the U-Boot image through the mkpimage tool to enable
|
||||
booting on the Altera SoC FPGA based platforms.
|
||||
|
||||
On some platforms, it's the SPL that needs to be passed
|
||||
through mkpimage. On some other platforms there is no SPL
|
||||
because the internal SRAM is big enough to store the full
|
||||
U-Boot. In this case, it's directly the full U-Boot image
|
||||
that is passed through mkpimage.
|
||||
|
||||
If BR2_TARGET_UBOOT_SPL is enabled then
|
||||
BR2_TARGET_UBOOT_SPL_NAME is converted by mkpimage using
|
||||
header version 0.
|
||||
|
||||
Otherwise the full u-boot-dtb.bin is converted using
|
||||
mkpimage header version 1.
|
||||
|
||||
In either case the resulting file will be given a .crc
|
||||
extension.
|
||||
|
||||
menuconfig BR2_TARGET_UBOOT_ENVIMAGE
|
||||
bool "Environment image"
|
||||
help
|
||||
@@ -388,4 +432,34 @@ config BR2_TARGET_UBOOT_ENVIMAGE_REDUNDANT
|
||||
|
||||
endif # BR2_TARGET_UBOOT_ENVIMAGE
|
||||
|
||||
config BR2_TARGET_UBOOT_BOOT_SCRIPT
|
||||
bool "Generate a U-Boot boot script"
|
||||
help
|
||||
Generate a U-Boot boot script, given a file listing U-Boot
|
||||
commands to be executed at boot time. The generated boot
|
||||
script will be called 'boot.scr'.
|
||||
|
||||
if BR2_TARGET_UBOOT_BOOT_SCRIPT
|
||||
|
||||
config BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE
|
||||
string "U-Boot boot script source"
|
||||
help
|
||||
Source file to generate the U-Boot boot script.
|
||||
|
||||
endif
|
||||
|
||||
if BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG
|
||||
|
||||
config BR2_TARGET_UBOOT_CUSTOM_DTS_PATH
|
||||
string "Device Tree Source file paths"
|
||||
help
|
||||
Space-separated list of paths to device tree source files
|
||||
that will be copied to arch/ARCH/dts/ before starting the
|
||||
build.
|
||||
|
||||
To use this device tree source file, the U-Boot configuration
|
||||
file must refer to it.
|
||||
|
||||
endif
|
||||
|
||||
endif # BR2_TARGET_UBOOT
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally computed:
|
||||
sha256 6c425175f93a4bcf2ec9faf5658ef279633dbd7856a293d95bd1ff516528ecf2 u-boot-2017.01.tar.bz2
|
||||
sha256 938f597394b33e82e5af8c98bd5ea1a238f61892aabef36384adbf7ca5b52dda u-boot-2018.01.tar.bz2
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
UBOOT_VERSION = $(call qstrip,$(BR2_TARGET_UBOOT_VERSION))
|
||||
UBOOT_BOARD_NAME = $(call qstrip,$(BR2_TARGET_UBOOT_BOARDNAME))
|
||||
|
||||
UBOOT_LICENSE = GPLv2+
|
||||
UBOOT_LICENSE = GPL-2.0+
|
||||
UBOOT_LICENSE_FILES = Licenses/gpl-2.0.txt
|
||||
|
||||
UBOOT_INSTALL_IMAGES = YES
|
||||
@@ -17,7 +17,6 @@ ifeq ($(UBOOT_VERSION),custom)
|
||||
UBOOT_TARBALL = $(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION))
|
||||
UBOOT_SITE = $(patsubst %/,%,$(dir $(UBOOT_TARBALL)))
|
||||
UBOOT_SOURCE = $(notdir $(UBOOT_TARBALL))
|
||||
BR_NO_CHECK_HASH_FOR += $(UBOOT_SOURCE)
|
||||
else ifeq ($(BR2_TARGET_UBOOT_CUSTOM_GIT),y)
|
||||
UBOOT_SITE = $(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_REPO_URL))
|
||||
UBOOT_SITE_METHOD = git
|
||||
@@ -31,9 +30,10 @@ else
|
||||
# Handle stable official U-Boot versions
|
||||
UBOOT_SITE = ftp://ftp.denx.de/pub/u-boot
|
||||
UBOOT_SOURCE = u-boot-$(UBOOT_VERSION).tar.bz2
|
||||
ifeq ($(BR2_TARGET_UBOOT_CUSTOM_VERSION),y)
|
||||
BR_NO_CHECK_HASH_FOR += $(UBOOT_SOURCE)
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_UBOOT)$(BR2_TARGET_UBOOT_LATEST_VERSION),y)
|
||||
BR_NO_CHECK_HASH_FOR += $(UBOOT_SOURCE)
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_UBOOT_FORMAT_BIN),y)
|
||||
@@ -74,6 +74,11 @@ UBOOT_BINS += u-boot-dtb.img
|
||||
UBOOT_MAKE_TARGET += u-boot-dtb.img
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_UBOOT_FORMAT_DTB_BIN),y)
|
||||
UBOOT_BINS += u-boot-dtb.bin
|
||||
UBOOT_MAKE_TARGET += u-boot-dtb.bin
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_UBOOT_FORMAT_IMG),y)
|
||||
UBOOT_BINS += u-boot.img
|
||||
UBOOT_MAKE_TARGET += u-boot.img
|
||||
@@ -126,13 +131,22 @@ endif
|
||||
UBOOT_MAKE_OPTS += \
|
||||
CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||
ARCH=$(UBOOT_ARCH) \
|
||||
HOSTCC="$(HOSTCC) $(HOST_CFLAGS)" \
|
||||
HOSTCC="$(HOSTCC) $(subst -I/,-isystem /,$(subst -I /,-isystem /,$(HOST_CFLAGS)))" \
|
||||
HOSTLDFLAGS="$(HOST_LDFLAGS)"
|
||||
|
||||
ifeq ($(BR2_TARGET_UBOOT_NEEDS_ATF_BL31),y)
|
||||
UBOOT_DEPENDENCIES += arm-trusted-firmware
|
||||
UBOOT_MAKE_OPTS += BL31=$(BINARIES_DIR)/bl31.bin
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_UBOOT_NEEDS_DTC),y)
|
||||
UBOOT_DEPENDENCIES += host-dtc
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_UBOOT_NEEDS_PYLIBFDT),y)
|
||||
UBOOT_DEPENDENCIES += host-python host-swig
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_UBOOT_NEEDS_OPENSSL),y)
|
||||
UBOOT_DEPENDENCIES += host-openssl
|
||||
endif
|
||||
@@ -148,6 +162,14 @@ endef
|
||||
UBOOT_POST_EXTRACT_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE
|
||||
UBOOT_POST_RSYNC_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE
|
||||
|
||||
ifneq ($(ARCH_XTENSA_OVERLAY_FILE),)
|
||||
define UBOOT_XTENSA_OVERLAY_EXTRACT
|
||||
$(call arch-xtensa-overlay-extract,$(@D),u-boot)
|
||||
endef
|
||||
UBOOT_POST_EXTRACT_HOOKS += UBOOT_XTENSA_OVERLAY_EXTRACT
|
||||
UBOOT_EXTRA_DOWNLOADS += $(ARCH_XTENSA_OVERLAY_URL)
|
||||
endif
|
||||
|
||||
# Analogous code exists in linux/linux.mk. Basically, the generic
|
||||
# package infrastructure handles downloading and applying remote
|
||||
# patches. Local patches are handled depending on whether they are
|
||||
@@ -166,6 +188,18 @@ define UBOOT_APPLY_LOCAL_PATCHES
|
||||
endef
|
||||
UBOOT_POST_PATCH_HOOKS += UBOOT_APPLY_LOCAL_PATCHES
|
||||
|
||||
# This is equivalent to upstream commit
|
||||
# http://git.denx.de/?p=u-boot.git;a=commitdiff;h=e0d20dc1521e74b82dbd69be53a048847798a90a. It
|
||||
# fixes a build failure when libfdt-devel is installed system-wide.
|
||||
# This only works when scripts/dtc/libfdt exists (E.G. versions containing
|
||||
# http://git.denx.de/?p=u-boot.git;a=commitdiff;h=c0e032e0090d6541549b19cc47e06ccd1f302893)
|
||||
define UBOOT_FIXUP_LIBFDT_INCLUDE
|
||||
if [ -d $(@D)/scripts/dtc/libfdt ]; then \
|
||||
$(SED) 's%-I$$(srctree)/lib/libfdt%-I$$(srctree)/scripts/dtc/libfdt%' $(@D)/tools/Makefile; \
|
||||
fi
|
||||
endef
|
||||
UBOOT_POST_PATCH_HOOKS += UBOOT_FIXUP_LIBFDT_INCLUDE
|
||||
|
||||
ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY),y)
|
||||
define UBOOT_CONFIGURE_CMDS
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
@@ -179,8 +213,17 @@ else ifeq ($(BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG),y)
|
||||
UBOOT_KCONFIG_FILE = $(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE))
|
||||
endif # BR2_TARGET_UBOOT_USE_DEFCONFIG
|
||||
|
||||
UBOOT_KCONFIG_FRAGMENT_FILES = $(call qstrip,$(BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES))
|
||||
UBOOT_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig
|
||||
UBOOT_KCONFIG_OPTS = $(UBOOT_MAKE_OPTS)
|
||||
|
||||
# UBOOT_MAKE_OPTS overrides HOSTCC / HOSTLDFLAGS to allow the build to
|
||||
# find our host-openssl. However, this triggers a bug in the kconfig
|
||||
# build script that causes it to build with /usr/include/ncurses.h
|
||||
# (which is typically wchar) but link with
|
||||
# $(HOST_DIR)/lib/libncurses.so (which is not). We don't actually
|
||||
# need any host-package for kconfig, so remove the HOSTCC/HOSTLDFLAGS
|
||||
# override again.
|
||||
UBOOT_KCONFIG_OPTS = $(UBOOT_MAKE_OPTS) HOSTCC="$(HOSTCC)" HOSTLDFLAGS=""
|
||||
define UBOOT_HELP_CMDS
|
||||
@echo ' uboot-menuconfig - Run U-Boot menuconfig'
|
||||
@echo ' uboot-savedefconfig - Run U-Boot savedefconfig'
|
||||
@@ -189,7 +232,12 @@ define UBOOT_HELP_CMDS
|
||||
endef
|
||||
endif # BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY
|
||||
|
||||
UBOOT_CUSTOM_DTS_PATH = $(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_DTS_PATH))
|
||||
|
||||
define UBOOT_BUILD_CMDS
|
||||
$(if $(UBOOT_CUSTOM_DTS_PATH),
|
||||
cp -f $(UBOOT_CUSTOM_DTS_PATH) $(@D)/arch/$(UBOOT_ARCH)/dts/
|
||||
)
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
$(MAKE) -C $(@D) $(UBOOT_MAKE_OPTS) \
|
||||
$(UBOOT_MAKE_TARGET)
|
||||
@@ -204,10 +252,22 @@ define UBOOT_BUILD_CMDS
|
||||
endef
|
||||
|
||||
define UBOOT_BUILD_OMAP_IFT
|
||||
$(HOST_DIR)/usr/bin/gpsign -f $(@D)/u-boot.bin \
|
||||
$(HOST_DIR)/bin/gpsign -f $(@D)/u-boot.bin \
|
||||
-c $(call qstrip,$(BR2_TARGET_UBOOT_OMAP_IFT_CONFIG))
|
||||
endef
|
||||
|
||||
ifneq ($(BR2_TARGET_UBOOT_ENVIMAGE),)
|
||||
define UBOOT_GENERATE_ENV_IMAGE
|
||||
cat $(call qstrip,$(BR2_TARGET_UBOOT_ENVIMAGE_SOURCE)) \
|
||||
>$(@D)/buildroot-env.txt
|
||||
$(HOST_DIR)/bin/mkenvimage -s $(BR2_TARGET_UBOOT_ENVIMAGE_SIZE) \
|
||||
$(if $(BR2_TARGET_UBOOT_ENVIMAGE_REDUNDANT),-r) \
|
||||
$(if $(filter BIG,$(BR2_ENDIAN)),-b) \
|
||||
-o $(BINARIES_DIR)/uboot-env.bin \
|
||||
$(@D)/buildroot-env.txt
|
||||
endef
|
||||
endif
|
||||
|
||||
define UBOOT_INSTALL_IMAGES_CMDS
|
||||
$(foreach f,$(UBOOT_BINS), \
|
||||
cp -dpf $(@D)/$(f) $(BINARIES_DIR)/
|
||||
@@ -219,12 +279,11 @@ define UBOOT_INSTALL_IMAGES_CMDS
|
||||
cp -dpf $(@D)/$(f) $(BINARIES_DIR)/
|
||||
)
|
||||
)
|
||||
$(if $(BR2_TARGET_UBOOT_ENVIMAGE),
|
||||
cat $(call qstrip,$(BR2_TARGET_UBOOT_ENVIMAGE_SOURCE)) | \
|
||||
$(HOST_DIR)/usr/bin/mkenvimage -s $(BR2_TARGET_UBOOT_ENVIMAGE_SIZE) \
|
||||
$(if $(BR2_TARGET_UBOOT_ENVIMAGE_REDUNDANT),-r) \
|
||||
$(if $(filter BIG,$(BR2_ENDIAN)),-b) \
|
||||
-o $(BINARIES_DIR)/uboot-env.bin -)
|
||||
$(UBOOT_GENERATE_ENV_IMAGE)
|
||||
$(if $(BR2_TARGET_UBOOT_BOOT_SCRIPT),
|
||||
$(HOST_DIR)/bin/mkimage -C none -A $(MKIMAGE_ARCH) -T script \
|
||||
-d $(call qstrip,$(BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE)) \
|
||||
$(BINARIES_DIR)/boot.scr)
|
||||
endef
|
||||
|
||||
define UBOOT_INSTALL_OMAP_IFT_IMAGE
|
||||
@@ -247,8 +306,8 @@ endif
|
||||
|
||||
ifeq ($(BR2_TARGET_UBOOT_ZYNQ_IMAGE),y)
|
||||
define UBOOT_GENERATE_ZYNQ_IMAGE
|
||||
$(HOST_DIR)/usr/bin/python2 \
|
||||
$(HOST_DIR)/usr/bin/zynq-boot-bin.py \
|
||||
$(HOST_DIR)/bin/python2 \
|
||||
$(HOST_DIR)/bin/zynq-boot-bin.py \
|
||||
-u $(@D)/$(firstword $(call qstrip,$(BR2_TARGET_UBOOT_SPL_NAME))) \
|
||||
-o $(BINARIES_DIR)/BOOT.BIN
|
||||
endef
|
||||
@@ -257,9 +316,17 @@ UBOOT_POST_INSTALL_IMAGES_HOOKS += UBOOT_GENERATE_ZYNQ_IMAGE
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_UBOOT_ALTERA_SOCFPGA_IMAGE_CRC),y)
|
||||
ifeq ($(BR2_TARGET_UBOOT_SPL),y)
|
||||
UBOOT_CRC_ALTERA_SOCFPGA_INPUT_IMAGES = $(call qstrip,$(BR2_TARGET_UBOOT_SPL_NAME))
|
||||
UBOOT_CRC_ALTERA_SOCFPGA_HEADER_VERSION = 0
|
||||
else
|
||||
UBOOT_CRC_ALTERA_SOCFPGA_INPUT_IMAGES = u-boot-dtb.bin
|
||||
UBOOT_CRC_ALTERA_SOCFPGA_HEADER_VERSION = 1
|
||||
endif
|
||||
define UBOOT_CRC_ALTERA_SOCFPGA_IMAGE
|
||||
$(foreach f,$(call qstrip,$(BR2_TARGET_UBOOT_SPL_NAME)), \
|
||||
$(HOST_DIR)/usr/bin/mkpimage \
|
||||
$(foreach f,$(UBOOT_CRC_ALTERA_SOCFPGA_INPUT_IMAGES), \
|
||||
$(HOST_DIR)/bin/mkpimage \
|
||||
-v $(UBOOT_CRC_ALTERA_SOCFPGA_HEADER_VERSION) \
|
||||
-o $(BINARIES_DIR)/$(notdir $(call qstrip,$(f))).crc \
|
||||
$(@D)/$(call qstrip,$(f))
|
||||
)
|
||||
@@ -280,6 +347,15 @@ endif
|
||||
UBOOT_DEPENDENCIES += host-uboot-tools
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_UBOOT_BOOT_SCRIPT),y)
|
||||
ifeq ($(BR_BUILDING),y)
|
||||
ifeq ($(call qstrip,$(BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE)),)
|
||||
$(error Please define a source file for Uboot boot script (BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE setting))
|
||||
endif
|
||||
endif
|
||||
UBOOT_DEPENDENCIES += host-uboot-tools
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_UBOOT)$(BR_BUILDING),yy)
|
||||
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user