Skip to content

Commit

Permalink
Work on adding libraries as submodules
Browse files Browse the repository at this point in the history
  • Loading branch information
hughsando committed Jun 3, 2024
1 parent 762b6f2 commit 18de17d
Show file tree
Hide file tree
Showing 12 changed files with 822 additions and 10 deletions.
9 changes: 9 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[submodule "project/toolkit/zlib/zlib"]
path = project/toolkit/zlib/zlib
url = https://github.com/madler/zlib
[submodule "project/toolkit/png/libpng"]
path = project/toolkit/png/libpng
url = https://github.com/pnggroup/libpng
[submodule "project/toolkit/jpeg/libjpeg-turbo"]
path = project/toolkit/jpeg/libjpeg-turbo
url = https://github.com/libjpeg-turbo/libjpeg-turbo
75 changes: 65 additions & 10 deletions project/ToolkitBuild.xml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,20 @@
-Ddebug -> Used in combination with above for debug
-->

<section if="HXCPP_ARM64" unless="NME_SIMD_D">
<set name="NME_SIMD_D" value="-DNME_SIMD_ARM64" />
<set name="NME_SIMD_ARM64" value="1" />
</section>
<section if="HXCPP_ARM7" unless="NME_SIMD_D">
<set name="NME_SIMD_D" value="-DNME_SIMD_ARM7" />
<set name="NME_SIMD_ARM7" value="1" />
</section>
<section if="HXCPP_M64" unless="NME_SIMD_D">
<set name="NME_SIMD_D" value="-DNME_SIMD_X86_64" />
<set name="NME_SIMD_X86_64" value="1" />
</section>


<!-- Where to find static libraries/includes -->
<set name="NATIVE_TOOLKIT_PATH" value="${haxelib:nme-toolkit}" unless="NATIVE_TOOLKIT_PATH" />

Expand Down Expand Up @@ -119,11 +133,23 @@
<!--<set name="HXCPP_DEBUG_LINK" value="1" />-->


<section if="NME_LOCAL_TOOLKIT">
<include name="toolkit/zlib/files.xml" />
<include name="toolkit/png/files.xml" />
<include name="toolkit/jpeg/files.xml" />
</section>
<section unless="NME_LOCAL_TOOLKIT">
<set name="NME_ZLIB" value="${NATIVE_TOOLKIT_PATH}/zlib/" />
<include name="${NME_ZLIB}/files.xml" />
<set name="NME_PNG" value="${NATIVE_TOOLKIT_PATH}/png/" />
<include name="${NME_PNG}/files.xml" />
<set name="NME_JPEG" value="${NATIVE_TOOLKIT_PATH}/jpeg/" />
<include name="${NME_JPEG}/files.xml" />
</section>


<include name="${NATIVE_TOOLKIT_PATH}/ogg/files.xml" />
<include name="${NATIVE_TOOLKIT_PATH}/vorbis/files.xml" />
<include name="${NATIVE_TOOLKIT_PATH}/jpeg/files.xml" />
<include name="${NATIVE_TOOLKIT_PATH}/png/files.xml" />
<include name="${NATIVE_TOOLKIT_PATH}/zlib/files.xml" />
<include name="${NATIVE_TOOLKIT_PATH}/curl/files.xml" />
<include name="${NATIVE_TOOLKIT_PATH}/freetype/files.xml" />
<include name="${NATIVE_TOOLKIT_PATH}/sdl/files.xml" />
Expand Down Expand Up @@ -222,6 +248,8 @@
<compilerflag value="-DNME_OGL" if="NME_OGL" />
<compilerflag value="-DNME_METAL" if="NME_METAL" />
<compilerflag value="-DNME_AUDIO" unless="NME_NO_AUDIO" />
<compilerflag value="-DNME_SIMD_D" if="NME_SIMD_D" />
<compilerflag value="${NME_SIMD_D}" if="NME_SIMD_D" />
<compilerflag value="-I${ANGLE_DIR}/include" if="NME_ANGLE" />

