sound/lame: Add optional experimental optimization
authorDaniel Engberg <redacted>
Wed, 1 Nov 2017 12:17:43 +0000 (13:17 +0100)
committerDaniel Engberg <redacted>
Wed, 1 Nov 2017 12:17:53 +0000 (13:17 +0100)
Add optional experimental optimization
Generic approach for --enable-expopt=full

Signed-off-by: Daniel Engberg <redacted>
sound/lame/Config.in [new file with mode: 0644]
sound/lame/Makefile

diff --git a/sound/lame/Config.in b/sound/lame/Config.in
new file mode 100644 (file)
index 0000000..1e52519
--- /dev/null
@@ -0,0 +1,12 @@
+menu "Configuration"
+       depends on PACKAGE_lame-lib
+
+config LAME-LIB_OPTIMIZE_SPEED
+       bool "Optimize for speed"
+       default n
+       help
+               This enables additional experimental
+               optmization and increases performance 
+               considerably at the expense of binary size.
+
+endmenu
index 07a7c5d1f0eac027929f7feb90d8cc2eec0d26a3..ec504951c2d7235bb29be5c7a1dd7889a6ff301b 100644 (file)
@@ -22,6 +22,8 @@ PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
 PKG_LICENSE:=LGPL-2.0
 PKG_LICENSE_FILES:=COPYING LICENSE
 
+PKG_CONFIG_DEPENDS:= CONFIG_LAME-LIB_OPTIMIZE_SPEED
+
 include $(INCLUDE_DIR)/package.mk
 
 PKG_INSTALL=1
@@ -43,6 +45,10 @@ define Package/lame/description
 lame mp3 encoder
 endef
 
+define Package/lame-lib/config
+       source "$(SOURCE)/Config.in"
+endef
+
 define Package/lame-lib
 $(call Package/lame/Default)
   TITLE:=lame-lib
@@ -56,6 +62,11 @@ ifeq ($(ARCH),i386)
 TARGET_CFLAGS+=-msse
 endif
 
+ifeq ($(CONFIG_LAME-LIB_OPTIMIZE_SPEED),y)
+       TARGET_CFLAGS += $(TARGET_CFLAGS) -O3 -fomit-frame-pointer -ffast-math -fschedule-insns2
+       TARGET_CFLAGS := $(filter-out -Os,$(TARGET_CFLAGS))
+endif
+
 CONFIGURE_ARGS += --disable-gtktest --disable-static
 
 define Package/lame/install
git clone https://git.99rst.org/PROJECT