1--------------------------------------------------------------------------
2-- Copyright (c) 2007-2010, ETH Zurich.
3-- All rights reserved.
4--
5-- This file is distributed under the terms in the attached LICENSE file.
6-- If you do not find this file, copies can be found by writing to:
7-- ETH Zurich D-INFK, Haldeneggsteig 4, CH-8092 Zurich. Attn: Systems Group.
8--
9-- Hakefile for usr/pci/acpica
10-- 
11--------------------------------------------------------------------------
12let subdirs = [ "source/components/dispatcher",
13                "source/components/events",
14                "source/components/executer",
15                "source/components/hardware",
16                "source/components/namespace",
17                "source/components/parser",
18                "source/components/resources",
19                "source/components/tables",
20                "source/components/utilities" ]
21    cfiles = [
22                "barrelfish/osbfxf.c",
23--                "source/os_specific/service_layers/osbarrelfish.c",
24                "source/components/utilities/utxface.c",
25                "source/components/utilities/utids.c",
26                "source/components/utilities/utmisc.c",
27                "source/components/utilities/utnonansi.c",
28                "source/components/utilities/utxfinit.c",
29                "source/components/utilities/utglobal.c",
30                "source/components/utilities/utmutex.c",
31                "source/components/utilities/utbuffer.c",
32                "source/components/utilities/uteval.c",
33                "source/components/utilities/uthex.c",
34                "source/components/utilities/utpredef.c",
35                "source/components/utilities/uterror.c",
36                "source/components/utilities/utcopy.c",
37                "source/components/utilities/utobject.c",
38                "source/components/utilities/utmath.c",
39                "source/components/utilities/utstring.c",
40                "source/components/utilities/utcache.c",
41                "source/components/utilities/utuuid.c",
42                "source/components/utilities/utinit.c",
43                "source/components/utilities/utdecode.c",
44                "source/components/utilities/uttrack.c",
45                "source/components/utilities/utxferror.c",
46                "source/components/utilities/utownerid.c",
47                "source/components/utilities/utdebug.c",
48                "source/components/utilities/utclib.c",
49                "source/components/utilities/utprint.c",
50                "source/components/utilities/utresrc.c",
51                "source/components/utilities/utexcep.c",
52                "source/components/utilities/utlock.c",
53                "source/components/utilities/utascii.c",
54                "source/components/utilities/utalloc.c",
55                "source/components/utilities/utdelete.c",
56                "source/components/utilities/utaddress.c",
57                "source/components/utilities/utxfmutex.c",
58                "source/components/utilities/utstate.c",
59                "source/components/utilities/utosi.c",
60                "source/components/parser/pstree.c",
61                "source/components/parser/psopinfo.c",
62                "source/components/parser/psscope.c",
63                "source/components/parser/psargs.c",
64                "source/components/parser/psloop.c",
65                "source/components/parser/psutils.c",
66                "source/components/parser/psopcode.c",
67                "source/components/parser/pswalk.c",
68                "source/components/parser/psparse.c",
69                "source/components/parser/psxface.c",
70                "source/components/parser/psobject.c",
71                "source/components/tables/tbxfload.c",
72                "source/components/tables/tbinstal.c",
73                "source/components/tables/tbfadt.c",
74                "source/components/tables/tbfind.c",
75                "source/components/tables/tbdata.c",
76                "source/components/tables/tbprint.c",
77                "source/components/tables/tbxface.c",
78                "source/components/tables/tbutils.c",
79                "source/components/tables/tbxfroot.c",
80--                "source/components/disassembler/dmresrcl2.c",
81--                "source/components/disassembler/dmresrcs.c",
82--                "source/components/disassembler/dmbuffer.c",
83--                "source/components/disassembler/dmcstyle.c",
84--                "source/components/disassembler/dmwalk.c",
85--                "source/components/disassembler/dmutils.c",
86--                "source/components/disassembler/dmresrc.c",
87--                "source/components/disassembler/dmresrcl.c",
88--                "source/components/disassembler/dmdeferred.c",
89--                "source/components/disassembler/dmopcode.c",
90--                "source/components/disassembler/dmnames.c",
91                "source/components/executer/exresnte.c",
92                "source/components/executer/exoparg3.c",
93                "source/components/executer/exdump.c",
94                "source/components/executer/extrace.c",
95                "source/components/executer/exstorob.c",
96                "source/components/executer/exstoren.c",
97                "source/components/executer/exconfig.c",
98                "source/components/executer/exconvrt.c",
99                "source/components/executer/exfield.c",
100                "source/components/executer/exnames.c",
101                "source/components/executer/exmisc.c",
102                "source/components/executer/exresop.c",
103                "source/components/executer/exresolv.c",
104                "source/components/executer/exmutex.c",
105                "source/components/executer/exoparg1.c",
106                "source/components/executer/exutils.c",
107                "source/components/executer/exconcat.c",
108                "source/components/executer/exdebug.c",
109                "source/components/executer/exsystem.c",
110                "source/components/executer/exstore.c",
111                "source/components/executer/exregion.c",
112                "source/components/executer/exprep.c",
113                "source/components/executer/exfldio.c",
114                "source/components/executer/excreate.c",
115                "source/components/executer/exoparg2.c",
116                "source/components/executer/exoparg6.c",
117                "source/components/dispatcher/dsfield.c",
118                "source/components/dispatcher/dswscope.c",
119                "source/components/dispatcher/dswload2.c",
120                "source/components/dispatcher/dsutils.c",
121                "source/components/dispatcher/dswload.c",
122                "source/components/dispatcher/dsargs.c",
123                "source/components/dispatcher/dswexec.c",
124                "source/components/dispatcher/dsopcode.c",
125                "source/components/dispatcher/dsobject.c",
126                "source/components/dispatcher/dsmethod.c",
127                "source/components/dispatcher/dsinit.c",
128                "source/components/dispatcher/dsdebug.c",
129                "source/components/dispatcher/dscontrol.c",
130                "source/components/dispatcher/dsmthdat.c",
131                "source/components/dispatcher/dswstate.c",
132                "source/components/namespace/nsxfname.c",
133                "source/components/namespace/nsrepair.c",
134                "source/components/namespace/nsutils.c",
135                "source/components/namespace/nseval.c",
136                "source/components/namespace/nsdump.c",
137                "source/components/namespace/nsaccess.c",
138                "source/components/namespace/nswalk.c",
139                "source/components/namespace/nsnames.c",
140                "source/components/namespace/nsrepair2.c",
141                "source/components/namespace/nsinit.c",
142                "source/components/namespace/nsparse.c",
143                "source/components/namespace/nsprepkg.c",
144                "source/components/namespace/nsalloc.c",
145                "source/components/namespace/nssearch.c",
146                "source/components/namespace/nsobject.c",
147                "source/components/namespace/nsload.c",
148                "source/components/namespace/nsconvert.c",
149                "source/components/namespace/nspredef.c",
150                "source/components/namespace/nsxfeval.c",
151                "source/components/namespace/nsxfobj.c",
152                "source/components/namespace/nsarguments.c",
153                "source/components/namespace/nsdumpdv.c",
154--                "source/components/debugger/dbexec.c",
155--                "source/components/debugger/dbconvert.c",
156--                "source/components/debugger/dbnames.c",
157--                "source/components/debugger/dbhistry.c",
158--                "source/components/debugger/dbcmds.c",
159--                "source/components/debugger/dbmethod.c",
160--                "source/components/debugger/dbinput.c",
161--                "source/components/debugger/dbutils.c",
162--                "source/components/debugger/dbobject.c",
163--                "source/components/debugger/dbstats.c",
164--                "source/components/debugger/dbdisply.c",
165--                "source/components/debugger/dbxface.c",
166--                "source/components/debugger/dbfileio.c",
167--                "source/components/debugger/dbtest.c",
168                "source/components/hardware/hwesleep.c",
169                "source/components/hardware/hwpci.c",
170                "source/components/hardware/hwxfsleep.c",
171                "source/components/hardware/hwvalid.c",
172                "source/components/hardware/hwxface.c",
173                "source/components/hardware/hwgpe.c",
174                "source/components/hardware/hwacpi.c",
175                "source/components/hardware/hwsleep.c",
176                "source/components/hardware/hwregs.c",
177                "source/components/hardware/hwtimer.c",
178                "source/components/events/evxfgpe.c",
179                "source/components/events/evxfregn.c",
180                "source/components/events/evsci.c",
181                "source/components/events/evrgnini.c",
182                "source/components/events/evevent.c",
183                "source/components/events/evgpeinit.c",
184                "source/components/events/evgpeutil.c",
185                "source/components/events/evmisc.c",
186                "source/components/events/evxface.c",
187                "source/components/events/evgpeblk.c",
188                "source/components/events/evglock.c",
189                "source/components/events/evregion.c",
190                "source/components/events/evgpe.c",
191                "source/components/events/evhandler.c",
192                "source/components/events/evxfevnt.c",
193                "source/components/resources/rsmisc.c",
194                "source/components/resources/rslist.c",
195                "source/components/resources/rsmemory.c",
196                "source/components/resources/rsxface.c",
197                "source/components/resources/rsutils.c",
198                "source/components/resources/rsaddr.c",
199                "source/components/resources/rsdumpinfo.c",
200                "source/components/resources/rscalc.c",
201                "source/components/resources/rsio.c",
202                "source/components/resources/rsirq.c",
203                "source/components/resources/rsserial.c",
204                "source/components/resources/rsinfo.c",
205                "source/components/resources/rsdump.c",
206                "source/components/resources/rscreate.c" ]
207
208    flagsArch arch = case arch of
209        "armv8" -> [ "-DACPI_MISALIGNMENT_NOT_SUPPORTED" ]
210        _ -> [ "" ]
211in
212  [ build library {
213         target = "acpica",
214         cFiles = cfiles,
215         addCFlags =  [
216                        -- "-DACPI_DEBUGGER", "-DACPI_BF_DEBUG",
217                        "-Wno-redundant-decls",
218                        "-Wno-unused-function",
219                        "-DACPI_APPLICATION",
220                        "-fno-strict-aliasing" ] ++ (flagsArch arch),
221         addIncludes = [ "source/include", "source/tools/acpidump" ],
222         architectures = [ arch ]
223                  } | arch <- [ "x86_64", "x86_32", "armv8" ]
224  ]
225
226