Build changes to produce smile jars

diff --git a/build-osgi.xml b/build-osgi.xml
index f2dd136..8769187 100644
--- a/build-osgi.xml
+++ b/build-osgi.xml
@@ -14,7 +14,7 @@
 
   <target name="jars.asl" depends="jar.core.asl, jar.mapper.asl" />
   <target name="jars.lgpl" depends="jar.core.lgpl, jar.mapper.lgpl" />
-  <target name="jars.other" depends="jar.jaxrs, jar.xc" />
+  <target name="jars.other" depends="jar.jaxrs, jar.xc, jar.smile" />
 
   <!-- Let's build our JARs as OSGi bundles; then they work
         both within and outside of OSGi containers
@@ -323,4 +323,37 @@
       </osgiJar>
     </target> 
 
+    <!-- and finally Smile, binary format handler -->
+    <target name="jar.smile" depends="compile.smile">
+        <osgiJar
+         outputdir="${dir.build}"
+         bundleName="${IMPL_TITLE_SMILE}"
+         bundleVendor="${IMPL_VENDOR}"
+         bundleSymbolicName="jackson-smile"
+         bundleVersion="${IMPL_VERSION}"
+         bundleLicense="http://www.apache.org/licenses/LICENSE-2.0.txt"
+         bundleRequiredExecutionEnvironment="${REQ_JDK_VERSION}"
+         filename="jackson-smile-${IMPL_VERSION}"
+         importPackage="
+,org.codehaus.jackson;version='${IMPL_VERSION}'
+,org.codehaus.jackson.impl;version='${IMPL_VERSION}'
+,org.codehaus.jackson.io;version='${IMPL_VERSION}'
+,org.codehaus.jackson.sym;version='${IMPL_VERSION}'
+,org.codehaus.jackson.util;version='${IMPL_VERSION}'
+"
+         exportpackage="
+org.codehaus.jackson.smile;version=${IMPL_VERSION}"
+         includeResource="META-INF=release-notes/asl"
+         includeIncludeResourceHeader="false"
+        >
+        <classpath><pathelement path="${dir.build.classes.smile}" /></classpath>
+        <manifest>
+          <attribute name="Built-By" value="${user.name}"/>
+          <attribute name="Implementation-Title"   value="${IMPL_TITLE_SMILE}"/>
+          <attribute name="Implementation-Version" value="${IMPL_VERSION}"/>
+          <attribute name="Implementation-Vendor"  value="${IMPL_VENDOR}"/>
+        </manifest>
+      </osgiJar>
+    </target> 
+
 </project>
diff --git a/build.xml b/build.xml
index fddf215..8589f87 100644
--- a/build.xml
+++ b/build.xml
@@ -8,6 +8,7 @@
     <property name="dir.src.java.mapper" location="${dir.src}/mapper/java" />
     <property name="dir.src.java.jaxrs" location="${dir.src}/jaxrs/java" />
     <property name="dir.src.java.xc" location="${dir.src}/xc/java" />
+    <property name="dir.src.java.smile" location="${dir.src}/smile/java" />
     <property name="dir.src.resource.jaxrs" location="${dir.src}/jaxrs/resources" />
     <property name="dir.src.maven" location="${dir.src}/maven" />
     <property name="dir.src.sample" location="${dir.src}/sample" />
@@ -22,6 +23,7 @@
     <property name="dir.build.classes.mapper" location="${dir.build}/classes/mapper" />
     <property name="dir.build.classes.jaxrs" location="${dir.build}/classes/jaxrs" />
     <property name="dir.build.classes.xc" location="${dir.build}/classes/xc" />
+    <property name="dir.build.classes.smile" location="${dir.build}/classes/smile" />
     <!-- both "sample" and "tools" java code goes under "extra" -->
     <property name="dir.build.classes.extra" location="${dir.build}/classes/extra" />
 
@@ -43,6 +45,7 @@
     <property name="IMPL_TITLE_MAPPER" value="Data mapper for Jackson JSON processor" />
     <property name="IMPL_TITLE_JAXRS" value="JAX-RS provider for Json content type, using Jackson data binding" />
     <property name="IMPL_TITLE_XC" value="XML Compatibility extensions for Jackson data binding" />
+    <property name="IMPL_TITLE_SMILE" value="Smile Binary format handling functionality" />
 
     <property name="IMPL_VERSION" value="1.6.0" />
     <property name="IMPL_VENDOR" value="http://fasterxml.com" />
@@ -101,6 +104,7 @@
         <mkdir dir="${dir.build.classes.mapper}" />
         <mkdir dir="${dir.build.classes.jaxrs}" />
         <mkdir dir="${dir.build.classes.xc}" />
+        <mkdir dir="${dir.build.classes.smile}" />
         <mkdir dir="${dir.build.classes.extra}" />
 
         <!-- make docs directories -->
@@ -135,7 +139,8 @@
     <target name="compile.all" depends="
 compile.main, test.compile, compile.extra, compile.perf" />
     <target name="compile.main"
-      depends="compile.core, compile.mapper, compile.jaxrs, compile.xc" />
+      depends="compile.core, compile.mapper, compile.jaxrs, compile.xc,
+compile.smile" />
 
     <target name="compile.core" depends="prepare">
         <javac srcdir="${dir.src.java.core}" destdir="${dir.build.classes.core}"
@@ -207,6 +212,20 @@
         </javac>
     </target>
 
+    <target name="compile.smile" depends="compile.core">
+        <javac srcdir="${dir.src.java.smile}" destdir="${dir.build.classes.smile}"
+            source="1.5" target="1.5"
+            debug="true"
+        >
+            <compilerarg value="-Xlint:unchecked" />
+            <include name="org/codehaus/jackson/smile/**/*.java" />
+            <!-- builds on core classes -->
+            <classpath>
+               <pathelement path="${dir.build.classes.core}"/>  
+            </classpath>
+        </javac>
+    </target>
+
     <target name="compile.extra" depends="compile.main">
         <javac destdir="${dir.build.classes.extra}"
             source="1.5" target="1.5" debug="true"