diff options
Diffstat (limited to 'drivers/png/SCsub')
-rw-r--r-- | drivers/png/SCsub | 74 |
1 files changed, 40 insertions, 34 deletions
diff --git a/drivers/png/SCsub b/drivers/png/SCsub index 96ef9fa5f8..1e3f54a9ca 100644 --- a/drivers/png/SCsub +++ b/drivers/png/SCsub @@ -1,42 +1,48 @@ Import('env') -Import('env_drivers') +env_png = env.Clone() -png_sources = [ - "png/png.c", - "png/pngerror.c", - "png/pngget.c", - "png/pngmem.c", - "png/pngpread.c", - "png/pngread.c", - "png/pngrio.c", - "png/pngrtran.c", - "png/pngrutil.c", - "png/pngset.c", - "png/pngtrans.c", - "png/pngwio.c", - "png/pngwrite.c", - "png/pngwtran.c", - "png/pngwutil.c", - "png/resource_saver_png.cpp", - "png/image_loader_png.cpp" -] +# Thirdparty source files +if (env["libpng"] == "builtin"): + thirdparty_dir = "#thirdparty/libpng/" + thirdparty_sources = [ + "png.c", + "pngerror.c", + "pngget.c", + "pngmem.c", + "pngpread.c", + "pngread.c", + "pngrio.c", + "pngrtran.c", + "pngrutil.c", + "pngset.c", + "pngtrans.c", + "pngwio.c", + "pngwrite.c", + "pngwtran.c", + "pngwutil.c", + ] + thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources] -# 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"]) - png_sources.append(env_neon.Object("#drivers/png/arm/arm_init.c")) - png_sources.append(env_neon.Object("#drivers/png/arm/filter_neon.S")) -else: - env_drivers.Append(CPPFLAGS=["-DPNG_ARM_NEON_OPT=0"]) + env_png.add_source_files(env.drivers_sources, thirdparty_sources) + env_png.Append(CPPPATH = [thirdparty_dir]) -env.drivers_sources+=png_sources + # 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_png.Append(CPPFLAGS = ["-DPNG_ARM_NEON_OPT=2"]) + env_neon = env_png.Clone(); + if "S_compiler" in env: + env_neon['CC'] = env['S_compiler'] + neon_sources = [] + neon_sources.append(env_neon.Object(thirdparty_dir + "/arm/arm_init.c")) + neon_sources.append(env_neon.Object(thirdparty_dir + "/arm/filter_neon_intrinsics.c")) + neon_sources.append(env_neon.Object(thirdparty_dir + "/arm/filter_neon.S")) + env.drivers_sources += neon_sources + else: + env_png.Append(CPPFLAGS = ["-DPNG_ARM_NEON_OPT=0"]) -#env.add_source_files(env.drivers_sources, png_sources) +# Godot source files +env_png.add_source_files(env.drivers_sources, "*.cpp") Export('env') |