<?xml version="1.0"?>

<!--
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    the "License"); you may not use this file except in compliance with
    the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
 -->

<project name="misc" default="default" xmlns:ivy="antlib:org.apache.ivy.ant">

  <description>
    Index tools and other miscellaneous code
  </description>

  <import file="../module-build.xml"/>

  <target name="install-cpptasks" unless="cpptasks.uptodate" depends="ivy-availability-check,ivy-fail,ivy-configure">
    <property name="cpptasks.uptodate" value="true"/>
    <ivy:cachepath organisation="ant-contrib" module="cpptasks" revision="1.0b5"
             inline="true" conf="master" type="jar" pathid="cpptasks.classpath"/>
    <taskdef resource="cpptasks.tasks" classpathref="cpptasks.classpath"/>
  </target>

  <target name="build-native-unix" depends="install-cpptasks">
    <mkdir dir="${common.build.dir}/native"/>

    <cc outtype="shared" name="c++" subsystem="console" outfile="${common.build.dir}/native/NativePosixUtil" >
      <fileset file="${src.dir}/org/apache/lucene/store/NativePosixUtil.cpp" />  
      <includepath>
        <pathelement location="${java.home}/../include"/>
        <pathelement location="${java.home}/include"/>
        <pathelement location="${java.home}/../include/linux"/>
        <pathelement location="${java.home}/../include/solaris"/>
      </includepath>

      <compilerarg value="-fPIC" />
      <syslibset libs="stdc++"/>
    </cc>
  </target>

</project>
