[OE-core] [PATCH] apmd: fix build with static libraries disabled

Ross Burton ross.burton at intel.com
Mon Feb 15 15:56:33 UTC 2016


apmd 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-cross so the build fails.
Instead, use the libtool intermediate wrapper .lo files so the build succeeds.

Signed-off-by: Ross Burton <ross.burton at intel.com>
---
 meta/recipes-bsp/apmd/apmd/linkage.patch | 53 ++++++++++++++++++++++++++++++++
 meta/recipes-bsp/apmd/apmd_3.2.2-15.bb   |  1 +
 2 files changed, 54 insertions(+)
 create mode 100644 meta/recipes-bsp/apmd/apmd/linkage.patch

diff --git a/meta/recipes-bsp/apmd/apmd/linkage.patch b/meta/recipes-bsp/apmd/apmd/linkage.patch
new file mode 100644
index 0000000..3d32c49
--- /dev/null
+++ b/meta/recipes-bsp/apmd/apmd/linkage.patch
@@ -0,0 +1,53 @@
+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
+Signed-off-by: Ross Burton <ross.burton at intel.com>
+
+diff --git a/Makefile b/Makefile
+index bb695c6..5f60146 100644
+--- a/Makefile
++++ b/Makefile
+@@ -28,7 +28,7 @@ endif
+ 
+ .SUFFIXES:
+ 
+-OBJS=apmlib.o
++OBJS=apmlib.lo
+ EXES=apm apmd xapm apmsleep
+ HEADERS=apm.h
+ 
+@@ -66,22 +66,22 @@ all: $(EXES)
+ 
+ $(OBJS): $(HEADERS)
+ 
+-%.o: %.c
++%.lo: %.c
+ 	$(LT_COMPILE) -c $(CPPFLAGS) $(CFLAGS) $(XTRACFLAGS) $<
+ 
+-%: %.o $(LIBAPM)
++%: %.lo $(LIBAPM)
+ 	$(LT_LINK) -o $@ $< $(LDFLAGS) $(LIBAPM)
+ 
+-xapm.o: xapm.c
++xapm.lo: xapm.c
+ 	$(LT_COMPILE) -c $(CPPFLAGS) $(CFLAGS) $(XTRACFLAGS) -DNARROWPROTO $<
+ 
+-apmd: apmd.o
++apmd: apmd.lo
+ 
+-apmsleep: apmsleep.o
++apmsleep: apmsleep.lo
+ 
+-apmexists: apmexists.o
++apmexists: apmexists.lo
+ 
+-xapm: xapm.o $(LIBAPM)
++xapm: xapm.lo $(LIBAPM)
+ 	$(LT_LINK) -o $@ $< $(LDFLAGS) $(LIBAPM) $(XLDFLAGS) $(XLIBS)
+ 
+ $(LIBAPM): apmlib.lo
diff --git a/meta/recipes-bsp/apmd/apmd_3.2.2-15.bb b/meta/recipes-bsp/apmd/apmd_3.2.2-15.bb
index 917bb2c..4ff6ad0 100644
--- a/meta/recipes-bsp/apmd/apmd_3.2.2-15.bb
+++ b/meta/recipes-bsp/apmd/apmd_3.2.2-15.bb
@@ -14,6 +14,7 @@ SRC_URI = "${DEBIAN_MIRROR}/main/a/apmd/apmd_3.2.2.orig.tar.gz;name=tarball \
            file://libtool.patch \
            file://unlinux.patch \
            file://wexitcode.patch \
+           file://linkage.patch \
            file://init \
            file://default \
            file://apmd_proxy \
-- 
2.7.0




More information about the Openembedded-core mailing list