lzo: switch to building with CMake
authorRosen Penev <rosenp@gmail.com>
Fri, 10 Jul 2020 23:13:10 +0000 (16:13 -0700)
committerPetr Štetiar <ynezz@true.cz>
Sat, 11 Jul 2020 11:33:28 +0000 (13:33 +0200)
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@gmail.com>
package/libs/lzo/Makefile

index 1ae2f3ce05a4c8790ba4da15733f84bbfc9ab111..3ce5f53349ee13be4e786f5c3dd16038271e723e 100644 (file)
@@ -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