aboutsummaryrefslogtreecommitdiffstats
path: root/packages/avetanabt/avetanabt_svn.bb
blob: b4a61cb22da631a126dcbf56ab1c90a8f0255c94 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
DESCRIPTION = "avetanaBT: Bluetooth API implementation for Java (JSR-82)"
SECTION = "devel"
DEPENDS = "findutils-native jikes-native kaffeh-native fastjar-native bluez-libs classpath"
#RDEPENDS = "bluez-utils"
# Matthias Ringwald <mringwal@inf.ethz.ch> was helping me in the first phase. Thanks.
MAINTAINER = "Mustafa Yuecel <yuecelm@ee.ethz.ch>"
LICENSE = "GPL"
HOMEPAGE = "http://sourceforge.net/projects/avetanabt/"

PV = "0.0cvs${CVSDATE}"
PR = "r1"

SRC_URI = "cvs://anonymous@cvs.sourceforge.net/cvsroot/avetanabt;module=avetanabt \
	   file://avetanalocaldevice.patch;patch=1"

S = "${WORKDIR}/avetanabt"

PACKAGES = "${PN}"
FILES_${PN} = "${libdir}/libavetanaBT.so ${datadir}/avetanabt/avetanaBT.jar"

do_compile() {

  # doing nearly the same as in Makefile written...

  mkdir -p build
  rm -fr build/*

  # javac -> jikes
  ${STAGING_BINDIR}/find {de,javax,com} -iname *.java > file.list
  ${STAGING_BINDIR}/jikes -verbose --bootclasspath ${STAGING_DIR}/${BUILD_SYS}/share/kaffeh/rt.jar -d build @file.list

  # create own version.xml
  head -n 4 version.xml >> build/version.xml
  echo "    <build value=\"${PR}\" date=\"${CVSDATE}\"/>" >> build/version.xml
  tail -n 3 version.xml >> build/version.xml

  # jar -> fastjar
  cd build
  ${STAGING_BINDIR}/fastjar -cf ../avetanaBT.jar de javax com version.xml
  cd ..

  # JNI generated header file - de_avetana_bluetooth_stack_BlueZ.h
  # javah -> kaffeh
  cd c
  ${STAGING_BINDIR}/kaffeh -jni -classpath ../avetanaBT.jar:${STAGING_DIR}/${BUILD_SYS}/share/kaffeh/rt.jar de.avetana.bluetooth.stack.BlueZ

  # Native language (C) library - libavetanaBT.so
  ${CXX} ${CXXFLAGS} -shared -lbluetooth -I${STAGING_INCDIR}/classpath BlueZ.cpp -o ../libavetanaBT.so ${LDFLAGS}
  cd ..

}

do_stage() {

  install -d ${STAGING_DIR}/${BUILD_SYS}/share/avetanabt
  install avetanaBT.jar ${STAGING_DIR}/${BUILD_SYS}/share/avetanabt/

}

do_install() {

  install -d ${D}${libdir}
  install -m 0755 libavetanaBT.so ${D}${libdir}/

  install -d ${D}${datadir}/avetanabt
  install avetanaBT.jar ${D}${datadir}/avetanabt/
 
}