From d5fb6c846fa018f2859499ebbc40757ba20ae7d2 Mon Sep 17 00:00:00 2001 From: Tigran Aivazian Date: Mon, 1 Oct 2012 12:35:16 +0100 Subject: [PATCH] Enable LTO for kpdfview and crengine Enaling link time optimizations for kpdfview binary and crengine library causes another slight performance increase --- almost negligible (1-2ms per page) but still noticeable by precise measurements. --- Makefile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index cdfd18203..102993316 100644 --- a/Makefile +++ b/Makefile @@ -29,7 +29,7 @@ HOSTCXX:=g++ CFLAGS:=-O3 $(SYSROOT) CXXFLAGS:=-O3 $(SYSROOT) -LDFLAGS:= $(SYSROOT) +LDFLAGS:=-Wl,-O1 -Wl,--as-needed ARM_CFLAGS:=-march=armv6j -mtune=arm1136jf-s -mfpu=vfp # use this for debugging: #CFLAGS:=-O0 -g $(SYSROOT) @@ -92,6 +92,7 @@ all:kpdfview kpdfview: kpdfview.o einkfb.o pdf.o blitbuffer.o drawcontext.o input.o util.o ft.o lfs.o mupdfimg.o $(MUPDFLIBS) $(THIRDPARTYLIBS) $(LUALIB) djvu.o $(DJVULIBS) cre.o $(CRENGINELIBS) $(CC) \ + $(CFLAGS) \ kpdfview.o \ einkfb.o \ pdf.o \ @@ -110,6 +111,7 @@ kpdfview: kpdfview.o einkfb.o pdf.o blitbuffer.o drawcontext.o input.o util.o ft cre.o \ $(CRENGINELIBS) \ $(STATICLIBSTDCPP) \ + $(LDFLAGS) \ -o kpdfview -lm -ldl -lpthread $(EMU_LDFLAGS) $(DYNAMICLIBSTDCPP) slider_watcher: slider_watcher.c @@ -198,7 +200,7 @@ endif $(CRENGINELIBS): cd $(KPVCRLIBDIR) && rm -rf CMakeCache.txt CMakeFiles && \ - CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" CC="$(CC)" CXX="$(CXX)" cmake . && \ + CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" CC="$(CC)" CXX="$(CXX)" LDFLAGS="$(LDFLAGS)" cmake . && \ make $(LUALIB):