Radix cross Linux

The main Radix cross Linux repository contains the build scripts of packages, which have the most complete and common functionality for desktop machines

452 Commits   2 Branches   1 Tag
Index: 0.28.1/Makefile
===================================================================
--- 0.28.1/Makefile	(revision 254)
+++ 0.28.1/Makefile	(revision 255)
@@ -130,136 +130,111 @@
 
 env_sysroot = DESTDIR=$(EXIV2_PKG)
 
-#
-# https://mesonbuild.com/Reference-tables.html :
-# =============================================
-#
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_A1X_GLIBC)    $(TOOLCHAIN_A2X_GLIBC)    \
-                             $(TOOLCHAIN_H3_GLIBC)     $(TOOLCHAIN_RK328X_GLIBC) \
-                             $(TOOLCHAIN_S8XX_GLIBC)   $(TOOLCHAIN_IMX6_GLIBC)   \
-                             $(TOOLCHAIN_AM335X_GLIBC) $(TOOLCHAIN_OMAP543X_GLIBC)),)
-cpu_name = arm
-endian   = little
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_H5_GLIBC)     $(TOOLCHAIN_RK33XX_GLIBC) \
-                             $(TOOLCHAIN_RK339X_GLIBC) $(TOOLCHAIN_RK358X_GLIBC) \
-                             $(TOOLCHAIN_S9XX_GLIBC)   \
-                             $(TOOLCHAIN_A311X_GLIBC)  $(TOOLCHAIN_M1000_GLIBC)),)
-cpu_name = aarch64
-endian   = little
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC) $(TOOLCHAIN_P5600_GLIBC)),)
-cpu_name = mips
-endian   = little
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8_GLIBC) $(TOOLCHAIN_POWER9_GLIBC)),)
-cpu_name = ppc64
-endian   = big
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8LE_GLIBC) $(TOOLCHAIN_POWER9LE_GLIBC)),)
-cpu_name = ppc64
-endian   = little
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_RISCV64_GLIBC)),)
-cpu_name = riscv64
-endian   = little
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_I586_GLIBC) $(TOOLCHAIN_I686_GLIBC)),)
-cpu_name = x86
-endian   = little
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_X86_64_GLIBC)),)
-cpu_name = x86_64
-endian   = little
-endif
 
+TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
 
-ifeq ($(__ENABLE_STATIC__),yes)
-extra_configure_switches += --default-library=both
-else
-extra_configure_switches += --default-library=shared
+
+configure_switches  = -DCMAKE_BUILD_TYPE='Release'
+
+configure_switches += -DCMAKE_C_COMPILER='$(CROSS_PREFIX)gcc'
+configure_switches += -DCMAKE_CXX_COMPILER='$(CROSS_PREFIX)g++'
+configure_switches += -DCMAKE_LINKER='$(CROSS_PREFIX)ld'
+configure_switches += -DCMAKE_AR='$(CROSS_PREFIX)ar'
+configure_switches += -DCMAKE_NM='$(CROSS_PREFIX)nm'
+configure_switches += -DCMAKE_RANLIB='$(CROSS_PREFIX)ranlib'
+configure_switches += -DCMAKE_OBJCOPY='$(CROSS_PREFIX)objcopy'
+configure_switches += -DCMAKE_OBJDUMP='$(CROSS_PREFIX)objdump'
+configure_switches += -DCMAKE_STRIP='$(CROSS_PREFIX)strip'
+
+configure_switches += -DCMAKE_C_FLAGS='--sysroot=$(TARGET_DEST_DIR) $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) -w'
+configure_switches += -DCMAKE_CXX_FLAGS='--sysroot=$(TARGET_DEST_DIR) $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) -w'
+
+configure_switches += -DCMAKE_EXE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) -Wl,-rpath,$(TARGET_BIN_RPATH)'
+configure_switches += -DCMAKE_MODULE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) -Wl,-rpath,$(TARGET_LIB_RPATH)'
+configure_switches += -DCMAKE_SHARED_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) -Wl,-rpath,$(TARGET_LIB_RPATH)'
+
+ifeq ($(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC))
+configure_switches += -DCMAKE_C_FLAGS_RELEASE='-O2 -DNDEBUG'
+configure_switches += -DCMAKE_CXX_FLAGS_RELEASE='-O2 -DNDEBUG'
+configure_switches += -DCMAKE_ASM_FLAGS_RELEASE='-O2 -DNDEBUG'
 endif
 
