acpica/source/compiler
2006-12-15 23:13:53 +00:00
..
aslanalyze.c Fixes for load() operator. 2006-11-02 22:45:32 +00:00
aslcodegen.c Fix fault if package length too long to be encoded (BZ 432) 2006-06-06 22:14:50 +00:00
aslcompile.c Implemented several new compiler warnings 2006-04-04 21:55:12 +00:00
aslcompiler.h The Table Manager component has been completely redesigned and reimplemented. The new design is much simpler, and reduces the overall code and data size of the kernel-resident ACPICA by approximately 5%. Also, it is now possible to obtain the ACPI tables very early during kernel initialization, even before dynamic memory management is initialized. 2006-08-23 19:55:36 +00:00
aslcompiler.l Fix for buffer overflow on long ASL string literals. BZ 436 2006-06-28 16:14:37 +00:00
aslcompiler.y Automated code cleanup 2006-09-27 20:34:16 +00:00
asldefine.h Update copyright and ACPI version supported (3.0a) 2006-01-09 21:22:41 +00:00
aslerror.c Implemented several new compiler warnings 2006-04-04 21:55:12 +00:00
aslfiles.c Add 2006 copyright 2006-01-09 17:47:27 +00:00
aslfold.c Add 2006 copyright 2006-01-09 17:47:27 +00:00
aslglobal.h Fix for buffer overflow on long ASL string literals. BZ 436 2006-06-28 16:14:37 +00:00
asllength.c Add 2006 copyright 2006-01-09 17:47:27 +00:00
asllisting.c Rename ACPI memory macros for clarity 2006-03-10 20:08:05 +00:00
aslload.c Fix for resource descriptor compilation. 2006-09-15 17:27:23 +00:00
asllookup.c Support for disassembler external generation 2006-05-11 20:26:22 +00:00
aslmain.c Removed all 16-bit support. 2006-12-08 20:44:28 +00:00
aslmap.c Update reserved method check for _ERR, now has 3 arguments. 2006-12-15 23:13:53 +00:00
aslopcodes.c cleanup 2006-03-14 20:06:10 +00:00
asloperands.c ACPICA: Fixed a problem with the AmlFilename parameter to the DefinitionBlock() operator. An incorrect output filename was produced when this parameter was a null string (""). Now, the original input filename is used as the AML output filename, with a .aml extension. 2006-09-12 20:35:17 +00:00
aslopt.c Update ACPI_FUNCTION_* macros, no longer require quotes. Allows source conversion to convert the function names. 2006-04-19 21:49:06 +00:00
aslresource.c Support to add resource descriptor names and create symbolic refs to resources 2006-03-10 17:48:32 +00:00
aslrestype1.c Support to add resource descriptor names and create symbolic refs to resources 2006-03-10 17:48:32 +00:00
aslrestype2.c Rename 3 struct fields for clarity and simpler source conversion 2006-04-21 22:53:32 +00:00
aslstubs.c ACPICA: Update iASL for new Table Manger. Required new table init interface since iASL does not use RSDP/XSDT. 2006-09-06 21:32:22 +00:00
asltransform.c Handle parse errors during Switch() generation 2006-09-26 17:16:03 +00:00
asltree.c Implemented several new compiler warnings 2006-04-04 21:55:12 +00:00
asltypes.h Fix for buffer overflow on long ASL string literals. BZ 436 2006-06-28 16:14:37 +00:00
aslutils.c Implemented several new compiler warnings 2006-04-04 21:55:12 +00:00
readme.txt Source gen instructions 2005-06-29 16:15:45 +00:00

Instructions for integrating iASL compiler into MS VC++ 6.0 environment.

Part 1.  Integration as a custom tool

This procedure adds the iASL compiler as a custom tool that can be used
to compile ASL source files.  The output is sent to the VC output 
window.

a) Select Tools->Customize.

b) Select the "Tools" tab.

c) Scroll down to the bottom of the "Menu Contents" window.  There you
   will see an empty rectangle.  Click in the rectangle to enter a 
   name for this tool.

d) Type "iASL Compiler" in the box and hit enter.  You can now edit
   the other fields for this new custom tool.

e) Enter the following into the fields:

   Command:             C:\Acpi\iasl.exe
   Arguments:           -e "$(FilePath)"
   Initial Directory    "$(FileDir)"
   Use Output Window    <Check this option>

   "Command" must be the path to wherever you copied the compiler.
   "-e" instructs the compiler to produce messages appropriate for VC.
   Quotes around FilePath and FileDir enable spaces in filenames.

f) Select "Close".

These steps will add the compiler to the tools menu as a custom tool.
By enabling "Use Output Window", you can click on error messages in
the output window and the source file and source line will be
automatically displayed by VC.  Also, you can use F4 to step through
the messages and the corresponding source line(s).


Part 2.  Integration into a project build

This procedure creates a project that compiles ASL files to AML.

a) Create a new, empty project and add your .ASL files to the project

b) For all ASL files in the project, specify a custom build (under
Project/Settings/CustomBuild with the following settings (or similar):

Commands:
c:\acpi\libraries\iasl.exe -vs -vi "$(InputPath)"

Output:
$(InputDir)\$(InputPath).aml



Compiler Generation From Source

Generation of the ASL compiler from source code requires these items:


Required Tools
1) The Flex (or Lex) lexical analyzer generator.
2) The Bison (or Yacc) parser generator.
3) An ANSI C compiler.


Required Source Code.

There are three major source code components that are required to 
generate the compiler:

1) The ASL compiler source.
2) The ACPI CA Core Subsystem source.  In particular, the Namespace Manager
     component is used to create an internal ACPI namespace and symbol table,
     and the AML Interpreter is used to evaluate constant expressions.
3) The Common source for all ACPI components.