Rewrite Autotools docs to use CDT Autotools User Guide Wiki.
Change-Id: I1001d49b52a5bb49a65f6d3d899ec5e59dded38c Reviewed-on: https://git.eclipse.org/r/5678 Reviewed-by: Jeff Johnston <jjohnstn@redhat.com> IP-Clean: Jeff Johnston <jjohnstn@redhat.com> Tested-by: Jeff Johnston <jjohnstn@redhat.com>
|
@ -38,7 +38,7 @@
|
|||
<b>Build (GNU)</b> which configures and builds in the top-level project directory. This is common for Autotools projects to have the user configure and build directly in the top-level source directory. The location of the build can be changed in the C/C++ Build properties:
|
||||
</p>
|
||||
<p>
|
||||
<img border="0" src="images/Linuxtools-AutotoolsBuildLocation.png"/>
|
||||
<img border="0" src="images/AutotoolsCBuildProperties.png"/>
|
||||
</p>
|
||||
<p>Notice how the default is ${workspace_loc:/xxxx} where xxxx is the project name. This represents the project's location which may or may not be physically under the workspace root directory. To change the build location, it is recommended that you add a directory following the project location: e.g. ${workspace_loc:/xxxx}/yyyy. </p>
|
||||
<p>It should be noted that the configure script automatically checks to see if a configuration has been performed in the source directory. It does so by looking for the
|
||||
|
@ -51,7 +51,7 @@
|
|||
</p>
|
||||
<p>CDT build configurations are managed via the Managed Configurations dialog. The dialog is accessed via a button that can be found on any property page that alters data that is part of the build configuration. This includes the Project -> Properties -> Autotools -> Configure Settings page. Pressing the button results in the Manage Configurations dialog:</p>
|
||||
<p>
|
||||
<img border="0" src="images/Linuxtools-AutotoolsManageConfs.png"/>
|
||||
<img border="0" src="images/AutotoolsManageConfigurations.png"/>
|
||||
</p>
|
||||
<p>From the dialog, it is possible to create a new configuration, rename a configuration, delete a configuration, or set a particular configuration as being the active one. Deletion is disabled when there is only one configuration. Likewise, if there is only one configuration, it is active by default. When you choose to create a new configuration (hit the New... button), you are given a number of choices. You can:</p>
|
||||
<ol>
|
||||
|
@ -77,11 +77,11 @@
|
|||
</li>
|
||||
</ol>
|
||||
<p>
|
||||
<img border="0" src="images/Linuxtools-AutotoolsCreateConf.png"/>
|
||||
<img border="0" src="images/AutotoolsNewConfiguration.png"/>
|
||||
</p>
|
||||
<p>Copying a configuration copies all of its settings, including the Autotools configuration parameters. Copying all settings would normally include the build location (the directory where the build will be performed), but the Autotools plug-in, by default, intercedes and for every new configuration subsequent to the initial one, it sets the build location to build-xxxx where xxxx is the unique configuration name. The Autotools plug-in replaces any white-space in the configuration name with underscores so it is possible if you have named two configurations similarly with different white-space characters or one with underscores that you might result in a build location collision. The replacement of white-space is done because the build directory will get placed in the generated Makefile where white-space is used as delimiters and undefined behaviour would therefore occur. The automatic build directory naming behaviour can be turned off from the Project -> Properties -> Autotools page, but it is discouraged since switching between different configurations and building in the same directory can cause undefined behaviour.</p>
|
||||
<p>
|
||||
<img border="0" src="images/Linuxtools-AutotoolsAutotools.png"/>
|
||||
<img border="0" src="images/AutotoolsProperties.png"/>
|
||||
</p>
|
||||
<p>Note: changes to configurations are not performed unless the Ok or Apply buttons are pressed from a Property page with the Manage Configurations button on it. That is, pressing Ok from the Manage Configurations dialog does not make the changes permanent. You could add new configurations, delete others, and then hit the Cancel button from the corresponding property page and the changes would be reverted.</p><hr/>
|
||||
<table class="navigation" style="width: 100%;" border="0" summary="navigation">
|
|
@ -33,10 +33,10 @@
|
|||
<p>Prior to running a build, the Autotools plug-in runs the configure script. Parameters to be passed to configure may be
|
||||
entered via the Project -> Properties -> Autotools -> Configure Settings UI shown below:</p>
|
||||
<p>
|
||||
<img border="0" src="images/Linuxtools-AutotoolsConfsettings.png"/>
|
||||
<img border="0" src="images/AutotoolsConfigureSettings.png"/>
|
||||
</p>
|
||||
<p>You will notice how the actual configure script name is editable. It is not recommended you change the name of the configure script as this is standard for Autotool projects. However, one use of this text input is to add environment variables to set prior to invoking the configure script. For example, you might want to set the command to:
|
||||
<b>CFLAGS="-g -debug" configure</b> to have the CFLAGS environment variable overridden while configuring. The same applies to the autogen.sh script settings.
|
||||
<p>If the top-level tree item: "Configure" is selected, you will notice how the actual configure script name is editable. It is not recommended you change the name of the configure script as this is standard for Autotool projects. However, you can use this text input to add environment variables to set prior to invoking the configure script. For example, you might set the command to:
|
||||
<b>CFLAGS="-g -debug" configure</b> to have the CFLAGS environment variable overridden while configuring. The same applies to the autogen.sh script settings. On the advanced options page, there are a few prepared compilation options such as: compiling for debugging, compiling for the gcov tool, and compiling for the gprof tool. One can also specify these options directly in the additional command-line options field as demonstrated in the screen-shot above.
|
||||
</p>
|
||||
<p>For configure, there are a number of standard parameters that apply to generated configure scripts. Each parameter has its command line name presented so you can look it up in Autotools documentation. In addition, tool-tip hover help is provided.</p>
|
||||
<p>Under the Advanced category, there is a free-form line called "Additional command-line options" where you may enter any options in their command-line format. This is useful for entering custom options that your configure script supports (e.g. --enable-feature-x or --with-lib-y). It can also be used for any of the standard parameters as well if that is more familiar tor you. Parameters in this list are appended to the end of parameters derived from the standard option entries (i.e. you could get two specifications of a parameter). In the case of multiple specification, behaviour is the same as it is on the command line. You can optionally check off the "Display help contents (--help)" option under the General category to see all the standard and custom options the configure script accepts. As the configure script help is a product of how it is written, it is sometimes possible that the help is out of date with regards to added features.</p>
|
||||
|
@ -80,22 +80,22 @@
|
|||
</li>
|
||||
</ol>
|
||||
<p>If after all of this, the top-level Makefile is not created, an error is generated and building stops. </p>
|
||||
<p>The configure process can be manually forced for a project via the Project -> Reconfigure Project menu item. A reconfigure runs the configure script even if a config.status file is found indicating a prior configuration was successful.</p>
|
||||
<p>The entire configuration step is performed by a special builder that is added when an Autotools project is created or converted from another project. The special builder runs the configure step and is positioned to run prior to the Makefile builder.</p>
|
||||
<p>The configure process can be manually forced for a project via right-clicking on any file in the project to get the Context menu and selecting the Reconfigure Project menu item. A reconfigure runs the configure script even if a config.status file is found indicating a prior configuration was successful.</p>
|
||||
<p>The entire configuration step is performed by a special builder that is added when an Autotools project is created or converted from another project. The special builder runs the configure step and is positioned in the builder order to run prior to the Makefile builder.</p>
|
||||
<p>From the Project -> Properties -> Builders tab for a project you will see:</p>
|
||||
<p>
|
||||
<img border="0" src="images/Linuxtools-AutotoolsBuilders.png"/>
|
||||
<img border="0" src="images/AutotoolsBuilders.png"/>
|
||||
</p>
|
||||
<p>Do not un-check the Autotools Makefile builder nor change the order of the builders. Modifying this will result in undefined behaviour.</p>
|
||||
<p>The configure step is run in a special Configuration console added by the Autotools plug-in. This console is separate from the C-Build console which is used to display the results of the make command invocation.</p>
|
||||
<p>To see the Configure console, click on the console selector button (icon looks like a T.V.) found in the Console View as follows:</p>
|
||||
<p>The configure step output goes to a special Configuration console added by the Autotools plug-in. This console is separate from the C-Build console which is used to display the results of the make command invocation.</p>
|
||||
<p>To see the Configure console, click on the console selector button (icon looks like a T.V.) found in the Console View and choose an entry which starts with "Configure" and has the project name.</p>
|
||||
<p>
|
||||
<img border="0" src="images/Linuxtools-AutotoolsConsoleSelect.png"/>
|
||||
<img border="0" src="images/AutotoolsConfigureConsole.png"/>
|
||||
</p>
|
||||
<p>Note that the configure console output is per project and shows configuration output for the last build of the project. It is not saved between Eclipse sessions.</p>
|
||||
<p>Note that configure console output is per project and shows configuration output for the last build of the project. It is not saved between Eclipse sessions.</p>
|
||||
<p>The Autotools console is an instance of a CDT Build console so the console preferences set in Window -> Preferences -> C/C++ -> Build Console apply as well.</p>
|
||||
<p>
|
||||
<img border="0" src="images/Linuxtools-AutotoolsConsolePrefs.png"/>
|
||||
<img border="0" src="images/AutotoolsBuildConsole.png"/>
|
||||
</p><hr/>
|
||||
<table class="navigation" style="width: 100%;" border="0" summary="navigation">
|
||||
<tr>
|
|
@ -33,29 +33,29 @@
|
|||
<p>There a number of ways to create an Autotools project. The first method is through the CDT C and C++ Project wizards which can be activated from the File -> New -> C Project and File -> New -> C++ Project menu items, respectively, which are available while in the C/C++ Perspective. These two wizards can also be located by clicking on the File -> New -> Project... menu item and then opening the C/C++ folder found there.</p>
|
||||
<p>Looking at the C Wizard, we see that there is a GNU Autotools category.</p>
|
||||
<p>
|
||||
<img border="0" src="images/Linuxtools-AutotoolsCProjectWizard.png"/>
|
||||
<img border="0" src="images/AutotoolsNewCProjectWizard.png"/>
|
||||
</p>
|
||||
<p>Opening the category, there are two choices: Empty Project or Hello World Ansi C Autotools Project. The Empty Project template means that no files will be supplied to the new project while the Hello World project will supply a sample hello world program that uses Autotools for configuring the build. The C++ Project Wizard also has the same GNU Autotools category and two project templates: an Empty Project and a Hello World C++ Autotools sample program. If you are creating a project from scratch, it is recommended that you use the Hello World sample project and make modifications. Otherwise, you will need to create a configure script for the Autotools plug-in to invoke at build time or provide a Makefile so the configuration step does not fail.</p>
|
||||
<p>Opening the category, there are three choices: Empty Project, Autotools Shared Library Project, or Hello World Ansi C Autotools Project. The Empty Project template means that no files will be supplied to the new project while the Hello World project will supply a sample hello world program that uses Autotools for configuring the build. The Autotools Shared Library project is an example of how to use Autotools to create a shared library. The C++ Project Wizard also has the same GNU Autotools category and the three project templates: an Empty Project, Autotools Shared Library, and a Hello World C++ Autotools sample program. If you are creating a project from scratch, it is recommended that you use either the Hello World sample project or the Autotools Shared Library sample project and make modifications. Otherwise, you will need to create a configure script for the Autotools plug-in to invoke at build time or provide a Makefile so the configuration step does not fail.</p>
|
||||
<p>The C and C++ Wizards can also be used when importing an existing Autotools project. For example, when importing a project from CVS using File -> Import... -> CVS -> you are given the choice to "Check out as a project configured by the new project wizard".</p>
|
||||
<p>
|
||||
<img border="0" src="images/Linuxtools-AutotoolsCheckout.png"/>
|
||||
<img border="0" src="images/AutotoolsCheckOutAs.png"/>
|
||||
</p>
|
||||
<p>From the New Project menu, open the C/C++ category and choose either a C Project or C++ Project, depending on the type of project being imported. If the code is both C and C++, choose C++ Project.</p>
|
||||
<p>Let's say you have a C application using Autotools and select C Project. This will bring up the C Project Wizard as displayed earlier. In this case, choose the Empty Project from the GNU Autotools category as you already have all the configuration files in place.</p>
|
||||
<p>Another method to create an Autotools project is to convert an existing project. For example, if we import a project from SVN or CVS and do not configure using the new project wizard, the project will simply be downloaded into the workspace. At this point, it cannot be built or access various tools from the CDT.</p>
|
||||
<p>To convert it, select the project in the Project Explorer and open the File -> New -> Convert to C/C++ Project menu item as found in the C/C++ Perspective. If in another perspective, this same wizard can be found by selecting File -> New -> Other... -> C/C++ -> Convert to a C/C++ Project. This brings up the C/C++ Conversion wizard.</p>
|
||||
<p>
|
||||
<img border="0" src="images/Linuxtools-AutotoolsConvertWizard.png"/>
|
||||
<img border="0" src="images/AutotoolsConvertToCProject.png"/>
|
||||
</p>
|
||||
<p>Note how there is a set of projects that are candidates for conversion. This list contains any projects that are not already C or C++ projects. A C or C++ project includes regular CDT Managed Make and Makefile projects. Also note that the project you selected is automatically selected when the wizard opens.</p>
|
||||
<p>There is a choice of C or C++ project and a set of project types to choose from. For Autotools, select the GNU Autotools category and this will convert to an Autotools project. Once converted, this project will not show up as a candidate project in the conversion wizard.</p>
|
||||
<p>The final way to create an Autotools project is to use the Autotools Conversion wizard. This wizard allows one to convert from any form of project to an Autotools project. Obviously, converting a project that isn't actually C or C++ and using Autotools will result in undefined behaviour. You need to first select the project you wish to convert. After selecting, go to File -> New -> Other... -> C/C++, open the category, select "Convert to a C/C++ Autotools Project" and hit the Next button. </p>
|
||||
<p>
|
||||
<img border="0" src="images/Linuxtools-AutotoolsNewOther.png"/>
|
||||
<img border="0" src="images/AutotoolsConvertWizard.png"/>
|
||||
</p>
|
||||
<p>This brings up the following dialog:</p>
|
||||
<p>
|
||||
<img border="0" src="images/Linuxtools-AutotoolsConvAutotoolsWizard.png"/>
|
||||
<img border="0" src="images/AutotoolsConvertProject.png"/>
|
||||
</p>
|
||||
<p>Again, there are candidates for conversion. This list contains all projects that are not currently C or C++ Autotool projects. You are given the choice of C or C++ as with the standard C/C++ conversion wizard. Hitting the Finish button is all that is needed, but if you hit the Next button and continue on you can select referenced projects, if desired. </p>
|
||||
<p>Once converted to an Autotools project, there is no UI method to convert back to a regular C/C++ project. If this is desired, you need to manually remove the .project, .cproject, and .autotools files from the project directory. This will effectively remove the natures and CDT settings for the project, allowing you to convert it again however you want.</p><hr/>
|
|
@ -30,9 +30,9 @@
|
|||
</tr>
|
||||
</table><hr/>
|
||||
<h1 id="Invoking_Autotools">Invoking Autotools</h1>
|
||||
<p>To invoke the Autotools, a special menu item has been added to the Project menu. Under Project -> Invoke Autotools there are a set of menu items to invoke the various Autotools for your project. The output of the tool invocation is presented in a special Autotools Console. Like the Configure and C-Build Consoles, the Autotools console is per-project and is not saved across Eclipse sessions. The console, if present, can be accessed via the "Display Selected Console" button in the Console View.</p>
|
||||
<p>To invoke the Autotools, a special sub-menu has been added to the project Context menu. Select any file in the project and then click on Invoke Autotools. There you will find a set of menu items to invoke the various Autotools for your project. The output of the tool invocation is presented in a special Autotools Console. Like the Configure and C-Build Consoles, the Autotools console is per-project and is not saved across Eclipse sessions. The console, if present, can be accessed via the "Display Selected Console" button in the Console View.</p>
|
||||
<p>
|
||||
<img border="0" src="images/Linuxtools-AutotoolsAutotoolsConsole.png"/>
|
||||
<img border="0" src="images/AutotoolsConsole.png"/>
|
||||
</p>
|
||||
<p>The tools provided are:</p>
|
||||
<ol>
|
||||
|
@ -46,7 +46,8 @@
|
|||
<li>Invoke Automake
|
||||
<ul>
|
||||
<li>The automake tool is run from the current directory for the file or folder selected in the project. A dialog is presented to allow specification of options.
|
||||
<img border="0" src="images/Linuxtools-AutotoolsAutomake.png"/>
|
||||
<br/>
|
||||
<img border="0" src="images/AutotoolsAutomake.png"/>
|
||||
<br/>The first text entry is for options while the 2nd text window is for Makefiles targets to generate. The automake tool should be invoked where the configure script is found that will generate the Makefile(s). There may be multiple Makefiles to generate in the current directory or lower. Each target location should be a Makefile and should have a corresponding Makefile.am file at the relative location specified. For example, automake x/Makefile y/Makefile Makefile specifies three targets. It is expected that there is an x/Makefile.am, y/Makefile.am, and a Makefile.am relative to the current directory. For details on automake, enter --help as an option.
|
||||
<br/>
|
||||
</li>
|
||||
|
@ -54,8 +55,9 @@
|
|||
</li>
|
||||
<li>Invoke Aclocal
|
||||
<ul>
|
||||
<li>The aclocal tool is run from the current directory for the file or folder selected in the project. A dialog is presented to allow specification of options.
|
||||
<img border="0" src="images/Linuxtools-AutotoolsAclocal.png"/>
|
||||
<li>The aclocal tool is run from the current directory for the file or folder selected in the project. A dialog is presented to allow specification of options.
|
||||
<br/>
|
||||
<img border="0" src="images/AutotoolsAclocal.png"/>
|
||||
<br/>The first text entry is for options while the 2nd text window is for directories to search for m4 macros. The directories can also be specified directly in the options parameters using the -I option. For details, enter --help as an option.
|
||||
<br/>
|
||||
</li>
|
||||
|
@ -63,8 +65,9 @@
|
|||
</li>
|
||||
<li>Invoke Autoheader
|
||||
<ul>
|
||||
<li>The autoheader tool is run from the current directory for the file or folder selected in the project. A dialog is presented to allow specification of options.
|
||||
<img border="0" src="images/Linuxtools-AutotoolsAutoheader.png"/>
|
||||
<li>The autoheader tool is run from the current directory for the file or folder selected in the project. A dialog is presented to allow specification of options.
|
||||
<br/>
|
||||
<img border="0" src="images/AutotoolsAutoheader.png"/>
|
||||
<br/>The tool is used to create a template for generated header files. It should be run in a directory containing a configure script as it gets its information from there. For details, enter --help as an option.
|
||||
<br/>
|
||||
</li>
|
||||
|
@ -72,8 +75,9 @@
|
|||
</li>
|
||||
<li>Invoke Autoreconf
|
||||
<ul>
|
||||
<li>The autoreconf tool is run from the current directory for the file or folder selected in the project. A dialog is presented to allow specification of options.
|
||||
<img border="0" src="images/Linuxtools-AutotoolsAutoreconf.png"/>
|
||||
<li>The autoreconf tool is run from the current directory for the file or folder selected in the project. A dialog is presented to allow specification of options.
|
||||
<br/>
|
||||
<img border="0" src="images/AutotoolsAutoreconf.png"/>
|
||||
<br/>The most useful option is the -i option to recursively call Autotools for all input files out of date with respect to their outputs. For details, enter --help as an option.
|
||||
<br/>
|
||||
</li>
|
||||
|
@ -81,8 +85,9 @@
|
|||
</li>
|
||||
<li>Invoke Libtoolize
|
||||
<ul>
|
||||
<li>The libtoolize tool is run from the current directory for the file or folder selected in the project. A dialog is presented to allow specification of options.
|
||||
<img border="0" src="images/Linuxtools-AutotoolsLibtoolize.png"/>.
|
||||
<li>The libtoolize tool is run from the current directory for the file or folder selected in the project. A dialog is presented to allow specification of options.
|
||||
<br/>
|
||||
<img border="0" src="images/AutotoolsLibtoolize.png"/>.
|
||||
<br/>The tool is used to add libtool support to a package. Libtool provides macros to allow a package to create a shared library without having to know all the details required for the current platform. This might include special compiler flags or linker options or special tools. For details on libtoolize, enter --help as an option.
|
||||
<br/>
|
||||
</li>
|
||||
|
@ -94,7 +99,7 @@
|
|||
By default, the autotools are invoked simply by their names; expecting that the path has been set up appropriately. In some instances, you might want to specify a specific location for the autotools. For example, your project may require old versions of the tools which you have installed locally, but do not wish to be on your path. To set these for your project, select your project or a file/folder within it and go to Project -> Properties -> Autotools -> General and select the Tool Settings tab.
|
||||
</p>
|
||||
<p>
|
||||
<img border="0" src="images/Linuxtools-AutotoolsToolSettings.png"/>
|
||||
<img border="0" src="images/AutotoolsToolSettings.png"/>
|
||||
</p><hr/>
|
||||
<table class="navigation" style="width: 100%;" border="0" summary="navigation">
|
||||
<tr>
|
|
@ -44,11 +44,11 @@
|
|||
</ol>
|
||||
<p>This brings up a sub-menu containing Create... and Build.... to either create a new Make Target or build an existing Make Target, respectively.</p>
|
||||
<p>
|
||||
<img border="0" src="images/Linuxtool-AutotoolsMakeTargetsMenu.png"/>
|
||||
<img border="0" src="images/AutotoolsMakeTargetMenu.png"/>
|
||||
</p>
|
||||
<p>Creating a Make Target is relatively straight-forward:</p>
|
||||
<p>
|
||||
<img border="0" src="images/Linuxtools-AutotoolsMakeTargetCreate.png"/>
|
||||
<img border="0" src="images/AutotoolsCreateMakeTarget.png"/>
|
||||
</p>
|
||||
<p>There is nothing different in the Make Target dialog for Autotools, however, a few concepts need to be clarified.</p>
|
||||
<p>For Make Targets added as part of the Project -> Make Target menu item, the target is for the top-level Makefile for the current build. This means that if you add a Make Target this way, it will persist across configurations and will try and run the
|
||||
|
@ -65,13 +65,13 @@
|
|||
<b>install</b> target from the Build... dialog.
|
||||
</p>
|
||||
<p>
|
||||
<img border="0" src="images/Linuxtools-AutotoolsMakeTargetBuild.png"/>
|
||||
<img border="0" src="images/AutotoolsBuildMakeTarget.png"/>
|
||||
</p>
|
||||
<p>Then, you would click the Edit button to edit the Make Target. You can then override the prefix by specifying its value after the
|
||||
<b>make</b> command. You edit the build command by first un-checking "Use Builder Settings" which enables text entry.
|
||||
</p>
|
||||
<p>
|
||||
<img border="0" src="images/Linuxtools-AutotoolsMakeTargetEdit.png"/>
|
||||
<img border="0" src="images/AutotoolsModifyMakeTarget.png"/>
|
||||
</p>
|
||||
<p>The check-box that says "Run all project builders" should be left un-checked. By default, we only want the CDT Makefile builder to run and not the Autotools configure builder or any other builder.</p><hr/>
|
||||
<table class="navigation" style="width: 100%;" border="0" summary="navigation">
|
|
@ -32,21 +32,21 @@
|
|||
<h1 id="Special_Editors">Special Editors</h1>
|
||||
<p>The Autotools plug-in provides two special editors for editing Autotool input files. The first is the Autoconf Editor. This editor is invoked when opening configure.in, configure.ac files as well as the resultant configure scripts that autoconf creates. Support includes full colourization, outline view, rudimentary error parsing, and hover help/completion.</p>
|
||||
<p>
|
||||
<img border="0" src="images/Linuxtools-AutotoolsAutoconfEditor.png"/>
|
||||
<img border="0" src="images/AutotoolsAutoconfEditor.png"/>
|
||||
</p>
|
||||
<p>The outline view shows macro references and program control statements such as if, else, for, etc... Hover help with text completion is provided for the various AC-prefixed and AM-prefixed macros that are provided as standard. As the macros vary from release to release of autoconf and automake, the editor uses an autoconf and automake version property to determine which set of macros it should adhere to. The versions selected affect the parsing which will issue warnings for macros that do not have enough parameters or too many parameters. To set the autoconf and automake versions for the Autoconf Editor, go to the Project -> Properties -> Autotools -> General page and select the Editors tab.</p>
|
||||
<p>
|
||||
<img border="0" src="images/Linuxtools-AutotoolsEditorsTab.png"/>
|
||||
<img border="0" src="images/AutotoolsEditorsTab.png"/>
|
||||
</p>
|
||||
<p>There you will find a pull-down of the various versions supported. Future releases may add new versions.</p>
|
||||
<p>The default autoconf and automake versions to use for editing can be set as a preference. Go to Window -> Preferences -> C/C++ -> Autotools -> Autoconf Editor and click on the Versions tab.</p>
|
||||
<p>
|
||||
<img border="0" src="images/Linuxtools-AutotoolsAutoconfEditorPrefs.png"/>
|
||||
<img border="0" src="images/AutotoolsEditorPreferences.png"/>
|
||||
</p>
|
||||
<p>Under the Syntax tab of the same preference page, you can change the colours used for the various elements shown in the editor.</p>
|
||||
<p>A second editor, the Automake Editor is also provided by the Autotools plug-in. This editor is invoked when opening a Makefile.am or Makefile.in file. Support includes full colourization, outline view, rudimentary error parsing, and hover help.</p>
|
||||
<p>
|
||||
<img border="0" src="images/Linuxtools-AutotoolsAutomakeEditor.png"/>
|
||||
<img border="0" src="images/AutotoolsAutomakeEditor.png"/>
|
||||
</p>
|
||||
<p>In the example shown, one can see the $ variable references are displayed when hovered over. This is particularly useful for $< and $@ in make targets to understand what is being referenced. In some instances, you will see reference to variables surrounded by the @ symbol (e.g. @srcdir@). This represents a variable that is to be substituted by the configure script.</p>
|
||||
<p>Rudimentary error parsing looks for syntax errors. As with the Autoconf editor, colourization can be controlled by preferences. Go to Window -> Preferences -> C/C++ -> Autotools -> Automake Editor and click on the Syntax tab.</p><hr/>
|
|
@ -30,8 +30,8 @@
|
|||
</tr>
|
||||
</table><hr/>
|
||||
<h1 id="Supported_Environments">Supported Environments</h1>
|
||||
<p>While the Autotools should work on any Unix-based system, it has only been tested on Linux (note that it is part of the Linux Tools project). OS-specific bugs or problems that are not reproducible on Linux may require a user work-around. For example, users of Cygwin or MinGW may require setting modifications to get the plug-in working for their project. The Autotools plug-in is not supported under a regular Windows environment (i.e. without Cygwin or MinGW).</p>
|
||||
<p>To use the Autotools plug-in, it is required that you have the CDT (C/C++ Development Tools) already installed in Eclipse, the GNU Autotools installed on your system, and the "sh" (shell) command must be available. The "sh" command is required to invoke the configure script.</p><hr/>
|
||||
<p>While the Autotools should work on any Unix-based system, it has only been extensively tested on Linux as the plugins originally came from the Linux Tools project. OS-specific bugs or problems that are not reproducible on Linux may require a user work-around. For example, users of Cygwin or MinGW may require setting modifications to get the plug-in working for their project. The Autotools plug-in is not supported under a regular Windows environment (i.e. without Cygwin or MinGW).</p>
|
||||
<p>To use the Autotools plug-in, it is required that you have the base CDT (C/C++ Development Tools) installed in Eclipse, the GNU Autotools installed on your system, and a "sh" (shell) command must be available. The "sh" command is required to invoke the configure script.</p><hr/>
|
||||
<table class="navigation" style="width: 100%;" border="0" summary="navigation">
|
||||
<tr>
|
||||
<td style="width: 20%" align="left">
|
|
@ -28,7 +28,7 @@
|
|||
<h1 id="Updating_This_Document">Updating This Document</h1>
|
||||
<p>This document is maintained in a collaborative wiki. If you wish to update or modify this document please visit
|
||||
|
||||
<a href="http://wiki.eclipse.org/Linux_Tools_Project/Autotools/User_Guide">http://wiki.eclipse.org/Linux_Tools_Project/Autotools/User_Guide</a>
|
||||
<a href="http://wiki.eclipse.org/CDT/Autotools/User_Guide">http://wiki.eclipse.org/CDT/Autotools/User_Guide</a>
|
||||
</p><hr/>
|
||||
<table class="navigation" style="width: 100%;" border="0" summary="navigation">
|
||||
<tr>
|
|
@ -25,9 +25,10 @@
|
|||
<td style="width: 20%" align="right" valign="top">Supported Environments</td>
|
||||
</tr>
|
||||
</table><hr/>
|
||||
<p></p>
|
||||
<h1 id="Introduction">Introduction</h1>
|
||||
<p>The Autotools plug-in for Eclipse extends the CDT (C/C++ Development Tools) to add support for maintaining and
|
||||
building C/C++ projects that use GNU Autotools.</p>
|
||||
<p>The Autotools plug-in for Eclipse is an optional feature of the CDT (C/C++ Development Tools) that adds support for maintaining and
|
||||
building C/C++ projects that use GNU Autotools. The Autotools plug-ins were migrated from the Linux Tools project into the CDT as part of the Eclipse Juno release.</p>
|
||||
<p>The GNU Autotools are a set of tools used to make a project portable to multiple systems or build environments. The tools aid the developer to create
|
||||
a configure script which is meant to be invoked prior to performing the build. The configure script may perform tests such as testing the current platform, the OS, what is locally installed, or any number of things. Parameters can be passed as well to provide information that is not calculable (e.g. what will be the target platform the project will be run on). Results of tests and parameters are used to create the Makefiles for the build or in some cases, additional files such as header files or code sequences. </p>
|
||||
<p>What gets tested is fully controllable by the developer by way of special input files which
|
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 131 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 160 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 131 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 58 KiB |
After Width: | Height: | Size: 82 KiB |
After Width: | Height: | Size: 68 KiB |
After Width: | Height: | Size: 142 KiB |
After Width: | Height: | Size: 81 KiB |
After Width: | Height: | Size: 132 KiB |
After Width: | Height: | Size: 45 KiB |
After Width: | Height: | Size: 78 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 60 KiB |
After Width: | Height: | Size: 56 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 147 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 60 KiB |
After Width: | Height: | Size: 68 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 52 KiB |
|
@ -1,3 +1,47 @@
|
|||
2012-04-26 Jeff Johnston <jjohnstn@redhat.com>
|
||||
|
||||
* Linux_Tools/*: Removed.
|
||||
* CDT/Autotools/User_Guide/Building.html: New file.
|
||||
* CDT/Autotools/User_Guide/Configuration.html: New file.
|
||||
* CDT/Autotools/User_Guide/Creating-an-Autotools-Project.html: New file.
|
||||
* CDT/Autotools/User_Guide/images/AutotoolsAclocal.png: New file.
|
||||
* CDT/Autotools/User_Guide/images/AutotoolsAutoconfEditor.png: New file.
|
||||
* CDT/Autotools/User_Guide/images/AutotoolsAutoheader.png: New file.
|
||||
* CDT/Autotools/User_Guide/images/AutotoolsAutomake.png: New file.
|
||||
* CDT/Autotools/User_Guide/images/AutotoolsAutomakeEditor.png: New file.
|
||||
* CDT/Autotools/User_Guide/images/AutotoolsAutoreconf.png: New file.
|
||||
* CDT/Autotools/User_Guide/images/AutotoolsBuildConsole.png: New file.
|
||||
* CDT/Autotools/User_Guide/images/AutotoolsBuilders.png: New file.
|
||||
* CDT/Autotools/User_Guide/images/AutotoolsBuildMakeTarget.png: New file.
|
||||
* CDT/Autotools/User_Guide/images/AutotoolsCBuildProperties.png: New file.
|
||||
* CDT/Autotools/User_Guide/images/AutotoolsCheckOutAs.png: New file.
|
||||
* CDT/Autotools/User_Guide/images/AutotoolsConfigureConsole.png: New file.
|
||||
* CDT/Autotools/User_Guide/images/AutotoolsConfigureSettings.png: New file.
|
||||
* CDT/Autotools/User_Guide/images/AutotoolsConsole.png: New file.
|
||||
* CDT/Autotools/User_Guide/images/AutotoolsConvertProject.png: New file.
|
||||
* CDT/Autotools/User_Guide/images/AutotoolsConvertToCProject.png: New file.
|
||||
* CDT/Autotools/User_Guide/images/AutotoolsConvertWizard.png: New file.
|
||||
* CDT/Autotools/User_Guide/images/AutotoolsCreateMakeTarget.png: New file.
|
||||
* CDT/Autotools/User_Guide/images/AutotoolsEditorPreferences.png: New file.
|
||||
* CDT/Autotools/User_Guide/images/AutotoolsEditorsTab.png: New file.
|
||||
* CDT/Autotools/User_Guide/images/AutotoolsLibtoolize.png: New file.
|
||||
* CDT/Autotools/User_Guide/images/AutotoolsMakeTargetMenu.png: New file.
|
||||
* CDT/Autotools/User_Guide/images/AutotoolsManageConfigurations.png: New file.
|
||||
* CDT/Autotools/User_Guide/images/AutotoolsModifyMakeTarget.png: New file.
|
||||
* CDT/Autotools/User_Guide/images/AutotoolsNewConfiguration.png: New file.
|
||||
* CDT/Autotools/User_Guide/images/AutotoolsNewCProjectWizard.png: New file.
|
||||
* CDT/Autotools/User_Guide/images/AutotoolsProperties.png: New file.
|
||||
* CDT/Autotools/User_Guide/images/AutotoolsToolSettings.png: New file.
|
||||
* CDT/Autotools/User_Guide/Invoking-Autotools.html: New file.
|
||||
* CDT/Autotools/User_Guide/Make-Targets.html: New file.
|
||||
* CDT/Autotools/User_Guide/Special-Editors.html: New file.
|
||||
* CDT/Autotools/User_Guide/Supported-Environments.html: New file.
|
||||
* CDT/Autotools/User_Guide/Updating-This-Document.html: New file.
|
||||
* CDT/Autotools/User_Guide/User-Guide.html: New file.
|
||||
* build-helper.xml: Rewritten to use the CDT Autotools User Guide Wiki page.
|
||||
* build.properties: Add CDT directory and remove Linux_Tools directory.
|
||||
* toc.xml: Update to new files.
|
||||
|
||||
2012-01-03 Jeff Johnston <jjohnstn@redhat.com>
|
||||
|
||||
Refactor to org.eclipse.cdt.autotools.docs.
|
||||
|
|
Before Width: | Height: | Size: 100 KiB |
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 136 KiB |
Before Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 115 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 81 KiB |
Before Width: | Height: | Size: 90 KiB |
Before Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 66 KiB |
Before Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 67 KiB |
Before Width: | Height: | Size: 100 KiB |
Before Width: | Height: | Size: 59 KiB |
Before Width: | Height: | Size: 67 KiB |
Before Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 51 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 53 KiB |
|
@ -11,34 +11,35 @@
|
|||
-->
|
||||
<project name="org.eclipse.cdt.autotools.docs" default="all">
|
||||
<description>
|
||||
Generate Eclipse help content for the Linux Tools autotools user guide
|
||||
Generate Eclipse help content for the CDT autotools user guide
|
||||
</description>
|
||||
|
||||
<property name="autotools.help.doc.url.base" value="http://wiki.eclipse.org"/>
|
||||
<property name="autotools.wiki.url.base" value="${autotools.help.doc.url.base}/Linux_Tools_Project/Autotools"/>
|
||||
<property name="autotools.wiki.url.base" value="${autotools.help.doc.url.base}/CDT/Autotools"/>
|
||||
<property name="imageFolder" value="images"/>
|
||||
|
||||
<path id="wikitext.tasks.classpath">
|
||||
<!-- Replace dir with the dir you have wikitext installed into.-->
|
||||
<fileset dir="/usr/share/eclipse/dropins/mylyn-wikitext/eclipse/plugins">
|
||||
<fileset dir="/usr/share/eclipse/dropins/mylyn-docs-wikitext/eclipse/plugins">
|
||||
<include name="org.eclipse.mylyn.wikitext.*core*.jar" />
|
||||
</fileset>
|
||||
</path>
|
||||
<taskdef classpathref="wikitext.tasks.classpath" resource="org/eclipse/mylyn/internal/wikitext/mediawiki/core/tasks/tasks.properties" />
|
||||
<taskdef classpathref="wikitext.tasks.classpath" resource="org/eclipse/mylyn/wikitext/core/util/anttask/tasks.properties" />
|
||||
|
||||
<target name="all" description="Generate Eclipse help content for the Linux Tools Autotools user guide">
|
||||
<target name="all" description="Generate Eclipse help content for the CDT Autotools user guide">
|
||||
<mediawiki-to-eclipse-help wikiBaseUrl="${autotools.help.doc.url.base}" title="Autotools Plug-in User Guide" formatoutput="true" dest="." templateExcludes="*eclipseproject*">
|
||||
|
||||
<path name="Linux_Tools_Project/Autotools/User_Guide" title="Autotools Plug-in User Guide" generateToc="false"/>
|
||||
<path name="CDT/Autotools/User_Guide" title="Autotools Plug-in User Guide" generateToc="false"/>
|
||||
<stylesheet url="book.css" />
|
||||
<pageAppendum>
|
||||
= Updating This Document =
|
||||
|
||||
This document is maintained in a collaborative wiki. If you wish to update or modify this document please visit
|
||||
http://wiki.eclipse.org/Linux_Tools_Project/Autotools/User_Guide
|
||||
http://wiki.eclipse.org/CDT/Autotools/User_Guide
|
||||
</pageAppendum>
|
||||
</mediawiki-to-eclipse-help>
|
||||
<replace file="CDT/Autotools/User_Guide/User-Guide.html" token="{{#eclipseproject:tools.cdt}}" value=""/>
|
||||
<antcall target="test" />
|
||||
</target>
|
||||
|
||||
|
@ -61,7 +62,7 @@ or inadvertently starting a line with a space character (in MediaWiki this start
|
|||
-->
|
||||
<echo file="tmp/__empty.dtd" message="" />
|
||||
<xmlvalidate lenient="true">
|
||||
<fileset dir="Linux_Tools_Project">
|
||||
<fileset dir="CDT">
|
||||
<include name="**/*.html" />
|
||||
</fileset>
|
||||
<dtd publicid="-//W3C//DTD XHTML 1.0 Transitional//EN" location="${basedir}/tmp/__empty.dtd" />
|
||||
|
|
|
@ -5,10 +5,10 @@ bin.includes = META-INF/,\
|
|||
about.html,\
|
||||
plugin.properties,\
|
||||
doc/,\
|
||||
Linux_Tools_Project/,\
|
||||
tools.xml,\
|
||||
index/,\
|
||||
images/,\
|
||||
book.css
|
||||
book.css,\
|
||||
CDT/
|
||||
jars.compile.order = .
|
||||
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
<?xml version='1.0' encoding='utf-8' ?>
|
||||
<toc topic="Linux_Tools_Project/Autotools/User_Guide/User-Guide.html" label="Autotools Plug-in User Guide">
|
||||
<topic href="Linux_Tools_Project/Autotools/User_Guide/User-Guide.html" label="Autotools Plug-in User Guide">
|
||||
<topic href="Linux_Tools_Project/Autotools/User_Guide/User-Guide.html" label="Introduction"></topic>
|
||||
<topic href="Linux_Tools_Project/Autotools/User_Guide/Supported-Environments.html" label="Supported Environments"></topic>
|
||||
<topic href="Linux_Tools_Project/Autotools/User_Guide/Creating-an-Autotools-Project.html" label="Creating an Autotools Project"></topic>
|
||||
<topic href="Linux_Tools_Project/Autotools/User_Guide/Configuration.html" label="Configuration"></topic>
|
||||
<topic href="Linux_Tools_Project/Autotools/User_Guide/Invoking-Autotools.html" label="Invoking Autotools"></topic>
|
||||
<topic href="Linux_Tools_Project/Autotools/User_Guide/Special-Editors.html" label="Special Editors"></topic>
|
||||
<topic href="Linux_Tools_Project/Autotools/User_Guide/Building.html" label="Building"></topic>
|
||||
<topic href="Linux_Tools_Project/Autotools/User_Guide/Make-Targets.html" label="Make Targets"></topic>
|
||||
<topic href="Linux_Tools_Project/Autotools/User_Guide/Updating-This-Document.html" label="Updating This Document"></topic>
|
||||
<toc topic="CDT/Autotools/User_Guide/User-Guide.html" label="Autotools Plug-in User Guide">
|
||||
<topic href="CDT/Autotools/User_Guide/User-Guide.html" label="Autotools Plug-in User Guide">
|
||||
<topic href="CDT/Autotools/User_Guide/User-Guide.html" label="Introduction"></topic>
|
||||
<topic href="CDT/Autotools/User_Guide/Supported-Environments.html" label="Supported Environments"></topic>
|
||||
<topic href="CDT/Autotools/User_Guide/Creating-an-Autotools-Project.html" label="Creating an Autotools Project"></topic>
|
||||
<topic href="CDT/Autotools/User_Guide/Configuration.html" label="Configuration"></topic>
|
||||
<topic href="CDT/Autotools/User_Guide/Invoking-Autotools.html" label="Invoking Autotools"></topic>
|
||||
<topic href="CDT/Autotools/User_Guide/Special-Editors.html" label="Special Editors"></topic>
|
||||
<topic href="CDT/Autotools/User_Guide/Building.html" label="Building"></topic>
|
||||
<topic href="CDT/Autotools/User_Guide/Make-Targets.html" label="Make Targets"></topic>
|
||||
<topic href="CDT/Autotools/User_Guide/Updating-This-Document.html" label="Updating This Document"></topic>
|
||||
</topic>
|
||||
</toc>
|