mirror of
https://github.com/acpica/acpica/
synced 2025-01-13 12:59:18 +03:00
Update readme files for ACPICA and iASL generation.
Miscellaneous updates for these help files.
This commit is contained in:
parent
8806b15e5e
commit
8d96522dda
@ -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.
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user