mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
xbmc: add PR2712
Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
parent
a62414cf62
commit
fd66456d08
77
packages/mediacenter/xbmc/patches/12.2.0/xbmc-990.11-PR2712.patch
vendored
Normal file
77
packages/mediacenter/xbmc/patches/12.2.0/xbmc-990.11-PR2712.patch
vendored
Normal file
@ -0,0 +1,77 @@
|
||||
From 101fbc2d6869d6f02c4345a232854dbbb3f1a855 Mon Sep 17 00:00:00 2001
|
||||
From: Cory Fields <theuni-nospam-@xbmc.org>
|
||||
Date: Thu, 2 May 2013 16:45:41 -0400
|
||||
Subject: [PATCH] build: stop using whole-archive for our final binary
|
||||
|
||||
This nasty hack has been around for ages. By changing, we get the following
|
||||
benefits:
|
||||
|
||||
- We don't link in _every_ object in _every_ archive!
|
||||
- Builds will no longer fail if a source file has been removed but its object
|
||||
still exists in the archive
|
||||
- Filesize reduction
|
||||
- Ability to use lto, garbage collection, dead-code stripping, etc in a
|
||||
useful manner
|
||||
|
||||
This is achieved by specifying a main object on the link line, and using
|
||||
start-group/end-group to search through the archives multiple times until each
|
||||
symbol is found.
|
||||
---
|
||||
Makefile.in | 24 ++++++++++++++++--------
|
||||
1 file changed, 16 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index 3cbe1a2..f0827f2 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -92,6 +92,9 @@ DIRECTORY_ARCHIVES=$(DVDPLAYER_ARCHIVES) \
|
||||
xbmc/windows/windows.a \
|
||||
xbmc/xbmc.a \
|
||||
|
||||
+ifneq (@USE_LIBXBMC@,1)
|
||||
+DIRECTORY_ARCHIVES +=xbmc/main/main.a
|
||||
+endif
|
||||
|
||||
NWAOBJSXBMC= xbmc/threads/threads.a \
|
||||
xbmc/commons/commons.a
|
||||
@@ -425,24 +428,29 @@ endif
|
||||
|
||||
OBJSXBMC:=$(filter-out $(DYNOBJSXBMC), $(OBJSXBMC))
|
||||
|
||||
-libxbmc.so: $(OBJSXBMC) $(DYNOBJSXBMC) $(NWAOBJSXBMC)
|
||||
+MAINOBJS=xbmc/xbmc.o
|
||||
+ifeq (@USE_ANDROID@,1)
|
||||
+MAINOBJS+=xbmc/android/activity/android_main.o
|
||||
+endif
|
||||
+ifneq (@USE_LIBXBMC@,1)
|
||||
+MAINOBJS+=xbmc/main/main.o
|
||||
+endif
|
||||
+
|
||||
+libxbmc.so: $(OBJSXBMC) $(DYNOBJSXBMC) $(NWAOBJSXBMC) $(MAINOBJS)
|
||||
ifeq ($(findstring osx,@ARCH@), osx)
|
||||
$(SILENT_LD) $(CXX) $(LDFLAGS) -bundle -o $@ -Wl,-all_load,-ObjC $(DYNOBJSXBMC) $(NWAOBJSXBMC) $(OBJSXBMC) $(LIBS)
|
||||
else
|
||||
- $(SILENT_LD) $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared -o $@ -Wl,--whole-archive $(DYNOBJSXBMC) $(OBJSXBMC) -Wl,--no-whole-archive -Wl,--no-undefined $(NWAOBJSXBMC) $(LIBS)
|
||||
+ $(SILENT_LD) $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared -o $@ $(MAINOBJS) -Wl,--start-group $(DYNOBJSXBMC) $(OBJSXBMC) -Wl,--end-group -Wl,--no-undefined $(NWAOBJSXBMC) $(LIBS)
|
||||
endif
|
||||
|
||||
-xbmc.bin: xbmc/main/main.a $(OBJSXBMC) $(DYNOBJSXBMC) $(NWAOBJSXBMC)
|
||||
+xbmc.bin: $(OBJSXBMC) $(DYNOBJSXBMC) $(NWAOBJSXBMC) $(MAINOBJS)
|
||||
|
||||
ifeq ($(findstring osx,@ARCH@), osx)
|
||||
- $(SILENT_LD) $(CXX) $(LDFLAGS) -o xbmc.bin -Wl,-all_load,-ObjC $(DYNOBJSXBMC) $(NWAOBJSXBMC) $(OBJSXBMC) xbmc/main/main.a $(LIBS) -rdynamic
|
||||
+ $(SILENT_LD) $(CXX) $(LDFLAGS) -o xbmc.bin -Wl,-all_load,-ObjC $(DYNOBJSXBMC) $(NWAOBJSXBMC) $(OBJSXBMC) $(LIBS) -rdynamic
|
||||
else
|
||||
- $(SILENT_LD) $(CXX) $(CXXFLAGS) $(LDFLAGS) -o xbmc.bin -Wl,--whole-archive $(DYNOBJSXBMC) $(OBJSXBMC) xbmc/main/main.a -Wl,--no-whole-archive $(NWAOBJSXBMC) $(LIBS) -rdynamic
|
||||
+ $(SILENT_LD) $(CXX) $(CXXFLAGS) $(LDFLAGS) -o xbmc.bin $(MAINOBJS) -Wl,--start-group $(DYNOBJSXBMC) $(OBJSXBMC) -Wl,--end-group $(NWAOBJSXBMC) $(LIBS) -rdynamic
|
||||
endif
|
||||
|
||||
-xbmc/main/main.a: force
|
||||
- $(MAKE) -C xbmc/main
|
||||
-
|
||||
xbmc-xrandr: xbmc-xrandr.c
|
||||
ifneq (1,@USE_XRANDR@)
|
||||
# xbmc-xrandr.c gets picked up by the default make rules
|
||||
--
|
||||
1.8.1.6
|
||||
|
Loading…
x
Reference in New Issue
Block a user