<cache value="1" unless="winrpi" />
Expand Down Expand Up @@ -302,11 +330,16 @@
<file name="${SRC_DIR}/linux/RpiMMal.cpp"/>
</section>

<compilerflag value="-I${NME_ZLIB}"/>
<compilerflag value="-I${NME_PNG}"/>
<compilerflag value="-I${NME_PNG}/.." if="NME_LOCAL_TOOLKIT" />
<compilerflag value="-I${NME_JPEG}"/>
<compilerflag value="-I${NME_JPEG}/.." if="NME_LOCAL_TOOLKIT" />

<compilerflag value="-I${NATIVE_TOOLKIT_PATH}/freetype"/>
<compilerflag value="-I${NATIVE_TOOLKIT_PATH}/freetype/include"/>
<compilerflag value="-I${NATIVE_TOOLKIT_PATH}/jpeg"/>
<compilerflag value="-I${NATIVE_TOOLKIT_PATH}/png"/>
<compilerflag value="-I${NATIVE_TOOLKIT_PATH}/zlib"/>
<compilerflag value="-I${NATIVE_TOOLKIT_PATH}/freetype/freetype/include"/>
<compilerflag value="-I${NATIVE_TOOLKIT_PATH}/freetype/freetype/include/freetype"/>
<compilerflag value="-I${NATIVE_TOOLKIT_PATH}/vorbis/include"/>
<compilerflag value="-I${NATIVE_TOOLKIT_PATH}/ogg/include"/>
<compilerflag value="-I${NATIVE_TOOLKIT_PATH}/modplug" if="modplug" />
Expand Down Expand Up @@ -515,7 +548,14 @@
<files id="native-toolkit-modplug" if="modplug" />
<files id="native-toolkit-ogg" />
<files id="native-toolkit-vorbis" />
<files id="native-toolkit-jpeg" />
<section unless="NME_LOCAL_TOOLKIT" >
<files id="native-toolkit-jpeg" />
</section>
<section if="NME_LOCAL_TOOLKIT" >
<files id="native-toolkit-jpeg-8" />
<files id="native-toolkit-jpeg-12" />
<files id="native-toolkit-jpeg-16" />
</section>
<files id="native-toolkit-png" />
<files id="native-toolkit-zlib" />
<files id="native-toolkit-angle" if="NME_ANGLE" />
Expand Down Expand Up @@ -677,9 +717,24 @@
<files id="native-toolkit-vorbis" >
<cache value="1" asLibrary="true" project="libVorbis" />
</files>
<files id="native-toolkit-jpeg" >
<cache value="1" asLibrary="true" project="libJpeg" />
</files>

<section if="NME_LOCAL_TOOLKIT" >
<files id="native-toolkit-jpeg-8" >
<cache value="1" asLibrary="true" project="libJpeg8" />
</files>
<files id="native-toolkit-jpeg-12" >
<cache value="1" asLibrary="true" project="libJpeg12" />
</files>
<files id="native-toolkit-jpeg-16" >
<cache value="1" asLibrary="true" project="libJpeg16" />
</files>
</section>
<section unless="NME_LOCAL_TOOLKIT" >
<files id="native-toolkit-jpeg" >
<cache value="1" asLibrary="true" project="libJpeg" />
</files>
</section>

<files id="native-toolkit-png" >
<cache value="1" asLibrary="true" project="libPng" />
</files>
Expand Down
260 changes: 260 additions & 0 deletions project/toolkit/jpeg/files.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,260 @@
<xml>

<set name="NME_JPEG" value="${this_dir}/libjpeg-turbo/" />
<echo value="${INCLUDE}/" />


<files id="native-toolkit-jpeg-depends" >
<depend name="${NME_JPEG}/jpeglib.h"/>
<depend name="${NME_JPEG}/../jconfig.h"/>
</files>

<files id="native-toolkit-jpeg-depends-int" >
<depend name="${NME_JPEG}/jpeglib.h"/>
<depend name="${NME_JPEG}/../jconfig.h"/>
<depend name="${NME_JPEG}transupp.h"/>
<depend name="${NME_JPEG}jmemsys.h"/>
<depend name="${NME_JPEG}jmorecfg.h"/>
<depend name="${NME_JPEG}jpegint.h"/>
<depend name="${NME_JPEG}jinclude.h"/>
<depend name="${NME_JPEG}jerror.h"/>
<depend name="${NME_JPEG}jdct.h"/>
</files>


<files id="native-toolkit-jpeg-16" tags="">
<compilerflag value="-DBITS_IN_JSAMPLE=16" />
<depend files="native-toolkit-jpeg-depends-int"/>
<compilerflag value="-I${NME_JPEG}" />
<compilerflag value="-I${NME_JPEG}/.." />
<objprefix value="s16_" />
<file name="${NME_JPEG}jcapistd.c" />
<file name="${NME_JPEG}jccolor.c" />
<file name="${NME_JPEG}jcdiffct.c" />
<file name="${NME_JPEG}jclossls.c" />
<file name="${NME_JPEG}jcmainct.c" />
<file name="${NME_JPEG}jcprepct.c" />
<file name="${NME_JPEG}jcsample.c" />
<file name="${NME_JPEG}jdapistd.c" />
<file name="${NME_JPEG}jdcolor.c" />
<file name="${NME_JPEG}jddiffct.c" />
<file name="${NME_JPEG}jdlossls.c" />
<file name="${NME_JPEG}jdmainct.c" />
<file name="${NME_JPEG}jdpostct.c" />
<file name="${NME_JPEG}jdsample.c" />
<file name="${NME_JPEG}jutils.c" />
</files>


<files id="native-toolkit-jpeg-12" tags="">
<tag value="${NATIVE_TOOLKIT_OPTIM_TAG}" if="NATIVE_TOOLKIT_OPTIM_TAG" />

<compilerflag value="-DBITS_IN_JSAMPLE=12" />
<depend files="native-toolkit-jpeg-depends-int"/>
<compilerflag value="-I${NME_JPEG}" />
<compilerflag value="-I${NME_JPEG}/.." />
<objprefix value="s12_" />

<file name="${NME_JPEG}jcapistd.c" />
<file name="${NME_JPEG}jccolor.c" />
<file name="${NME_JPEG}jcdiffct.c" />
<file name="${NME_JPEG}jclossls.c" />
<file name="${NME_JPEG}jcmainct.c" />
<file name="${NME_JPEG}jcprepct.c" />
<file name="${NME_JPEG}jcsample.c" />
<file name="${NME_JPEG}jdapistd.c" />
<file name="${NME_JPEG}jdcolor.c" />
<file name="${NME_JPEG}jddiffct.c" />
<file name="${NME_JPEG}jdlossls.c" />
<file name="${NME_JPEG}jdmainct.c" />
<file name="${NME_JPEG}jdpostct.c" />
<file name="${NME_JPEG}jdsample.c" />
<file name="${NME_JPEG}jutils.c" />

<file name="${NME_JPEG}jccoefct.c" />
<file name="${NME_JPEG}jcdctmgr.c" />
<file name="${NME_JPEG}jdcoefct.c" />
<file name="${NME_JPEG}jddctmgr.c" />
<file name="${NME_JPEG}jdmerge.c" />
<file name="${NME_JPEG}jfdctfst.c" />
<file name="${NME_JPEG}jfdctint.c" />
<file name="${NME_JPEG}jidctflt.c" />
<file name="${NME_JPEG}jidctfst.c" />
<file name="${NME_JPEG}jidctint.c" />
<file name="${NME_JPEG}jidctred.c" />
<file name="${NME_JPEG}jquant1.c" />
<file name="${NME_JPEG}jquant2.c" />
</files>



<files id="native-toolkit-jpeg-8" tags="">
<cache value="1" />

<tag value="${NATIVE_TOOLKIT_OPTIM_TAG}" if="NATIVE_TOOLKIT_OPTIM_TAG" />

<depend files="native-toolkit-jpeg-depends-int"/>
<compilerflag value="-I${NME_JPEG}" />
<compilerflag value="-I${NME_JPEG}/.." />
<compilerflag value="-I${NME_JPEG}/simd/nasm" />

<files id="jpeg-sample12" />
<files id="jpeg-sample16" />

<file name="${NME_JPEG}jccoefct.c" />
<file name="${NME_JPEG}jcdctmgr.c" />
<file name="${NME_JPEG}jdcoefct.c" />
<file name="${NME_JPEG}jddctmgr.c" />
<file name="${NME_JPEG}jdmerge.c" />
<file name="${NME_JPEG}jfdctfst.c" />
<file name="${NME_JPEG}jfdctint.c" />
<file name="${NME_JPEG}jidctflt.c" />
<file name="${NME_JPEG}jidctfst.c" />
<file name="${NME_JPEG}jidctint.c" />
<file name="${NME_JPEG}jidctred.c" />
<file name="${NME_JPEG}jquant1.c" />
<file name="${NME_JPEG}jquant2.c" />

<file name="${NME_JPEG}jcapistd.c" />
<file name="${NME_JPEG}jccolor.c" />
<file name="${NME_JPEG}jcdiffct.c" />
<file name="${NME_JPEG}jclossls.c" />
<file name="${NME_JPEG}jcmainct.c" />
<file name="${NME_JPEG}jcprepct.c" />
<file name="${NME_JPEG}jcsample.c" />
<file name="${NME_JPEG}jdapistd.c" />
<file name="${NME_JPEG}jdcolor.c" />
<file name="${NME_JPEG}jddiffct.c" />
<file name="${NME_JPEG}jdlossls.c" />
<file name="${NME_JPEG}jdmainct.c" />
<file name="${NME_JPEG}jdpostct.c" />
<file name="${NME_JPEG}jdsample.c" />
<file name="${NME_JPEG}jutils.c" />

<file name="${NME_JPEG}jcapimin.c" />
<file name="${NME_JPEG}jchuff.c" />
<file name="${NME_JPEG}jcicc.c" />
<file name="${NME_JPEG}jcinit.c" />
<file name="${NME_JPEG}jclhuff.c" />
<file name="${NME_JPEG}jcmarker.c" />
<file name="${NME_JPEG}jcmaster.c" />
<file name="${NME_JPEG}jcomapi.c" />
<file name="${NME_JPEG}jcparam.c" />
<file name="${NME_JPEG}jcphuff.c" />
<file name="${NME_JPEG}jctrans.c" />
<file name="${NME_JPEG}jdapimin.c" />
<file name="${NME_JPEG}jdatadst.c" />
<file name="${NME_JPEG}jdatasrc.c" />
<file name="${NME_JPEG}jdhuff.c" />
<file name="${NME_JPEG}jdicc.c" />
<file name="${NME_JPEG}jdinput.c" />
<file name="${NME_JPEG}jdlhuff.c" />
<file name="${NME_JPEG}jdmarker.c" />
<file name="${NME_JPEG}jdmaster.c" />
<file name="${NME_JPEG}jdphuff.c" />
<file name="${NME_JPEG}jdtrans.c" />
<file name="${NME_JPEG}jerror.c" />
<file name="${NME_JPEG}jfdctflt.c" />
<file name="${NME_JPEG}jmemmgr.c" />
<file name="${NME_JPEG}jmemnobs.c" />
<file name="${NME_JPEG}jpeg_nbits.c" />
<file name="${NME_JPEG}jaricom.c" />
<file name="${NME_JPEG}jcarith.c" />
<file name="${NME_JPEG}jdarith.c" />

</files>

