<?xml version="1.0"?>
<project name="buildlibrary" default="run" basedir="."> 
  
  <!-- The properties ${eclipse-home} ${jdk-path} should be passed into this script -->
  <!-- Set a meaningful default value for when it is not. -->
  <property name="eclipse-home" value="${basedir}/../.."/>
  <property name="jdk-path" value="${java.home}"/>  
  <property name="destination" value="${eclipse-home}/org.eclipse.update.core.linux/os/linux/"/>
  <property name="obj-path" value="${eclipse-home}/org.eclipse.update.core/src/"/>
  <property name="src-path" value="${eclipse-home}/org.eclipse.update.core/src/"/>  
  
  <!-- sets the properties -->
  <property name="library-name" value="libupdate"/>  
  <property name="library-platform" value="so"/>    
  <property name="library-file" value="${library-name}.${library-platform}"/>
  
  <!-- This target holds all initialization code that needs to be done for -->
  <!-- all tests that are to be run. Initialization for individual tests -->
  <!-- should be done within the body of the suite target. -->
  <target name="init">
    <tstamp/>
    <delete>
      <fileset dir="${obj-path}" includes="${library-file}"/>
      <fileset dir="${obj-path}" includes="${library-name}.o"/>
    </delete>
  </target>
  
  <!-- This target holds code to cleanup the testing environment after -->
  <!-- after all of the tests have been run. You can use this target to -->
  <!-- delete temporary files that have been created. -->
  <target name="cleanup">
      <delete>
      <fileset dir="${obj-path}" includes="${library-file}"/>
      <fileset dir="${obj-path}" includes="${library-name}.o"/>
    </delete>
  </target>
  
  
  <!-- This target runs the build. -->
  <target name="run" depends="init,build,cleanup">
  </target>
  
  <!-- This target build the library -->
  <target name="build">
    <echo message="Building ${library-file}"/>

    <property name="header-path" value="${jdk-path}/include"/>
    <property name="header-linux-path" value="${header-path}/linux" />

	<echo message="gcc -o  ${library-file} -shared -I${src-path} -I${header-linux-path} ${library-file} -static -lc"/>

    <apply executable="gcc" dest="${eclipse-home}/" parallel="false">
      <arg value="-o"/>
      <arg value="${library-file}"/>
      <arg value="-shared"/>
      <arg value="-I${src-path}"/>
      <arg value="-I${header-path}"/>      
      <arg value="-I${header-linux-path}"/>  
	  <srcfile/>
	  <arg value="-static"/>           
      <arg value="-lc"/>	  
      <fileset dir="${src-path}" includes="*.cpp"/>
      <mapper type="glob" from="*.cpp" to="*.o"/>
    </apply>
    
	<move file="${library-file}" todir="${destination}"/>
  </target>
  
  
</project>