]> https://gitweb.dealii.org/ - dealii-svn.git/commit
OK, this was one of the weirder bugs I've found recently: when we do
authorbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 8 Dec 2010 02:55:59 +0000 (02:55 +0000)
committerbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 8 Dec 2010 02:55:59 +0000 (02:55 +0000)
commit30976fce2065ed3fc2b63356a32d730819aa6af7
tree0f4b70e8c58835a6b230933af8b54d60a02af5eb
parentc628e296703f11eda801b9e953059c6273105feb
OK, this was one of the weirder bugs I've found recently: when we do
  #include <vector>
we expect that either (i) make_dependencies ignores this dependence
because it can't find the file <vector> anywhere, e.g. because it
doesn't know the path to system header files, or (ii) enter the proper
dependency to the file if it does know where to find the file.

But what happened in the tests/serialization directory is that it
found a *subdirectory* named 'vector' and added it to the list of
dependencies. And 'make' then tries to re-build this directory by
compiling (using an implicit rule built into 'make') the executable
'vector' from 'vector.cc', which fails because the implicit rule of
course doesn't know anything about where deal.II include files reside,
etc. Completely strange.

So the solution is to ignore directories, if we happen to find
them. In the process, I also replaced the use of std::istream to
test-open a file (which weirdly succeeds for directories, although you
can't read from it) by uses of stat(), which should be faster as well.

git-svn-id: https://svn.dealii.org/trunk@22940 0785d39b-7218-0410-832d-ea1e28bc413d
deal.II/common/scripts/make_dependencies.cc

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.