package third_party.lib

@Build(stage=1,script="$(EXTERNAL_MAKE)")
@BuildArtifactPath(cppflags="-I$(abspath $(EXTERNAL_BUILD_DIR))/third_party/lib/acpica/acpica-R06_28_23/source/include/")
@BuildArtifactPath(cppflags="-I$(abspath $(THIRDPARTY_DIR))/lib/acpica")
module acpica {

	@IncludePath("$(THIRDPARTY_DIR)/lib/acpica")
	@IncludePath("$(EXTERNAL_BUILD_DIR)/third_party/lib/acpica/acpica-R06_28_23/source/include")
	source "init.c", "osemboxxf.c"

    @Cflags("-fno-sanitize=undefined")
	@Cflags("-Wno-unused")
	@IncludePath("$(THIRDPARTY_DIR)/lib/acpica")
	@IncludePath("$(EXTERNAL_BUILD_DIR)/third_party/lib/acpica/acpica-R06_28_23/source/include")
	@AddPrefix("^BUILD/extbld/^MOD_PATH/acpica-R06_28_23/source/components")
	source
	"utilities/utaddress.c",
	"utilities/utalloc.c",
	"utilities/utascii.c",
	"utilities/utbuffer.c",
	"utilities/utcache.c",
	"utilities/utcksum.c",
	"utilities/utclib.c",
	"utilities/utcopy.c",
	"utilities/utdebug.c",
	"utilities/utdecode.c",
	"utilities/utdelete.c",
	"utilities/uterror.c",
	"utilities/uteval.c",
	"utilities/utexcep.c",
	"utilities/utglobal.c",
	"utilities/uthex.c",
	"utilities/utids.c",
	"utilities/utinit.c",
	"utilities/utlock.c",
	"utilities/utmath.c",
	"utilities/utmisc.c",
	"utilities/utmutex.c",
	"utilities/utnonansi.c",
	"utilities/utobject.c",
	"utilities/utosi.c",
	"utilities/utownerid.c",
	"utilities/utpredef.c",
	/*"utilities/utprint.c",*/
	"utilities/utresdecode.c",
	"utilities/utresrc.c",
	"utilities/utstate.c",
	"utilities/utstring.c",
	"utilities/utstrsuppt.c",
	"utilities/utstrtoul64.c",
	"utilities/uttrack.c",
	"utilities/utuuid.c",
	"utilities/utxface.c",
	"utilities/utxferror.c",
	"utilities/utxfinit.c",
	"utilities/utxfmutex.c",
	"resources/rsaddr.c",
	"resources/rscalc.c",
	"resources/rscreate.c",
	/*"resources/rsdump.c",*/
	"resources/rsdumpinfo.c",
	"resources/rsinfo.c",
	"resources/rsio.c",
	"resources/rsirq.c",
	"resources/rslist.c",
	"resources/rsmemory.c",
	"resources/rsmisc.c",
	"resources/rsserial.c",
	"resources/rsutils.c",
	"resources/rsxface.c",
	"events/evevent.c",
	"events/evglock.c",
	"events/evgpeblk.c",
	"events/evgpe.c",
	"events/evgpeinit.c",
	"events/evgpeutil.c",
	"events/evhandler.c",
	"events/evmisc.c",
	"events/evregion.c",
	"events/evrgnini.c",
	"events/evsci.c",
	"events/evxface.c",
	"events/evxfevnt.c",
	"events/evxfgpe.c",
	"events/evxfregn.c",
	"hardware/hwacpi.c",
	"hardware/hwesleep.c",
	"hardware/hwgpe.c",
	"hardware/hwpci.c",
	"hardware/hwregs.c",
	"hardware/hwsleep.c",
	"hardware/hwtimer.c",
	"hardware/hwvalid.c",
	"hardware/hwxface.c",
	"hardware/hwxfsleep.c",
	"parser/psargs.c",
	"parser/psloop.c",
	"parser/psobject.c",
	"parser/psopcode.c",
	"parser/psopinfo.c",
	"parser/psparse.c",
	"parser/psscope.c",
	"parser/pstree.c",
	"parser/psutils.c",
	"parser/pswalk.c",
	"parser/psxface.c",
	"executer/exconcat.c",
	"executer/exconfig.c",
	"executer/exconvrt.c",
	"executer/excreate.c",
	"executer/exdebug.c",
	"executer/exdump.c",
	"executer/exfield.c",
	"executer/exfldio.c",
	"executer/exmisc.c",
	"executer/exmutex.c",
	"executer/exnames.c",
	"executer/exoparg1.c",
	"executer/exoparg2.c",
	"executer/exoparg3.c",
	"executer/exoparg6.c",
	"executer/exprep.c",
	"executer/exregion.c",
	"executer/exresnte.c",
	"executer/exresolv.c",
	"executer/exresop.c",
	"executer/exserial.c",
	"executer/exstore.c",
	"executer/exstoren.c",
	"executer/exstorob.c",
	"executer/exsystem.c",
	"executer/extrace.c",
	"executer/exutils.c",
	"namespace/nsaccess.c",
	"namespace/nsalloc.c",
	"namespace/nsarguments.c",
	"namespace/nsconvert.c",
	"namespace/nsdump.c",
	"namespace/nsdumpdv.c",
	"namespace/nseval.c",
	"namespace/nsinit.c",
	"namespace/nsload.c",
	"namespace/nsnames.c",
	"namespace/nsobject.c",
	"namespace/nsparse.c",
	"namespace/nspredef.c",
	"namespace/nsprepkg.c",
	"namespace/nsrepair2.c",
	"namespace/nsrepair.c",
	"namespace/nssearch.c",
	"namespace/nsutils.c",
	"namespace/nswalk.c",
	"namespace/nsxfeval.c",
	"namespace/nsxfname.c",
	"namespace/nsxfobj.c",
	"tables/tbdata.c",
	"tables/tbfadt.c",
	"tables/tbfind.c",
	"tables/tbinstal.c",
	"tables/tbprint.c",
	"tables/tbutils.c",
	"tables/tbxface.c",
	"tables/tbxfload.c",
	"tables/tbxfroot.c",
	"dispatcher/dsargs.c",
	"dispatcher/dscontrol.c",
	"dispatcher/dsdebug.c",
	"dispatcher/dsfield.c",
	"dispatcher/dsinit.c",
	"dispatcher/dsmethod.c",
	"dispatcher/dsmthdat.c",
	"dispatcher/dsobject.c",
	"dispatcher/dsopcode.c",
	"dispatcher/dspkginit.c",
	"dispatcher/dsutils.c",
	"dispatcher/dswexec.c",
	"dispatcher/dswload2.c",
	"dispatcher/dswload.c",
	"dispatcher/dswscope.c",
	"dispatcher/dswstate.c"

	depends embox.mem.heap_api
	depends embox.kernel.timer.sleep_api
	depends embox.arch.cpu

}
