<xml>

<echo value="Using iOS SDK ${IPHONE_VER}" if="VERBOSE"/>

<set name="HXCPP_CPP11" value="1" unless="HXCPP_NO_CPP11" />

<set name="ARCH" value ="-64" if="HXCPP_M64" />

<set name="HXCPP_USE_LIBTOOL" value="1" />
<set name="HXCPP_LIBTOOL" value="xcrun --sdk iphonesimulator${IPHONE_VER} libtool" />
<include name="toolchain/gcc-toolchain.xml"/>
<!--<path name="${DEVELOPER_DIR}/Platforms/iPhoneSimulator.platform/Developer/usr/bin" />-->

<set name="FORCE_LIBGCC" value="1" if="HXCPP_IOS_STDCPP" unless="HXCPP_GCC" />
<set name="OBJGCC" value="-c11" if="HXCPP_CPP11" />
<set name="OBJGCC" value="-gcc" if="HXCPP_GCC" />
<set name="OBJDBG" value="-dbg" if="debug" />

<compiler id="iPhoneSim" exe="g++" if="iphonesim">
  <exe name="xcrun --sdk iphonesimulator${IPHONE_VER} g++" if="HXCPP_GCC" />
  <exe name="xcrun --sdk iphonesimulator${IPHONE_VER} clang++" />
  <flag value="-c"/>
  <!-- Removed for iOS 8 -->
  <!-- <cppflag value="-fvisibility-inlines-hidden"/> -->
  <pchflag value="-x" />
  <pchflag value="c++-header" />
  <cppflag value="-stdlib=libstdc++" if="FORCE_LIBGCC" />
  <cppflag value="-stdlib=libc++" if="HXCPP_CPP11" />
  <cppflag value="-std=c++11" if="HXCPP_CPP11" />
  <mmflag value="-stdlib=libstdc++" if="FORCE_LIBGCC" />
  <mmflag value="-stdlib=libc++" if="HXCPP_CPP11" />
  <mmflag value="-std=c++11" if="HXCPP_CPP11" />
  <flag value="-g" if="HXCPP_DEBUG_LINK"/>
  <flag value="-O2" unless="debug"/>
  <flag value="-fmessage-length=0"/>
  <flag value="-pipe"/>
  <flag value="-Wno-trigraphs"/>
  <flag value="-fno-stack-protector"/>
  <flag value="-Wno-overflow" />
  <cppflag value="-Wno-invalid-offsetof" />
  <cppflag value="-Wno-return-type-c-linkage" />
  <mmflag value="-Wno-return-type-c-linkage" />
  <flag value="-fpascal-strings"/>
  <flag value="-fasm-blocks"/>
  <flag value="-Wreturn-type"/>
  <!-- Simulator has been upgraded to ABI version 2.  Old code may not like the following 2 lines  -->
  <mmflag value="-fobjc-abi-version=2"/>
  <mmflag value="-fobjc-legacy-dispatch"/>
  <flag value="-Wno-unused-variable"/>
  <flag value="-arch"/>
  <flag value="i386" unless="HXCPP_M64"/>
  <flag value="x86_64" if="HXCPP_M64"/>
  <flag value="-isysroot"/>
  <flag value="${DEVELOPER_DIR}/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator${IPHONE_VER}.sdk"/>
  <!-- Removed for iOS 8 -->
  <!-- <flag value="-fvisibility=hidden"/> -->
  <!-- <flag value="-miphoneos-version-min=${IPHONE_VER}"/> -->
  <flag value="-miphoneos-version-min=9.0" unless="HXCPP_IOS_MIN_VERSION" />
  <flag value="-miphoneos-version-min=${HXCPP_IOS_MIN_VERSION}" if="HXCPP_IOS_MIN_VERSION" />
  <flag value="-DIPHONE=IPHONE"/>
  <flag value="-DIPHONESIM=IPHONESIM"/>
  <flag value="-fobjc-arc" if="OBJC_ARC" />
  <flag value="-DOBJC_ARC" if="OBJC_ARC" />
  <flag value="-Wno-parentheses" />
  <flag value="-Wno-null-dereference" unless="HXCPP_GCC"/>
  <flag value="-Wno-unused-value" />
  <flag value="-Wno-bool-conversion" unless="HXCPP_GCC"/>
  <include name="toolchain/common-defines.xml" />
  <flag value="-DHXCPP_BIG_ENDIAN" if="HXCPP_BIG_ENDIAN"/>
  <flag value="-I${HXCPP}/include"/>
  <!-- Removed for iOS 8 (no need) -->
  <!-- <cppflag value="-frtti"/> -->

  <!-- Added for iOS8 -->
  <flag value="-fexceptions"/>
  <flag value="-fstrict-aliasing"/>
  <!-- End of Added for iOS8 -->

  <outflag value="-o"/>
  <ext value=".o"/>
  <objdir value="obj/iphonesim${OBJGCC}${OBJDBG}/" />
</compiler>

<linker id="dll" exe="g++" >
  <exe name="xcrun --sdk iphonesimulator${IPHONE_VER} g++" if="HXCPP_GCC" />
  <exe name="xcrun --sdk iphonesimulator${IPHONE_VER} clang++" />
  <flag value="-stdlib=libstdc++" if="FORCE_LIBGCC" />
  <flag value="-stdlib=libc++" if="HXCPP_CPP11" />
  <flag value="-dynamiclib"/>
  <flag value="-arch"/>
  <flag value="i386" unless="HXCPP_M64"/>
  <flag value="x86_64" if="HXCPP_M64"/>
  <flag value="-isysroot"/>
  <flag value="${DEVELOPER_DIR}/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator${IPHONE_VER}.sdk"/>
  <flag value="-Wl,-undefined,dynamic_lookup"/>
  <flag value="-fpic"/>
  <flag value="-fPIC"/>
  <flag value="-fvisibility=hidden"/>
  <ext value=".sim.dylib"/>
  <outflag value="-o "/>
</linker>



</xml>