[PATCH] lzo: switch to building with CMake

Rosen Penev rosenp at gmail.com
Fri Jul 10 19:13:10 EDT 2020


CMake is less error prone that autotools and also compiles faster.

Fixed license information.

Added pkgconfig file to InstallDev so that packages that use it can
find lzo.

Before:

time make package/lzo/compile -j 12
________________________________________________________
Executed in   20.87 secs   fish           external
   usr time   26.95 secs    0.00 micros   26.95 secs
   sys time    5.49 secs  305.00 micros    5.49 secs

After:

time make package/lzo/compile -j 12
________________________________________________________
Executed in   13.22 secs   fish           external
   usr time   19.59 secs  328.00 micros   19.59 secs
   sys time    4.03 secs   10.00 micros    4.03 secs

Time output is with fish shell. make clean was ran before both attempts.

Signed-off-by: Rosen Penev <rosenp at gmail.com>
---
 package/libs/lzo/Makefile | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/package/libs/lzo/Makefile b/package/libs/lzo/Makefile
index 1ae2f3ce05..3ce5f53349 100644
--- a/package/libs/lzo/Makefile
+++ b/package/libs/lzo/Makefile
@@ -9,19 +9,20 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=lzo
 PKG_VERSION:=2.10
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.oberhumer.com/opensource/lzo/download/
 PKG_HASH:=c0f892943208266f9b6543b3ae308fab6284c5c90e627931446fb49b4221a072
 
-PKG_FIXUP:=autoreconf
-PKG_INSTALL:=1
-PKG_LICENSE:=GPL-2.0+
+PKG_LICENSE:=GPL-2.0-or-later
+PKG_LICENSE_FILES:=COPYING
 
 PKG_BUILD_PARALLEL:=1
+CMAKE_BINARY_SUBDIR:=openwrt-build
 
 include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
 
 define Package/liblzo
   SECTION:=libs
@@ -36,17 +37,18 @@ define Package/liblzo/description
  in real-time. This means it favours speed over compression ratio.
 endef
 
-CONFIGURE_ARGS += \
-	--enable-shared \
-	--enable-static \
-
-TARGET_CFLAGS += $(FPIC)
-MAKE_FLAGS += CFLAGS_O="$(TARGET_CFLAGS)"
+CMAKE_OPTIONS += \
+	-DENABLE_SHARED=ON \
+	-DENABLE_STATIC=ON \
+	\
+	-DBUILD_TESTING=OFF \
+	-DCMAKE_SKIP_INSTALL_RPATH=ON
 
 define Build/InstallDev
-	$(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib
+	$(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib $(1)/usr/lib/pkgconfig
 	$(CP) $(PKG_INSTALL_DIR)/usr/include/lzo $(1)/usr/include/
 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/liblzo2.{a,so*} $(1)/usr/lib/
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/lzo2.pc $(1)/usr/lib/pkgconfig
 endef
 
 define Package/liblzo/install
-- 
2.26.2




More information about the openwrt-devel mailing list