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:
1. In case a project already has a "build" sub-directory, the autotools plugin enthusiastically damage the content of this sub-directory 2. 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)
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?
Thanks
--FiX
[1] Or when migrating an existing CDT project, this is the same result.
Hi,
Francois-Xavier KOWALSKI wrote:
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:
Please file a bug at Red Hat bugzilla against eclipse-cdt (yes, it should probably have its own component).
Thanks,
Andrew
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.
Jeff Johnston wrote:
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)
Hello Jeff,
Sorry for coming back to you so late: your answer was automatically sorted to some mail folder... I just rediscovered it :-[
thanks for answering & providing me solutions for both aspects of my problem. I will take a look at this 0.9.5.3 update as soon as I will have fixed this !@#$%^ of Eclipse update that keeps trying to locate a non-existent Europa Update Site.
br.
--FiX
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.
java-devel@lists.fedoraproject.org