summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--classes/sdl.bbclass2
-rw-r--r--conf/bitbake.conf35
-rw-r--r--packages/fltk/efltk_2.0.7.bb67
3 files changed, 90 insertions, 14 deletions
diff --git a/classes/sdl.bbclass b/classes/sdl.bbclass
index 23cbf10919..dc4cd8ffa2 100644
--- a/classes/sdl.bbclass
+++ b/classes/sdl.bbclass
@@ -8,6 +8,8 @@ APPDESKTOP ?= "${WORKDIR}/${PN}.desktop"
APPNAME ?= "${PN}"
APPIMAGE ?= "${WORKDIR}/${PN}.png"
+export SDL_CONFIG = "${STAGING_BINDIR_CROSS}/sdl-config"
+
sdl_do_sdl_install() {
install -d ${D}${datadir}/applications
install -d ${D}${datadir}/pixmaps
diff --git a/conf/bitbake.conf b/conf/bitbake.conf
index 27a04a028c..4caa55c0b6 100644
--- a/conf/bitbake.conf
+++ b/conf/bitbake.conf
@@ -216,18 +216,18 @@ B = "${S}"
STAGING_DIR = "${TMPDIR}/staging"
STAGING_DIR_NATIVE = "${STAGING_DIR}/${BUILD_SYS}"
-STAGING_BINDIR_NATIVE = "${STAGING_DIR_NATIVE}/bin"
-STAGING_BINDIR_CROSS = "${STAGING_DIR_NATIVE}/bin/${HOST_SYS}"
-STAGING_LIBDIR_NATIVE = "${STAGING_DIR_NATIVE}/lib"
-STAGING_INCDIR_NATIVE = "${STAGING_DIR_NATIVE}/include"
-STAGING_ETCDIR_NATIVE = "${STAGING_DIR_NATIVE}/etc"
-STAGING_DATADIR_NATIVE = "${STAGING_DIR_NATIVE}/share"
+STAGING_BINDIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_bindir}"
+STAGING_BINDIR_CROSS = "${STAGING_DIR_NATIVE}${layout_bindir}/${HOST_SYS}"
+STAGING_LIBDIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_libdir}"
+STAGING_INCDIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_includedir}"
+STAGING_ETCDIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_sysconfdir}"
+STAGING_DATADIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_datadir}"
STAGING_DIR_HOST = "${STAGING_DIR}/${HOST_SYS}"
-STAGING_BINDIR = "${STAGING_DIR_HOST}/bin"
-STAGING_LIBDIR = "${STAGING_DIR_HOST}/lib"
-STAGING_INCDIR = "${STAGING_DIR_HOST}/include"
-STAGING_DATADIR = "${STAGING_DIR_HOST}/share"
+STAGING_BINDIR = "${STAGING_DIR_HOST}${layout_bindir}"
+STAGING_LIBDIR = "${STAGING_DIR_HOST}${layout_libdir}"
+STAGING_INCDIR = "${STAGING_DIR_HOST}${layout_includedir}"
+STAGING_DATADIR = "${STAGING_DIR_HOST}${layout_datadir}"
STAGING_LOADER_DIR = "${STAGING_DIR_HOST}/loader"
STAGING_FIRMWARE_DIR = "${STAGING_DIR_HOST}/firmware"
STAGING_PYDIR = "${STAGING_DIR}/lib/python2.4"
@@ -310,7 +310,7 @@ export PATH_prepend = "${STAGING_BINDIR_CROSS}:${STAGING_DIR_NATIVE}${layout_sbi
# Build utility info.
##################################################################
-CCACHE = "${@bb.which(bb.data.getVar('PATH', d), 'ccache') and 'ccache '}"
+CCACHE = "${@bb.which(bb.data.getVar('PATH', d, 1), 'ccache') and 'ccache '}"
TOOLCHAIN_OPTIONS = ""
export CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
@@ -351,10 +351,12 @@ PATCHRESOLVE = 'noop'
##################################################################
export BUILD_CPPFLAGS = "-isystem${STAGING_INCDIR_NATIVE}"
+BUILDSDK_CPPFLAGS = "-isystem${STAGING_INCDIR}"
export CPPFLAGS = "${TARGET_CPPFLAGS}"
-export TARGET_CPPFLAGS = "-isystem${STAGING_DIR_TARGET}/include"
+export TARGET_CPPFLAGS = "-isystem${STAGING_DIR_TARGET}${layout_includedir}"
export BUILD_CFLAGS = "${BUILD_CPPFLAGS} ${BUILD_OPTIMIZATION}"
+BUILDSDK_CFLAGS = "${BUILDSDK_CPPFLAGS} ${BUILD_OPTIMIZATION}"
export CFLAGS = "${TARGET_CFLAGS}"
export TARGET_CFLAGS = "${TARGET_CPPFLAGS} ${SELECTED_OPTIMIZATION}"
@@ -365,9 +367,14 @@ export TARGET_CXXFLAGS = "${TARGET_CFLAGS} -fpermissive"
export BUILD_LDFLAGS = "-L${STAGING_LIBDIR_NATIVE} \
-Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} \
-Wl,-rpath,${STAGING_LIBDIR_NATIVE} -Wl,-O1"
+
+BUILDSDK_LDFLAGS = "-L${STAGING_LIBDIR} \
+ -Wl,-rpath-link,${STAGING_LIBDIR} \
+ -Wl,-rpath,${libdir} -Wl,-O1"
+
export LDFLAGS = "${TARGET_LDFLAGS}"
-export TARGET_LDFLAGS = "-L${STAGING_DIR_TARGET}/lib \
- -Wl,-rpath-link,${STAGING_DIR_TARGET}/lib \
+export TARGET_LDFLAGS = "-L${STAGING_DIR_TARGET}${layout_libdir} \
+ -Wl,-rpath-link,${STAGING_DIR_TARGET}${layout_libdir} \
-Wl,-O1"
# Which flags to leave by strip-flags() in bin/build/oebuild.sh ?
diff --git a/packages/fltk/efltk_2.0.7.bb b/packages/fltk/efltk_2.0.7.bb
new file mode 100644
index 0000000000..57737e1c57
--- /dev/null
+++ b/packages/fltk/efltk_2.0.7.bb
@@ -0,0 +1,67 @@
+DESCRIPTION = "EFLTK is a cross-platform C++ GUI toolkit"
+HOMEPAGE = "http://equinox-project.org/page/documentation"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "LGPL"
+DEPENDS = "zlib jpeg libpng libxext libxft"
+PR = "r0"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/ede/efltk-${PV}.tar.gz"
+S = "${WORKDIR}/efltk"
+
+inherit autotools binconfig
+
+EXTRA_OECONF = "\
+ --enable-shared \
+ --enable-xdbe \
+ --enable-xft \
+ --enable-gl \
+ --disable-mysql \
+ --disable-unixODBC \
+ --x-includes=${STAGING_INCDIR}/freetype2 \
+ --x-libraries=${STAGING_LIBDIR} \
+"
+
+# yes, this is nasty, but configure is so broken there is no other way
+do_configure() {
+ gnu-configize
+ oe_runconf
+ mv -f config.h save
+ autotools_do_configure
+ mv -f save config.h
+}
+
+# more nasties
+do_configure_append() {
+ sed -i s,/usr/include,${STAGING_INCDIR}, makeinclude
+ sed -i s,/usr/include/freetype2,, makeinclude
+ sed -i s,/usr/bin/strip,echo, makeinclude
+ sed -i s,CONFIGDIR,'"${datadir}/ede/"', src/core/Fl_Config.cpp
+}
+
+do_stage() {
+ oe_runmake install prefix="${STAGING_DIR}" \
+ bindir="${STAGING_BINDIR}" \
+ includedir="${STAGING_INCDIR}" \
+ libdir="${STAGING_LIBDIR}" \
+ datadir="${STAGING_DATADIR}"
+}
+
+do_install () {
+ install -d ${D}${libdir}
+ oe_runmake install prefix="${D}${prefix}" \
+ bindir="${D}${bindir}" \
+ libdir="${D}${libdir}" \
+ includedir="${D}${includedir}" \
+ datadir="${STAGING_DATADIR}"
+}
+
+python populate_packages_prepend () {
+ if (bb.data.getVar('DEBIAN_NAMES', d, 1)):
+ bb.data.setVar('PKG_${PN}', 'libefltk${PV}', d)
+}
+
+LEAD_SONAME = "libefltk.so"
+
+FILES_${PN} += "${libdir}/fltk/*.theme"
+FILES_${PN}-dbg += "${libdir}/fltk/.debug"