initial commit, 4.5 stable
Some checks failed
🔗 GHA / 📊 Static checks (push) Has been cancelled
🔗 GHA / 🤖 Android (push) Has been cancelled
🔗 GHA / 🍏 iOS (push) Has been cancelled
🔗 GHA / 🐧 Linux (push) Has been cancelled
🔗 GHA / 🍎 macOS (push) Has been cancelled
🔗 GHA / 🏁 Windows (push) Has been cancelled
🔗 GHA / 🌐 Web (push) Has been cancelled
Some checks failed
🔗 GHA / 📊 Static checks (push) Has been cancelled
🔗 GHA / 🤖 Android (push) Has been cancelled
🔗 GHA / 🍏 iOS (push) Has been cancelled
🔗 GHA / 🐧 Linux (push) Has been cancelled
🔗 GHA / 🍎 macOS (push) Has been cancelled
🔗 GHA / 🏁 Windows (push) Has been cancelled
🔗 GHA / 🌐 Web (push) Has been cancelled
This commit is contained in:
112
modules/jpg/SCsub
Normal file
112
modules/jpg/SCsub
Normal file
@@ -0,0 +1,112 @@
|
||||
#!/usr/bin/env python
|
||||
from misc.utility.scons_hints import *
|
||||
|
||||
Import("env")
|
||||
Import("env_modules")
|
||||
|
||||
env_jpg = env_modules.Clone()
|
||||
|
||||
thirdparty_obj = []
|
||||
|
||||
thirdparty_dir = "#thirdparty/libjpeg-turbo"
|
||||
|
||||
thirdparty_sources_common = [
|
||||
"jaricom.c",
|
||||
"jcapimin.c",
|
||||
"jcarith.c",
|
||||
"jchuff.c",
|
||||
"jcicc.c",
|
||||
"jcinit.c",
|
||||
"jcmarker.c",
|
||||
"jcmaster.c",
|
||||
"jcomapi.c",
|
||||
"jcparam.c",
|
||||
"jcphuff.c",
|
||||
"jctrans.c",
|
||||
"jdapimin.c",
|
||||
"jdarith.c",
|
||||
"jdatadst.c",
|
||||
"jdatadst-tj.c",
|
||||
"jdatasrc.c",
|
||||
"jdatasrc-tj.c",
|
||||
"jdhuff.c",
|
||||
"jdicc.c",
|
||||
"jdinput.c",
|
||||
"jdmarker.c",
|
||||
"jdmaster.c",
|
||||
"jdphuff.c",
|
||||
"jdtrans.c",
|
||||
"jerror.c",
|
||||
"jfdctflt.c",
|
||||
"jmemmgr.c",
|
||||
"jmemnobs.c",
|
||||
"jpeg_nbits.c",
|
||||
"transupp.c",
|
||||
"turbojpeg.c",
|
||||
]
|
||||
|
||||
thirdparty_sources_bit_dependent = [
|
||||
"jcapistd.c",
|
||||
"jccoefct.c",
|
||||
"jccolor.c",
|
||||
"jcdctmgr.c",
|
||||
"jcmainct.c",
|
||||
"jcprepct.c",
|
||||
"jcsample.c",
|
||||
"jdcoefct.c",
|
||||
"jdcolor.c",
|
||||
"jdapistd.c",
|
||||
"jddctmgr.c",
|
||||
"jdmainct.c",
|
||||
"jdmerge.c",
|
||||
"jdpostct.c",
|
||||
"jdsample.c",
|
||||
"jfdctfst.c",
|
||||
"jfdctint.c",
|
||||
"jidctflt.c",
|
||||
"jidctfst.c",
|
||||
"jidctint.c",
|
||||
"jidctred.c",
|
||||
"jutils.c",
|
||||
"jquant1.c",
|
||||
"jquant2.c",
|
||||
]
|
||||
|
||||
thirdparty_sources_by_bits = {
|
||||
8: list(thirdparty_sources_bit_dependent),
|
||||
12: list(thirdparty_sources_bit_dependent),
|
||||
}
|
||||
|
||||
|
||||
def source_paths(files):
|
||||
return [thirdparty_dir + "/src/" + f for f in files]
|
||||
|
||||
|
||||
env_jpg.Prepend(CPPEXTPATH=[thirdparty_dir + "/src"])
|
||||
|
||||
|
||||
def add_bit_depth(bit_depth: int):
|
||||
env_bit_depth = env_jpg.Clone()
|
||||
env_bit_depth.disable_warnings()
|
||||
env_bit_depth["OBJSUFFIX"] = f"_{bit_depth}{env_bit_depth['OBJSUFFIX']}"
|
||||
env_bit_depth.Append(CPPDEFINES=[f"BITS_IN_JSAMPLE={bit_depth}"])
|
||||
env_bit_depth.add_source_files(thirdparty_obj, source_paths(thirdparty_sources_by_bits[bit_depth]))
|
||||
|
||||
|
||||
add_bit_depth(8)
|
||||
add_bit_depth(12)
|
||||
|
||||
env_thirdparty = env_jpg.Clone()
|
||||
env_thirdparty.disable_warnings()
|
||||
env_thirdparty.add_source_files(thirdparty_obj, source_paths(thirdparty_sources_common))
|
||||
env.modules_sources += thirdparty_obj
|
||||
|
||||
# Godot source files
|
||||
|
||||
module_obj = []
|
||||
|
||||
env_jpg.add_source_files(module_obj, "*.cpp")
|
||||
env.modules_sources += module_obj
|
||||
|
||||
# Needed to force rebuilding the module files when the thirdparty library is updated.
|
||||
env.Depends(module_obj, thirdparty_obj)
|
Reference in New Issue
Block a user