f74021db50dda6b740cd52b2e8a9cf76b18eb47d
[sdk/emulator/qemu.git] / tizen / src / skin / client / build.xml
1 <?xml version="1.0" standalone="yes"?>
2 <project name="emulator-skin" basedir="." default="make-jar">
3
4         <condition property="isWindows">
5                 <os family="windows" />
6         </condition>
7         <condition property="isLinux">
8                 <os family="unix" />
9         </condition>
10         <condition property="isMac">
11                 <os family="mac" />
12         </condition>
13
14         <property environment="env" />
15         <property name="jar.file" value="emulator-skin.jar" />
16         <property name="mainclass" value="org.tizen.emulator.skin.EmulatorSkinMain" />
17
18         <property name="swt.file" value="swt.jar" />
19
20         <path id="classpath">
21                 <fileset dir="lib" includes="${swt.file}" />
22         </path>
23
24         <target name="clean">
25                 <echo message="cleaning..." />
26                 <delete dir="build" />
27                 <delete file="${jar.file}" />
28         </target>
29
30         <target name="make-properties">
31                 <echo message="make properties..." />
32                 <tstamp>
33                         <format property="build_time" pattern="yyyyMMdd-HHmm" timezone="GMT+9" locale="en" />
34                 </tstamp>
35                 <exec executable="cat" outputproperty="version">
36                         <arg value="../../VERSION" />
37                 </exec>
38                 <exec executable="git" outputproperty="build_git_commit" failifexecutionfails="false">
39                         <arg value="rev-parse" />
40                         <arg value="--short" />
41                         <arg value="HEAD" />
42                 </exec>
43                 <propertyfile file="src/about.properties" comment="Auto-generated properties - DO NOT EDIT">
44                         <entry key="version" value="${version}" />
45                         <entry key="build_time" value="${build_time}" />
46                         <entry key="build_git_commit" value="${build_git_commit}" />
47                 </propertyfile>
48         </target>
49
50         <target name="prepare-compile" depends="make-properties">
51                 <echo message="prepare for compile..." />
52                 <delete dir="build" />
53                 <mkdir dir="build" />
54         </target>
55
56         <target name="compile" depends="prepare-compile">
57                 <echo message="compiling..." />
58                 <javac encoding="UTF-8" fork="true" srcdir="src:jaxb_src" destdir="build" debug="on" memorymaximumsize="128m">
59                         <classpath refid="classpath" />
60                 </javac>
61         </target>
62
63         <target name="create-jar">
64                 <echo message="creating jar..." />
65                 <mkdir dir="build/icons" />
66                 <copy todir="build/icons">
67                         <fileset dir="resource/icons" />
68                 </copy>
69                 <copy todir="build/images">
70                         <fileset dir="resource/images" />
71                 </copy>
72                 <jar jarfile="${jar.file}" basedir="build" duplicate="add">
73                         <fileset file="src/about.properties" />
74                         <manifest>
75                                 <attribute name="Main-Class" value="${mainclass}" />
76                                 <attribute name="Class-path" value="${swt.file}" />
77                         </manifest>
78                 </jar>
79                 <delete dir="build" />
80         </target>
81
82         <target name="create-native-linux" if="isLinux" unless="isMac">
83                 <echo message="create native shared library on linux..." />
84                 <javah classpath="build;lib/swt.jar" destdir="native_src">
85                         <class name="org.tizen.emulator.skin.EmulatorShmSkin" />
86                 </javah>
87                 <exec dir="native_src" executable="gcc" failifexecutionfails="false">
88                         <arg line="-shared" />
89                         <arg line="-c" />
90                         <arg line="share.c" />
91                         <arg line="-o" />
92                         <arg line="libshared.so" />
93                         <arg line="-I${env.JAVA_JNI_H_INCLUDE_PATH}" />
94                         <arg line="-I${env.JAVA_JNI_H_INCLUDE_PATH}/linux" />
95                         <arg line="-fPIC" />
96                 </exec>
97                 <delete>
98                         <fileset dir="native_src" includes="**/*.h" />
99                 </delete>
100         </target>
101
102         <target name="create-native-mac" if="isMac">
103                 <echo message="create native shared library on mac..." />
104                 <javah classpath="build;lib/swt.jar" destdir="native_src">
105                         <class name="org.tizen.emulator.skin.EmulatorShmSkin" />
106                 </javah>
107                 <exec dir="native_src" executable="gcc" failifexecutionfails="false">
108                         <arg line="-mmacosx-version-min=10.4" />
109                         <arg line="-c" />
110                         <arg line="share.c" />
111                         <arg line="-o" />
112                         <arg line="share.o" />
113                         <arg line="-I${env.JAVA_JNI_H_INCLUDE_PATH}" />
114                 </exec>
115                 <exec dir="native_src" executable="gcc" failifexecutionfails="false">
116                         <arg line="-dynamiclib" />
117                         <arg line="share.o" />
118                         <arg line="-o" />
119                         <arg line="libshared.dylib" />
120                 </exec>
121                 <delete>
122                         <fileset dir="native_src" includes="**/*.h" />
123                 </delete>
124         </target>
125
126         <target name="make-jar" depends="compile, create-native-linux, create-native-mac, create-jar" />
127
128         <!-- for dibs system... -->
129         <path id="classpath-dibs">
130                 <fileset dir="${classpath.dibs}" includes="${swt.file}" />
131         </path>
132
133         <target name="compile-dibs" depends="prepare-compile">
134                 <echo message="compiling..." />
135                 <javac encoding="UTF-8" fork="true" srcdir="src:jaxb_src" destdir="build" debug="on" memorymaximumsize="128m">
136                         <classpath refid="classpath-dibs" />
137                 </javac>
138         </target>
139
140         <target name="make-jar-dibs" depends="compile-dibs, create-native-linux, create-native-mac, create-jar" />
141 </project>