Import('env') Import('env_drivers') # Thirdparty source files if (env["libpng"] == "builtin"): thirdparty_dir = "#thirdparty/libpng/" thirdparty_png_sources = [ thirdparty_dir + "png.c", thirdparty_dir + "pngerror.c", thirdparty_dir + "pngget.c", thirdparty_dir + "pngmem.c", thirdparty_dir + "pngpread.c", thirdparty_dir + "pngread.c", thirdparty_dir + "pngrio.c", thirdparty_dir + "pngrtran.c", thirdparty_dir + "pngrutil.c", thirdparty_dir + "pngset.c", thirdparty_dir + "pngtrans.c", thirdparty_dir + "pngwio.c", thirdparty_dir + "pngwrite.c", thirdparty_dir + "pngwtran.c", thirdparty_dir + "pngwutil.c", ] # Currently .ASM filter_neon.S does not compile on NT. import os if ("neon_enabled" in env and env["neon_enabled"]) and os.name!="nt": env_drivers.Append(CPPFLAGS=["-DPNG_ARM_NEON_OPT=2"]) env_neon = env_drivers.Clone(); if "S_compiler" in env: env_neon['CC'] = env['S_compiler'] #env_neon.Append(CPPFLAGS=["-DPNG_ARM_NEON"]) thirdparty_png_sources.append(env_neon.Object(thirdparty_dir + "/arm/arm_init.c")) thirdparty_png_sources.append(env_neon.Object(thirdparty_dir + "/arm/filter_neon.S")) else: env_drivers.Append(CPPFLAGS=["-DPNG_ARM_NEON_OPT=0"]) #env_drivers.add_source_files(env.drivers_sources, thirdparty_png_sources) env.drivers_sources += thirdparty_png_sources # Concatenation necessary for neon objects it seems? env_drivers.Append(CPPPATH = [thirdparty_dir]) # Godot's own source files env_drivers.add_source_files(env.drivers_sources, "*.cpp") Export('env_drivers') Export('env')