mirror of
https://git.yoctoproject.org/poky
synced 2026-05-04 13:39:49 +02:00
libsdl2: Fix build with static libraries disabled
libsdl2 was using foo.o in Makefile dependencies but if libtool is being used then those are the statically linked intermediate files. When static libraries are globally disabled they won't be generated by libtool so the build fails. Instead, use the libtool intermediate wrapper .lo files so the build succeeds. (From OE-Core rev: 3f935a6e9155e81165e26e94fd6c8504b272441e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
46
meta/recipes-graphics/libsdl2/libsdl2/linkage.patch
Normal file
46
meta/recipes-graphics/libsdl2/libsdl2/linkage.patch
Normal file
@@ -0,0 +1,46 @@
|
||||
When building use the libtool intermediate .lo files instead of explicitly using
|
||||
the .o files. Under libtool foo.lo is the libtool intermediate wrapper, foo.o is
|
||||
a static build, and .libs/foo.o is a shared build.
|
||||
|
||||
If static libraries have been disabled globally then libtool won't generate them
|
||||
and explicit references to foo.o won't be satisfied.
|
||||
|
||||
Upstream-Status: Pending
|
||||
RP
|
||||
2016/1/16
|
||||
|
||||
|
||||
Index: SDL2-2.0.3/configure.in
|
||||
===================================================================
|
||||
--- SDL2-2.0.3.orig/configure.in
|
||||
+++ SDL2-2.0.3/configure.in
|
||||
@@ -3136,23 +3136,23 @@ done
|
||||
|
||||
VERSION_OBJECTS=`echo $VERSION_SOURCES`
|
||||
VERSION_DEPENDS=`echo $VERSION_SOURCES`
|
||||
-VERSION_OBJECTS=`echo "$VERSION_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.rc,$(objects)/\1.o,g'`
|
||||
+VERSION_OBJECTS=`echo "$VERSION_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.rc,$(objects)/\1.lo,g'`
|
||||
VERSION_DEPENDS=`echo "$VERSION_DEPENDS" | sed "s,\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.rc,\\\\
|
||||
-\\$(objects)/\\2.o: \\1/\\2.rc\\\\
|
||||
+\\$(objects)/\\2.lo: \\1/\\2.rc\\\\
|
||||
\\$(WINDRES) \\$< \\$@,g"`
|
||||
|
||||
SDLMAIN_OBJECTS=`echo $SDLMAIN_SOURCES`
|
||||
SDLMAIN_DEPENDS=`echo $SDLMAIN_SOURCES`
|
||||
-SDLMAIN_OBJECTS=`echo "$SDLMAIN_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.o,g'`
|
||||
+SDLMAIN_OBJECTS=`echo "$SDLMAIN_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'`
|
||||
SDLMAIN_DEPENDS=`echo "$SDLMAIN_DEPENDS" | sed "s,\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.c,\\\\
|
||||
-\\$(objects)/\\2.o: \\1/\\2.c\\\\
|
||||
+\\$(objects)/\\2.lo: \\1/\\2.c\\\\
|
||||
\\$(LIBTOOL) --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"`
|
||||
|
||||
SDLTEST_OBJECTS=`echo $SDLTEST_SOURCES`
|
||||
SDLTEST_DEPENDS=`echo $SDLTEST_SOURCES`
|
||||
-SDLTEST_OBJECTS=`echo "$SDLTEST_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.o,g'`
|
||||
+SDLTEST_OBJECTS=`echo "$SDLTEST_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'`
|
||||
SDLTEST_DEPENDS=`echo "$SDLTEST_DEPENDS" | sed "s,\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.c,\\\\
|
||||
-\\$(objects)/\\2.o: \\1/\\2.c\\\\
|
||||
+\\$(objects)/\\2.lo: \\1/\\2.c\\\\
|
||||
\\$(LIBTOOL) --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"`
|
||||
|
||||
# Set runtime shared library paths as needed
|
||||
@@ -14,7 +14,8 @@ PROVIDES = "virtual/libsdl2"
|
||||
|
||||
DEPENDS_class-nativesdk = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/nativesdk-libx11 nativesdk-libxrandr nativesdk-libxrender nativesdk-libxext', '', d)}"
|
||||
|
||||
SRC_URI = "http://www.libsdl.org/release/SDL2-${PV}.tar.gz"
|
||||
SRC_URI = "http://www.libsdl.org/release/SDL2-${PV}.tar.gz \
|
||||
file://linkage.patch"
|
||||
|
||||
S = "${WORKDIR}/SDL2-${PV}"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user