summaryrefslogtreecommitdiff
path: root/classes/java.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'classes/java.bbclass')
-rw-r--r--classes/java.bbclass195
1 files changed, 195 insertions, 0 deletions
diff --git a/classes/java.bbclass b/classes/java.bbclass
new file mode 100644
index 0000000000..d4cf5aa954
--- /dev/null
+++ b/classes/java.bbclass
@@ -0,0 +1,195 @@
+# Defines the commonly used target directories and provides a convenience
+# function to install jar files.
+#
+# All the default directory locations herein resemble locations chosen in
+# the Debian distribution.
+
+# Jar location on target
+datadir_java ?= ${datadir}/java
+
+# JNI library location on target
+libdir_jni ?= ${libdir}/jni
+
+# JVM bundle location on target
+libdir_jvm ?= ${libdir}/jvm
+
+STAGING_DATADIR_JAVA ?= ${STAGING_DIR_JAVA}
+STAGING_LIBDIR_JNI ?= ${STAGING_LIBDIR}/jni
+STAGING_LIBDIR_JVM ?= ${STAGING_LIBDIR}/jvm
+
+STAGING_DATADIR_JAVA_NATIVE ?= ${STAGING_DATADIR_NATIVE}/java
+STAGING_LIBDIR_JNI_NATIVE ?= ${STAGING_LIBDIR_NATIVE}/jni
+STAGING_LIBDIR_JVM_NATIVE ?= ${STAGING_LIBDIR_NATIVE}/jvm
+
+oe_jarinstall() {
+ # Purpose: Install a jar file and create all the given symlinks to it.
+ # Example:
+ # oe_jarinstall foo-1.3.jar foo.jar
+ # Installs foo-1.3.jar and creates symlink foo.jar.
+ #
+ # oe_jarinstall -s foo-1.3.jar foo.jar
+ # Installs foo-1.3.jar to staging and creates symlink foo.jar.
+ #
+ # oe_jarinstall -r foo-1.3.jar foo_1_3.jar foo.jar
+ # Installs foo_1_3.jar as foo-1.3.jar and creates a symlink to this.
+ #
+ dir=${D}${datadir_java}
+ destname=""
+ while [ "$#" -gt 0 ]; do
+ case "$1" in
+ -s)
+ # put jar files to native staging if this is a -native recipe
+ if [ ${PACKAGE_ARCH} = ${BUILD_ARCH} ]; then
+ dir=${STAGING_DATADIR_JAVA_NATIVE}
+ else
+ dir=${STAGING_DATADIR_JAVA}
+ fi
+ ;;
+ -r)
+ shift
+ destname=$1
+ ;;
+ -*)
+ oefatal "oe_jarinstall: unknown option: $1"
+ ;;
+ *)
+ break;
+ ;;
+ esac
+ shift
+ done
+
+ jarname=$1
+ destname=${destname:-`basename $jarname`}
+ shift
+
+ install -d $dir
+ install -m 0644 $jarname $dir/$destname
+
+ # Creates symlinks out of the remaining arguments.
+ while [ "$#" -gt 0 ]; do
+ if [ -e $dir/$1 -o -h $dir/$1 ]; then
+ oewarn "file was in the way. removing:" $dir/$1
+ rm $dir/$1
+ fi
+ ln -s $destname $dir/$1
+ shift
+ done
+}
+
+oe_makeclasspath() {
+ # Purpose: Generate a classpath variable from the given Jar file names
+ # where the ".jar" has been omitted. The string is stored in the script
+ # variable whose name is given in the first argument to this function.
+ #
+ # oe_makeclasspath cp foo baz bar
+ # Stores ${datadir_java}/foo.jar:${datadir_java}/baz.jar:${datadir_java}/bar.jar
+ # in variable "cp".
+ #
+ # oe_makeclasspath bootcp -s foo baz bar
+ # Stores ${STAGING_DATADIR_JAVA}/foo.jar:${STAGING_DATADIR_JAVA}/baz.jar:${STAGING_DATADIR_JAVA}/bar.jar
+ # in variable "bootcp".
+ #
+ # Provide the -s at the beginning otherwise strange things happen.
+ # If -s is given the function checks whether the requested jar file exists
+ # and exits with an error message if it cannot be found.
+ #
+ # Note: In order to encourage usage of the DEPENDS variable, the function
+ # can accept recipe names. If a recipe has no corresponding Jar file it
+ # is ignored. Be careful with recipes where the recipe name is different
+ # from the the Jar file name!
+ dir=${datadir_java}
+ classpath=
+ delimiter=
+ retval=$1
+
+ shift
+
+ while [ "$#" -gt 0 ]; do
+ case "$1" in
+ -s)
+ # take jar files from native staging if this is a -native recipe
+ if [ ${PACKAGE_ARCH} = ${BUILD_ARCH} ]; then
+ dir=${STAGING_DATADIR_JAVA_NATIVE}
+ else
+ dir=${STAGING_DATADIR_JAVA}
+ fi
+ ;;
+ -*)
+ oefatal "oe_makeclasspath: unknown option: $1"
+ ;;
+ *)
+ file=$dir/$1.jar
+
+ if [ -e $file ]; then
+ classpath=$classpath$delimiter$file
+ delimiter=":"
+ fi
+
+ ;;
+ esac
+ shift
+ done
+
+ eval $retval="$classpath"
+}
+
+# Creates a simple wrapper script for your Java program.
+# The script is written to ${PN} by default.
+#
+# Parameters are as follows:
+# [options] <output file> <main class> [jar files ...]
+#
+# Options are
+# -o <name> where name is the output file name
+#
+# It can only take jar files from ${datadir_java}!
+oe_java_simple_wrapper() {
+ delimiter=
+ mainclass=
+ classpath=
+ output=${PN}
+
+ while [ "$#" -gt 0 ]; do
+ case "$1" in
+ -o)
+ shift
+ output=$1
+ ;;
+ -*)
+ oefatal "oe_java_simple_wrapper: unknown option: $1"
+ ;;
+ *)
+ if [ $mainclass ]
+ then
+ classpath=$classpath$delimiter${datadir_java}/$1
+ delimiter=":"
+ else
+ mainclass=$1
+ fi
+ ;;
+ esac
+ shift
+ done
+
+ oenote "Creating simple Java wrapper script"
+ oenote "Output File: $output"
+ oenote "Main Class: $mainclass"
+ oenote "Classpath: $classpath"
+
+ echo "#!/bin/sh" > $output
+ echo "# This file is autogenerated by the oe_java_simple_wrapper function of OpenEmbedded" >> $output
+ echo >> $output
+ echo "# You can provide additional VM arguments by setting the VMARGS environment variable." >> $output
+ echo "CLASSPATH_ARG=\"-cp $classpath\"" >> $output
+ echo >> $output
+ echo "MAIN_CLASS=$mainclass" >> $output
+ echo >> $output
+ echo "# Allows overriding the VM by setting the JAVA environment variable." >> $output
+ echo "if [ x\${JAVA} = x ]" >> $output
+ echo "then" >> $output
+ echo " JAVA=java" >> $output
+ echo "fi" >> $output
+ echo >> $output
+ echo "exec \${JAVA} \${VMARGS} \${CLASSPATH_ARG} \${MAIN_CLASS} \${@}" >> $output
+}
'>9
-rw-r--r--packages/acct/files/.mtn2git_empty0
-rw-r--r--packages/acct/files/cross-compile.patch34
-rw-r--r--packages/acpid/.mtn2git_empty0
-rw-r--r--packages/acpid/acpid-1.0.3/.mtn2git_empty0
-rw-r--r--packages/acpid/acpid-1.0.3/gcc40.patch13
-rw-r--r--packages/acpid/acpid-1.0.4/.mtn2git_empty0
-rw-r--r--packages/acpid/acpid-1.0.4/gcc40.patch13
-rw-r--r--packages/acpid/acpid.inc24
-rw-r--r--packages/acpid/acpid_1.0.2.bb3
-rw-r--r--packages/acpid/acpid_1.0.3.bb4
-rw-r--r--packages/acpid/acpid_1.0.4.bb4
-rw-r--r--packages/acpid/files/.mtn2git_empty0
-rwxr-xr-xpackages/acpid/files/init26
-rw-r--r--packages/addons/.mtn2git_empty0
-rw-r--r--packages/addons/devshell.bb75
-rw-r--r--packages/adns/.mtn2git_empty0
-rw-r--r--packages/adns/adns-1.0/.mtn2git_empty0
-rw-r--r--packages/adns/adns-1.0/configure.patch137
-rw-r--r--packages/adns/adns-1.0/fixparsedomainflags.patch11
-rw-r--r--packages/adns/adns_1.0.bb30
-rw-r--r--packages/aiostress/.mtn2git_empty0
-rw-r--r--packages/aiostress/aiostress_0.0.bb18
-rw-r--r--packages/aircrack/.mtn2git_empty0
-rw-r--r--packages/aircrack/aircrack-ng_0.7.bb25
-rw-r--r--packages/aircrack/aircrack-ng_0.9.bb26
-rw-r--r--packages/aircrack/aircrack_2.1.bb22
-rw-r--r--packages/aircrack/aircrack_2.41.bb24
-rw-r--r--packages/aircrack/files/.mtn2git_empty0
-rw-r--r--packages/aircrack/files/oe.patch10
-rw-r--r--packages/aircrack/files/silent_patch.diff87
-rw-r--r--packages/albumshaper/.mtn2git_empty0
-rw-r--r--packages/albumshaper/albumshaper_2.1.bb18
-rw-r--r--packages/albumshaper/files/.mtn2git_empty0
-rw-r--r--packages/albumshaper/files/fixpaths.patch53
-rw-r--r--packages/aliens/.mtn2git_empty0
-rw-r--r--packages/aliens/aliens_1.0.0.bb21
-rw-r--r--packages/alp/.mtn2git_empty0
-rw-r--r--packages/alp/hiker_0.9.bb24
-rw-r--r--packages/alsa/.mtn2git_empty0
-rw-r--r--packages/alsa/alsa-driver/.mtn2git_empty0
-rw-r--r--packages/alsa/alsa-driver/adriver.h.patch23
-rw-r--r--packages/alsa/alsa-driver/h5400.patch12
-rw-r--r--packages/alsa/alsa-driver/sa11xx.patch38
-rw-r--r--packages/alsa/alsa-driver/sound.p.patch59
-rw-r--r--packages/alsa/alsa-driver_0.9.6-hh4c.bb83
-rw-r--r--packages/alsa/alsa-lib/.mtn2git_empty0
-rw-r--r--packages/alsa/alsa-lib/fix-tstamp-declaration.patch13
-rw-r--r--packages/alsa/alsa-lib_1.0.11.bb41
-rw-r--r--packages/alsa/alsa-lib_1.0.13.bb42
-rw-r--r--packages/alsa/alsa-oss_1.0.11.bb19
-rw-r--r--packages/alsa/alsa-state.bb39
-rw-r--r--packages/alsa/alsa-state/.mtn2git_empty0
-rwxr-xr-xpackages/alsa/alsa-state/alsa-state29
-rw-r--r--packages/alsa/alsa-state/asound.state1
-rw-r--r--packages/alsa/alsa-state/c7x0/.mtn2git_empty0
-rw-r--r--packages/alsa/alsa-state/c7x0/asound.state151
-rw-r--r--packages/alsa/alsa-state/fic-gta01/.mtn2git_empty0
-rw-r--r--packages/alsa/alsa-state/fic-gta01/asound.state900
-rw-r--r--packages/alsa/alsa-state/spitz/.mtn2git_empty0
-rw-r--r--packages/alsa/alsa-state/spitz/asound.state619
-rw-r--r--packages/alsa/alsa-state/tosa/.mtn2git_empty0
-rw-r--r--packages/alsa/alsa-state/tosa/asound.state712
-rw-r--r--packages/alsa/alsa-utils_1.0.11.bb55
-rw-r--r--packages/alsa/alsa-utils_1.0.13.bb63
-rw-r--r--packages/alsa/files/.mtn2git_empty0
-rw-r--r--packages/alsa/files/alsa-utils-sys-siglist.patch15
-rw-r--r--packages/altboot/.mtn2git_empty0
-rw-r--r--packages/altboot/README.txt4
-rw-r--r--packages/altboot/altboot.inc19
-rw-r--r--packages/altboot/altboot_1.0.8+1.0.9_pre1.bb76
-rw-r--r--packages/altboot/altboot_1.0.8.bb49
-rw-r--r--packages/altboot/altboot_1.1.1+wip-SVNR59.bb75
-rw-r--r--packages/altboot/altboot_svn.bb75
-rw-r--r--packages/angstrom/.mtn2git_empty0
-rw-r--r--packages/angstrom/angstrom-bootmanager-image.bb15
-rw-r--r--packages/angstrom/angstrom-bootmanager.bb11
-rw-r--r--packages/angstrom/angstrom-console-image.bb21
-rw-r--r--packages/angstrom/angstrom-e-image.bb36
-rw-r--r--packages/angstrom/angstrom-gpe-task-apps.bb22
-rw-r--r--packages/angstrom/angstrom-gpe-task-base.bb38
-rw-r--r--packages/angstrom/angstrom-gpe-task-game.bb12
-rw-r--r--packages/angstrom/angstrom-gpe-task-pim.bb12
-rw-r--r--packages/angstrom/angstrom-gpe-task-settings.bb15
-rw-r--r--packages/angstrom/angstrom-mokogateway-image.bb20
-rw-r--r--packages/angstrom/angstrom-ohand-task-pim.bb10
-rw-r--r--packages/angstrom/angstrom-task-office.bb11
-rw-r--r--packages/angstrom/angstrom-task-printing.bb8
-rw-r--r--packages/angstrom/angstrom-task-sectest.bb17
-rw-r--r--packages/angstrom/angstrom-version.bb10
-rw-r--r--packages/angstrom/angstrom-x11-base-depends.bb11
-rw-r--r--packages/angstrom/angstrom-x11-image.bb33
-rw-r--r--packages/angstrom/task-angstrom-e.bb27
-rw-r--r--packages/anthy/.mtn2git_empty0
-rw-r--r--packages/anthy/anthy-native/.mtn2git_empty0
-rw-r--r--packages/anthy/anthy-native/native-mkanthydic-mkdepgraph.patch45
-rw-r--r--packages/anthy/anthy-native_7811.bb9
-rw-r--r--packages/anthy/anthy/.mtn2git_empty0
-rw-r--r--packages/anthy/anthy/native-mkanthydic-mkdepgraph.patch84
-rw-r--r--packages/anthy/anthy_7811.bb45
-rw-r--r--packages/anthy/files/.mtn2git_empty0
-rw-r--r--packages/anthy/files/2ch_t.patch5058
-rw-r--r--packages/anthy/files/change_anthy_dic_path.patch13
-rw-r--r--packages/anthy/files/not_build_elc.patch13
-rw-r--r--packages/antlr/.mtn2git_empty0
-rw-r--r--packages/antlr/antlr-native_2.7.5.bb8
-rw-r--r--packages/antlr/antlr_2.7.5.bb26
-rw-r--r--packages/antlr/files/.mtn2git_empty0
-rw-r--r--packages/antlr/files/install.patch186
-rw-r--r--packages/apache/.mtn2git_empty0
-rw-r--r--packages/apache/apache_2.0.54.bb91