+configure_switches += -DCMAKE_INSTALL_PREFIX=/usr
+configure_switches += -DCMAKE_INSTALL_BINDIR=/usr/bin
+configure_switches += -DCMAKE_INSTALL_MANDIR=/usr/share/man
+configure_switches += -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/$(src_dir_name)
+configure_switches += -DCMAKE_INSTALL_LIBDIR=/usr/lib$(LIBSUFFIX)
 
-extra_configure_switches += -Dcurl=enabled
-extra_configure_switches += -Dbrotli=enabled
-extra_configure_switches += -Dnls=enabled
-extra_configure_switches += -Dpng=enabled
-extra_configure_switches += -Diconv=enabled
-extra_configure_switches += -Dinih=enabled
-extra_configure_switches += -Dbmff=true
-extra_configure_switches += -Dlensdata=true
-extra_configure_switches += -Dvideo=true
-extra_configure_switches += -Dxmp=enabled
-extra_configure_switches += -DunitTests=disabled
+configure_switches += -DBUILD_SHARED_LIBS=ON
 
+configure_switches += -DEXIV2_ENABLE_XMP=ON
+configure_switches += -DEXIV2_ENABLE_EXTERNAL_XMP=OFF
+configure_switches += -DEXIV2_ENABLE_PNG=ON
+configure_switches += -DEXIV2_ENABLE_NLS=ON
+configure_switches += -DEXIV2_ENABLE_LENSDATA=ON
+configure_switches += -DEXIV2_ENABLE_WEBREADY=ON
+configure_switches += -DEXIV2_ENABLE_CURL=ON
+configure_switches += -DEXIV2_ENABLE_BMFF=ON
+configure_switches += -DEXIV2_ENABLE_BROTLI=ON
+configure_switches += -DEXIV2_ENABLE_VIDEO=ON
+configure_switches += -DEXIV2_ENABLE_INIH=ON
 
-TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
-TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+configure_switches += -DEXIV2_BUILD_SAMPLES=OFF
+configure_switches += -DEXIV2_BUILD_EXIV2_COMMAND=ON
+configure_switches += -DEXIV2_BUILD_UNIT_TESTS=OFF
+configure_switches += -DEXIV2_BUILD_FUZZ_TESTS=OFF
+configure_switches += -DEXIV2_BUILD_DOC=OFF
 
+configure_switches += -DBROTLICOMMON_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libbrotlicommon.so
+configure_switches += -DBROTLIDEC_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libbrotlidec.so
+configure_switches += -DBROTLI_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
 
