<?xml version="1.0" ?>
<project name="OpenSim.Framework" default="build">
    <target name="build">
        <echo message="Build Directory is ${project::get-base-directory()}/${build.dir}" />
        <mkdir dir="${project::get-base-directory()}/${build.dir}" />
        <copy todir="${project::get-base-directory()}/${build.dir}" flatten="true">
            <fileset basedir="${project::get-base-directory()}">
            </fileset>
        </copy>
        <copy todir="${project::get-base-directory()}/${build.dir}">
            <fileset basedir=".">
            </fileset>
        </copy>
        <csc target="library" debug="${build.debug}" unsafe="False" warnaserror="False" define="TRACE;DEBUG" main="" output="${project::get-base-directory()}/${build.dir}/${project::get-name()}.dll">
            <resources prefix="OpenSim.Framework" dynamicprefix="true" >
            </resources>
            <sources failonempty="true">
                <include name="ACL.cs" />
                <include name="AgentCircuitData.cs" />
                <include name="AgentCircuitManager.cs" />
                <include name="AgentUpdateArgs.cs" />
                <include name="AssemblyInfo.cs" />
                <include name="AssetBase.cs" />
                <include name="AssetConfig.cs" />
                <include name="AssetLandmark.cs" />
                <include name="AssetRequest.cs" />
                <include name="AssetRequestToClient.cs" />
                <include name="AssetStorage.cs" />
                <include name="AuthenticateResponse.cs" />
                <include name="AvatarAppearance.cs" />
                <include name="AvatarPickerAvatar.cs" />
                <include name="AvatarPickerReplyAgentDataArgs.cs" />
                <include name="AvatarPickerReplyDataArgs.cs" />
                <include name="AvatarWearable.cs" />
                <include name="AvatarWearingArgs.cs" />
                <include name="BlockingQueue.cs" />
                <include name="Cache.cs" />
                <include name="ChatTypeEnum.cs" />
                <include name="ChildAgentDataUpdate.cs" />
                <include name="ClientInfo.cs" />
                <include name="ClientManager.cs" />
                <include name="ColliderData.cs" />
                <include name="ConfigSettings.cs" />
                <include name="ConfigurationMember.cs" />
                <include name="ConfigurationOption.cs" />
                <include name="Constants.cs" />
                <include name="Culture.cs" />
                <include name="EstateBan.cs" />
                <include name="EstateSettings.cs" />
                <include name="EventData.cs" />
                <include name="FriendListItem.cs" />
                <include name="FriendRegionInfo.cs" />
                <include name="GridConfig.cs" />
                <include name="GridInstantMessage.cs" />
                <include name="GroupData.cs" />
                <include name="IAssetLoader.cs" />
                <include name="IAssetProvider.cs" />
                <include name="IAssetServer.cs" />
                <include name="IClientAPI.cs" />
                <include name="IClientAPI2.cs" />
                <include name="IGenericConfig.cs" />
                <include name="IInventoryData.cs" />
                <include name="IPlugin.cs" />
                <include name="IRegionCommsListener.cs" />
                <include name="IRegionLoader.cs" />
                <include name="IScene.cs" />
                <include name="IUserData.cs" />
                <include name="InventoryCollection.cs" />
                <include name="InventoryConfig.cs" />
                <include name="InventoryFolderBase.cs" />
                <include name="InventoryItemBase.cs" />
                <include name="JId.cs" />
                <include name="LandData.cs" />
                <include name="LandStatReportItem.cs" />
                <include name="LandUpdateArgs.cs" />
                <include name="Location.cs" />
                <include name="Login.cs" />
                <include name="MapBlockData.cs" />
                <include name="MapItemReplyStruct.cs" />
                <include name="MessageServerConfig.cs" />
                <include name="NeighbourInfo.cs" />
                <include name="NetworkServersInfo.cs" />
                <include name="OSChatMessage.cs" />
                <include name="PacketPool.cs" />
                <include name="ParcelMediaCommandEnum.cs" />
                <include name="PluginLoader.cs" />
                <include name="PrimitiveBaseShape.cs" />
                <include name="ProxyCodec.cs" />
                <include name="RegionCommsListener.cs" />
                <include name="RegionHandshakeArgs.cs" />
                <include name="RegionInfo.cs" />
                <include name="RegionInfoForEstateMenuArgs.cs" />
                <include name="RegionSettings.cs" />
                <include name="RegionUpData.cs" />
                <include name="Remoting.cs" />
                <include name="RequestAssetArgs.cs" />
                <include name="SerializableInventory.cs" />
                <include name="SerializableRegionInfo.cs" />
                <include name="SimStats.cs" />
                <include name="SurfaceTouchEventArgs.cs" />
                <include name="TaskInventoryDictionary.cs" />
                <include name="TaskInventoryItem.cs" />
                <include name="TextureRequestArgs.cs" />
                <include name="ThreadTracker.cs" />
                <include name="ThrottleOutPacketType.cs" />
                <include name="UndoStack.cs" />
                <include name="UpdateShapeArgs.cs" />
                <include name="UserAgentData.cs" />
                <include name="UserConfig.cs" />
                <include name="UserProfileData.cs" />
                <include name="Util.cs" />
                <include name="ViewerEffectEventHandlerArg.cs" />
                <include name="sLLVector3.cs" />
            </sources>
            <references basedir="${project::get-base-directory()}">
                <lib>
                    <include name="${project::get-base-directory()}" />
                    <include name="${project::get-base-directory()}/${build.dir}" />
                </lib>
                <include name="../../bin/log4net.dll" />
                <include name="../../bin/Mono.Addins.dll" />
                <include name="../../bin/Nini.dll" />
                <include name="../../bin/OpenMetaverse.dll" />
                <include name="../../bin/OpenMetaverseTypes.dll" />
                <include name="../../bin/OpenSim.Framework.Console.dll" />
                <include name="System.dll" />
                <include name="System.Data.dll" />
                <include name="System.Xml.dll" />
                <include name="../../bin/XMLRPC.dll" />
            </references>
        </csc>
        <echo message="Copying from [${project::get-base-directory()}/${build.dir}/] to [${project::get-base-directory()}/../../bin/" />
        <mkdir dir="${project::get-base-directory()}/../../bin/"/>
        <copy todir="${project::get-base-directory()}/../../bin/">
            <fileset basedir="${project::get-base-directory()}/${build.dir}/" >
                <include name="*.dll"/>
                <include name="*.exe"/>
                <include name="*.mdb" if='${build.debug}'/>
            </fileset>
        </copy>
    </target>
    <target name="clean">
        <delete dir="${obj.dir}" failonerror="false" />
        <delete dir="${bin.dir}" failonerror="false" />
    </target>
    <target name="doc" description="Creates documentation.">
    </target>
</project>
