[fedora-java] [Q] Autotools Eclipse plugin & build directory

Jeff Johnston jjohnstn at redhat.com
Wed Dec 5 19:06:54 UTC 2007


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:
> 
>   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)
> 

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.




More information about the java-devel mailing list