After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 318542 - ./configure does not allow for compilation outside of distribution tree.
./configure does not allow for compilation outside of distribution tree.
Status: RESOLVED OBSOLETE
Product: doxygen
Classification: Other
Component: build
1.4.x
Other All
: Normal minor
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
Depends on: 317773
Blocks: 414139
 
 
Reported: 2005-10-11 07:25 UTC by Sander van Zoest
Modified: 2015-07-21 00:11 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sander van Zoest 2005-10-11 07:25:15 UTC
configure assumes it is run from within the working directory of the distribution.

This makes it more difficult for someone to compile doxygen from a read-only
source, such as a CD-ROM or DVD-ROM. It also makes it harder to cross-compile,
since there is no guarantee that the source tree is untouched and can be re-used
for a compile for a different target platform.

The GNU Toolkit allows for this via 
% sh configure --srcdir="../doxygen-1.4.4"
or
% cd obj
% sh ../doxygen-1.4.4/configure 

I would be willing to help out and submit a patch, but I want to be sure that I
would do it in such a way that it would be accepted by the doxygen team.

Kindest regards,

-- Sander



Other information:
Sample build output:
-------------------
% ../../../doxygen/configure --static --prefix /Users/sander/work/doxygen/
build/macosx/../../export/macosx/ReleaseStatic/
cat: PLATFORMS: No such file or directory
  Autodetected platform macosx-c++... 
  Checking for GNU make tool... using /usr/bin/make
  Checking for GNU install tool... using /usr/bin/install
  Checking for dot (part of GraphViz)... not found!
  Checking for perl... using /usr/bin/perl
cat: VERSION: No such file or directory
cat: Makefile.in: No such file or directory
  Created Makefile from Makefile.in...
../../../doxygen/configure: line 475: qtools/Makefile: No such file or directory
../../../doxygen/configure: line 481: qtools/Makefile: No such file or directory
../../../doxygen/configure: line 499: qtools/Makefile: No such file or directory
  Created qtools/Makefile from qtools/Makefile.in...
../../../doxygen/configure: line 475: src/Makefile: No such file or directory
../../../doxygen/configure: line 481: src/Makefile: No such file or directory
../../../doxygen/configure: line 499: src/Makefile: No such file or directory
  Created src/Makefile from src/Makefile.in...
../../../doxygen/configure: line 475: examples/Makefile: No such file or directory
../../../doxygen/configure: line 481: examples/Makefile: No such file or directory
../../../doxygen/configure: line 499: examples/Makefile: No such file or directory
  Created examples/Makefile from examples/Makefile.in...
../../../doxygen/configure: line 475: doc/Makefile: No such file or directory
../../../doxygen/configure: line 481: doc/Makefile: No such file or directory
../../../doxygen/configure: line 499: doc/Makefile: No such file or directory
  Created doc/Makefile from doc/Makefile.in...
../../../doxygen/configure: line 475: addon/doxywizard/Makefile: No such file or
directory
../../../doxygen/configure: line 481: addon/doxywizard/Makefile: No such file or
directory
../../../doxygen/configure: line 499: addon/doxywizard/Makefile: No such file or
directory
  Created addon/doxywizard/Makefile from addon/doxywizard/Makefile.in...
../../../doxygen/configure: line 475: addon/doxmlparser/src/Makefile: No such
file or directory
../../../doxygen/configure: line 481: addon/doxmlparser/src/Makefile: No such
file or directory
../../../doxygen/configure: line 499: addon/doxmlparser/src/Makefile: No such
file or directory
  Created addon/doxmlparser/src/Makefile from addon/doxmlparser/src/Makefile.in...
../../../doxygen/configure: line 475: addon/doxmlparser/test/Makefile: No such
file or directory
../../../doxygen/configure: line 481: addon/doxmlparser/test/Makefile: No such
file or directory
../../../doxygen/configure: line 499: addon/doxmlparser/test/Makefile: No such
file or directory
  Created addon/doxmlparser/test/Makefile from addon/doxmlparser/test/Makefile.in...
../../../doxygen/configure: line 475:
addon/doxmlparser/examples/metrics/Makefile: No such file or
 directory
../../../doxygen/configure: line 481:
addon/doxmlparser/examples/metrics/Makefile: No such file or
<snip>
% make
make: *** No rule to make target `src/version.cpp', needed by `all'.  Stop.
%
Comment 1 Dimitri van Heesch 2005-10-12 18:50:31 UTC
Please provide such a patch, and I'd be happy to include it.
Comment 2 Kevin McBride 2005-10-21 23:36:54 UTC
I see that the easiest way to do this is to start getting into the habit of
using autotools.  troll make is apparently requiring that the configure script
be run from doxygen's main source directory.  The GNU autotools are actually
much better and more standard than troll make, and so far is the only way I
could possibly make my doxygen.spec file dynamic (for RPM building).  The
generated configure script even has the ability to check for missing headers and
include files.  One of my projects, libteklti, uses autotools.

The use of autotools wouldn't be needed when compiling from the tarball
generated by a "make dist" command.  However, when building from sources from a
CVS download, autotools would be required.  At least most unix systems nowadays
have the autotools installed, and the changes I would implement would have no
effect on Windows users at all.
Comment 3 Kevin McBride 2005-10-22 00:37:43 UTC
I spent an hour looking through a autoconf-generated file, and found something
like the following that might work just fine with t-make:

ac_local=`dirname $0`

echo $ac_local

I'll give `dirname` a try, and see what happens.
Comment 4 Kevin McBride 2005-10-22 06:06:49 UTC
I have fixed this bug.  See bug #317773 to view the tarball.
Comment 5 Sander van Zoest 2005-10-24 18:43:43 UTC
Hi Kevin,

Thanks for the patch and help on this. I'll give your tarball a run and provide
you feedback ASAP.

-- Sander
Comment 6 albert 2015-07-20 13:31:34 UTC
Seen the change to CMake for the current release I think this bug can be set to RESOLVED OBSOLETE
Comment 7 Kevin McBride 2015-07-21 00:11:27 UTC
Per comment #6, I am setting this bug to OBSOLETE.  Furthermore, I was able to use Cmake outside of the source tree.