aboutsummaryrefslogtreecommitdiffstats
path: root/classes
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2009-03-24 14:01:30 -0700
committerKhem Raj <raj.khem@gmail.com>2009-03-24 14:01:30 -0700
commit0faff8720150863ff38132f87ef65721fcb86dc1 (patch)
tree476c4a2a832da00b87aed99f8c0d4d72c845efcd /classes
parentaf33616e7ede94c06a866ef7e886e65426b088ec (diff)
downloadopenembedded-0faff8720150863ff38132f87ef65721fcb86dc1.tar.gz
openembedded-0faff8720150863ff38132f87ef65721fcb86dc1.tar.bz2
openembedded-0faff8720150863ff38132f87ef65721fcb86dc1.zip
distutils-base.bbclass: Move common functionality to distutils-common-base.bbclass
Create a new class distutils-common-base.bbclass which holds the common parts that can be used in native and target packages which need to use distutils funtionality. rpm, libxml2, zope are currently using them and needed to use distutils-native-base for native recipes. rpm and libxml need to defer the processing of certain configure parameters which we evaluate using python. So we need to have python-native built before we can process them. Hence we can not use EXTRA_OECONF which is a python variable and gets expanded during parsing recipes and ofcourse we have not yet built python-native. We pass these extra options as a separate shell variable to do_configure which we evaluate when that task is executing.
Diffstat (limited to 'classes')
-rw-r--r--classes/distutils-base.bbclass26
-rw-r--r--classes/distutils-common-base.bbclass27
-rw-r--r--classes/distutils-native-base.bbclass3
3 files changed, 31 insertions, 25 deletions
diff --git a/classes/distutils-base.bbclass b/classes/distutils-base.bbclass
index a08414aadf..2e151ded38 100644
--- a/classes/distutils-base.bbclass
+++ b/classes/distutils-base.bbclass
@@ -1,29 +1,5 @@
-EXTRA_OEMAKE = ""
DEPENDS += "${@["python-native python", ""][(bb.data.getVar('PACKAGES', d, 1) == '')]}"
RDEPENDS += "python-core"
-export STAGING_INCDIR
-export STAGING_LIBDIR
+inherit distutils-common-base
-def python_dir(d):
- import os, bb
- staging_incdir = bb.data.getVar( "STAGING_INCDIR", d, 1 )
- for majmin in "2.6 2.5 2.4 2.3".split():
- if os.path.exists( "%s/python%s" % ( staging_incdir, majmin ) ): return "python%s" % majmin
- raise "No Python in STAGING_INCDIR. Forgot to build python-native ?"
-
-PYTHON_DIR = "${@python_dir(d)}"
-
-PACKAGES = "${PN}-dev ${PN}-dbg ${PN}-doc ${PN}"
-
-FILES_${PN} = "${bindir}/* ${libdir}/* ${libdir}/${PYTHON_DIR}/*"
-
-FILES_${PN}-dev += "\
- ${libdir}/pkgconfig \
- ${libdir}/${PYTHON_DIR}/site-packages/*.la \
-"
-FILES_${PN}-dbg = "\
- ${libdir}/${PYTHON_DIR}/site-packages/.debug \
- ${libdir}/${PYTHON_DIR}/site-packages/*/.debug \
- ${libdir}/${PYTHON_DIR}/site-packages/*/*/.debug \
-"
diff --git a/classes/distutils-common-base.bbclass b/classes/distutils-common-base.bbclass
new file mode 100644
index 0000000000..068eac4de8
--- /dev/null
+++ b/classes/distutils-common-base.bbclass
@@ -0,0 +1,27 @@
+EXTRA_OEMAKE = ""
+
+export STAGING_INCDIR
+export STAGING_LIBDIR
+
+def python_dir(d):
+ import os, bb
+ staging_incdir = bb.data.getVar( "STAGING_INCDIR", d, 1 )
+ for majmin in "2.6 2.5 2.4 2.3".split():
+ if os.path.exists( "%s/python%s" % ( staging_incdir, majmin ) ): return "python%s" % majmin
+ raise "No Python in STAGING_INCDIR. Forgot to build python-native ?"
+
+PYTHON_DIR = "${@python_dir(d)}"
+
+PACKAGES = "${PN}-dev ${PN}-dbg ${PN}-doc ${PN}"
+
+FILES_${PN} = "${bindir}/* ${libdir}/* ${libdir}/${PYTHON_DIR}/*"
+
+FILES_${PN}-dev += "\
+ ${libdir}/pkgconfig \
+ ${libdir}/${PYTHON_DIR}/site-packages/*.la \
+"
+FILES_${PN}-dbg = "\
+ ${libdir}/${PYTHON_DIR}/site-packages/.debug \
+ ${libdir}/${PYTHON_DIR}/site-packages/*/.debug \
+ ${libdir}/${PYTHON_DIR}/site-packages/*/*/.debug \
+"
diff --git a/classes/distutils-native-base.bbclass b/classes/distutils-native-base.bbclass
new file mode 100644
index 0000000000..2703fe0740
--- /dev/null
+++ b/classes/distutils-native-base.bbclass
@@ -0,0 +1,3 @@
+DEPENDS += "${@["python-native", ""][(bb.data.getVar('PACKAGES', d, 1) == '')]}"
+
+inherit distutils-common-base