packages/sound/fdk-aac/Makefile
Rosen Penev bb1dab2471 fdk-aac: Add fdk-aac-free for non BUILD_PATENTED configurations
The core parts of AAC were patented back in 1998. Those patents have
expired.

Some of the newer AAC features involved with HE-AAC are still patented.
These patches are taken from fedora where they remove all patented
functionality.

Note that LC-AAC comprises the majority of AAC content. HE-AAC is for low
bitrate stuff like audiobooks.

Patches come from Fedora where this is also distributed.

Local compiles show a 40% size reduction in the final ipk.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-02 21:49:37 -07:00

104 lines
2.6 KiB
Makefile

#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=fdk-aac
PKG_VERSION:=2.0.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/mstorsjo/fdk-aac/tar.gz/v$(PKG_VERSION)?
PKG_HASH:=a4142815d8d52d0e798212a5adea54ecf42bcd4eec8092b37a8cb615ace91dc6
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
PKG_LICENSE:=Fraunhofer-FDK-AAC-for-Android
PKG_LICENSE_FILES:=NOTICE
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
PKG_CONFIG_DEPENDS:= CONFIG_FDK-AAC_OPTIMIZE_SPEED
ifeq ($(BUILD_VARIANT),free)
PATCH_DIR:=./patches-free
endif
ifeq ($(CONFIG_FDK-AAC_OPTIMIZE_SPEED),y)
TARGET_CFLAGS := $(filter-out -O%,$(TARGET_CFLAGS))
TARGET_CFLAGS += $(TARGET_CFLAGS) -O2 -flto
TARGET_CXXFLAGS := $(filter-out -O%,$(TARGET_CXXFLAGS))
TARGET_CXXFLAGS += $(TARGET_CXXFLAGS) -O2 -flto
TARGET_LDFLAGS += $(TARGET_LDFLAGS) -flto
endif
include $(INCLUDE_DIR)/package.mk
define Package/fdk-aac/Default
SECTION:=sound
CATEGORY:=Sound
TITLE:=Fraunhofer FDK AAC Codec Library
URL:=https://sourceforge.net/projects/opencore-amr/
endef
define Package/fdk-aac/Default/description
Port of the Fraunhofer FDK AAC Codec Library for Android
endef
define Package/fdk-aac/Default/config
source "$(SOURCE)/Config.in"
endef
define Package/fdk-aac
$(call Package/fdk-aac/Default)
DEPENDS:=@BUILD_PATENTED
VARIANT:=nonfree
endef
define Package/fdk-aac/description
$(call Package/fdk-aac/Default/description)
This is the full patent encumbered version.
endef
define Package/fdk-aac/config
$(call Package/fdk-aac/Default/config)
endef
define Package/fdk-aac-free
$(call Package/fdk-aac/Default)
VARIANT:=free
endef
define Package/fdk-aac-free/description
$(call Package/fdk-aac/Default/description)
This is the free version that only supports LC-AAC.
endef
define Package/fdk-aac-free/config
$(call Package/fdk-aac/Default/config)
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/fdk-aac $(1)/usr/include
$(INSTALL_DIR) $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libfdk-aac.{la,so*} $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/fdk-aac.pc $(1)/usr/lib/pkgconfig/
endef
define Package/fdk-aac/install
$(INSTALL_DIR) $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libfdk-aac.so* $(1)/usr/lib/
endef
define Package/fdk-aac-free/install
$(INSTALL_DIR) $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libfdk-aac.so* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,fdk-aac))
$(eval $(call BuildPackage,fdk-aac-free))