+configure_switches += -DZLIB_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -DZLIB_LIBRARY_RELEASE=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libz.so
+
+configure_switches += -Dinih_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -Dinih_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libinih.so
+
+configure_switches += -Dinih_inireader_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -Dinih_inireader_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libINIReader.so
+
+#
+# NOTE:
+# ====
+#
+#   CMAKE_SYSTEM_PROCESSOR cannot be defined by command line option:
+#
+toolchain-file = $(CURDIR)/$(TARGET_BUILD_DIR)/toolchain.cmake
+
+configure_switches += -DCMAKE_TOOLCHAIN_FILE=$(toolchain-file)
+
+cpu_arch = $(word 1,$(subst -, ,$(TARGET)))
+
+
 ####### Dependencies
 
 $(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
 	$(UNPACK_SRC_ARCHIVE)
 	$(APPLY_PATCHES)
+	@echo "set(CMAKE_SYSTEM_NAME Linux)"             > $(toolchain-file)
+	@echo "set(CMAKE_SYSTEM_PROCESSOR $(cpu_arch))" >> $(toolchain-file)
 	@touch $@
 
 $(build_target): $(src_done)
 	@mkdir -p $(build_dir)
-	@echo ""                                            >  $(cross_file)
-	@echo "[build_machine]"                             >> $(cross_file)
-	@echo "system = '$(shell uname -s | tr 'L' 'l')'"   >> $(cross_file)
-	@echo "cpu_family = '$(shell uname -m)'"            >> $(cross_file)
-	@echo "cpu = '$(shell uname -m)'"                   >> $(cross_file)
-	@echo "endian = '$(shell lscpu | grep Endian | tr -s ' ' | cut -f3 -d' ' | tr 'L' 'l')'" >> $(cross_file)
-	@echo ""                                            >> $(cross_file)
-	@echo "[host_machine]"                              >> $(cross_file)
-	@echo "system = 'linux'"                            >> $(cross_file)
-	@echo "cpu_family = '$(cpu_name)'"                  >> $(cross_file)
-	@echo "cpu = '$(cpu_name)'"                         >> $(cross_file)
-	@echo "endian = '$(endian)'"                        >> $(cross_file)
-	@echo ""                                            >> $(cross_file)
-	@echo "[target_machine]"                            >> $(cross_file)
-	@echo "system = 'linux'"                            >> $(cross_file)
-	@echo "cpu_family = '$(cpu_name)'"                  >> $(cross_file)
-	@echo "cpu = '$(cpu_name)'"                         >> $(cross_file)
-	@echo "endian = '$(endian)'"                        >> $(cross_file)
-	@echo ""                                            >> $(cross_file)
-	@echo "[properties]"                                >> $(cross_file)
-	@echo "sys_root = '$(TARGET_DEST_DIR)'"             >> $(cross_file)
-	@echo ""                                            >> $(cross_file)
-	@echo "[binaries]"                                  >> $(cross_file)
-	@echo "c = '$(TOOLCHAIN_PATH)/bin/$(TARGET)-gcc'"   >> $(cross_file)
-	@echo "cpp = '$(TOOLCHAIN_PATH)/bin/$(TARGET)-g++'" >> $(cross_file)
-	@echo "ar = '$(AR)'"                                >> $(cross_file)
-	@echo "strip = '$(STRIP)'"                          >> $(cross_file)
-	@echo "pkgconfig = 'pkg-config'"                    >> $(cross_file)
-	@echo ""                                            >> $(cross_file)
-	@PKG_CONFIG_PATH= \
-	   meson setup \
-	    --prefix=/usr \
-	    --libdir=lib$(LIBSUFFIX) \
-	    --libexecdir=/usr/libexec \
-	    --bindir=/usr/bin \
-	    --sbindir=/usr/sbin \
-	    --includedir=/usr/include \
-	    --datadir=/usr/share \
-	    --mandir=/usr/share/man \
-	    --sysconfdir=/etc \
-	    --localstatedir=/var \
-	    --buildtype=release    \
-	    -Dc_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) $(CFLAGS)" | tr -s ' '`"         \
-	    -Dc_link_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) $(LDFLAGS)" | tr -s ' '`"   \
-	    -Dcpp_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) $(CFLAGS)" | tr -s ' '`"       \
-	    -Dcpp_link_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) $(LDFLAGS)" | tr -s ' '`" \
-	    $(extra_configure_switches) \
-	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   $(BUILD_ENVIRONMENT) cmake $(configure_switches) ../$(src_dir_name) ; \
+	 )
+	@( cd $(build_dir) ; \
+	   $(BUILD_ENVIRONMENT) $(MAKE) ; \
+	 )
 	@touch $@
 
 $(install_target): $(build_target)
-	@cd $(build_dir) && $(env_sysroot) ninja install
+	@( cd $(build_dir) ; \
+	   $(BUILD_ENVIRONMENT) $(MAKE) install $(env_sysroot) ; \
+	 )
 	# ======= Install Documentation =======
 	@if [ -d $(EXIV2_PKG)/usr/share/man ]; then \
 	  ( cd $(EXIV2_PKG)/usr/share/man ; \
@@ -300,11 +275,6 @@
 	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
 	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
 	 )
-ifeq ($(__ENABLE_STATIC__),yes)
-	@( cd $(EXIV2_PKG) ; \
-	   find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
-	 )
-endif
 	@touch $@
 
 $(EXIV2_PKG_DESCRIPTION_FILE): $(EXIV2_PKG_DESCRIPTION_FILE_IN)
Index: 0.28.1/PATCHES
===================================================================
--- 0.28.1/PATCHES	(revision 254)
+++ 0.28.1/PATCHES	(revision 255)
@@ -1,2 +0,0 @@
-
-../../../sources/packages/l/exiv2/patches/exiv2-0.28.1-samples.patch -p0
Index: 0.28.1/exiv2-pkg-description.in
===================================================================
--- 0.28.1/exiv2-pkg-description.in	(revision 254)
+++ 0.28.1/exiv2-pkg-description.in	(revision 255)
@@ -12,8 +12,8 @@
 exiv2: Exif and IPTC image metadata.
 exiv2:
 exiv2:
+exiv2:
 exiv2: Homepage: https://www.exiv2.org/
 exiv2:
 exiv2:
 exiv2:
-exiv2: