From 280f8da77842743137137e5bca85993f0703a889 Mon Sep 17 00:00:00 2001 From: Massena Date: Sun, 19 Dec 2021 14:47:01 +0100 Subject: [PATCH] base game : movement and scrolling --- CMakeLists.txt | 36 + InterF.g3a | Bin 0 -> 57872 bytes MyAddin.g3a | Bin 0 -> 57124 bytes assets-cg/example.png | Bin 0 -> 3816 bytes assets-cg/fxconv-metadata.txt | 4 + assets-cg/icon-sel.png | Bin 0 -> 8388 bytes assets-cg/icon-uns.png | Bin 0 -> 4629 bytes assets-cg/test.lua | 72 ++ assets-cg/test.tmx | 38 + assets-cg/test.tsx | 4 + assets-cg/test.world | 6 + assets-cg/test2.lua | 56 ++ assets-cg/test2.tmx | 21 + assets-cg/tileset.png | Bin 0 -> 116 bytes assets-fx/example.png | Bin 0 -> 3569 bytes assets-fx/fxconv-metadata.txt | 3 + assets-fx/icon.png | Bin 0 -> 7429 bytes build-cg/CMakeCache.txt | 370 ++++++++ .../CMakeFiles/3.22.1/CMakeCCompiler.cmake | 72 ++ .../CMakeFiles/3.22.1/CMakeCXXCompiler.cmake | 83 ++ .../3.22.1/CMakeDetermineCompilerABI_C.bin | Bin 0 -> 1420 bytes .../3.22.1/CMakeDetermineCompilerABI_CXX.bin | Bin 0 -> 1440 bytes build-cg/CMakeFiles/3.22.1/CMakeSystem.cmake | 15 + .../3.22.1/CompilerIdC/CMakeCCompilerId.c | 803 ++++++++++++++++++ .../3.22.1/CompilerIdC/CMakeCCompilerId.o | Bin 0 -> 1512 bytes .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 791 +++++++++++++++++ .../3.22.1/CompilerIdCXX/CMakeCXXCompilerId.o | Bin 0 -> 1472 bytes .../CMakeDirectoryInformation.cmake | 16 + build-cg/CMakeFiles/CMakeError.log | 28 + build-cg/CMakeFiles/CMakeOutput.log | 320 +++++++ build-cg/CMakeFiles/Makefile.cmake | 50 ++ build-cg/CMakeFiles/Makefile2 | 112 +++ build-cg/CMakeFiles/TargetDirectories.txt | 3 + build-cg/CMakeFiles/cmake.check_cache | 1 + .../CMakeFiles/myaddin.dir/DependInfo.cmake | 37 + .../myaddin.dir/assets-cg/example.png | Bin 0 -> 1376 bytes .../myaddin.dir/assets-cg/tileset.png | Bin 0 -> 568 bytes build-cg/CMakeFiles/myaddin.dir/build.make | 139 +++ .../CMakeFiles/myaddin.dir/cmake_clean.cmake | 14 + .../myaddin.dir/compiler_depend.internal | 35 + .../myaddin.dir/compiler_depend.make | 69 ++ .../CMakeFiles/myaddin.dir/compiler_depend.ts | 2 + .../CMakeFiles/myaddin.dir/depend.internal | 3 + build-cg/CMakeFiles/myaddin.dir/depend.make | 3 + build-cg/CMakeFiles/myaddin.dir/flags.make | 17 + build-cg/CMakeFiles/myaddin.dir/link.txt | 1 + build-cg/CMakeFiles/myaddin.dir/progress.make | 5 + .../CMakeFiles/myaddin.dir/src/input.c.obj | Bin 0 -> 1208 bytes .../CMakeFiles/myaddin.dir/src/input.c.obj.d | 12 + .../CMakeFiles/myaddin.dir/src/main.c.obj | Bin 0 -> 2204 bytes .../CMakeFiles/myaddin.dir/src/main.c.obj.d | 18 + build-cg/CMakeFiles/progress.marks | 1 + build-cg/Makefile | 217 +++++ build-cg/cmake_install.cmake | 49 ++ build-cg/myaddin | Bin 0 -> 49840 bytes build-cg/myaddin.bin | Bin 0 -> 29196 bytes include/input.h | 34 + include/main.h | 39 + src/input.c | 70 ++ src/main.c | 122 +++ 60 files changed, 3791 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 InterF.g3a create mode 100644 MyAddin.g3a create mode 100644 assets-cg/example.png create mode 100644 assets-cg/fxconv-metadata.txt create mode 100644 assets-cg/icon-sel.png create mode 100644 assets-cg/icon-uns.png create mode 100644 assets-cg/test.lua create mode 100644 assets-cg/test.tmx create mode 100644 assets-cg/test.tsx create mode 100644 assets-cg/test.world create mode 100644 assets-cg/test2.lua create mode 100644 assets-cg/test2.tmx create mode 100644 assets-cg/tileset.png create mode 100644 assets-fx/example.png create mode 100644 assets-fx/fxconv-metadata.txt create mode 100644 assets-fx/icon.png create mode 100644 build-cg/CMakeCache.txt create mode 100644 build-cg/CMakeFiles/3.22.1/CMakeCCompiler.cmake create mode 100644 build-cg/CMakeFiles/3.22.1/CMakeCXXCompiler.cmake create mode 100755 build-cg/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_C.bin create mode 100755 build-cg/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_CXX.bin create mode 100644 build-cg/CMakeFiles/3.22.1/CMakeSystem.cmake create mode 100644 build-cg/CMakeFiles/3.22.1/CompilerIdC/CMakeCCompilerId.c create mode 100644 build-cg/CMakeFiles/3.22.1/CompilerIdC/CMakeCCompilerId.o create mode 100644 build-cg/CMakeFiles/3.22.1/CompilerIdCXX/CMakeCXXCompilerId.cpp create mode 100644 build-cg/CMakeFiles/3.22.1/CompilerIdCXX/CMakeCXXCompilerId.o create mode 100644 build-cg/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 build-cg/CMakeFiles/CMakeError.log create mode 100644 build-cg/CMakeFiles/CMakeOutput.log create mode 100644 build-cg/CMakeFiles/Makefile.cmake create mode 100644 build-cg/CMakeFiles/Makefile2 create mode 100644 build-cg/CMakeFiles/TargetDirectories.txt create mode 100644 build-cg/CMakeFiles/cmake.check_cache create mode 100644 build-cg/CMakeFiles/myaddin.dir/DependInfo.cmake create mode 100644 build-cg/CMakeFiles/myaddin.dir/assets-cg/example.png create mode 100644 build-cg/CMakeFiles/myaddin.dir/assets-cg/tileset.png create mode 100644 build-cg/CMakeFiles/myaddin.dir/build.make create mode 100644 build-cg/CMakeFiles/myaddin.dir/cmake_clean.cmake create mode 100644 build-cg/CMakeFiles/myaddin.dir/compiler_depend.internal create mode 100644 build-cg/CMakeFiles/myaddin.dir/compiler_depend.make create mode 100644 build-cg/CMakeFiles/myaddin.dir/compiler_depend.ts create mode 100644 build-cg/CMakeFiles/myaddin.dir/depend.internal create mode 100644 build-cg/CMakeFiles/myaddin.dir/depend.make create mode 100644 build-cg/CMakeFiles/myaddin.dir/flags.make create mode 100644 build-cg/CMakeFiles/myaddin.dir/link.txt create mode 100644 build-cg/CMakeFiles/myaddin.dir/progress.make create mode 100644 build-cg/CMakeFiles/myaddin.dir/src/input.c.obj create mode 100644 build-cg/CMakeFiles/myaddin.dir/src/input.c.obj.d create mode 100644 build-cg/CMakeFiles/myaddin.dir/src/main.c.obj create mode 100644 build-cg/CMakeFiles/myaddin.dir/src/main.c.obj.d create mode 100644 build-cg/CMakeFiles/progress.marks create mode 100644 build-cg/Makefile create mode 100644 build-cg/cmake_install.cmake create mode 100755 build-cg/myaddin create mode 100755 build-cg/myaddin.bin create mode 100644 include/input.h create mode 100644 include/main.h create mode 100644 src/input.c create mode 100644 src/main.c diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..8895fd4 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,36 @@ +# Configure with [fxsdk build-fx] or [fxsdk build-cg], which provide the +# toolchain file and module path of the fxSDK + +cmake_minimum_required(VERSION 3.15) +project(MyAddin) + +include(GenerateG1A) +include(GenerateG3A) +include(Fxconv) +include_directories(include) +find_package(Gint 2.1 REQUIRED) + +set(SOURCES + src/main.c + src/input.c + # ... +) + +set(ASSETS_cg + assets-cg/tileset.png + # ... +) + +fxconv_declare_assets(${ASSETS} ${ASSETS_fx} ${ASSETS_cg} WITH_METADATA) + +add_executable(myaddin ${SOURCES} ${ASSETS} ${ASSETS_${FXSDK_PLATFORM}}) +target_compile_options(myaddin PRIVATE -Wall -Wextra -Os) +target_link_libraries(myaddin Gint::Gint) + +if("${FXSDK_PLATFORM_LONG}" STREQUAL fx9860G) + generate_g1a(TARGET myaddin OUTPUT "MyAddin.g1a" + NAME "MyAddin" ICON assets-fx/icon.png) +elseif("${FXSDK_PLATFORM_LONG}" STREQUAL fxCG50) + generate_g3a(TARGET myaddin OUTPUT "InterF.g3a" + NAME "InterF" ICONS assets-cg/icon-uns.png assets-cg/icon-sel.png) +endif() diff --git a/InterF.g3a b/InterF.g3a new file mode 100644 index 0000000000000000000000000000000000000000..8ee4013722b878d9ca668a6a5e3db9b580d82a07 GIT binary patch literal 57872 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 literal 0 HcmV?d00001 diff --git a/MyAddin.g3a b/MyAddin.g3a new file mode 100644 index 0000000000000000000000000000000000000000..11d42c120dd1f35ce2ea1e1438457bb016f8001b GIT binary patch literal 57124 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 NVGm!T_n!IAKLE1}*zW)U literal 0 HcmV?d00001 diff --git a/assets-cg/example.png b/assets-cg/example.png new file mode 100644 index 0000000000000000000000000000000000000000..8826800383eeae92dade9545feaeb68faf0720f2 GIT binary patch literal 3816 zcmVP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+O3&uaw9nog#Ystdj!6~$8ku4jMy9O@%IBuvfbVG z%xuJ3BbQrM;sZ!zCOB^Y=ikTui=QN^xGc4mUW(@@_uS*)kLEvr_Urn57JRGk=0pz?8Lpl@yj`RxnoWB&Mc;yOMij=!$xc=ca@+UNTm zZRhM~cOw_VP@YXaQ@HmqJUAID-LDm1mACMBy|2!z`QcZ{Ot$>wwL%XuB!5B<>cR*o z?4Vp%SgbL}9V^!uS4{V_mTK&AC7(jd_6jG~)RU%`Vp?&hl(I|lV=dv%+wXiUG-lSo zqcJd8;46Rma)0;0KY5+AJTVHvf|;LKv91^`55dBi>^G0u&GX8e+yK8{A3yF(ViTju z4Rd3I!_Q}kDd7`a=>j0}oN#^c6{=d+;zdbjZecMYkpf>rl2C%LG1d@rij4#fRvuH1 zlMDors4Oz(lnS|N;E1{TP7U|jDDnB6QXxOoP^#pnr$MrE7VuMZ14BcSWDzM+rAe3J zN-DWXDWw*xxlvQiRcfiVw%Y4xspTfEwAxzhZS>d^B`Ll1+FS2^4CWl!4Hg;D-x^6y_bGobZvm&&>Vfyg6e1cX^BdBy-ME_kYM-bUXc)w{Nnh z#)Ru;?5RSFsZUfN&y3jkk6@2DdztfuUbPpPX4W%(*(Vwgs_t46L2B!$j@d^%t*0|f zgvRvj)mezP<>uZeCE~#}3Ja^uQDYvbq$o1HYUg%o>`=>Gxf|uy#+0YzlV;5&oLal< zgrbMGTUDY{&km^{7ClYS-BHhA(N38OXw#Vitf(XpE?OM z%j&E++=2Yf?s>j~9Nhuw?G?h&p+18%2cBXjZTm#$A%MkJ5pv4dhMl!n%n`bFpm}WsCc8Er0b*t z!XAr+b-;xun4x~Z6!0dJ!gQ;qQDVnf#eKQwE{AIzZIc0LixpLnpyT)bVn?4Hx3k?3 zx5hSIq3AZu-sYxMkel8w-ez5RJVV>suqm{fhufv>)h6-n&>ns!4~30-DAX$|i)sOE zK!cNSV6?N7Id-|L4hf=z79e=XhJq3MdT*#(Ep|}bZ}0*Aufad~q`_p6iXH$E*WP_4 z#|R?_YRlYbgvncjIG1KImLG+n`b5|n&LGvKz|~Dp)`BQ|O7@AmI~H`9kCGfv}$MCjmv&9zMD)fy1&5%ejuaKsY?l=;93w0){02=nmZlfS`+lp z7$zV)8+{FJA9bHPZxVJuc{Vx1QOlii`wWdWtyUSQ`9z^FCGOFd(I)1I5l@WGw6J+0 zVXUJPyWuX!#aXo&Nv^Ql;@1-(t$mW6{Cr* zAeqMy00+4QN8Q2Q$TC2|`PH*al)wz-~)g;AT z&R_7|MNFAj-{?l?rCyvVI%l5ehdWYWp@JiII1~!6TzeGixTL;Lo#tcl7R0WPKj;5* zdiU)tb-|RY!+~oNyh$HGEE@Qq_?AwoRxH)taK`8pkB-m2CJx5xcWmnNYW93-3Z$wS z110i1vrwZv=<(W$Bs_(LKf7=Wn$)(w(P+Ibb zHpJQ!^bS*5`pxO>Y~~l1i~}L;s?=!)uW-nGEKsa8JrmtMlYvU2DbZ^~iEFW-`+2W~ ze0>SI!s_rY-B>Pc*yu+Tvj=(5t-9#ZpOiAtf&JksqasgYX1Q@<8N1RX(u=?li6)CS zMuna==@rLU{@fME06h^p>Za0ViU!)4jG4g)B93&lXEXB+GMF*lfNf`bGQBU-%pU)6 zi+W$QJH120wAYlwl*g6i-V-k7x{~M%&GXurQT8U!HhzlE20_peq;brx!2zLzt?Sk{ z4Sc7x94w&NO#F17Te;pQ0L zWV%?36!WPb`lel1>!=Cl9P2iwS$vqFVxyQMy_*O$L>9xktOtUR%x_LRGohW)x|ysd z+6SS-8qh%{f_7$x*#vMA*(c$w=dfA9o|(-90ImwHI+bKiY(;)edWhenzLou01wQIq zX_r^|Lw&J%F=YG^mIduMdR|x6Xwits3^eChELycqxBi{_4#h2k68toL1gNdWo58x? zLFej^H3Bjt)Xm`e04cuHH-3na1-OmIj0MqxXZ!@x;URdp&Qhymb7m#;ApUEcT3++6 z=h1vHg>+`?H0-T_2I`F}dkZ{?(7PcmfN9Hg#$cqEs$(|rRB5D#;G!w8acQ7=#3^pr z9j}HNlb$G@8XccNv;H({i9H%a3|n}^YXc1(9ea+}d4>2IxTHNpKe07t><5OM8885D z?x*70ZN9Buuvl13-q2)Ym)1~Gf@Z*D2G6vbbcw^;u~krcG&s1BF(ad+`;ZX1Ju6X! z?I89nfw=%uwFYw|#5APXgw3|f)Bl27Fh$p09KMdwgN56Q+Sv^bhxY28++5DHlbbrt zE^4JY&N{$or1!T|w!Yfs3B7V8!OognxPk50K$9x;P_spVa=Y9JMce5Mxhz!|wsjoZ z%kT_^J^p5>Y8oAkeUcq89Ai-0sGVW&$@uh`)^4p~$A9$5Te2%X$HeB|XGH;;9d)~%eoP_jC zbnGZ5JmE~*XysOkbUMS|s44qY5_)|Cx(v-EJC?%MC>9>jJvIzjknP--ox)O@*T&yS z(OxakL}6l1(EMo?Nl#$^w}hfg>fnjTjAyf9!;X+X!%VA4!J=Bkk7jv|8=sBJyyYuA zIX7GLxveq^{w7%OCg?Q9WRyn5rDTVoW|JV}U@f{GT2dr9U%~DQIdXA`XOjNPnb3*G?M$3o!?#odf0zvH$=824YJ`L;(K){{a7>y{D4^000Sa zNLh0L01FcU01FcV0GgZ_00007bV*G`2ju|`2`wYY%fapd006K_L_t(I%VYfi|Nno6 zAq1Ehh8SQ$=G3k~#K6G7z|b6M2WMmBGcYhP{QmTVp(Eanfq{X6p<>}Kf)>HlB7=&B zyBNOQ|G+S%A&h7TGY(Xes93lQ?und+Rd8`ajvo*QBRduy5OO?*gVCcNR}x_5<6!vx z=?4P?0|T7h5$}dIc_2FupJRz}{Ll~KflR|ZiUI^fAMRjmNda4FfovgivcMJn_)3Z) eRZ5JQiUR=bBzf^!G-(0=0000 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 ag#Q8hHNm}t`+-sb0000 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 LNkvXXu0mjfMjhGA literal 0 HcmV?d00001 diff --git a/assets-cg/test.lua b/assets-cg/test.lua new file mode 100644 index 0000000..0f98924 --- /dev/null +++ b/assets-cg/test.lua @@ -0,0 +1,72 @@ +return { + version = "1.5", + luaversion = "5.1", + tiledversion = "1.7.2", + orientation = "orthogonal", + renderorder = "right-down", + width = 30, + height = 30, + tilewidth = 16, + tileheight = 16, + nextlayerid = 2, + nextobjectid = 1, + properties = {}, + tilesets = { + { + name = "test", + firstgid = 1, + filename = "test.tsx" + } + }, + layers = { + { + type = "tilelayer", + x = 0, + y = 0, + width = 30, + height = 30, + id = 1, + name = "Calque de Tuiles 1", + visible = true, + opacity = 1, + offsetx = 0, + offsety = 0, + parallaxx = 1, + parallaxy = 1, + properties = {}, + encoding = "lua", + data = { + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 + } + } + } +} diff --git a/assets-cg/test.tmx b/assets-cg/test.tmx new file mode 100644 index 0000000..9c6cf07 --- /dev/null +++ b/assets-cg/test.tmx @@ -0,0 +1,38 @@ + + + + + +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + + + diff --git a/assets-cg/test.tsx b/assets-cg/test.tsx new file mode 100644 index 0000000..f3652b1 --- /dev/null +++ b/assets-cg/test.tsx @@ -0,0 +1,4 @@ + + + + diff --git a/assets-cg/test.world b/assets-cg/test.world new file mode 100644 index 0000000..3507a0c --- /dev/null +++ b/assets-cg/test.world @@ -0,0 +1,6 @@ +{ + "maps": [ + ], + "onlyShowAdjacentMaps": false, + "type": "world" +} diff --git a/assets-cg/test2.lua b/assets-cg/test2.lua new file mode 100644 index 0000000..74f3c82 --- /dev/null +++ b/assets-cg/test2.lua @@ -0,0 +1,56 @@ +return { + version = "1.5", + luaversion = "5.1", + tiledversion = "1.7.2", + orientation = "orthogonal", + renderorder = "right-down", + width = 25, + height = 14, + tilewidth = 16, + tileheight = 16, + nextlayerid = 2, + nextobjectid = 1, + properties = {}, + tilesets = { + { + name = "test", + firstgid = 1, + filename = "test.tsx" + } + }, + layers = { + { + type = "tilelayer", + x = 0, + y = 0, + width = 25, + height = 14, + id = 1, + name = "Calque de Tuiles 1", + visible = true, + opacity = 1, + offsetx = 0, + offsety = 0, + parallaxx = 1, + parallaxy = 1, + properties = {}, + encoding = "lua", + data = { + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + } + } + } +} diff --git a/assets-cg/test2.tmx b/assets-cg/test2.tmx new file mode 100644 index 0000000..e4282cd --- /dev/null +++ b/assets-cg/test2.tmx @@ -0,0 +1,21 @@ + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + diff --git a/assets-cg/tileset.png b/assets-cg/tileset.png new file mode 100644 index 0000000000000000000000000000000000000000..dea6ad690c2d9834a408543a91b75baea96cc0db GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|^gLZ0Lo9le zQxXyq3{1O!oOfWesLf(kR^B-)v7uAw>|(YaDT6EqCIcgbfN66XnTt3dJiZh18mN=O M)78&qol`;+08@J)oB#j- literal 0 HcmV?d00001 diff --git a/assets-fx/example.png b/assets-fx/example.png new file mode 100644 index 0000000000000000000000000000000000000000..b26ba9ac37f37f0bbc06db263613c33184d47a12 GIT binary patch literal 3569 zcmV zaB^>EX>4U6ba`-PAZ2)IW&i+q+O3&ub|fhdh5xgPSpsjta(JFIJDBCqCkVf)ZI`>N zon>cc1OY<2y1Jsw`rm)I`42zQiZ?My$u(!oPpq-}#)o3xe%AATuQ?mf-wF6=*8l*MlQ{-?bC?mf%i z>+Y__j2rUZ)Lp{7OvAvAm%@20^Adg&pXIzNuVR}WF4}2_?YxGo&bwf@i*6d%+;+=N z-iI6582$3XyZ6I~bFBpN)sJ9<3sGNgdkHnnP=XJ`uMk2s!N1z#&bsxiH(X)m=@{xA zlQ|yw_GNxI;3u!Whs8(EsWVeLzQQi=H4aYQ81yg02#DKH+|qII%j@;WybEj~g6X)q zu)${gouViAhOKY_5Ez$uzxZ-8HERB#B(iqG7#9eE%`POD9mx0MTnxStpoZl>MBj;k zOUX}+^f81?YzjDHZJrT##`@&%by9`+q>zIUn;IIyiZOv7i3JR`6jDqnBflGy6>UK zo_g-mORv2R;4|V#BM%v6)X}D&VaAzeo-)gS`OT?XcrcJ8#)# z*WF&D_C)nBufGvB_e9N~Na;9vjT%=)bfPnbQ=Um0Ga}}rBjTbF0MK4zW{Zo_YveR$ zwtBK6d5laNo9S#bE)&AIoKM@m#_lb0KaQKh*T0LK|4HPGhVEa8oHr}{61PvHHkAp- ziP+6T^{EYHA7h#?{KMJ$f$^Km%eCD1YRT!h(W>ZsZp^cr{eGM|1H*oQ@80?4c|LzS z=H*fI&(=TVw!nQoG1X)uyE9(zQt=g3i6ecl+jq%p);?{>b1ce&tApBrGsyqa7Ek-I z%VGtWbYfGa&7JaIW9=@xPRTvbm89;KGGJsm;+XpGwTvA46g6ptIAzbs)^-J&>Z3JN zB$YrmbBE)NzYM#hCHf)9 zY29f_W&FyrRv2?bruf|vjZNW{(1nVIt0J|M`Ba7MUCit&G#2-6F2DOCP6Wb@-LuRp zqwlGOua7>7X-KkrUx^R~$)SNHwv<7&=}V4($k(Rtt;T~B-;(A=)78$cd*fWTR&Us_ zDB=p1ZR0kjUeE<7kPHVHJBO_sY<-M9ht$4u#vF)A<{EY^FeXi;Er`L|n{4Lg!zb^% zSl`#yv}AR?@y$1*C>$2EeB5D#V>o;6x-kcxO!cRAKza8ljI9LVL~#vD9C3twa$kmr zcGqt>t(*+|$v0*y{w(Tak$92aHGI>T>Pamfeby@^;?_}#sC793U{JxqVd|D6lb?-R9XY;a4*c1ZEwKWJqp@d9q8DnJFBa6${a)Fs6`w`i_s}Of%x# zrRuI45bZbPd{R8QeXI&Bla|2!wTH|YU3#4*S50Oe4{bX&^2r}xtQ3!*dSarki92}w zJObNuCHHYSZoW~l`HF)-qt*k~50Ae+ZGQYXm1-A30v8>OLMSD#5Fye*vReaL=Q1U% zj5qdxppnWX6GCjWk5C5-?W8ee2Dlr}^6+zksETj#gb77pk^p#(irZ}w-Xrnr0ugb? z6NVB~S3Lg#V&UajOVt2}*Y%^TgZmR!aB!n)>blh#rk~hx1JU%ZmxgIt<^W*TYn*#54V-pes zQezt!&h9UfpaD0YBqKr5r4h}Ra+07Rcu2KQ-X0$ks%h%ZX&)Rb5EdT^S($0CwbhGd zVq~AKUoRr5)N%cK5jBRpivAik{uCS0CD?fwNSnT80;-*TUSn73+_k!uu>y6-%E$+n zN~+<-UYwcnJ!sMm`{P$Tk&~x_X~M}@qwrC_pwoOEmvXh&4s45RC%2u^WmJt%=3Fod_`gba4ZB~;XTBok22Dj=}e@u^#Fc)nqFqiui^ z`=e0Y*78uw#>;D>-d>Gbln7Fp$`$ieH@EO#0f9rY+5N+9yB7bv38%-xF|D2#P}~y-v$n*b0AYNu1lY#78lU{2ywDB?#)%zx`P>0U?G=K7D&@bjFp&x^CMqs)& ztwfW1;otN-#u+jsm}y$3PmL-O=^MpcC@bmQ^w~pzIEi#ozF*;{+5aHU+KV|g`vc}w z4PDGVki!8Nbk57R2^!C+tb>7n;uHybTKZ|L2S1GYXA-{O+$a3?AR{#o*?%$V=k?w7<{AOqkBU} zC_EQc%$wy4*G$q|ylsapO zE+;n>O*XnggHKy!sU8E$^IG6;ll)B_%|rd)Iaq_E<>^|Jn5}xPOxKz@XRKwKP0ZCA z{Hcejn2%i2Px!18(9%+KtfmE~C`VIF$b?Gc+){1=Tf|+1n4TT#){U)Gx@wIKN=Nh*QA5qDLm#IPpgSQIM^(^P5)>yaGI3sVvpG;2L0rO53Kpus zKxrazfr8QF04l*eKBG?V+E9$gWtHY7&@{jKjM}8m8mJl;i_TwCp`s3hFd13xoGvU+ zo2u4;rxFIhMBK3cSWPK|V$@Q%k(=mTCI$S{uhE9AWU2!=t*i)9&y&WueIi@nAxUQb{IpU90*$%{(kRBAmtM}EzXH{Ddg(6|JKnIm9FmxqAi59FJ zSPA^GS`D+si9YJ0r)6#CwrCU`y|G_*t(1U#b8ut*o*OR|%+I({Wg7tqND=*$yYNqI z7$U#xx$MA4k&CvCsHnAP)B0aFOo7UxbBI?*%K_sT9WDaYkmTCp=?Q-7+B-lBv4MiE z|BHgRsT`AnIjbJ~xn7)}{snTzo|BGvPC7)z=!-PcG`QkO|1a#wBgB!OA3bGEbKogs zdQx%f7*$L?ba2F48k=18=;HRMjYcP0fCkqcer#R<7UT}MmRaEWf}BKc!G;cTm&G{L z>p8DP?9!~{Bd$m$i0`(+>z>MJ&Br}3579*&t%XV_Bnwh)y;PI+e~$OR|ocW<4Kc4xuPM=C| z5267ntyWQj%Qbhmv=G~v565Hoa`BDfQ!&lHKMUl`Jq=VW>v7;c3|xIvF+LF_O4L`9 zn4?L)lO)G8<+s=}f99Dt$Cy9!j5`p zaB^>EX>4U6ba`-PAZ2)IW&i+q+O3;uc3ZiUg#Tj|y#&m|axk9LJLu*27r3M(yKLF@ zx}_>pqR4xJ93mn!L9_qozmNGZzDmv6#Kc3(+42=zY`*hDwVz-6_4qvJY`p)zzufCz zXTJWS``4d6&jcRB^J|H(=fmsy_l5GuBNzI`A6)wB4dLVd{_BlP|G2ULVMU?2ZNGli z&;QR^^_>0euE&fS^0TSu7Uq2!UO2E)xNpmR7yeKDT<&+{yV`E2i+0&*2j9~*=UuSJ zMYoLW?zrt1kJC-o82$EzNAIT(_qiI1Z+-?FT!{L1$CuE;3N`pJ{SF~S6a2?o+`VtR z_nWSA=jC{*cU;WzmT$k!pI-1c-{(w=jhvG)yT7(#U0y-JGUPe^%gb_T$c+2Vb1 zE(Tw5P-o>nL_hF=OUW-5>0<~P-&Ep=d-I;+?rVMW&-0`T{z)N+f^S;rI4j0P{FGRU zp`JpDDW#lBs;Q-Ja>y~KoO8*_xn4qvC6!!Csil=(Lya}nTuZIB)!uvyq-1Kjl~!A8 zy>rhVO;4S7cV5x^@FR>k(#WHXI@;)y@R@O@nP-`Gw%M0oVa1hJUS-wQR^M(DN@mBM zcHU*z-F833+6gC~bn+>uo_6|&*Ir)z$M?VRntOT8Ur*_E<-=<{TZ%4pFX4nUNj}44 zJ~}*Jb(H08ojSwWHIG#SPvsDb{z8uN zI#9!}G<359c$HOLH(1AE))o5hMX=aP0`U5DW%gRPm0P#&Im>A5@uc|Ljs5y)o*zcV zAcGy3yD`7m*a2(zE?Bs?)}G0beYtA!Y|&9SF4&G_SHBI%LOas-+!XA;L7 zz(3vflP1CM>RjiLA~U7GzS!^WX#V}Ze|>B7+l}x7*lCR%=HIz9!)ksw0iS z8cU)j*|rgWWj*1?vg`m29LrMlVUR(RI^eyTJP1EhlJIMB+s3L0KkEoT`wqXcOFY%4 z?b9kFwc}PgEQ};yyC>MlZ_`K|@(A3B$M>2K^x~RzwYfGO0Je7?yN<_j{$)Ts;d(qF z^;1cK7z)5f1Y`Q+a%;sOHybFJFryP*!gsTJdqU$a;KFuc9Af$)3`*Yxp)*N>vkj}T zVXrqD;3%%yOI?9zVJ!hduxns?xv!D^b)+y_tUJ_wHW(RU*71P;?*Ux9Kb~@<1}9jR+hsR z6pP)|mAf<#7}iRiW3q7*CRW>E`&8JF)r;7e03?WhGL}}f=IC(+(Ht*!aaAQq^`$B; z?5-)AW%c8+Nk1q_LfQ@y*V+H!E{k9oh_f-h(qmVm$LGeau^ayJZsfYU6kDu4O$MI7HqAwFuA-Mm?^5A%aiBm^X9oLv=wb0@;+NF-@e6{0o-Yis_JtxuMHyIJQL^`N zUC;Sw8cDa{iF5rzUJ7H6Zfg%~o~MmAGeVa@xA0X3AGiYvo{m+7)^t~EW?Mr_JYW+b z$$?ATPkzivce4EJJgdc3q3qRe-Xo~Fzxb?AT>XW}x%+(dp^B!1w2uiWg>%?!lVlL>Es?`y{(62VlIeo$bhd;^4Q zYIha*Aot1MOcDgcueMZaE>Nq)3FAlLoGf2;*bG`FR7(J9v5te1Ba#J+%>(Epm1YY0 z8O8%s-pE!D?d)&u|=Zag5nnG47P+D9N0 zoS>Z~jF;!()pj@1fLvmXlme+DY?((4Gblub@?^q_CP%Q@9#%2Hzu25ZHQ^)&N;Oi9 z``b-ii-B6g=s-UyvbGP)?Lzt!=tL%^Xa(!boE7VMNCDP|i~B`1tQQodtVc9XNLK|2 z*X05cembIpCEFT;h=knetAhY&+qIJ6{5eJgEK{f%kx%6UOgaTqy!=Oifj2kZyGuxW zm=@U)FBkx11;5udCP?ETQIg%+u@BT+dG%3VtSr&QT_LK{mX8DLvK`~tmP9Jy)Wfhl zI*hwV+Lz+rp=9k7OeE0_CvhneLHM>CTQwR7=G;F--%*>a$nScWUt1U0+jwkwE(QJE z*KRxX!}ef$smCe=%mp(dlx+74{~#gLI{b{=6KGU(jyRO4M-2g8t^${EOmsn*(p72m zC=E$CZGO6RNa$lT?szUdi?ag4u7Ek6vKM4jpn}PL`lsNc3wubo;C`A;Qab0>Xz0;1ud zcv?WQ8wdzpDXTNtR8>$3sJ!5y%qRLuZ!v}vALYyg0jwx5sCdY_K z6xkCHKV#yLkZAsdiCRN$Ln&elw176R%byrm$Reib`8D;0KDtsA32ODOPa(SEhhn^s z%Acb3BOPZPuh1B(3mw&@LD(TnvB4v%NTIi=LZ00S%Ls`lh3>}R5)onPo`RwgkfCO`}m7KtzHk%~g z#F`knA6u!vx{B)a=kw-8FPbQ!)g5O-1P(*Zls1n-kgGieO%TYWzhs@=TgxEN} z;>I9qI};r?CrC?)Mm2kiBaI}Ukq0=25*;ZL3Np#yLaAf2X#2{Z2dPNi!gITkPZeQU z=gb|>rw;a(%K#*#IT^07Tc}*PrkPpZbmY9MNrFWL##>r8Fbbalft4D&LVAxnkEYjz*2`)CkTMOWne0_Yc8-6Dl#ZD*@bqy zr1~F;44^*j3xQw4CZVKKqN?aEP-tdI!;W>UE3zxM($xiOYS+31%n|viL-d_E4Bc-_ z5tNbKq3wkM)<)$-LZr# z+(sH16-Hu*)jbe@M#nFzVNY3S>!FfhUl)lkfOs~A@I=zD!){wYvC^$B=G(5egyAm z_p|kW!8m;dW8PlWY9?k}T7D#baaDp9dOs%JloW~pk zWhJPspHS;yxgs|L@Zsw0J)OF5EV<<;Lb5;zd05o{c$68c8{qhD&1?Qt^!`}$b|G_o zla5n%qG~YFG-4e9d_2O*_scqz1;lurHnfpk<;z*K_hx>Tej=c<#FsV$3`uNTvGd&m{ zGdKnUM}p+m!u3QouMr}|x7u3d0BW1JYLBBYZ%&FsqKTI)5(mm;B)Bk9V{3_SiFhFg zTt^iHeSEf!Lwic1S0_Sf?H^fu#SQvi4O#WrFRZ=51VnC2lRorPe&>Detuh_eHLi8Q$b#NWZQ@uj#5%tHBLb_Vnba{ zWZxPZL(E!vI))H(+?%v+lOp$pGN6f$X)r~A zjguPCooKHS*d(&MgtU=@2DW}1`hOAm$elAy03hGpL=-$}O?=(5oh-y2PC)ClXyQ3n zz$d8tL^Vl_sI#Mjd6aDUA3IP-P(3tIeiATLkYpXJ35@3A=~k%qPYDg5kt(_nN?VyRC7T zC@fQhQsFWJYk{?8p!pFI+uu0Ey(l;o2sYt?>Lx6NI6g;@Yd-O)jsug0cW1y#30?9! zW*! zy+}MCa`RzTvab>~5~vY0x%w1QcJ(P4I2>N3YyujRp_r!198%%2y*DON^K8tX#JbrS zH4z)ru!vo;HX_h4APn{_xvYyeH+CV3p4O(PGcfTz?%B#ZfWcWcqRN?}WrHijN{4)4Qg)S-nuO*~$69_r;)WqQr((vDdhBsG2_C_CfHs zeGto?gs6JI?SpzNM$NqdZg<-UqE1#c9kh_C*}6K4jCSu%zcfzs?^GqYJE}tqXMYEFPf^q-S=xk#(Un2QTum1;{7g2 zo#f)pkXjIOAa7&ZB8X3U3;yT+A#dx`*n7)cr0{5xw-V9WI1LBYOnu=GHqO!mFZ>C& z3GThW_=D&I4{x-USxA=BA0*#Mzwhhbj6@sSkn%BBa z#X5^-iUrGTHRMhT3&o|mDR>*Fj(8XZlX{d?>F}Muhcpnv8`?)!xQW8v)@tBzH4}yI zYhak&Q+N7jURcaiuqw=NE8-=&RO5^8ueD#T2vxps@t_gctMYwm2lJlEe4k16HNJeD z@g88l94$8^v|vCrS||hi+_zBgF!H1nNn5?j;vB!-#_aA+{W1;dbckjp6>Eys?VDjY z6r-r`jfIKJ#Dz&y9U}r;qs}Qc-qkX-poT)rdQ7`hq_neB=NX;OEKt*GdWR#6`hfFs z_Y;O1y#$HUb&pUc#~r%YpblG7cd-OPa7H67myOOU;Il-%-UjY>;BT;kUiFQrbEMYd zOSS#xQORY(_$Uxm(fr(f9=9c8-wo&Alw`QxsD*d0Y^A9mSxp)gL^1d>)B+~Fo{HSY4jl(Z81ilCYXPEnHpJf;viUySvb>SZYD#wAFa%GIX+5s9R#MrTlJp*Yq! zasbicb;5|+E~;$=Nok^r*S8KGDtDjI)8y_sra|>{k7*357-j!P8b32YCFJjuAin!u zn%;crcRj-1kPN5Q*NpHNcY1F0^hRBny1Isp%8=^!tDQ#~1+eK6-QCD@J z&1fC(SaY`9j3z6v_tT6XMD6Ri0%evs-KtW>#iSzZ&Quf4CujRO=rNzuBrPK;_by2J10uo@4?|7eTvKgv5{|6{#XTXRP*hT@WIIGS`*H{Ex^zeAchxnF zv~OX_C+?wf);*Yn1ong`$(3C5x1ENtR}zRk(yvm=e9fu%h}Q{=J_o!-Ct^XMo$c?9 zZhjo?{=#jq=;-Ht1m+IKyN>R?Pr!6fQByvSz_i=xP0taSdxk_uU`lde`hq`lZg8If z-oNmjmFctq`IB|B&Z|jKUeKPNk-UB70R*8u2x+HV>5>K*xE_{qU~Z*BuA|{pqcdaF zc^YdEUW#f0DLFB*;slV$;iG;f2~&?@$}% z5#j2XYG7rnW@o)=A?Y4QAW_Vmw+)~J=iswW=fG@W6J=$BdCooIQFPMtQ^Nd8!I-87 zIU*cqT54WIh9)RZXWtyfs?M`FcE|f?WP9`CoE@+bz&dZE^&Ubrw;<2sb+C%!`Xy|1 z4Dp6H2|CK1`w&x+a78(7Dla?%HYcfO1*O5bJ5C*sT1RIUhDODGb|4)yqIF5czDoQ< z9!|VQ^k5ww(rR!oS%u0%MgUo8;~Rqo;Y4gLyooz4Sf}~}p{^rFZ3d7c7(76>k}S{o z;1+XSECff|dZt^#!hsqgzJiq~kNV^Qu@UPG^%hO)&}Krk-}4BP8tO3K^9VW_ z6b}UC@LUSbIP`}?P)DE#+TflHB7NlbtdqrRvplTq%ggT5-C>!^gBYIjV3|9w(|}SK zg4w7*I`zStB;R`VV!k7(d$Mc9Wgx5h6y6%Z9UX_7&m82L&-`?a*A*0kKN6j}pMtp6 z>Sel1bN0!I+w=IA#NEePE@wW%;uRFnVXhsYR+ci-<%jV-;%loy@R~f{b2A%Fg2gL~ zHTU2Q>kMpaQt!roQ4Swq`ggW|R?jmu0pEs`(x@#j9gmEo2Lh5Gwv@w;I)#~eG(9XFQ*(1V^fAW#?mfb;dWq_QTZv=b?Q#(&uFm2I`FTl8cj$No(pjEOltf zaS?gmMD57mL(&jOq(ZL=VUNmU!B*#lN%hmav||RP_pDFojUIKTZWF$hazuSd4b4st zN%L8)>Bm97=J;2Of0?G7^BScH_W*FUG@f$&TMN8I&9_K;jE*~8$CUru1vqqXLlk z<>vH0SN1DyVE!Zyqz%S?wApvM)^r@dUuS2|hxb+fJ^t4@y8GtG|8MWBh<|yX%iw<< z8~WmXADL1u@6YPvkI=M-~ zpqw_W9s;;(H1x1_vW2m-4;K_e@IrE#((ERJmnQuRm^Di!E{`}dezq_0nfB8|WKV8oJjcfnra^~+N<@?K- ze;ateyPWyY;`pDJGvE5+A)@slsE)y*P}cJtZ{TfEM10PSVM$2vUxDC({W4 z91S=*5V^k$%2A$;HRt_vZg8O9mCP~la+~AVI8|uDub-HePtM zS09OrPpwFPNG=9J+cXIaajQ~64CT4I+3M0}w{G6Sc(C#4 z#iM%i=CK#)!M{Oz@(<|2fOr+fYn<=xkH(f#PYydf^S$|I-rG0BZq}Ohl$N4IG`hk* zFHB;oOq6aaT&5gpG)v=jB8*c%kGFCMzNnh6?H{RIj4Lckg<`VC>s&z>+q|C1q0)9?r5YSKVm!X2SEl9EpSfdLMo}f|37<@jJGt5A4E+gkMeX zP!>K_0A literal 0 HcmV?d00001 diff --git a/build-cg/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_CXX.bin b/build-cg/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_CXX.bin new file mode 100755 index 0000000000000000000000000000000000000000..5d870bd4e309bbcb0026b56e9e50a735d261780a GIT binary patch literal 1440 zcmcgs&ubG=5T0zK)*qC{Qcm-zjeGWkyz*;^PbTrmfmL+o3-{`T$s&mVol4Quzk;NHGI9cxLB^0#hfvtFBxIAX*mt_gZckUb~bl5tEJL( zcC2dL8P669xk7H@z|GZ6P@n2AllWeUvBsAB%>s;PUjVrO@sOoy?;G%$uzpw#3lX;E zJEqYPF9i2Z*$_YEyGMQ?#7}`=0Q02se$Nt^zvpEFbN=;j_)P*c{}nK5)Ow7cv(FNo zn%+j|3-^1MsOR>$eAdz}bJZ@@>m{$(KNI~@|@Zmn?DaaTN%7$Fs& z48r>}BrNBiu-%qpx&dKI)g=gPj+AS5l5jdu?f2u+k6g{m7H{BS|^mQ%fMvOXQkfyKTEt-QPdH&Vq;5 z68;hD#y8-r`GRHP8DhBrWgdFO^Oq{Zx1f>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if !defined(__STDC__) && !defined(__clang__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif __STDC_VERSION__ > 201710L +# define C_VERSION "23" +#elif __STDC_VERSION__ >= 201710L +# define C_VERSION "17" +#elif __STDC_VERSION__ >= 201000L +# define C_VERSION "11" +#elif __STDC_VERSION__ >= 199901L +# define C_VERSION "99" +#else +# define C_VERSION "90" +#endif +const char* info_language_standard_default = + "INFO" ":" "standard_default[" C_VERSION "]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */ +#if (defined(__clang__) || defined(__GNUC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) && !defined(_MSC_VER) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/build-cg/CMakeFiles/3.22.1/CompilerIdC/CMakeCCompilerId.o b/build-cg/CMakeFiles/3.22.1/CompilerIdC/CMakeCCompilerId.o new file mode 100644 index 0000000000000000000000000000000000000000..f27783caad9853b7af187acf7ce2253f1fd206af GIT binary patch literal 1512 zcma)6&ubGw6n>ke*8Vs&O~Hex0Yz#pn`{w)AswB0YFeEYh2PZ+2$8O(FP_H~W3_&Agp?Z)SJzJzO<11|??D0&uD$ zSC;&i95GK*G+Fw-d*uBVgBN@Gx@?==ex-bA-)hY=etg+l6f^AtXqk(H`D&W`-9z0;5XXtLw*K#;BVLJtLw{czrWq>xj~~= zf7&EE)n~tSgRtv+jj}Y$GGkCqKp9iwIomxEb^M^;XvSOw?M;otNO+D29NTd_Vy721 ztUJj(_f_P2{E{$H*XvMg)#`F_9*eqB#C!2Vyy&bYwa(GsUuije>KqV(<9}ixV<$|C z=Z5$=_?+s?<>UERRo@agkGJ4CcBNN<&!_kU;OP|K0-j0ncff4Nv%KEwBeCUHtEwVv zj@c%=>veov7fDf77R7Yt73IV$*c0Byj@WSR;Q|cnXNy2~UvxdWwgaMZo#$^v6B-{9 zO=|oD+t&Ce(UitV*uKUHHl{IhmSE&7!N^sDktc=C@O3{DEi%I>h@YDp1#VB65!O$p zgpP;=nXNDc_hW+O^<6KLd->m{h=IITeJ1z|atznTHD|jBXIz29vJM))V|)g9K5Jb6 zn~JM5Xe@&3vjr%}@$@BV` KH5Qb~asL3EmijIL literal 0 HcmV?d00001 diff --git a/build-cg/CMakeFiles/3.22.1/CompilerIdCXX/CMakeCXXCompilerId.cpp b/build-cg/CMakeFiles/3.22.1/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 0000000..25c62a8 --- /dev/null +++ b/build-cg/CMakeFiles/3.22.1/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,791 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__COMO__) +# define COMPILER_ID "Comeau" + /* __COMO_VERSION__ = VRR */ +# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) +# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) + +#elif defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L +# if defined(__INTEL_CXX11_MODE__) +# if defined(__cpp_aggregate_nsdmi) +# define CXX_STD 201402L +# else +# define CXX_STD 201103L +# endif +# else +# define CXX_STD 199711L +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# define CXX_STD _MSVC_LANG +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_standard_default = "INFO" ":" "standard_default[" +#if CXX_STD > 202002L + "23" +#elif CXX_STD > 201703L + "20" +#elif CXX_STD >= 201703L + "17" +#elif CXX_STD >= 201402L + "14" +#elif CXX_STD >= 201103L + "11" +#else + "98" +#endif +"]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */ +#if (defined(__clang__) || defined(__GNUC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) && !defined(_MSC_VER) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} diff --git a/build-cg/CMakeFiles/3.22.1/CompilerIdCXX/CMakeCXXCompilerId.o b/build-cg/CMakeFiles/3.22.1/CompilerIdCXX/CMakeCXXCompilerId.o new file mode 100644 index 0000000000000000000000000000000000000000..26a8013039b7a5b4817184f4f21ef5d3da67b69b GIT binary patch literal 1472 zcma)6&1w@-6h4#0pW1>=Q$(<6a3QVABoj)7P(%ne25O3;5Da0w$xPZ{GLz0sMK{)k z&)~{O@Bv(Q;lf20R{8*9z`ZDL^*eXwPNyw|9&&EJ@1CD~=A1jTdw+dROKB8~MmK>I z8=3QxFH4U_nx+edpSypY-(tKy%GTxD;`Ik*3;Rp$ImVB!8n?x4C&#!w_C}8jrBzt3 zPqKbnm=JksQsn-{NmiNl+Vk9-8F%dbMg3Fpvl7iGFvADX2GoMSt<~2y${lww?DcK0 zS*<^95gpkxU)rAEbDd^Uiecy>D8`_OkT7Q07eUwc2F+H;h1c0q*bjtb3C}VuyDN73 zLDRSs$Jws}+u=j}*t$`NwOXl^^NT2IDUWk;APzby@faQqGh|)5;Knl{^vk$MH`uHn6C_;VU2hVnD3L~Pk?6;CIOAljt+ffxR7 zDdgFGp$90LbO|jH2-4fW5AKEp9U9mUcm4E|hbz~u=D!Sl09C^CX1M}od=Cmq^SiYQ z<@s|w+j#bTXP8I#Ph#V9ufPEdVD)^?U`Jj8maeW4{j} zma97VE*SeoZAg>6csTx`%VYx)l5?+w?(`S@-#k7@&=)JH7Ib2%3aUYVp{ MdJnt`RU-ZV16C#O9{>OV literal 0 HcmV?d00001 diff --git a/build-cg/CMakeFiles/CMakeDirectoryInformation.cmake b/build-cg/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..47e8cab --- /dev/null +++ b/build-cg/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/massena/Projets/interference") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/massena/Projets/interference/build-cg") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/build-cg/CMakeFiles/CMakeError.log b/build-cg/CMakeFiles/CMakeError.log new file mode 100644 index 0000000..4598933 --- /dev/null +++ b/build-cg/CMakeFiles/CMakeError.log @@ -0,0 +1,28 @@ +Compiling the C compiler identification source file "CMakeCCompilerId.c" failed. +Compiler: /home/massena/.local/bin/sh-elf-gcc +Build flags: +Id flags: + +The output was: +1 +/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/bin/ld : /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/crt1.o : dans la fonction « main_k » : +(.text+0x5c) : référence indéfinie vers « ___setup_argv_and_call_main » +/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/bin/ld : /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/crt1.o : dans la fonction « atexit_k » : +(.text+0x64) : référence indéfinie vers « _atexit » +/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/bin/ld : /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/libc.a(exit.c.obj) : dans la fonction « _exit » : +exit.c:(.text+0x8) : référence indéfinie vers « __Exit » +collect2: erreur: ld a retourné le statut de sortie 1 + + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed. +Compiler: /home/massena/.local/bin/sh-elf-g++ +Build flags: +Id flags: + +The output was: +1 +/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/bin/ld : ne peut trouver -lstdc++ +/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/bin/ld : ne peut trouver -lm +collect2: erreur: ld a retourné le statut de sortie 1 + + diff --git a/build-cg/CMakeFiles/CMakeOutput.log b/build-cg/CMakeFiles/CMakeOutput.log new file mode 100644 index 0000000..8219e66 --- /dev/null +++ b/build-cg/CMakeFiles/CMakeOutput.log @@ -0,0 +1,320 @@ +The target system is: Generic - 1 - sh +The host system is: Linux - 5.15.10-arch1-1 - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /home/massena/.local/bin/sh-elf-gcc +Build flags: +Id flags: -c + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "CMakeCCompilerId.o" + +The C compiler identification is GNU, found in "/home/massena/Projets/interference/build-cg/CMakeFiles/3.22.1/CompilerIdC/CMakeCCompilerId.o" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /home/massena/.local/bin/sh-elf-g++ +Build flags: +Id flags: -c + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "CMakeCXXCompilerId.o" + +The CXX compiler identification is GNU, found in "/home/massena/Projets/interference/build-cg/CMakeFiles/3.22.1/CompilerIdCXX/CMakeCXXCompilerId.o" + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/massena/Projets/interference/build-cg/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make -f Makefile cmTC_fa66b/fast && /usr/bin/make -f CMakeFiles/cmTC_fa66b.dir/build.make CMakeFiles/cmTC_fa66b.dir/build +make[1]: Entering directory '/home/massena/Projets/interference/build-cg/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_fa66b.dir/CMakeCCompilerABI.c.obj +/home/massena/.local/bin/sh-elf-gcc -DTARGET_FXCG50 -v -m4-nofpu -mb -ffreestanding -nostdlib -Wa,--dsp -o CMakeFiles/cmTC_fa66b.dir/CMakeCCompilerABI.c.obj -c /usr/share/cmake/Modules/CMakeCCompilerABI.c +Using built-in specs. +COLLECT_AS_OPTIONS='--dsp' +COLLECT_GCC=/home/massena/.local/bin/sh-elf-gcc +Target: sh3eb-elf +Configured with: ../gcc-11.1.0/configure --prefix=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc --target=sh3eb-elf --with-multilib-list=m3,m4-nofpu --enable-languages=c,c++ --without-headers --with-newlib --program-prefix=sh-elf- --enable-libssp --enable-lto +Thread model: single +Supported LTO compression algorithms: zlib zstd +gcc version 11.1.0 (GCC) +COLLECT_GCC_OPTIONS='-D' 'TARGET_FXCG50' '-v' '-m4-nofpu' '-mb' '-ffreestanding' '-nostdlib' '-o' 'CMakeFiles/cmTC_fa66b.dir/CMakeCCompilerABI.c.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_fa66b.dir/' + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/cc1 -quiet -v -imultilib m4-nofpu -D TARGET_FXCG50 /usr/share/cmake/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_fa66b.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -m4-nofpu -mb -version -ffreestanding -o /tmp/ccAGb0pJ.s +GNU C17 (GCC) version 11.1.0 (sh3eb-elf) + compiled by GNU C version 11.1.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version none +warning: MPFR header version 4.1.0 differs from library version 4.1.0-p13. +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +ignoring nonexistent directory "/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/sys-include" +ignoring nonexistent directory "/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/include" +#include "..." search starts here: +#include <...> search starts here: + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include-fixed +End of search list. +GNU C17 (GCC) version 11.1.0 (sh3eb-elf) + compiled by GNU C version 11.1.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version none +warning: MPFR header version 4.1.0 differs from library version 4.1.0-p13. +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +Compiler executable checksum: 541455af7e35dc599ac03c56a02c3dbd +COLLECT_GCC_OPTIONS='-D' 'TARGET_FXCG50' '-v' '-m4-nofpu' '-mb' '-ffreestanding' '-nostdlib' '-o' 'CMakeFiles/cmTC_fa66b.dir/CMakeCCompilerABI.c.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_fa66b.dir/' + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/bin/as --traditional-format -big --isa=sh4a-nofpu --dsp -o CMakeFiles/cmTC_fa66b.dir/CMakeCCompilerABI.c.obj /tmp/ccAGb0pJ.s +COMPILER_PATH=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/bin/ +LIBRARY_PATH=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/m4-nofpu/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/ +COLLECT_GCC_OPTIONS='-D' 'TARGET_FXCG50' '-v' '-m4-nofpu' '-mb' '-ffreestanding' '-nostdlib' '-o' 'CMakeFiles/cmTC_fa66b.dir/CMakeCCompilerABI.c.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_fa66b.dir/CMakeCCompilerABI.c.' +Linking C executable cmTC_fa66b +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_fa66b.dir/link.txt --verbose=1 +/home/massena/.local/bin/sh-elf-gcc -v -nostdlib CMakeFiles/cmTC_fa66b.dir/CMakeCCompilerABI.c.obj -o cmTC_fa66b -lgcc +Using built-in specs. +COLLECT_GCC=/home/massena/.local/bin/sh-elf-gcc +COLLECT_LTO_WRAPPER=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/lto-wrapper +Target: sh3eb-elf +Configured with: ../gcc-11.1.0/configure --prefix=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc --target=sh3eb-elf --with-multilib-list=m3,m4-nofpu --enable-languages=c,c++ --without-headers --with-newlib --program-prefix=sh-elf- --enable-libssp --enable-lto +Thread model: single +Supported LTO compression algorithms: zlib zstd +gcc version 11.1.0 (GCC) +COMPILER_PATH=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/bin/ +LIBRARY_PATH=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/ +COLLECT_GCC_OPTIONS='-v' '-nostdlib' '-o' 'cmTC_fa66b' '-dumpdir' 'cmTC_fa66b.' + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/collect2 -plugin /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/liblto_plugin.so -plugin-opt=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccgKnDgb.res -m shelf -o cmTC_fa66b -L/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0 CMakeFiles/cmTC_fa66b.dir/CMakeCCompilerABI.c.obj -lgcc +/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/bin/ld: warning: cannot find entry symbol start; defaulting to 0000000000001000 +COLLECT_GCC_OPTIONS='-v' '-nostdlib' '-o' 'cmTC_fa66b' '-dumpdir' 'cmTC_fa66b.' +make[1]: Leaving directory '/home/massena/Projets/interference/build-cg/CMakeFiles/CMakeTmp' + + + +Parsed C implicit include dir info from above output: rv=done + found start of include info + found start of implicit include info + add: [/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include] + add: [/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include-fixed] + end of search list found + collapse include dir [/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include] ==> [/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include] + collapse include dir [/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include-fixed] ==> [/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include-fixed] + implicit include dirs: [/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include;/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include-fixed] + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(sh-elf-ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/massena/Projets/interference/build-cg/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command(s):/usr/bin/make -f Makefile cmTC_fa66b/fast && /usr/bin/make -f CMakeFiles/cmTC_fa66b.dir/build.make CMakeFiles/cmTC_fa66b.dir/build] + ignore line: [make[1]: Entering directory '/home/massena/Projets/interference/build-cg/CMakeFiles/CMakeTmp'] + ignore line: [Building C object CMakeFiles/cmTC_fa66b.dir/CMakeCCompilerABI.c.obj] + ignore line: [/home/massena/.local/bin/sh-elf-gcc -DTARGET_FXCG50 -v -m4-nofpu -mb -ffreestanding -nostdlib -Wa --dsp -o CMakeFiles/cmTC_fa66b.dir/CMakeCCompilerABI.c.obj -c /usr/share/cmake/Modules/CMakeCCompilerABI.c] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_AS_OPTIONS='--dsp'] + ignore line: [COLLECT_GCC=/home/massena/.local/bin/sh-elf-gcc] + ignore line: [Target: sh3eb-elf] + ignore line: [Configured with: ../gcc-11.1.0/configure --prefix=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc --target=sh3eb-elf --with-multilib-list=m3 m4-nofpu --enable-languages=c c++ --without-headers --with-newlib --program-prefix=sh-elf- --enable-libssp --enable-lto] + ignore line: [Thread model: single] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 11.1.0 (GCC) ] + ignore line: [COLLECT_GCC_OPTIONS='-D' 'TARGET_FXCG50' '-v' '-m4-nofpu' '-mb' '-ffreestanding' '-nostdlib' '-o' 'CMakeFiles/cmTC_fa66b.dir/CMakeCCompilerABI.c.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_fa66b.dir/'] + ignore line: [ /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/cc1 -quiet -v -imultilib m4-nofpu -D TARGET_FXCG50 /usr/share/cmake/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_fa66b.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -m4-nofpu -mb -version -ffreestanding -o /tmp/ccAGb0pJ.s] + ignore line: [GNU C17 (GCC) version 11.1.0 (sh3eb-elf)] + ignore line: [ compiled by GNU C version 11.1.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version none] + ignore line: [warning: MPFR header version 4.1.0 differs from library version 4.1.0-p13.] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring nonexistent directory "/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/sys-include"] + ignore line: [ignoring nonexistent directory "/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include] + ignore line: [ /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include-fixed] + ignore line: [End of search list.] + ignore line: [GNU C17 (GCC) version 11.1.0 (sh3eb-elf)] + ignore line: [ compiled by GNU C version 11.1.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version none] + ignore line: [warning: MPFR header version 4.1.0 differs from library version 4.1.0-p13.] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: 541455af7e35dc599ac03c56a02c3dbd] + ignore line: [COLLECT_GCC_OPTIONS='-D' 'TARGET_FXCG50' '-v' '-m4-nofpu' '-mb' '-ffreestanding' '-nostdlib' '-o' 'CMakeFiles/cmTC_fa66b.dir/CMakeCCompilerABI.c.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_fa66b.dir/'] + ignore line: [ /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/bin/as --traditional-format -big --isa=sh4a-nofpu --dsp -o CMakeFiles/cmTC_fa66b.dir/CMakeCCompilerABI.c.obj /tmp/ccAGb0pJ.s] + ignore line: [COMPILER_PATH=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/bin/] + ignore line: [LIBRARY_PATH=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/m4-nofpu/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/] + ignore line: [COLLECT_GCC_OPTIONS='-D' 'TARGET_FXCG50' '-v' '-m4-nofpu' '-mb' '-ffreestanding' '-nostdlib' '-o' 'CMakeFiles/cmTC_fa66b.dir/CMakeCCompilerABI.c.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_fa66b.dir/CMakeCCompilerABI.c.'] + ignore line: [Linking C executable cmTC_fa66b] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_fa66b.dir/link.txt --verbose=1] + ignore line: [/home/massena/.local/bin/sh-elf-gcc -v -nostdlib CMakeFiles/cmTC_fa66b.dir/CMakeCCompilerABI.c.obj -o cmTC_fa66b -lgcc ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/home/massena/.local/bin/sh-elf-gcc] + ignore line: [COLLECT_LTO_WRAPPER=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/lto-wrapper] + ignore line: [Target: sh3eb-elf] + ignore line: [Configured with: ../gcc-11.1.0/configure --prefix=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc --target=sh3eb-elf --with-multilib-list=m3 m4-nofpu --enable-languages=c c++ --without-headers --with-newlib --program-prefix=sh-elf- --enable-libssp --enable-lto] + ignore line: [Thread model: single] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 11.1.0 (GCC) ] + ignore line: [COMPILER_PATH=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/bin/] + ignore line: [LIBRARY_PATH=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-nostdlib' '-o' 'cmTC_fa66b' '-dumpdir' 'cmTC_fa66b.'] + link line: [ /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/collect2 -plugin /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/liblto_plugin.so -plugin-opt=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccgKnDgb.res -m shelf -o cmTC_fa66b -L/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0 CMakeFiles/cmTC_fa66b.dir/CMakeCCompilerABI.c.obj -lgcc] + arg [/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccgKnDgb.res] ==> ignore + arg [-m] ==> ignore + arg [shelf] ==> ignore + arg [-o] ==> ignore + arg [cmTC_fa66b] ==> ignore + arg [-L/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0] ==> dir [/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0] + arg [CMakeFiles/cmTC_fa66b.dir/CMakeCCompilerABI.c.obj] ==> ignore + arg [-lgcc] ==> lib [gcc] + collapse library dir [/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0] ==> [/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0] + implicit libs: [gcc] + implicit objs: [] + implicit dirs: [/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0] + implicit fwks: [] + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/massena/Projets/interference/build-cg/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make -f Makefile cmTC_e820c/fast && /usr/bin/make -f CMakeFiles/cmTC_e820c.dir/build.make CMakeFiles/cmTC_e820c.dir/build +make[1]: Entering directory '/home/massena/Projets/interference/build-cg/CMakeFiles/CMakeTmp' +Building CXX object CMakeFiles/cmTC_e820c.dir/CMakeCXXCompilerABI.cpp.obj +/home/massena/.local/bin/sh-elf-g++ -DTARGET_FXCG50 -v -m4-nofpu -mb -ffreestanding -nostdlib -Wa,--dsp -o CMakeFiles/cmTC_e820c.dir/CMakeCXXCompilerABI.cpp.obj -c /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp +Using built-in specs. +COLLECT_AS_OPTIONS='--dsp' +COLLECT_GCC=/home/massena/.local/bin/sh-elf-g++ +Target: sh3eb-elf +Configured with: ../gcc-11.1.0/configure --prefix=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc --target=sh3eb-elf --with-multilib-list=m3,m4-nofpu --enable-languages=c,c++ --without-headers --with-newlib --program-prefix=sh-elf- --enable-libssp --enable-lto +Thread model: single +Supported LTO compression algorithms: zlib zstd +gcc version 11.1.0 (GCC) +COLLECT_GCC_OPTIONS='-D' 'TARGET_FXCG50' '-v' '-m4-nofpu' '-mb' '-ffreestanding' '-nostdlib' '-o' 'CMakeFiles/cmTC_e820c.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_e820c.dir/' + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/cc1plus -quiet -v -imultilib m4-nofpu -D TARGET_FXCG50 /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_e820c.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -m4-nofpu -mb -version -ffreestanding -o /tmp/ccNZmIK7.s +GNU C++17 (GCC) version 11.1.0 (sh3eb-elf) + compiled by GNU C version 11.1.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version none +warning: MPFR header version 4.1.0 differs from library version 4.1.0-p13. +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +ignoring nonexistent directory "/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/include/c++/11.1.0" +ignoring nonexistent directory "/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/include/c++/11.1.0/sh3eb-elf/m4-nofpu" +ignoring nonexistent directory "/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/include/c++/11.1.0/backward" +ignoring nonexistent directory "/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/sys-include" +ignoring nonexistent directory "/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/include" +#include "..." search starts here: +#include <...> search starts here: + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include-fixed +End of search list. +GNU C++17 (GCC) version 11.1.0 (sh3eb-elf) + compiled by GNU C version 11.1.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version none +warning: MPFR header version 4.1.0 differs from library version 4.1.0-p13. +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +Compiler executable checksum: 0d8a3129f690ea8ca416d59a54d61589 +COLLECT_GCC_OPTIONS='-D' 'TARGET_FXCG50' '-v' '-m4-nofpu' '-mb' '-ffreestanding' '-nostdlib' '-o' 'CMakeFiles/cmTC_e820c.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_e820c.dir/' + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/bin/as --traditional-format -big --isa=sh4a-nofpu --dsp -o CMakeFiles/cmTC_e820c.dir/CMakeCXXCompilerABI.cpp.obj /tmp/ccNZmIK7.s +COMPILER_PATH=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/bin/ +LIBRARY_PATH=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/m4-nofpu/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/ +COLLECT_GCC_OPTIONS='-D' 'TARGET_FXCG50' '-v' '-m4-nofpu' '-mb' '-ffreestanding' '-nostdlib' '-o' 'CMakeFiles/cmTC_e820c.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_e820c.dir/CMakeCXXCompilerABI.cpp.' +Linking CXX executable cmTC_e820c +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e820c.dir/link.txt --verbose=1 +/home/massena/.local/bin/sh-elf-g++ -v -nostdlib CMakeFiles/cmTC_e820c.dir/CMakeCXXCompilerABI.cpp.obj -o cmTC_e820c -lgcc +Using built-in specs. +COLLECT_GCC=/home/massena/.local/bin/sh-elf-g++ +COLLECT_LTO_WRAPPER=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/lto-wrapper +Target: sh3eb-elf +Configured with: ../gcc-11.1.0/configure --prefix=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc --target=sh3eb-elf --with-multilib-list=m3,m4-nofpu --enable-languages=c,c++ --without-headers --with-newlib --program-prefix=sh-elf- --enable-libssp --enable-lto +Thread model: single +Supported LTO compression algorithms: zlib zstd +gcc version 11.1.0 (GCC) +COMPILER_PATH=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/bin/ +LIBRARY_PATH=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/ +COLLECT_GCC_OPTIONS='-v' '-nostdlib' '-o' 'cmTC_e820c' '-dumpdir' 'cmTC_e820c.' + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/collect2 -plugin /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/liblto_plugin.so -plugin-opt=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccsIknau.res -m shelf -o cmTC_e820c -L/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0 CMakeFiles/cmTC_e820c.dir/CMakeCXXCompilerABI.cpp.obj -lgcc +/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/bin/ld: warning: cannot find entry symbol start; defaulting to 0000000000001000 +COLLECT_GCC_OPTIONS='-v' '-nostdlib' '-o' 'cmTC_e820c' '-dumpdir' 'cmTC_e820c.' +make[1]: Leaving directory '/home/massena/Projets/interference/build-cg/CMakeFiles/CMakeTmp' + + + +Parsed CXX implicit include dir info from above output: rv=done + found start of include info + found start of implicit include info + add: [/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include] + add: [/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include-fixed] + end of search list found + collapse include dir [/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include] ==> [/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include] + collapse include dir [/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include-fixed] ==> [/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include-fixed] + implicit include dirs: [/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include;/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include-fixed] + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(sh-elf-ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/massena/Projets/interference/build-cg/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command(s):/usr/bin/make -f Makefile cmTC_e820c/fast && /usr/bin/make -f CMakeFiles/cmTC_e820c.dir/build.make CMakeFiles/cmTC_e820c.dir/build] + ignore line: [make[1]: Entering directory '/home/massena/Projets/interference/build-cg/CMakeFiles/CMakeTmp'] + ignore line: [Building CXX object CMakeFiles/cmTC_e820c.dir/CMakeCXXCompilerABI.cpp.obj] + ignore line: [/home/massena/.local/bin/sh-elf-g++ -DTARGET_FXCG50 -v -m4-nofpu -mb -ffreestanding -nostdlib -Wa --dsp -o CMakeFiles/cmTC_e820c.dir/CMakeCXXCompilerABI.cpp.obj -c /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_AS_OPTIONS='--dsp'] + ignore line: [COLLECT_GCC=/home/massena/.local/bin/sh-elf-g++] + ignore line: [Target: sh3eb-elf] + ignore line: [Configured with: ../gcc-11.1.0/configure --prefix=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc --target=sh3eb-elf --with-multilib-list=m3 m4-nofpu --enable-languages=c c++ --without-headers --with-newlib --program-prefix=sh-elf- --enable-libssp --enable-lto] + ignore line: [Thread model: single] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 11.1.0 (GCC) ] + ignore line: [COLLECT_GCC_OPTIONS='-D' 'TARGET_FXCG50' '-v' '-m4-nofpu' '-mb' '-ffreestanding' '-nostdlib' '-o' 'CMakeFiles/cmTC_e820c.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_e820c.dir/'] + ignore line: [ /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/cc1plus -quiet -v -imultilib m4-nofpu -D TARGET_FXCG50 /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_e820c.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -m4-nofpu -mb -version -ffreestanding -o /tmp/ccNZmIK7.s] + ignore line: [GNU C++17 (GCC) version 11.1.0 (sh3eb-elf)] + ignore line: [ compiled by GNU C version 11.1.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version none] + ignore line: [warning: MPFR header version 4.1.0 differs from library version 4.1.0-p13.] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring nonexistent directory "/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/include/c++/11.1.0"] + ignore line: [ignoring nonexistent directory "/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/include/c++/11.1.0/sh3eb-elf/m4-nofpu"] + ignore line: [ignoring nonexistent directory "/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/include/c++/11.1.0/backward"] + ignore line: [ignoring nonexistent directory "/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/sys-include"] + ignore line: [ignoring nonexistent directory "/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include] + ignore line: [ /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include-fixed] + ignore line: [End of search list.] + ignore line: [GNU C++17 (GCC) version 11.1.0 (sh3eb-elf)] + ignore line: [ compiled by GNU C version 11.1.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version none] + ignore line: [warning: MPFR header version 4.1.0 differs from library version 4.1.0-p13.] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: 0d8a3129f690ea8ca416d59a54d61589] + ignore line: [COLLECT_GCC_OPTIONS='-D' 'TARGET_FXCG50' '-v' '-m4-nofpu' '-mb' '-ffreestanding' '-nostdlib' '-o' 'CMakeFiles/cmTC_e820c.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_e820c.dir/'] + ignore line: [ /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/bin/as --traditional-format -big --isa=sh4a-nofpu --dsp -o CMakeFiles/cmTC_e820c.dir/CMakeCXXCompilerABI.cpp.obj /tmp/ccNZmIK7.s] + ignore line: [COMPILER_PATH=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/bin/] + ignore line: [LIBRARY_PATH=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/m4-nofpu/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/] + ignore line: [COLLECT_GCC_OPTIONS='-D' 'TARGET_FXCG50' '-v' '-m4-nofpu' '-mb' '-ffreestanding' '-nostdlib' '-o' 'CMakeFiles/cmTC_e820c.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-dumpdir' 'CMakeFiles/cmTC_e820c.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [Linking CXX executable cmTC_e820c] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e820c.dir/link.txt --verbose=1] + ignore line: [/home/massena/.local/bin/sh-elf-g++ -v -nostdlib CMakeFiles/cmTC_e820c.dir/CMakeCXXCompilerABI.cpp.obj -o cmTC_e820c -lgcc ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/home/massena/.local/bin/sh-elf-g++] + ignore line: [COLLECT_LTO_WRAPPER=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/lto-wrapper] + ignore line: [Target: sh3eb-elf] + ignore line: [Configured with: ../gcc-11.1.0/configure --prefix=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc --target=sh3eb-elf --with-multilib-list=m3 m4-nofpu --enable-languages=c c++ --without-headers --with-newlib --program-prefix=sh-elf- --enable-libssp --enable-lto] + ignore line: [Thread model: single] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 11.1.0 (GCC) ] + ignore line: [COMPILER_PATH=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/:/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/../../../../sh3eb-elf/bin/] + ignore line: [LIBRARY_PATH=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-nostdlib' '-o' 'cmTC_e820c' '-dumpdir' 'cmTC_e820c.'] + link line: [ /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/collect2 -plugin /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/liblto_plugin.so -plugin-opt=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccsIknau.res -m shelf -o cmTC_e820c -L/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0 CMakeFiles/cmTC_e820c.dir/CMakeCXXCompilerABI.cpp.obj -lgcc] + arg [/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/libexec/gcc/sh3eb-elf/11.1.0/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccsIknau.res] ==> ignore + arg [-m] ==> ignore + arg [shelf] ==> ignore + arg [-o] ==> ignore + arg [cmTC_e820c] ==> ignore + arg [-L/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0] ==> dir [/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0] + arg [CMakeFiles/cmTC_e820c.dir/CMakeCXXCompilerABI.cpp.obj] ==> ignore + arg [-lgcc] ==> lib [gcc] + collapse library dir [/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0] ==> [/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0] + implicit libs: [gcc] + implicit objs: [] + implicit dirs: [/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0] + implicit fwks: [] + + diff --git a/build-cg/CMakeFiles/Makefile.cmake b/build-cg/CMakeFiles/Makefile.cmake new file mode 100644 index 0000000..e76c8c0 --- /dev/null +++ b/build-cg/CMakeFiles/Makefile.cmake @@ -0,0 +1,50 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# The generator used is: +set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") + +# The top level Makefile was generated from the following files: +set(CMAKE_MAKEFILE_DEPENDS + "CMakeCache.txt" + "/home/massena/.local/lib/cmake/fxsdk/FXCG50.cmake" + "/home/massena/.local/lib/cmake/fxsdk/FindGint.cmake" + "/home/massena/.local/lib/cmake/fxsdk/Fxconv.cmake" + "/home/massena/.local/lib/cmake/fxsdk/GenerateG1A.cmake" + "/home/massena/.local/lib/cmake/fxsdk/GenerateG3A.cmake" + "../CMakeLists.txt" + "CMakeFiles/3.22.1/CMakeCCompiler.cmake" + "CMakeFiles/3.22.1/CMakeCXXCompiler.cmake" + "CMakeFiles/3.22.1/CMakeSystem.cmake" + "/usr/share/cmake/Modules/CMakeCInformation.cmake" + "/usr/share/cmake/Modules/CMakeCXXInformation.cmake" + "/usr/share/cmake/Modules/CMakeCommonLanguageInclude.cmake" + "/usr/share/cmake/Modules/CMakeGenericSystem.cmake" + "/usr/share/cmake/Modules/CMakeInitializeConfigs.cmake" + "/usr/share/cmake/Modules/CMakeLanguageInformation.cmake" + "/usr/share/cmake/Modules/CMakeSystemSpecificInformation.cmake" + "/usr/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake" + "/usr/share/cmake/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + "/usr/share/cmake/Modules/Compiler/GNU-C.cmake" + "/usr/share/cmake/Modules/Compiler/GNU-CXX.cmake" + "/usr/share/cmake/Modules/Compiler/GNU.cmake" + "/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake" + "/usr/share/cmake/Modules/FindPackageMessage.cmake" + "/usr/share/cmake/Modules/Platform/Generic.cmake" + ) + +# The corresponding makefile is: +set(CMAKE_MAKEFILE_OUTPUTS + "Makefile" + "CMakeFiles/cmake.check_cache" + ) + +# Byproducts of CMake generate step: +set(CMAKE_MAKEFILE_PRODUCTS + "CMakeFiles/CMakeDirectoryInformation.cmake" + ) + +# Dependency information for all targets: +set(CMAKE_DEPEND_INFO_FILES + "CMakeFiles/myaddin.dir/DependInfo.cmake" + ) diff --git a/build-cg/CMakeFiles/Makefile2 b/build-cg/CMakeFiles/Makefile2 new file mode 100644 index 0000000..33b73c8 --- /dev/null +++ b/build-cg/CMakeFiles/Makefile2 @@ -0,0 +1,112 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/massena/Projets/interference + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/massena/Projets/interference/build-cg + +#============================================================================= +# Directory level rules for the build root directory + +# The main recursive "all" target. +all: CMakeFiles/myaddin.dir/all +.PHONY : all + +# The main recursive "preinstall" target. +preinstall: +.PHONY : preinstall + +# The main recursive "clean" target. +clean: CMakeFiles/myaddin.dir/clean +.PHONY : clean + +#============================================================================= +# Target rules for target CMakeFiles/myaddin.dir + +# All Build rule for target. +CMakeFiles/myaddin.dir/all: + $(MAKE) $(MAKESILENT) -f CMakeFiles/myaddin.dir/build.make CMakeFiles/myaddin.dir/depend + $(MAKE) $(MAKESILENT) -f CMakeFiles/myaddin.dir/build.make CMakeFiles/myaddin.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/massena/Projets/interference/build-cg/CMakeFiles --progress-num=1,2,3,4 "Built target myaddin" +.PHONY : CMakeFiles/myaddin.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/myaddin.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/massena/Projets/interference/build-cg/CMakeFiles 4 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/myaddin.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/massena/Projets/interference/build-cg/CMakeFiles 0 +.PHONY : CMakeFiles/myaddin.dir/rule + +# Convenience name for target. +myaddin: CMakeFiles/myaddin.dir/rule +.PHONY : myaddin + +# clean rule for target. +CMakeFiles/myaddin.dir/clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/myaddin.dir/build.make CMakeFiles/myaddin.dir/clean +.PHONY : CMakeFiles/myaddin.dir/clean + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/build-cg/CMakeFiles/TargetDirectories.txt b/build-cg/CMakeFiles/TargetDirectories.txt new file mode 100644 index 0000000..2c1dea8 --- /dev/null +++ b/build-cg/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,3 @@ +/home/massena/Projets/interference/build-cg/CMakeFiles/myaddin.dir +/home/massena/Projets/interference/build-cg/CMakeFiles/edit_cache.dir +/home/massena/Projets/interference/build-cg/CMakeFiles/rebuild_cache.dir diff --git a/build-cg/CMakeFiles/cmake.check_cache b/build-cg/CMakeFiles/cmake.check_cache new file mode 100644 index 0000000..3dccd73 --- /dev/null +++ b/build-cg/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/build-cg/CMakeFiles/myaddin.dir/DependInfo.cmake b/build-cg/CMakeFiles/myaddin.dir/DependInfo.cmake new file mode 100644 index 0000000..94104e3 --- /dev/null +++ b/build-cg/CMakeFiles/myaddin.dir/DependInfo.cmake @@ -0,0 +1,37 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + "FXCONV" + ) +# The set of files for implicit dependencies of each language: +set(CMAKE_DEPENDS_CHECK_FXCONV + "/home/massena/Projets/interference/assets-cg/tileset.png" "/home/massena/Projets/interference/build-cg/CMakeFiles/myaddin.dir/assets-cg/tileset.png" + ) + +# Preprocessor definitions for this target. +set(CMAKE_TARGET_DEFINITIONS_FXCONV + "FXCG50" + "TARGET_FXCG50" + ) + +# The include file search paths: +set(CMAKE_FXCONV_TARGET_INCLUDE_PATH + "../include" + "/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/./include/openlibm" + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + "/home/massena/Projets/interference/src/input.c" "CMakeFiles/myaddin.dir/src/input.c.obj" "gcc" "CMakeFiles/myaddin.dir/src/input.c.obj.d" + "/home/massena/Projets/interference/src/main.c" "CMakeFiles/myaddin.dir/src/main.c.obj" "gcc" "CMakeFiles/myaddin.dir/src/main.c.obj.d" + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/build-cg/CMakeFiles/myaddin.dir/assets-cg/example.png b/build-cg/CMakeFiles/myaddin.dir/assets-cg/example.png new file mode 100644 index 0000000000000000000000000000000000000000..c929b0e0a8f2a90ea0dba86a9fe2990aabc2f3bf GIT binary patch literal 1376 zcmb<-^>JflVq|~=Mg}b)8%cm=23XDnOlmN&GO#c({Qu9O!@&K2NP^mm+KT`GK_r5% zttb@-d8Skx9U{C~DxUon!J`%nVsG|W5TurwAb%j6h0AnE7(hsv|3M*9Dh>$`L|8yf zLp2p<11{5H^2E@nCR4*in5__#K_;Tw0h33B0U}L+(k4B?Os6Le z&-(}lJpT(o$^t$H2IdPOX((SF!T*5$Rwy6l7i2X+DHdQk#^3p11Mz|0W8eg0kQfxOxBwZ3FdmSGnI{NjBdaR~@|Drm0RT0oleYi> literal 0 HcmV?d00001 diff --git a/build-cg/CMakeFiles/myaddin.dir/assets-cg/tileset.png b/build-cg/CMakeFiles/myaddin.dir/assets-cg/tileset.png new file mode 100644 index 0000000000000000000000000000000000000000..91c931d993387fe68e4d7f54d5dd040371e288fe GIT binary patch literal 568 zcmb<-^>JflVq|~=Mg}b)8(E+LEN22HH5gbKSQwarYylu-FkB55#X&F%f`I^pq8|yf z7mKst{sKB4#O4Fy6(Ds`zC42e|06?uW^Q_XNoG!JacT()Cq6YV1y!IpvnrK=L9e(n zw CMakeFiles/myaddin.dir/src/main.c.i + +CMakeFiles/myaddin.dir/src/main.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/myaddin.dir/src/main.c.s" + /home/massena/.local/bin/sh-elf-gcc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/massena/Projets/interference/src/main.c -o CMakeFiles/myaddin.dir/src/main.c.s + +CMakeFiles/myaddin.dir/src/input.c.obj: CMakeFiles/myaddin.dir/flags.make +CMakeFiles/myaddin.dir/src/input.c.obj: ../src/input.c +CMakeFiles/myaddin.dir/src/input.c.obj: CMakeFiles/myaddin.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/massena/Projets/interference/build-cg/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object CMakeFiles/myaddin.dir/src/input.c.obj" + /home/massena/.local/bin/sh-elf-gcc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/myaddin.dir/src/input.c.obj -MF CMakeFiles/myaddin.dir/src/input.c.obj.d -o CMakeFiles/myaddin.dir/src/input.c.obj -c /home/massena/Projets/interference/src/input.c + +CMakeFiles/myaddin.dir/src/input.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/myaddin.dir/src/input.c.i" + /home/massena/.local/bin/sh-elf-gcc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/massena/Projets/interference/src/input.c > CMakeFiles/myaddin.dir/src/input.c.i + +CMakeFiles/myaddin.dir/src/input.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/myaddin.dir/src/input.c.s" + /home/massena/.local/bin/sh-elf-gcc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/massena/Projets/interference/src/input.c -o CMakeFiles/myaddin.dir/src/input.c.s + +CMakeFiles/myaddin.dir/assets-cg/tileset.png: CMakeFiles/myaddin.dir/flags.make +CMakeFiles/myaddin.dir/assets-cg/tileset.png: ../assets-cg/tileset.png +CMakeFiles/myaddin.dir/assets-cg/tileset.png: ../assets-cg/fxconv-metadata.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/massena/Projets/interference/build-cg/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building FXCONV object CMakeFiles/myaddin.dir/assets-cg/tileset.png" + fxconv /home/massena/Projets/interference/assets-cg/tileset.png -o CMakeFiles/myaddin.dir/assets-cg/tileset.png --toolchain=sh-elf --cg + +# Object files for target myaddin +myaddin_OBJECTS = \ +"CMakeFiles/myaddin.dir/src/main.c.obj" \ +"CMakeFiles/myaddin.dir/src/input.c.obj" \ +"CMakeFiles/myaddin.dir/assets-cg/tileset.png" + +# External object files for target myaddin +myaddin_EXTERNAL_OBJECTS = + +myaddin: CMakeFiles/myaddin.dir/src/main.c.obj +myaddin: CMakeFiles/myaddin.dir/src/input.c.obj +myaddin: CMakeFiles/myaddin.dir/assets-cg/tileset.png +myaddin: CMakeFiles/myaddin.dir/build.make +myaddin: /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/libgint-cg.a +myaddin: ../assets-cg/icon-uns.png +myaddin: ../assets-cg/icon-sel.png +myaddin: CMakeFiles/myaddin.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/massena/Projets/interference/build-cg/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Linking C executable myaddin" + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/myaddin.dir/link.txt --verbose=$(VERBOSE) + /home/massena/.local/bin/sh-elf-objcopy -O binary -R .bss -R .gint_bss myaddin myaddin.bin + mkg3a -n basic:InterF -i uns:/home/massena/Projets/interference/assets-cg/icon-uns.png -i sel:/home/massena/Projets/interference/assets-cg/icon-sel.png myaddin.bin /home/massena/Projets/interference/InterF.g3a + +# Rule to build all files generated by this target. +CMakeFiles/myaddin.dir/build: myaddin +.PHONY : CMakeFiles/myaddin.dir/build + +CMakeFiles/myaddin.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/myaddin.dir/cmake_clean.cmake +.PHONY : CMakeFiles/myaddin.dir/clean + +CMakeFiles/myaddin.dir/depend: + cd /home/massena/Projets/interference/build-cg && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/massena/Projets/interference /home/massena/Projets/interference /home/massena/Projets/interference/build-cg /home/massena/Projets/interference/build-cg /home/massena/Projets/interference/build-cg/CMakeFiles/myaddin.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/myaddin.dir/depend + diff --git a/build-cg/CMakeFiles/myaddin.dir/cmake_clean.cmake b/build-cg/CMakeFiles/myaddin.dir/cmake_clean.cmake new file mode 100644 index 0000000..b405705 --- /dev/null +++ b/build-cg/CMakeFiles/myaddin.dir/cmake_clean.cmake @@ -0,0 +1,14 @@ +file(REMOVE_RECURSE + "CMakeFiles/myaddin.dir/assets-cg/tileset.png" + "CMakeFiles/myaddin.dir/src/input.c.obj" + "CMakeFiles/myaddin.dir/src/input.c.obj.d" + "CMakeFiles/myaddin.dir/src/main.c.obj" + "CMakeFiles/myaddin.dir/src/main.c.obj.d" + "myaddin" + "myaddin.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang C FXCONV) + include(CMakeFiles/myaddin.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/build-cg/CMakeFiles/myaddin.dir/compiler_depend.internal b/build-cg/CMakeFiles/myaddin.dir/compiler_depend.internal new file mode 100644 index 0000000..ae1241c --- /dev/null +++ b/build-cg/CMakeFiles/myaddin.dir/compiler_depend.internal @@ -0,0 +1,35 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +CMakeFiles/myaddin.dir/src/input.c.obj + /home/massena/Projets/interference/src/input.c + /home/massena/Projets/interference/include/input.h + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/keyboard.h + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/defs/types.h + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/defs/attributes.h + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/stddef.h + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/stdint.h + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/stdint-gcc.h + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/stdbool.h + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/sys/types.h + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/keycodes.h + +CMakeFiles/myaddin.dir/src/main.c.obj + /home/massena/Projets/interference/src/main.c + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/display.h + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/defs/types.h + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/defs/attributes.h + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/stddef.h + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/stdint.h + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/stdint-gcc.h + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/stdbool.h + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/sys/types.h + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/defs/call.h + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/display-cg.h + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/keyboard.h + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/keycodes.h + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/std/string.h + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/string.h + /home/massena/Projets/interference/include/main.h + /home/massena/Projets/interference/include/input.h + diff --git a/build-cg/CMakeFiles/myaddin.dir/compiler_depend.make b/build-cg/CMakeFiles/myaddin.dir/compiler_depend.make new file mode 100644 index 0000000..cc33926 --- /dev/null +++ b/build-cg/CMakeFiles/myaddin.dir/compiler_depend.make @@ -0,0 +1,69 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +CMakeFiles/myaddin.dir/src/input.c.obj: ../src/input.c \ + ../include/input.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/keyboard.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/defs/types.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/defs/attributes.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/stddef.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/stdint.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/stdint-gcc.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/stdbool.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/sys/types.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/keycodes.h + +CMakeFiles/myaddin.dir/src/main.c.obj: ../src/main.c \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/display.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/defs/types.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/defs/attributes.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/stddef.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/stdint.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/stdint-gcc.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/stdbool.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/sys/types.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/defs/call.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/display-cg.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/keyboard.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/keycodes.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/std/string.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/string.h \ + ../include/main.h \ + ../include/input.h + + +/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/string.h: + +/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/std/string.h: + +/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/display-cg.h: + +/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/defs/call.h: + +../src/input.c: + +/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/sys/types.h: + +../include/main.h: + +../include/input.h: + +/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/keyboard.h: + +/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/stdint-gcc.h: + +../src/main.c: + +/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/defs/attributes.h: + +/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/defs/types.h: + +/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/display.h: + +/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/stddef.h: + +/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/stdint.h: + +/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/stdbool.h: + +/home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/keycodes.h: diff --git a/build-cg/CMakeFiles/myaddin.dir/compiler_depend.ts b/build-cg/CMakeFiles/myaddin.dir/compiler_depend.ts new file mode 100644 index 0000000..d0c4c08 --- /dev/null +++ b/build-cg/CMakeFiles/myaddin.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for myaddin. diff --git a/build-cg/CMakeFiles/myaddin.dir/depend.internal b/build-cg/CMakeFiles/myaddin.dir/depend.internal new file mode 100644 index 0000000..1d1e81a --- /dev/null +++ b/build-cg/CMakeFiles/myaddin.dir/depend.internal @@ -0,0 +1,3 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + diff --git a/build-cg/CMakeFiles/myaddin.dir/depend.make b/build-cg/CMakeFiles/myaddin.dir/depend.make new file mode 100644 index 0000000..1d1e81a --- /dev/null +++ b/build-cg/CMakeFiles/myaddin.dir/depend.make @@ -0,0 +1,3 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + diff --git a/build-cg/CMakeFiles/myaddin.dir/flags.make b/build-cg/CMakeFiles/myaddin.dir/flags.make new file mode 100644 index 0000000..80b9270 --- /dev/null +++ b/build-cg/CMakeFiles/myaddin.dir/flags.make @@ -0,0 +1,17 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# compile C with /home/massena/.local/bin/sh-elf-gcc +# compile FXCONV with +C_DEFINES = -DFXCG50 -DTARGET_FXCG50 + +C_INCLUDES = -I/home/massena/Projets/interference/include -isystem /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/./include/openlibm + +C_FLAGS = -m4-nofpu -mb -ffreestanding -nostdlib -Wa,--dsp -Wall -Wextra -Os -fstrict-volatile-bitfields + +FXCONV_DEFINES = -DFXCG50 -DTARGET_FXCG50 + +FXCONV_INCLUDES = /home/massena/Projets/interference/include /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/./include/openlibm + +FXCONV_FLAGS = -m4-nofpu -mb -ffreestanding -nostdlib -Wa,--dsp -Wall -Wextra -Os -fstrict-volatile-bitfields + diff --git a/build-cg/CMakeFiles/myaddin.dir/link.txt b/build-cg/CMakeFiles/myaddin.dir/link.txt new file mode 100644 index 0000000..2842da9 --- /dev/null +++ b/build-cg/CMakeFiles/myaddin.dir/link.txt @@ -0,0 +1 @@ +/home/massena/.local/bin/sh-elf-gcc -nostdlib -T fxcg50.ld CMakeFiles/myaddin.dir/src/main.c.obj CMakeFiles/myaddin.dir/src/input.c.obj CMakeFiles/myaddin.dir/assets-cg/tileset.png -o myaddin -lgcc /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/libgint-cg.a -lc -lopenlibm -lgcc diff --git a/build-cg/CMakeFiles/myaddin.dir/progress.make b/build-cg/CMakeFiles/myaddin.dir/progress.make new file mode 100644 index 0000000..a69a57e --- /dev/null +++ b/build-cg/CMakeFiles/myaddin.dir/progress.make @@ -0,0 +1,5 @@ +CMAKE_PROGRESS_1 = 1 +CMAKE_PROGRESS_2 = 2 +CMAKE_PROGRESS_3 = 3 +CMAKE_PROGRESS_4 = 4 + diff --git a/build-cg/CMakeFiles/myaddin.dir/src/input.c.obj b/build-cg/CMakeFiles/myaddin.dir/src/input.c.obj new file mode 100644 index 0000000000000000000000000000000000000000..cab743560ab91a87ba6a8e1d90ba6cd579649104 GIT binary patch literal 1208 zcma)5&urZL3Dwg9lGYVUyAp3cE|CUW}R; zO=FsPXgqk}V2rokj0gV&55<#-UZ5sw;z2LO18JRs_h7|~6NdMFGvCa6Z}RruuF1{9X8{eDWhEDH^B0~)ZsJ94bkn_7?2 zU)`OQnnFA{KU>}#_kj%2ZoV!irFd{|_OaNH?YL8+gbW^4f@ms?anFEO=xbqmYHC7_ zOy9T}Rdrp{wR5!FKh~R{8}@%Wv*KT~1wf9!z9DfVqdAeyU?bu^!~6jxUKU9Dy8VL4 zX|A^!kFY!!o*&?skiSG9Vfw3x-=PN>zlC_mk9FNL6WyQwrryW z>FkP;F^x5&Xj_n8Hr8{icZyu$#3j?PEF;HL6)f#^PMZdHpbXhX90i|i!hxUTxOn`9 zBVGd-=JB_V_hq@_U{|orLbx z%^>H-_th~#HLOpkpP!3Zj`HNLeq2Z*{)s-soceju=}oge5rK>DYY}3`&!-@F=)?f> K2`<95qx%Dv_nf={ literal 0 HcmV?d00001 diff --git a/build-cg/CMakeFiles/myaddin.dir/src/input.c.obj.d b/build-cg/CMakeFiles/myaddin.dir/src/input.c.obj.d new file mode 100644 index 0000000..8c7d45c --- /dev/null +++ b/build-cg/CMakeFiles/myaddin.dir/src/input.c.obj.d @@ -0,0 +1,12 @@ +CMakeFiles/myaddin.dir/src/input.c.obj: \ + /home/massena/Projets/interference/src/input.c \ + /home/massena/Projets/interference/include/input.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/keyboard.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/defs/types.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/defs/attributes.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/stddef.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/stdint.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/stdint-gcc.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/stdbool.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/sys/types.h \ + /home/massena/.local/share/giteapc/Lephenixnoir/sh-elf-gcc/lib/gcc/sh3eb-elf/11.1.0/include/gint/keycodes.h diff --git a/build-cg/CMakeFiles/myaddin.dir/src/main.c.obj b/build-cg/CMakeFiles/myaddin.dir/src/main.c.obj new file mode 100644 index 0000000000000000000000000000000000000000..788f86f58d7887af502b20941859f1a6b462c999 GIT binary patch literal 2204 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
@jLpigk}g!#gSdBuF2nbxL=iIq78 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 literal 0 HcmV?d00001 diff --git a/include/input.h b/include/input.h new file mode 100644 index 0000000..8f85a3f --- /dev/null +++ b/include/input.h @@ -0,0 +1,34 @@ +#pragma once + +/* FROM FISFOR */ +/* use this to get user input, NOT gint/keyboard.h */ + +typedef enum Key { + K_A, + K_B, + K_UP, + K_DOWN, + K_LEFT, + K_RIGHT, + K_EXIT, + K_X, + K_Y, + K_COUNT +} Key; +typedef enum KeyState { KS_UP, KS_RELEASE, KS_DOWN, KS_PRESS } KeyState; + +typedef struct Input { + int keys[K_COUNT]; + KeyState states[K_COUNT]; +} Input; + +/* called by main.c once */ +void input_init(void); + +/* call this to update key states once per frame */ +void input_step(void); + +int input_down(Key); +int input_pressed(Key); +int input_up(Key); +int input_released(Key); diff --git a/include/main.h b/include/main.h new file mode 100644 index 0000000..a5cceb5 --- /dev/null +++ b/include/main.h @@ -0,0 +1,39 @@ +#pragma once + +#define PLAYER_SIZE 16 + +#define LEVEL_W 25 +#define LEVEL_H 14 +#define LEVEL_S LEVEL_W * LEVEL_H + +#define TILE_S 16 +#define TILESET_W 1 +#define TILESET_H 1 + +/* Yup, it's exactly the code from frozen frenzy™. */ + +/* struct for a pair of int values */ +typedef struct Vec2 { + int x, y; +} Vec2; + +/* struct for a pair of float values */ +typedef struct FVec2 { + float x, y; +} FVec2; + +/* struct for player's data */ +typedef struct Player { + Vec2 pos; + Vec2 spawn; + FVec2 spd; +} Player; + +/* dynamic level data */ +typedef struct Level { + int width, height; + int data[]; +} Level; + +/* used for tiles */ +typedef int tile_t; diff --git a/src/input.c b/src/input.c new file mode 100644 index 0000000..795ffba --- /dev/null +++ b/src/input.c @@ -0,0 +1,70 @@ +#include "input.h" +#include + +static Input input; + +void +input_init(void) +{ + int i = K_COUNT; + while (i-- > 0) { + input.states[i] = KS_UP; + } + input.keys[K_A] = KEY_SHIFT; + input.keys[K_B] = KEY_ALPHA; + input.keys[K_X] = KEY_OPTN; + input.keys[K_Y] = KEY_SQUARE; + input.keys[K_LEFT] = KEY_LEFT; + input.keys[K_RIGHT] = KEY_RIGHT; + input.keys[K_UP] = KEY_UP; + input.keys[K_DOWN] = KEY_DOWN; + input.keys[K_EXIT] = KEY_MENU; +} + +void +input_step(void) +{ + int i = K_COUNT; + clearevents(); + while (i-- > 0) { + const int kdown = keydown(input.keys[i]); + KeyState *const state = &input.states[i]; + const KeyState prev_state = input.states[i]; + switch (prev_state) { + case KS_UP: + case KS_RELEASE: + *state = (kdown) ? (KS_PRESS) : (KS_UP); + break; + case KS_DOWN: + case KS_PRESS: + *state = (kdown) ? (KS_DOWN) : (KS_RELEASE); + break; + default: + break; + } + } +} + +int +input_down(Key k) +{ + return input.states[k] == KS_DOWN || input.states[k] == KS_PRESS; +} + +int +input_pressed(Key k) +{ + return input.states[k] == KS_PRESS; +} + +int +input_up(Key k) +{ + return !input_down(k); +} + +int +input_released(Key k) +{ + return input.states[k] == KS_RELEASE; +} diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..d45df2f --- /dev/null +++ b/src/main.c @@ -0,0 +1,122 @@ +#include +#include +#include + +#include "main.h" +#include "input.h" + +int main(void) +{ + extern bopti_image_t img_tileset; + + Level level = { + .width = 30, + .height = 30, + }; + + + int data[] = { + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 + }; + + memcpy(level.data, data, sizeof(data)); + + + + input_init(); + + Player player = { + .pos = {0, 0}, + .spawn = {0, 0}, + .spd = {0, 0} + }; + + Vec2 camera = {0, 0}; + + int running = 1; + + while(running) { + + /* camera thing */ + + dclear(C_WHITE); + + camera.x = player.pos.x - 190; + dprint(0, 20, C_BLACK, "%d", camera.x); + + if(camera.x < 2) {camera.x = 2;} + if(camera.x > level.width * 16 - 398) {camera.x = level.width * 16 - 398;} + camera.y = player.pos.y - 104; + + dprint(50, 0, C_BLACK, "%d", camera.y); + + if(camera.y < 0) {camera.y = 0;} + if(camera.y > level.height * 16 - 224) {camera.y = level.height * 16 - 224;} + + dprint(0, 0, C_BLACK, "%d", camera.x); + dprint(50, 20, C_BLACK, "%d", camera.y); + + + + /* tiles */ + for(int m = 0; m < level.height; ++m) { + for(int n = 0; n < level.width; ++n) { + tile_t tile = level.data[n + m * level.width]; + dsubimage(n * TILE_S - camera.x, m * TILE_S - camera.y, &img_tileset, + ((tile - 1) % TILESET_W) * TILE_S, + ((tile - 1) / TILESET_W) * TILE_S, + TILE_S, TILE_S, 0); + } + } + + drect(player.pos.x - camera.x, player.pos.y - camera.y, + player.pos.x + PLAYER_SIZE - camera.x, + player.pos.y + PLAYER_SIZE - camera.y, C_BLACK); + dupdate(); + + + /* input */ + input_step(); + + Vec2 mov = { + .x = input_down(K_RIGHT) - input_down(K_LEFT), + .y = input_down(K_DOWN) - input_down(K_UP), + }; + + player.pos.x += mov.x; + player.pos.y += mov.y; + + /* exit */ + if(input_pressed(K_EXIT)) {break;} + } + return 1; +}