[oe-commits] org.oe.dev gcc-package-sdk.inc: Rewrite gcc-sdk packaging. Instead of generating a ton of separate packages, just generate one sdk package. This stops the libgcc and libgcc-dev packages conflicting with those from gcc-cross amongst other things (from poky)

rpurdie commit openembedded-commits at lists.openembedded.org
Thu Mar 6 01:56:30 UTC 2008


gcc-package-sdk.inc: Rewrite gcc-sdk packaging. Instead of generating a ton of separate packages, just generate one sdk package. This stops the libgcc and libgcc-dev packages conflicting with those from gcc-cross amongst other things (from poky)

Author: rpurdie at openembedded.org
Branch: org.openembedded.dev
Revision: 1e1a77eae6fe6a2d41ed3698d3b19531a239d8ce
ViewMTN: http://monotone.openembedded.org/revision/info/1e1a77eae6fe6a2d41ed3698d3b19531a239d8ce
Files:
1
packages/gcc/gcc-package-sdk.inc
Diffs:

#
# mt diff -rd4b34d1a67228e350685e757c5696a3c53bcbca0 -r1e1a77eae6fe6a2d41ed3698d3b19531a239d8ce
#
# 
# 
# patch "packages/gcc/gcc-package-sdk.inc"
#  from [500f25d0e8d3f040092ef2dda341a183764b280a]
#    to [dcd9c8472f40a23bfa0060aa1f67edb1d79a3c5b]
# 
============================================================
--- packages/gcc/gcc-package-sdk.inc	500f25d0e8d3f040092ef2dda341a183764b280a
+++ packages/gcc/gcc-package-sdk.inc	dcd9c8472f40a23bfa0060aa1f67edb1d79a3c5b
@@ -1,18 +1,58 @@
-# Packages emitted by our gcc-cross builds.
 #
+# Note gcc-package.inc was already included before us. 
+#
+# We override PACKAGES and FILES to change the packaging
+#
+
 INHIBIT_PACKAGE_STRIP ?= ""
+HAS_G2C ?= "yes"
+HAS_GFORTRAN ?= "no"
 OLD_INHIBIT_PACKAGE_STRIP := "${INHIBIT_PACKAGE_STRIP}"
 INHIBIT_PACKAGE_STRIP = "1"
 
-python do_package() {
-	if bb.data.getVar('DEBIAN_NAMES', d, 1):
-		bb.data.setVar('PKG_libgcc', 'libgcc1', d)
-	bb.build.exec_func('package_do_package', d)
-}
+# Having anything auto depending on gcc-cross-sdk is a really bad idea...
+EXCLUDE_FROM_SHLIBS = "1"
 
+PACKAGES = "${PN} ${PN}-doc"
+
+FILES_${PN} = "\
+    ${bindir}/* \
+    ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1 \
+    ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/collect2 \
+    ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f771 \
+    ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1plus \
+    ${gcclibdir}/${TARGET_SYS}/${BINV}/*.o \
+    ${gcclibdir}/${TARGET_SYS}/${BINV}/specs \
+    ${gcclibdir}/${TARGET_SYS}/${BINV}/lib* \
+    ${gcclibdir}/${TARGET_SYS}/${BINV}/include \
+    ${includedir}/c++/${BINV} \
+    ${prefix}/${TARGET_SYS}/bin/* \
+    ${prefix}/${TARGET_SYS}/lib/* \
+    "
 do_install () {
 	oe_runmake 'DESTDIR=${D}' install
 
+	# Cleanup some of the ${libdir}{,exec}/gcc stuff ...
+	rm -r ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/install-tools
+	rm -r ${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/install-tools
+
+	# We care about g++ not c++
+	rm -f ${D}${bindir}/*c++
+
+	# We don't care about the gcc-<version> copies
+	rm -f ${D}${bindir}/*gcc-?.?*
+
+	# We use libiberty from binutils
+	rm -f ${D}${prefix}/${TARGET_SYS}/lib/libiberty.a
+	rm -f ${D}${libdir}/libiberty.a
+
+	# Create the ${prefix}/${TARGET_SYS}/bin/* symlinks
+	install -d ${D}${prefix}/${TARGET_SYS}/bin/
+	for l in ${D}${bindir}/*; do
+		ln -sf "${bindir}/`basename $l`" "${D}${prefix}/${TARGET_SYS}/bin/`basename $l | sed -e 's,${TARGET_PREFIX},,'`"
+	done
+	ln -sf "${bindir}/${TARGET_PREFIX}gcc" "${D}${prefix}/${TARGET_SYS}/bin/cc"
+
 	# Manually run the target stripper since we won't get it run by
 	# the packaging.
 	if [ "x${OLD_INHIBIT_PACKAGE_STRIP}" != "x1" ]; then
@@ -22,15 +62,3 @@ do_install () {
 	fi
 }
 
-FILES_libgcc = "${prefix}/${TARGET_SYS}/lib/libgcc*.so.*"
-FILES_libgcc-dev = "${prefix}/${TARGET_SYS}/lib/libgcc*.so"
-
-FILES_libstdc++ = "${prefix}/${TARGET_SYS}/lib/libstdc++.so.*"
-FILES_libstdc++-dev = "${includedir}/c++/${BINV} \
-                       ${prefix}/${TARGET_SYS}/lib/libstdc++.so \
-                       ${prefix}/${TARGET_SYS}/lib/libstdc++.a \
-                       ${prefix}/${TARGET_SYS}/lib/libsupc++.a"
-
-FILES_libmudflap = "${prefix}/${TARGET_SYS}/lib/libmudflap*.so.*"
-FILES_libmudflap-dev = "${prefix}/${TARGET_SYS}/lib/libmudflap*.so \
-                        ${prefix}/${TARGET_SYS}/lib/libmudflap*.a"






More information about the Openembedded-commits mailing list