Update readme files for ACPICA and iASL generation.

Miscellaneous updates for these help files.
This commit is contained in:
Robert Moore 2012-10-05 09:09:40 -07:00
parent 8806b15e5e
commit 8d96522dda
2 changed files with 107 additions and 93 deletions

View File

@ -1,28 +1,37 @@
/*
* Generation of ACPICA with MS Visual Studio 2008
*/
ACPICA generates with all language extensions disabled, since the code
is meant to be highly portable.
The Visual Studio project file (for Visual Studio 2008)
appears in this directory:
generate/msvc9/AcpiComponents.sln
ACPICA generates with all MS C language extensions disabled, since the
code is ANSI conformant and is meant to be highly portable.
There are a couple of include files in MS Visual Studio 2008 that
contain // comments. These will be flagged as warnings. To eliminate
these warnings, modify these include files:
unfortunately contain non-ANSI // style comments. These will be flagged
as warnings since language extensions are disabled.
The VC include files are under one of these directories:
\Program Files\Microsoft Visual Studio 9.0\VC\include
\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include
To eliminate these warnings, modify each of these include files:
sal.h
stdlib.h
For each file, add this statement to the start of the file:
#pragma warning( disable : 4001 ) /* no warning about "//" comments */
and add this statement to the end of the file:
#pragma warning( default : 4001 )
1) \Program Files\Microsoft Visual Studio 9.0\VC\include\sal.h
Add this to the start of the file:
#pragma warning( disable : 4001 ) /* no warning about "//" comments */
Add this to the end of the file:
#pragma warning( default : 4001 )
2) \Program Files\Microsoft Visual Studio 9.0\VC\include\stdlib.h
Line 773: Change // comment to a /* */ comment
Note: you may have to change the permissions on these files in order
to write to them.

View File

@ -1,33 +1,96 @@
/*
* Miscellaneous instructions for building and using the iASL compiler.
*/
Instructions for integrating iASL compiler into MS VC++ environment.
1) Generating iASL from source
------------------------------
1a) Integration as a custom tool
-------------------------------
Generation of the ASL compiler from source code requires these items:
1) The ACPICA source code tree.
2) An ANSI C compiler.
3) The Flex (or Lex) lexical analyzer generator.
4) The Bison (or Yacc) parser generator.
There are three major ACPICA source code components that are required to
generate the compiler (Basically, the entire ACPICA source tree should
be installed):
1) The ASL compiler source.
2) The ACPICA 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 directory that is used for all ACPI components.
On Linux/Unix systems, the following commands will build the compiler:
cd acpica (or cd acpica/generate/unix)
make clean
make iasl
On Windows, the Visual Studio 2008 project file appears in this directory:
generate/msvc9/AcpiComponents.sln
1a) Notes for Windows GNU Flex and GNU Bison
--------------------------------------------
The Windows versions of GNU Flex/Bison must be installed, and they must
be installed in a directory that contains no embedded spaces in the
pathname. They cannot be installed in the default "c:\Program Files"
directory. This is a bug in Bison. The default Windows project file for
iASL assumes that these tools are installed at this location:
c:\GnuWin32
Once the tools are installed, ensure that this path is added to the
default system $PATH environment variable:
c:\GnuWin32\bin
At this point, you will need to reboot Windows to make system aware of
the updated $PATH.
iASL has been generated with these versions of Flex/Bison for Windows:
Flex for Windows: V2.5.4
Bison for Windows: V2.4.1
Flex is available at: http://gnuwin32.sourceforge.net/packages/flex.htm
Bison is available at: http://gnuwin32.sourceforge.net/packages/bison.htm
2) Integration as a custom tool for Visual Studio
-------------------------------------------------
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
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
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
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)"
Arguments: -vi "$(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.
"-vi" instructs the compiler to produce messages appropriate for VC.
Quotes around FilePath and FileDir enable spaces in filenames.
f) Select "Close".
@ -35,12 +98,13 @@ 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
automatically displayed by VC. Also, you can use F4 to step through
the messages and the corresponding source line(s).
1b) Integration into a project build
------------------------------------
3) Integrating iASL into a Visual Studio ASL project build
----------------------------------------------------------
This procedure creates a project that compiles ASL files to AML.
@ -50,66 +114,7 @@ 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)"
c:\acpi\libraries\iasl.exe -vs -vi "$(InputPath)"
Output:
$(InputDir)\$(InputPath).aml
2) Compiler Generation From Source
-------------------------------
Generation of the ASL compiler from source code requires these items:
2a) Required Tools
--------------
1) The Flex (or Lex) lexical analyzer generator.
2) The Bison (or Yacc) parser generator.
3) An ANSI C compiler.
Windows GNU Flex and GNU Bison Notes:
GNU Flex/Bison must be installed in a directory that has no embedded
spaces in the name. They cannot be installed in the default
c:\"Program Files" directory. This is a bug in Bison. The default
Windows project file for iASL assumes that these tools are
installed at c:\GnuWin32.
Once the tools are installed, ensure that c:\GnuWin32\bin is added to the
default system $PATH environment variable.
At this point, you will need to reboot Windows to make system aware of the
updated $PATH.
iASL has been generated with these versions on Windows:
Flex for Windows: V2.5.4
Bison for Windows: V2.4.1
Flex is available at: http://gnuwin32.sourceforge.net/packages/flex.htm
Bison is available at: http://gnuwin32.sourceforge.net/packages/bison.htm
2b) Required Source Code
--------------------
There are three major source code components that are required to
generate the compiler:
1) The ASL compiler source.
2) The ACPICA 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.
$(InputDir)\$(InputPath).aml