Files
lime/legacy/project/Build.xml
2014-09-15 17:17:30 -07:00

473 lines
17 KiB
XML

<xml>
<set name="lime" value="1" />
<set name="LEGACY_NME_PATH" value="${NME_PATH}" if="NME_PATH" />
<set name="LEGACY_NME_PATH" value="${haxelib:nme}" unless="LEGACY_NME_PATH" />
<!-- <include name="${NME_PATH}/project/Build.xml"/> -->
<!-- Require Android 2.3+ -->
<set name="PLATFORM" value="android-9" if="android" />
<set name="PLATFORM" value="android-14" if="HXCPP_X86" />
<set name="HXCPP_CPP11" value="1" />
<set name="debug" value="debug" if="lime fulldebug" />
<include name="${HXCPP}/build-tool/BuildCommon.xml"/>
<!--
Build with:
-Diphonesim -> build i386 version
-Diphoneos -> build armv6
-Diphoneos -DHXCPP_ARMV7 -> build armv7
-Dandroid -> build android armv5
-Dandroid -DHXCPP_ARMV7 -> build android armv7
-Dandroid -DHXCPP_X86 -> build android x86
- no defines -> build current OS
-DHXCPP_M64 -> build current OS, 64 but version
-Ddebug -> Used in combination with above for debug
-->
<!-- Where to find static libraries/includes -->
<set name="LEGACY_NME_DEV" value="${LEGACY_NME_DEV}" if="NME_DEV" />
<set name="LEGACY_NME_DEV" value="${haxelib:nme-dev}" unless="LEGACY_NME_DEV" />
<!--
What SDL to use?
For desktop, use version 2.
For ios/android, not needed.
For rpi, and other systems, use installed 1.0
-->
<set name="LEGACY_NME_SDL_SYSTEM" value="1" if="rpi" />
<set name="LEGACY_NME_SDL_SYSTEM" value="1" if="blackberry" />
<set name="LEGACY_NME_SDL_SYSTEM" value="1" if="webos" />
<set name="LEGACY_NME_SDL2" value="1" if="windows" />
<set name="LEGACY_NME_SDL2" value="1" if="linux" unless="LEGACY_NME_SDL_SYSTEM" />
<set name="LEGACY_NME_SDL2" value="1" if="macos" />
<set name="LEGACY_NME_SDL_ANY" value="1" if="LEGACY_NME_SDL_SYSTEM" />
<set name="LEGACY_NME_SDL_ANY" value="1" if="LEGACY_NME_SDL2" />
<!-- Use opengl backend ? -->
<set name="LEGACY_NME_OGL" value="1" />
<unset name="LEGACY_NME_OGL" if="winrt" />
<!-- For systems that do not create the egl context for us -->
<set name="LEGACY_NME_EGL" value="1" if="rpi"/>
<set name="LEGACY_NME_EGL" value="1" if="tizen"/>
<!-- Do we need to implement curl in NME -->
<set name="LEGACY_NME_CURL" value="1" />
<unset name="LEGACY_NME_CURL" if="winrt" />
<unset name="LEGACY_NME_CURL" if="emscripten" />
<!-- And allow https ? -->
<set name="LEGACY_NME_SSL" value="1" />
<set name="LEGACY_NME_SSL_EXTRA" value="_ssl" if="LEGACY_NME_SSL"/>
<set name="LEGACY_NME_S3D" value="1" if="lime" />
<!--
What audio backend it use?
For windows, linux, use SDL_mixer
For ios/mac use core audio + openal
For android use java (todo - opensl?)
-->
<set name="LEGACY_NME_OPENAL" value="1" if="lime" />
<set name="LEGACY_NME_OPENAL" value="1" if="iphone" />
<set name="LEGACY_NME_CAMERA" value="1" unless="lime" />
<!-- Built relative to "bin" -->
<set name="LEGACY_NME_ROOT" value="" unless="lime" />
<set name="LEGACY_NME_ROOT" value="${haxelib:nme}/project/" if="lime" />
<set name="LEGACY_SRC_DIR" value="${LEGACY_NME_ROOT}src" />
<set name="LEGACY_INC_DIR" value="${LEGACY_NME_ROOT}include" />
<set name="LEGACY_NME_INC_DIR" value="${LEGACY_NME_ROOT}../include" />
<set name="LEGACY_SUP_DIR" value="${LEGACY_NME_ROOT}support" />
<set name="LEGACY_OUT_DIR" value="../${NDLLDIR}" />
<set name="LEGACY_OUT_DIR" value="../legacy/ndll" if="lime" />
<section if="tizen">
<set name="TIZEN_PLATFORM" value="${TIZEN_SDK}/platforms/tizen2.2/rootstraps/tizen-emulator-2.2.native" if="simulator" />
<set name="TIZEN_PLATFORM" value="${TIZEN_SDK}/platforms/tizen2.2/rootstraps/tizen-device-2.2.native" unless="simulator" />
</section>
<files id="legacy-main">
<compilerflag value="-I${LEGACY_INC_DIR}"/>
<file name="Test.cpp"/>
</files>
<files id="legacy-nme">
<compilerflag value="-I${LEGACY_NME_INC_DIR}"/>
<compilerflag value="-I${LEGACY_INC_DIR}"/>
<section if="windows">
<file name="${LEGACY_SRC_DIR}/windows/CaptureDevice.cpp" if="LEGACY_NME_CAMERA" />
<file name="${LEGACY_SRC_DIR}/windows/GDIFont.cpp"/>
<file name="${LEGACY_SRC_DIR}/windows/System.cpp" />
</section>
<section if="linux">
<compilerflag value="-Wno-conversion" if="linux"/>
<file name="${LEGACY_SRC_DIR}/linux/NativeFont.cpp"/>
<file name="${LEGACY_SRC_DIR}/linux/System.cpp"/>
</section>
<section if="macos">
<file name="${LEGACY_SRC_DIR}/apple/CaptureDevice.mm" if="LEGACY_NME_CAMERA" />
<file name="${LEGACY_SRC_DIR}/mac/NSFont.cpp"/>
<file name="${LEGACY_SRC_DIR}/mac/MacBoot.m" />
<file name="${LEGACY_SRC_DIR}/mac/System.mm"/>
<file name="${LEGACY_SRC_DIR}/cocoa/FileManager.mm"/>
</section>
<section if="iphone">
<file name="${LEGACY_SRC_DIR}/iPhone/UIStageView.mm"/>
<file name="${LEGACY_SRC_DIR}/iPhone/UIDeviceHardware.mm"/>
<!-- <file name="${LEGACY_SRC_DIR}/iPhone/SurfaceIO.mm"/> -->
<file name="${LEGACY_SRC_DIR}/iPhone/Sound.mm"/>
<file name="${LEGACY_SRC_DIR}/iPhone/NativeFont.mm"/>
<file name="${LEGACY_SRC_DIR}/iPhone/System.mm"/>
<file name="${LEGACY_SRC_DIR}/cocoa/FileManager.mm"/>
</section>
<section if="android">
<file name="${LEGACY_SRC_DIR}/android/AndroidCommon.cpp" />
<file name="${LEGACY_SRC_DIR}/android/AndroidSound.cpp" unless="LEGACY_NME_OPENAL"/>
<file name="${LEGACY_SRC_DIR}/android/AndroidFont.cpp"/>
<file name="${LEGACY_SRC_DIR}/android/AndroidFrame.cpp"/>
<file name="${LEGACY_SRC_DIR}/android/JNI.cpp"/>
<file name="${LEGACY_SRC_DIR}/android/System.cpp"/>
<file name="${LEGACY_SRC_DIR}/android/AndroidS3D.cpp" if="LEGACY_NME_S3D" />
</section>
<section if="tizen">
<compilerflag value="-I${TIZEN_PLATFORM}/usr/include/osp"/>
<compilerflag value="-D_APP_LOG" />
<file name="${LEGACY_SRC_DIR}/linux/NativeFont.cpp"/>
<file name="${LEGACY_SRC_DIR}/tizen/TizenApplication.cpp"/>
<file name="${LEGACY_SRC_DIR}/tizen/TizenStage.cpp"/>
<file name="${LEGACY_SRC_DIR}/tizen/TizenFrame.cpp"/>
<file name="${LEGACY_SRC_DIR}/tizen/System.cpp" />
</section>
<section if="blackberry">
<file name="${LEGACY_SRC_DIR}/linux/NativeFont.cpp"/>
<file name="${LEGACY_SRC_DIR}/blackberry/System.cpp"/>
</section>
<section if="rpi">
<compilerflag value="-I/opt/vc/include" />
<compilerflag value="-I/opt/vc/include/interface/vcos/pthreads/" />
</section>
<section if="LEGACY_NME_SDL_SYSTEM">
<compilerflag value="-I/opt/local/include" if="macos" />
<compilerflag value="-I/usr/include/SDL" if="linux" />
<compilerflag value="-I${LEGACY_NME_DEV}/include/SDL12" if="blackberry" />
<compilerflag value="-DDYNAMIC_SDL" />
<compilerflag value="-DNME_MIXER" unless="LEGACY_NME_OPENAL"/>
<compilerflag value="-DNME_SDL12" unless="LEGACY_NME_SDL2" />
<file name="${LEGACY_SRC_DIR}/sdl/SDLSound.cpp" unless="LEGACY_NME_OPENAL"/>
<file name="${LEGACY_SRC_DIR}/sdl/SDLStage.cpp"/>
</section>
<section if="LEGACY_NME_SDL2">
<compilerflag value="-I${LEGACY_NME_DEV}/include/SDL2" />
<file name="${LEGACY_SRC_DIR}/sdl/SDLSound.cpp" unless="LEGACY_NME_OPENAL"/>
<file name="${LEGACY_SRC_DIR}/sdl2/SDL2Stage.cpp"/>
<compilerflag value="-DSDL_OGL" />
<compilerflag value="-DNME_MIXER" unless="LEGACY_NME_OPENAL" />
<compilerflag value="-DNME_SDL2" />
</section>
<section if="LEGACY_NME_CURL">
<compilerflag value="-DNME_CURL_SSL" if="LEGACY_NME_SSL"/>
</section>
<section if="LEGACY_NME_OGL">
<file name="${LEGACY_SRC_DIR}/opengl/OpenGLContext.cpp" />
<file name="${LEGACY_SRC_DIR}/opengl/OGLTexture.cpp" />
<file name="${LEGACY_SRC_DIR}/opengl/OGLShaders.cpp" />
<file name="${LEGACY_SRC_DIR}/opengl/OGLExport.cpp" />
<file name="${LEGACY_SRC_DIR}/opengl/Egl.cpp" if="LEGACY_NME_EGL" />
<file name="${LEGACY_SRC_DIR}/opengl/OpenGLS3D.cpp" if="LEGACY_NME_S3D" />
</section>
<section if="LEGACY_NME_OPENAL">
<compilerflag value="-DAL_LIBTYPE_STATIC=1" if="windows || mac || linux" />
<file name="${LEGACY_SRC_DIR}/openal/OpenALSound.cpp" />
<file name="${LEGACY_SRC_DIR}/common/Audio.cpp" />
</section>
<section if="lime">
<compilerflag value="-DHX_LIME" if="lime" />
<compilerflag value="-DNME_S3D" if="LEGACY_NME_S3D" />
<file name="../legacy/project/src/ExternalInterface.cpp" if="lime" />
<file name="${LEGACY_SRC_DIR}/empty/S3D.cpp" if="LEGACY_NME_S3D" unless="android" />
</section>
<compilerflag value="-I${LEGACY_INC_DIR}/xcompile" if="xcompile" />
<compilerflag value="-I${LEGACY_NME_DEV}/include" />
<compilerflag value="-D_7ZIP_ST" unless="windows"/>
<compilerflag value="-DNME_PREMULTIPLIED_ALPHA" if="LEGACY_NME_PREMULTIPLIED_ALPHA" />
<compilerflag value="-DNME_BUILDING_LIB" />
<file name="${LEGACY_SRC_DIR}/common/Surface.cpp"/>
<file name="${LEGACY_SRC_DIR}/common/Utils.cpp"/>
<file name="${LEGACY_SRC_DIR}/common/Geom.cpp"/>
<file name="${LEGACY_SRC_DIR}/common/Graphics.cpp"/>
<file name="${LEGACY_SRC_DIR}/common/GraphicsData.cpp"/>
<file name="${LEGACY_SRC_DIR}/common/Matrix.cpp"/>
<file name="${LEGACY_SRC_DIR}/common/CachedExtent.cpp"/>
<file name="${LEGACY_SRC_DIR}/common/TextField.cpp"/>
<file name="${LEGACY_SRC_DIR}/common/Font.cpp"/>
<file name="${LEGACY_SRC_DIR}/common/FreeType.cpp" />
<file name="${LEGACY_SRC_DIR}/common/Tilesheet.cpp"/>
<file name="${LEGACY_SRC_DIR}/common/Display.cpp"/>
<file name="${LEGACY_SRC_DIR}/common/ColorTransform.cpp"/>
<file name="${LEGACY_SRC_DIR}/common/Hardware.cpp" />
<file name="${LEGACY_SRC_DIR}/common/Tessellate.cpp"/>
<file name="${LEGACY_SRC_DIR}/common/Filters.cpp"/>
<file name="${LEGACY_SRC_DIR}/common/ExternalInterface.cpp"/>
<file name="${LEGACY_SRC_DIR}/common/Cursors.cpp"/>
<file name="${LEGACY_SRC_DIR}/common/Input.cpp" unless="iphone" />
<file name="${LEGACY_SRC_DIR}/common/SurfaceIO.cpp" unless="sdl_image" />
<file name="${LEGACY_SRC_DIR}/common/ManagedStage.cpp" unless="winrt" />
<file name="${LEGACY_SRC_DIR}/common/CURL.cpp" if="LEGACY_NME_CURL"/>
<file name="${LEGACY_SRC_DIR}/common/Lzma.cpp"/>
<file name="${LEGACY_SRC_DIR}/common/Thread.cpp"/>
<file name="${LEGACY_SRC_DIR}/common/Camera.cpp" if="LEGACY_NME_CAMERA" />
<!--<file name="common/Audio.cpp" if="openal"/>-->
<file name="${LEGACY_SRC_DIR}/video/TheoraVideo.cpp" if="theora" />
<file name="${LEGACY_SRC_DIR}/empty/Video.cpp" unless="theora" />
<file name="${LEGACY_SRC_DIR}/common/XML/tinystr.cpp"/>
<file name="${LEGACY_SRC_DIR}/common/XML/tinyxml.cpp"/>
<file name="${LEGACY_SRC_DIR}/common/XML/tinyxmlerror.cpp"/>
<file name="${LEGACY_SRC_DIR}/common/XML/tinyxmlparser.cpp"/>
<file name="${LEGACY_SRC_DIR}/software-renderer/AlphaMask.cpp"/>
<file name="${LEGACY_SRC_DIR}/software-renderer/BitmapFill.cpp"/>
<file name="${LEGACY_SRC_DIR}/software-renderer/BitmapFillPerspective.cpp"/>
<file name="${LEGACY_SRC_DIR}/software-renderer/GradientFill.cpp"/>
<file name="${LEGACY_SRC_DIR}/software-renderer/LineRender.cpp"/>
<file name="${LEGACY_SRC_DIR}/software-renderer/PointRenderer.cpp"/>
<file name="${LEGACY_SRC_DIR}/software-renderer/PolygonRender.cpp"/>
<file name="${LEGACY_SRC_DIR}/software-renderer/SoftwareRenderer.cpp"/>
<file name="${LEGACY_SRC_DIR}/software-renderer/SolidFill.cpp"/>
<file name="${LEGACY_SRC_DIR}/software-renderer/SolidRender.cpp"/>
<file name="${LEGACY_SRC_DIR}/software-renderer/TileRenderer.cpp"/>
<file name="${LEGACY_SRC_DIR}/software-renderer/TriangleRender.cpp"/>
<file name="${LEGACY_SRC_DIR}/lzma/LzFind.c" />
<file name="${LEGACY_SRC_DIR}/lzma/LzmaDec.c" />
<file name="${LEGACY_SRC_DIR}/lzma/LzmaEnc.c" />
<file name="${LEGACY_SRC_DIR}/lzma/LzFindMt.c" if="windows" />
<file name="${LEGACY_SRC_DIR}/lzma/Threads.c" if="windows" />
</files>
<set name="LEGACY_SLIBEXT" value=".lib" if="windows"/>
<set name="LEGACY_SLIBEXT" value=".a" unless="windows"/>
<set name="LEGACY_PRELIB" value="${LEGACY_NME_DEV}/lib/${BINDIR}/lib" />
<set name="LEGACY_POSTLIB" value="${LIBEXTRA}${LEGACY_SLIBEXT}" />
<set name="LEGACY_LIBNAME" value="nme" unless="lime" />
<set name="LEGACY_LIBNAME" value="lime" if="lime" />
<set name="LEGACY_DEBUGEXTRA" value="-debug" if="lime fulldebug" />
<target id="lime-legacy" output="${LIBPREFIX}${LEGACY_LIBNAME}${MSVC_LIB_VERSION}${LEGACY_DEBUGEXTRA}${LIBEXTRA}" tool="linker" toolid="${STD_MODULE_LINK}">
<outdir name="${LEGACY_OUT_DIR}/${BINDIR}" />
<flag value="-NODEFAULTLIB:LIBCMT" if="winrt"/>
<files id="legacy-nme"/>
<lib name="${LEGACY_PRELIB}freetype${LEGACY_POSTLIB}" />
<lib name="${LEGACY_PRELIB}jpeg${LEGACY_POSTLIB}" />
<lib name="${LEGACY_PRELIB}png${LEGACY_POSTLIB}" />
<section if="LEGACY_NME_SDL2">
<lib name="${LEGACY_PRELIB}SDL2${LEGACY_POSTLIB}" />
<lib name="${LEGACY_PRELIB}SDL2_mixer${LEGACY_POSTLIB}" unless="LEGACY_NME_OPENAL" />
<lib name="${LEGACY_PRELIB}modplug${LEGACY_POSTLIB}" unless="LEGACY_NME_OPENAL" />
<lib name="${LEGACY_PRELIB}SDL2${LEGACY_POSTLIB}" if="linux"/>
</section>
<section if="LEGACY_NME_OPENAL">
<lib name="${LEGACY_PRELIB}openal${LEGACY_POSTLIB}" if="windows || mac || linux"/>
<lib name="${LEGACY_PRELIB}vorbis${LEGACY_POSTLIB}" />
<lib name="${LEGACY_PRELIB}ogg${LEGACY_POSTLIB}" />
</section>
<section unless="LEGACY_NME_SDL_SYSTEM">
<section if="LEGACY_NME_SDL2" unless="LEGACY_NME_OPENAL">
<lib name="${LEGACY_PRELIB}vorbis${LEGACY_POSTLIB}" />
<lib name="${LEGACY_PRELIB}ogg${LEGACY_POSTLIB}" />
<lib name="${LEGACY_PRELIB}theora${LEGACY_POSTLIB}" />
</section>
<section if="LEGACY_NME_CURL">
<lib name="${LEGACY_PRELIB}curl${LEGACY_NME_SSL_EXTRA}${LEGACY_POSTLIB}" />
</section>
<lib name="${LEGACY_PRELIB}z${LEGACY_POSTLIB}" unless="android"/>
</section>
<section if="blackberry">
<section if="LEGACY_NME_CURL">
<lib name="${LEGACY_PRELIB}curl${LEGACY_NME_SSL_EXTRA}${LEGACY_POSTLIB}" />
</section>
</section>
<section unless="static_link">
<ext value=".so" />
<ext value=".ndll" if="windows || mac || linux" />
<!-- <lib name="${PRELIB}libfreetype${LIBEXTRA}${SLIBEXT}" if="iphone"/> -->
<section if="LEGACY_NME_SDL_SYSTEM" unless="blackberry">
<lib name="-lSDL" />
<lib name="-lcurl" />
<lib name="-lpng" />
<lib name="-ljpeg" />
<lib name="-lfreetype" />
<lib name="-lz" />
</section>
<section if="macos">
<vflag name="-framework" value="IOKit" />
<vflag name="-framework" value="Foundation" />
<vflag name="-framework" value="CoreAudio" />
<vflag name="-framework" value="Carbon" />
<vflag name="-framework" value="AudioToolbox" />
<vflag name="-framework" value="AudioUnit" />
<vflag name="-framework" value="ForceFeedback" />
<vflag name="-framework" value="Cocoa" />
<vflag name="-framework" value="OpenGL" />
<vflag name="-framework" value="QuickTime" />
<vflag name="-framework" value="AppKit" />
<vflag name="-framework" value="OpenAL"/>
<vflag name="-framework" value="AVFoundation" if="LEGACY_NME_CAMERA"/>
<vflag name="-framework" value="CoreMedia" if="LEGACY_NME_CAMERA"/>
<vflag name="-framework" value="CoreVideo" if="LEGACY_NME_CAMERA"/>
</section>
<section if="android">
<lib name="-L../ndll/Android" if="LEGACY_NME_OPENAL"/>
<lib name="-lopenal" if="LEGACY_NME_OPENAL"/>
<lib name="-ldl" />
<lib name="-landroid" />
<lib name="-lGLESv2" />
<lib name="-lz" />
</section>
<section if="blackberry">
<lib name="-L../legacy/ndll/BlackBerry" />
<lib name="-lSDL${LIBEXTRA}" />
<lib name="-lOpenAL${LIBEXTRA}" />
<lib name="-lbps" />
<lib name="-lscreen" />
<lib name="-lEGL" />
<lib name="-lGLESv2" />
<lib name="-lm" />
<lib name="-lsocket" />
<lib name="-lz" />
</section>
<section if="tizen">
<lib name="-losp-uifw" />
<lib name="-losp-appfw" />
<lib name="-losp-image" />
<lib name="-losp-ime" />
<lib name="-losp-json" />
<lib name="-losp-net" />
<lib name="-losp-content" />
<lib name="-losp-locations" />
<lib name="-losp-telephony" />
<lib name="-losp-uix" />
<lib name="-losp-media" />
<lib name="-losp-messaging" />
<lib name="-losp-web" />
<lib name="-losp-social" />
<lib name="-losp-wifi" />
<lib name="-losp-bluetooth" />
<lib name="-losp-nfc" />
<lib name="-losp-face" />
<lib name="-losp-secure-element" />
<lib name="-losp-speech-tts" />
<lib name="-losp-speech-stt" />
<lib name="-losp-shell" />
<lib name="-losp-shell-core" />
<lib name="-losp-vision" />
<lib name="-lxml2" />
<lib name="-lalut" />
<lib name="-lopenal" />
<lib name="-losp-compat" />
<lib name="-lrt" />
</section>
<section if="rpi">
<lib name="/opt/vc/lib/libGLESv2.so" />
<lib name="/opt/vc/lib/libEGL.so" />
<lib name="/opt/vc/lib/libbcm_host.so" />
</section>
<section if="windows">
<lib name="gdi32.lib" />
<lib name="opengl32.lib" />
<lib name="user32.lib" />
<lib name="kernel32.lib" />
<lib name="advapi32.lib" />
<lib name="${SUP_DIR}/windows/dxguid.lib"/>
<lib name="winmm.lib" />
<lib name="imm32.lib" />
<lib name="ole32.lib" />
<lib name="oleaut32.lib" />
<lib name="version.lib" />
<lib name="ws2_32.lib" />
<lib name="wldap32.lib" />
<lib name="shell32.lib" />
<lib name="comdlg32.lib" />
</section>
<section if="linux">
<lib name="${HXCPP}/lib/${BINDIR}/liblinuxcompat.a" />
<lib name="-lpthread" />
<lib name="-lrt" />
</section>
<section if="winrt">
<lib name="D3D11.lib" />
</section>
</section>
</target>
</xml>