blob: 41d52fe4254562593ad373e8ed0728648445f0c4 (
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
# Defines the commonly used target directories and provides a convenience
# function to install jar files.
# Jar location on target
datadir_java ?= ${datadir}/java
# JNI library location on target
libdir_jni ?= ${libdir}/jni
STAGING_DATADIR_JAVA ?= ${STAGING_DATADIR}/java
STAGING_LIBDIR_JNI ?= ${STAGING_LIBDIR}/jni
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)
dir=${STAGING_DATADIR_JAVA}
;;
-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 ]; then
oewarn "file was in the way. removing:" $dir/$1
rm $dir/$1
fi
ln -s $destname $dir/$1
shift
done
}
# 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
}
|