Francois-Xavier KOWALSKI wrote:
Hello fedora-devel-java,
I am using the Autotools Plug-in version 0.9.5.2 from your Eclipse update site, from Eclipse 3.3.1.1 + CDT 4.0.1.
When creating a new autotools project[1], the CDT build directory is hard-wired to ${project_loc}/build. Changing this value to some other (eg. in my case ${worksspace_loc}/_build) is ignored. As a result:
- In case a project already has a "build" sub-directory, the autotools plugin enthusiastically damage the content of this sub-directory
- It is not possible to use a single source tree ${project_loc} for several build-trees (for example to use several combinations of ./configure options)
Francois, changing the build directory is supported, but not via the ManagedMake settings.
The configure tool has the build directory specified under
Project->Properties->C/C++ Build->Settings->Tool Settings->Configure ->General->Build Directory
The first configuration defaults to "build", but you can change it. You also get a different default per new configuration (buildx where x is a number). You may change each configuration manually to whatever local directory you want in the Tool Settings dialog. You can also create multiple configurations there and specify different Autotools configuration parameters to each CDT configuration. So, you can have one tree that builds arm-elf, mn10300-elf, etc.. You can name the CDT configurations and manage them in the Properties->C/C++ Build dialog (see top right button: Manage Configurations).
From my understanding, the plugin should use both ${project_loc} to run the autogen.sh tool, _and_ the GUI-set ${build_dir}to run the configure & make tools.
Is this a missing feature or do I mis-understand something?
The plugin looks for configure and autogen.sh in the main project directory by default. autogen.sh is only used if there is no configure script to run. If autogen.sh runs configure and creates a new config.status, configure is not run again, otherwise, configure is automatically run after autogen.sh. The configure tool has a "Configure Tool Directory" option under General which allows you to specify a subdirectory (e.g. src) where configure is found. Autogen.sh tool options were added long after configure and ideally this option plus the build directory should be split out. For now, you can change the autogen.sh command to include a subdirectory (e.g. src/autogen.sh). This last feature won't work until 0.9.5.3 which is due out on the update site later today.
The top-level Makefile is created in the build directory specified by the configure tool.
-- Jeff J.