From 0e4ebb067d251b0c9dab9daba5878e89a2140de9 Mon Sep 17 00:00:00 2001 From: Markham Date: Tue, 26 Dec 2023 13:02:11 +0100 Subject: [PATCH] introduce meson for libsigc; bump version libsigc-2.12.1 - min. requirements: meson-0.55.0, ninja-build-1.10.0 --- Makefile | 1 + make/archives.mk | 2 +- make/environment-build.mk | 3 +++ make/libraries.mk | 21 ++++++++++++++++++++- make/meson.mk | 36 ++++++++++++++++++++++++++++++++++++ make/versions.mk | 4 ++-- 6 files changed, 63 insertions(+), 4 deletions(-) create mode 100644 make/meson.mk diff --git a/Makefile b/Makefile index 0efbc16..e6b9677 100755 --- a/Makefile +++ b/Makefile @@ -44,6 +44,7 @@ include make/bootloader.mk include make/flashimage.mk include make/cleantargets.mk include make/ffmpeg.mk +include make/meson.mk PARALLEL_JOBS := $(shell echo $$((1 + `getconf _NPROCESSORS_ONLN 2>/dev/null || echo 1`))) override MAKE = make $(if $(findstring j,$(filter-out --%,$(MAKEFLAGS))),,-j$(PARALLEL_JOBS)) $(SILENT_OPT) diff --git a/make/archives.mk b/make/archives.mk index e00634a..90cc25e 100755 --- a/make/archives.mk +++ b/make/archives.mk @@ -104,7 +104,7 @@ $(ARCHIVE)/dvdreadfs.tar.bz2: | $(HOSTPREFIX)/bin/get-git-archive.sh get-git-archive.sh https://github.com/markschultz/dvdreadfs.git master $(notdir $@) $(ARCHIVE) $(ARCHIVE)/libsigc++-$(LIBSIGC_VER).tar.xz: - $(WGET) https://download.gnome.org/sources/libsigc++/$(LIBSIGC_MAJ).$(LIBSIGC_MIN)/libsigc++-$(LIBSIGC_VER).tar.xz + $(WGET) https://download.gnome.org/sources/libsigc++/$(LIBSIGC_VER_MAJOR)/libsigc++-$(LIBSIGC_VER).tar.xz $(ARCHIVE)/openssl-$(OPENSSL_VER)$(OPENSSL_SUBVER).tar.gz: $(WGET) http://www.openssl.org/source/openssl-$(OPENSSL_VER)$(OPENSSL_SUBVER).tar.gz diff --git a/make/environment-build.mk b/make/environment-build.mk index 6039d68..579afa9 100755 --- a/make/environment-build.mk +++ b/make/environment-build.mk @@ -93,6 +93,7 @@ ifeq ($(BOXSERIES), hd1) TARGET_O_CFLAGS = -Os TARGET_ARCH = arm TARGET_CPU = armv6 + TARGET_ENDIAN = little TARGET_MARCH_CFLAGS = -march=$(TARGET_CPU) -mfloat-abi=soft -mlittle-endian TARGET_EXTRA_CFLAGS = -fdata-sections -ffunction-sections TARGET_EXTRA_LDFLAGS = -Wl,--gc-sections @@ -104,6 +105,7 @@ else ifeq ($(BOXSERIES), hd2) TARGET_O_CFLAGS = -O2 TARGET_ARCH = arm TARGET_CPU = armv7-a + TARGET_ENDIAN = little TARGET_MARCH_CFLAGS = -march=$(TARGET_CPU) -mtune=cortex-a9 -mfpu=vfpv3-d16 -mfloat-abi=hard -mlittle-endian TARGET_EXTRA_CFLAGS = TARGET_EXTRA_LDFLAGS = @@ -120,6 +122,7 @@ else ifeq ($(BOXSERIES),$(filter $(BOXSERIES), hd5x hd6x)) TARGET_O_CFLAGS = -O2 TARGET_ARCH = arm TARGET_CPU = armv7ve + TARGET_ENDIAN = little TARGET_MARCH_CFLAGS = -march=$(TARGET_CPU) -mtune=cortex-a15 -mfpu=neon-vfpv4 -mfloat-abi=hard TARGET_EXTRA_CFLAGS = TARGET_EXTRA_LDFLAGS = diff --git a/make/libraries.mk b/make/libraries.mk index 6c03a91..fee89ec 100755 --- a/make/libraries.mk +++ b/make/libraries.mk @@ -793,7 +793,7 @@ $(D)/libdvbsi++: $(ARCHIVE)/libdvbsi++-$(LIBDVBSI_VERSION).tar.bz2 | $(TARGETPRE $(REMOVE)/libdvbsi++-$(LIBDVBSI_VERSION) $(TOUCH) -$(D)/libsigc: $(ARCHIVE)/libsigc++-$(LIBSIGC_VER).tar.xz | $(TARGETPREFIX) +$(D)/libsigc_deprecated: $(ARCHIVE)/libsigc++-$(LIBSIGC_VER).tar.xz | $(TARGETPREFIX) $(START_BUILD) $(REMOVE)/libsigc++-$(LIBSIGC_VER) $(UNTAR)/libsigc++-$(LIBSIGC_VER).tar.xz @@ -815,6 +815,25 @@ $(D)/libsigc: $(ARCHIVE)/libsigc++-$(LIBSIGC_VER).tar.xz | $(TARGETPREFIX) $(REMOVE)/libsigc++-$(LIBSIGC_VER) $(TOUCH) +$(D)/libsigc: $(D)/meson-crossconfig $(ARCHIVE)/libsigc++-$(LIBSIGC_VER).tar.xz | $(TARGETPREFIX) + $(START_BUILD) + $(REMOVE)/libsigc++-$(LIBSIGC_VER) + $(UNTAR)/libsigc++-$(LIBSIGC_VER).tar.xz + pushd $(BUILD_TMP)/libsigc++-$(LIBSIGC_VER); \ + meson setup --cross-file $(BUILD_TMP)/cross-compilation.conf build \ + --prefix=$(TARGETPREFIX) \ + --buildtype=release \ + -Dbuild-examples=false \ + -Dbuild-tests=false \ + -Dvalidation=false; \ + ninja -C build; \ + ninja -C build install + ln -sf ./sigc++-2.0/sigc++ $(TARGETPREFIX)/include/sigc++ + $(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/sigc++-2.0.pc + rm -fr $(TARGETPREFIX)/share/devhelp + $(REMOVE)/libsigc++-$(LIBSIGC_VER) + $(TOUCH) + $(D)/libvorbis: $(D)/libogg $(ARCHIVE)/libvorbis-$(LIBVORBIS_VER).tar.xz | $(TARGETPREFIX) $(START_BUILD) $(UNTAR)/libvorbis-$(LIBVORBIS_VER).tar.xz diff --git a/make/meson.mk b/make/meson.mk new file mode 100644 index 0000000..f489098 --- /dev/null +++ b/make/meson.mk @@ -0,0 +1,36 @@ +# Meson + +$(D)/meson-crossconfig: | $(TARGETPREFIX) + ( \ + echo "# Note: Buildsystems's and Meson's terminologies differ about the meaning"; \ + echo "# of 'build', 'host' and 'target':"; \ + echo "# - Buildsystems's 'host' is Meson's 'build'"; \ + echo "# - Buildsystems's 'target' is Meson's 'host'"; \ + echo ""; \ + echo "[binaries]"; \ + echo "c = '$(TARGET)-gcc'"; \ + echo "cpp = '$(TARGET)-g++'"; \ + echo "ar = '$(TARGET)-ar'"; \ + echo "strip = '$(TARGET)-strip'"; \ + echo "nm = '$(TARGET)-nm'"; \ + echo "pkgconfig = '$(PKG_CONFIG)'"; \ + echo ""; \ + echo "[built-in options]"; \ + echo "c_args = '$(TARGET_CFLAGS)'"; \ + echo "c_link_args = '$(TARGET_LDFLAGS)'"; \ + echo "cpp_args = '$(TARGET_CXXFLAGS)'"; \ + echo "cpp_link_args = '$(TARGET_LDFLAGS)'"; \ + echo "prefix = '$(prefix)'"; \ + echo ""; \ + echo "[properties]"; \ + echo "needs_exe_wrapper = true"; \ + echo "sys_root = '$(TARGETPREFIX)'"; \ + echo "pkg_config_libdir = '$(PKG_CONFIG_LIBDIR)'"; \ + echo ""; \ + echo "[host_machine]"; \ + echo "system = 'linux'"; \ + echo "cpu_family = '$(TARGET_ARCH)'"; \ + echo "cpu = '$(TARGET_CPU)'"; \ + echo "endian = '$(TARGET_ENDIAN)'" \ + ) > $(BUILD_TMP)/cross-compilation.conf + $(TOUCH) diff --git a/make/versions.mk b/make/versions.mk index 26cc215..8a1e51a 100644 --- a/make/versions.mk +++ b/make/versions.mk @@ -230,8 +230,8 @@ LIBICONV_VER = 1.16 LIBOPENTHREADS_VER=3.2 #libsigc++; a typesafe Callback Framework for C++ -LIBSIGC_VER_MAJOR = 2.10 -LIBSIGC_VER = $(LIBSIGC_VER_MAJOR).8 +LIBSIGC_VER_MAJOR = 2.12 +LIBSIGC_VER = $(LIBSIGC_VER_MAJOR).1 # libx264 LIB_X264_VER=20220819 -- 2.39.5