Index: Makefile
===================================================================
--- Makefile (revision 254)
+++ 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: PATCHES
===================================================================
--- PATCHES (revision 254)
+++ PATCHES (revision 255)
@@ -1,2 +0,0 @@
-
-../../../sources/packages/l/exiv2/patches/exiv2-0.28.1-samples.patch -p0
Index: exiv2-pkg-description.in
===================================================================
--- exiv2-pkg-description.in (revision 254)
+++ 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: