# Copyright 2019 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//zircon/system/ulib/acpica/acpica.gni")

group("headers") {
  public_configs = [
    ":headers.config",
    ":disable_warnings",
    "//zircon/system/ulib/acpica:acpica-config",
  ]
}

config("headers.config") {
  visibility = [ ":headers" ]
  include_dirs = [ "include" ]

  # UBSan warns on a few instances of misaligned loads. Define this macro to
  # perform byte-by-byte accesses.
  defines = [ "ACPI_MISALIGNMENT_NOT_SUPPORTED" ]
}

# Disable warnings we won't fix in third-party code.  Putting this in a
# separate config rather than directly in the target gets these flags
# correctly ordered after the //build/config:default_warnings flags.
config("disable_warnings") {
  visibility = [ ":*" ]

  cflags = [
    "-Wno-conversion",
    "-Wno-extern-c-compat",
    "-Wno-implicit-fallthrough",
    "-Wno-incompatible-pointer-types-discards-qualifiers",
    "-Wno-null-pointer-arithmetic",
    "-Wno-null-pointer-subtraction",
    "-Wno-unused-but-set-parameter",
    "-Wno-unused-but-set-variable",
  ]
}

config("avoid_linux_init") {
  # When building for Linux hosts, we use the aclinux.h header in ACPICA.
  # This has the fun side effect of defining __init, which is used in the C++ standard
  # library headers. To avoid the ACPICA definition, we define __init to __init here.
  defines = [ "__init=__init" ]
}

static_library("acpica") {
  public_deps = [ ":headers" ]

  # Local sources use #include "acpi.h", not #include <acpica/acpi.h>.
  include_dirs = [ "source/include" ]

  configs += [
    ":disable_warnings",
  ]

  # This is a public config, since it impacts our header files.
  public_configs = [ ":avoid_linux_init" ]

  # We need to specify -fno-strict-aliasing, since ACPICA has a habit of
  # violating strict aliasing rules in some of its macros.  Rewriting this
  # code would increase the maintenance cost of bringing in the latest
  # upstream ACPICA, so instead we mitigate the problem with a compile-time
  # flag.  We take the more conservative approach of disabling
  # strict-aliasing-based optimizations, rather than disabling warnings.
  cflags = [ "-fno-strict-aliasing" ]

  sources = [
    "source/common/ahids.c",
    "source/common/ahpredef.c",
    "source/common/ahtable.c",
    "source/common/dmtbdump.c",
    "source/common/dmtbdump3.c",
    "source/common/dmtbinfo.c",
    "source/common/dmtbinfo1.c",
    "source/common/dmtbinfo2.c",
    "source/common/dmtbinfo3.c",
    "source/components/dispatcher/dsargs.c",
    "source/components/dispatcher/dscontrol.c",
    "source/components/dispatcher/dsdebug.c",
    "source/components/dispatcher/dsfield.c",
    "source/components/dispatcher/dsinit.c",
    "source/components/dispatcher/dsmethod.c",
    "source/components/dispatcher/dsmthdat.c",
    "source/components/dispatcher/dsobject.c",
    "source/components/dispatcher/dsopcode.c",
    "source/components/dispatcher/dspkginit.c",
    "source/components/dispatcher/dsutils.c",
    "source/components/dispatcher/dswexec.c",
    "source/components/dispatcher/dswload.c",
    "source/components/dispatcher/dswload2.c",
    "source/components/dispatcher/dswscope.c",
    "source/components/dispatcher/dswstate.c",
    "source/components/events/evevent.c",
    "source/components/events/evglock.c",
    "source/components/events/evgpe.c",
    "source/components/events/evgpeblk.c",
    "source/components/events/evgpeinit.c",
    "source/components/events/evgpeutil.c",
    "source/components/events/evhandler.c",
    "source/components/events/evmisc.c",
    "source/components/events/evregion.c",
    "source/components/events/evrgnini.c",
    "source/components/events/evsci.c",
    "source/components/events/evxface.c",
    "source/components/events/evxfevnt.c",
    "source/components/events/evxfgpe.c",
    "source/components/events/evxfregn.c",
    "source/components/executer/exconcat.c",
    "source/components/executer/exconfig.c",
    "source/components/executer/exconvrt.c",
    "source/components/executer/excreate.c",
    "source/components/executer/exdebug.c",
    "source/components/executer/exdump.c",
    "source/components/executer/exfield.c",
    "source/components/executer/exfldio.c",
    "source/components/executer/exmisc.c",
    "source/components/executer/exmutex.c",
    "source/components/executer/exnames.c",
    "source/components/executer/exoparg1.c",
    "source/components/executer/exoparg2.c",
    "source/components/executer/exoparg3.c",
    "source/components/executer/exoparg6.c",
    "source/components/executer/exprep.c",
    "source/components/executer/exregion.c",
    "source/components/executer/exresnte.c",
    "source/components/executer/exresolv.c",
    "source/components/executer/exresop.c",
    "source/components/executer/exserial.c",
    "source/components/executer/exstore.c",
    "source/components/executer/exstoren.c",
    "source/components/executer/exstorob.c",
    "source/components/executer/exsystem.c",
    "source/components/executer/extrace.c",
    "source/components/executer/exutils.c",
    "source/components/hardware/hwacpi.c",
    "source/components/hardware/hwesleep.c",
    "source/components/hardware/hwgpe.c",
    "source/components/hardware/hwpci.c",
    "source/components/hardware/hwregs.c",
    "source/components/hardware/hwsleep.c",
    "source/components/hardware/hwtimer.c",
    "source/components/hardware/hwvalid.c",
    "source/components/hardware/hwxface.c",
    "source/components/hardware/hwxfsleep.c",
    "source/components/namespace/nsaccess.c",
    "source/components/namespace/nsalloc.c",
    "source/components/namespace/nsarguments.c",
    "source/components/namespace/nsconvert.c",
    "source/components/namespace/nsdump.c",
    "source/components/namespace/nsdumpdv.c",
    "source/components/namespace/nseval.c",
    "source/components/namespace/nsinit.c",
    "source/components/namespace/nsload.c",
    "source/components/namespace/nsnames.c",
    "source/components/namespace/nsobject.c",
    "source/components/namespace/nsparse.c",
    "source/components/namespace/nspredef.c",
    "source/components/namespace/nsprepkg.c",
    "source/components/namespace/nsrepair.c",
    "source/components/namespace/nsrepair2.c",
    "source/components/namespace/nssearch.c",
    "source/components/namespace/nsutils.c",
    "source/components/namespace/nswalk.c",
    "source/components/namespace/nsxfeval.c",
    "source/components/namespace/nsxfname.c",
    "source/components/namespace/nsxfobj.c",
    "source/components/parser/psargs.c",
    "source/components/parser/psloop.c",
    "source/components/parser/psobject.c",
    "source/components/parser/psopcode.c",
    "source/components/parser/psopinfo.c",
    "source/components/parser/psparse.c",
    "source/components/parser/psscope.c",
    "source/components/parser/pstree.c",
    "source/components/parser/psutils.c",
    "source/components/parser/pswalk.c",
    "source/components/parser/psxface.c",
    "source/components/resources/rsaddr.c",
    "source/components/resources/rscalc.c",
    "source/components/resources/rscreate.c",
    "source/components/resources/rsdumpinfo.c",
    "source/components/resources/rsinfo.c",
    "source/components/resources/rsio.c",
    "source/components/resources/rsirq.c",
    "source/components/resources/rslist.c",
    "source/components/resources/rsmemory.c",
    "source/components/resources/rsmisc.c",
    "source/components/resources/rsserial.c",
    "source/components/resources/rsutils.c",
    "source/components/resources/rsxface.c",
    "source/components/tables/tbdata.c",
    "source/components/tables/tbfadt.c",
    "source/components/tables/tbfind.c",
    "source/components/tables/tbinstal.c",
    "source/components/tables/tbprint.c",
    "source/components/tables/tbutils.c",
    "source/components/tables/tbxface.c",
    "source/components/tables/tbxfload.c",
    "source/components/tables/tbxfroot.c",
    "source/components/utilities/utaddress.c",
    "source/components/utilities/utalloc.c",
    "source/components/utilities/utascii.c",
    "source/components/utilities/utbuffer.c",
    "source/components/utilities/utcache.c",
    "source/components/utilities/utcksum.c",
    "source/components/utilities/utclib.c",
    "source/components/utilities/utcopy.c",
    "source/components/utilities/utdebug.c",
    "source/components/utilities/utdecode.c",
    "source/components/utilities/utdelete.c",
    "source/components/utilities/uterror.c",
    "source/components/utilities/uteval.c",
    "source/components/utilities/utexcep.c",
    "source/components/utilities/utglobal.c",
    "source/components/utilities/uthex.c",
    "source/components/utilities/utids.c",
    "source/components/utilities/utinit.c",
    "source/components/utilities/utlock.c",
    "source/components/utilities/utmath.c",
    "source/components/utilities/utmisc.c",
    "source/components/utilities/utmutex.c",
    "source/components/utilities/utnonansi.c",
    "source/components/utilities/utobject.c",
    "source/components/utilities/utosi.c",
    "source/components/utilities/utownerid.c",
    "source/components/utilities/utpredef.c",
    "source/components/utilities/utresdecode.c",
    "source/components/utilities/utresrc.c",
    "source/components/utilities/utstate.c",
    "source/components/utilities/utstring.c",
    "source/components/utilities/utstrsuppt.c",
    "source/components/utilities/utstrtoul64.c",
    "source/components/utilities/uttrack.c",
    "source/components/utilities/utuuid.c",
    "source/components/utilities/utxface.c",
    "source/components/utilities/utxferror.c",
    "source/components/utilities/utxfinit.c",
    "source/components/utilities/utxfmutex.c",
  ]
  deps = [ "//zircon/system/ulib/acpica:acpica-fuchsia" ]
  defines = [ "_ALL_SOURCE" ]
  if (acpica_debug_output) {
    defines += [ "ACPI_DEBUG_OUTPUT" ]
  }

  if (is_host) {
    # Use built in cache implementation on host.
    defines += [ "ACPI_USE_LOCAL_CACHE" ]
  }
}