<files id="jpeg-simd" >
<compilerflag value="${NME_SIMD_D}" if="NME_SIMD_D" />
<compilerflag value="-DNME_SIMD_D" if="NME_SIMD_D" />
<section if="NME_SIMD_ARM64 || NME_SIMD_ARM7" >
<file name="${NME_JPEG}jcapimin.c"/>
<file name="{$NME_JPEG}/simd/arm/jquanti-neon.c" />
<file name="{$NME_JPEG}/simd/arm/jidctred-neon.c" />
<file name="{$NME_JPEG}/simd/arm/jidctint-neon.c" />
<file name="{$NME_JPEG}/simd/arm/jfdctint-neon.c" />
<file name="{$NME_JPEG}/simd/arm/jidctfst-neon.c" />
<file name="{$NME_JPEG}/simd/arm/jfdctfst-neon.c" />
<file name="{$NME_JPEG}/simd/arm/jdsample-neon.c" />
<file name="{$NME_JPEG}/simd/arm/jdmrgext-neon.c" />
<file name="{$NME_JPEG}/simd/arm/jdcolor-neon.c" />
<file name="{$NME_JPEG}/simd/arm/jdmerge-neon.c" />
<file name="{$NME_JPEG}/simd/arm/jdcolext-neon.c" />
<file name="{$NME_JPEG}/simd/arm/jcsample-neon.c" />
<file name="{$NME_JPEG}/simd/arm/jcphuff-neon.c" />
<file name="{$NME_JPEG}/simd/arm/jcgryext-neon.c" />
<file name="{$NME_JPEG}/simd/arm/jcgray-neon.c" />
<file name="{$NME_JPEG}/simd/arm/jccolor-neon.c" />

<section if="NME_SIMD_ARM64" >
<file name="{$NME_JPEG}/simd/arm/aarch64/jsimd_neon.S" />
<file name="{$NME_JPEG}/simd/arm/aarch64/jsimd.c" />
<file name="{$NME_JPEG}/simd/arm/aarch64/jccolext-neon.c" />
<file name="{$NME_JPEG}/simd/arm/aarch64/jchuff-neon.c" />
</section>
<section if="NME_SIMD_ARM7" >
<file name="{$NME_JPEG}/simd/arm/aarch64/jsimd_neon.S" />
<file name="{$NME_JPEG}/simd/arm/aarch64/jsimd.c" />
<file name="{$NME_JPEG}/simd/arm/aarch64/jccolext-neon.c" />
<file name="{$NME_JPEG}/simd/arm/aarch64/jchuff-neon.c" />
</section>
</section>
<section if="NME_SIMD_X86_64" >
<file name="${NME_JPEG}/simd/x86_64/jsimd.c" />
<file name="${NME_JPEG}/simd/x86_64/jsimdcpu.asm" />
<file name="${NME_JPEG}/simd/x86_64/jquanti-sse2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jquantf-sse2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jquanti-avx2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jidctred-sse2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jidctint-sse2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jidctint-avx2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jidctfst-sse2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jidctflt-sse2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jfdctint-sse2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jfdctint-avx2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jfdctfst-sse2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jfdctflt-sse.asm" />
<file name="${NME_JPEG}/simd/x86_64/jdsample-sse2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jdsample-avx2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jdmrgext-avx2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jdmrgext-sse2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jdmerge-sse2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jdmerge-avx2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jdcolor-avx2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jdcolor-sse2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jdcolext-sse2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jcsample-sse2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jdcolext-avx2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jcsample-avx2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jchuff-sse2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jcphuff-sse2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jcgryext-sse2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jcgryext-avx2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jcgray-sse2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jccolor-sse2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jcgray-avx2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jccolor-avx2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jccolext-avx2.asm" />
<file name="${NME_JPEG}/simd/x86_64/jccolext-sse2.asm" />
</section>
</files>

<files id="jpeg-test-main" tags="">
<depend files="native-toolkit-jpeg-depends-int"/>
<compilerflag value="-I${NME_JPEG}" />
<compilerflag value="-I${NME_JPEG}/.." />

<file name="${NME_JPEG}/cjpeg.c" />
<file name="${NME_JPEG}/cdjpeg.c" />
<file name="${NME_JPEG}/rdswitch.c" />
</files>

<target id="default" tool="linker" toolid="exe" output="out" if="BUILD_TEST" >
<files id="native-toolkit-jpeg-16"/>
<files id="native-toolkit-jpeg-12"/>
<files id="native-toolkit-jpeg-8"/>
<files id="jpeg-test-main"/>
</target>


</xml>
Loading

0 comments on commit 18de17d

Please sign in to comment.