[Libclc-dev] [PATCH] LLVM 3.5 and newer use llvm-config.h instead of config.h

Jan Vesely jan.vesely at rutgers.edu
Sat Aug 9 15:46:23 PDT 2014


On Sun, 2014-08-10 at 00:17 +0200, Niels Ole Salscheider wrote:
> On Saturday 09 August 2014, 23:02:37, Jeroen Ketema wrote:
> > As far as I can tell the current llvm trunk defines both, and config.h
> > includes llvm-config.h. Is there any particular failure you’re seeing when
> > building libclc?
> 
> For me the build fails with:
> 
> ./utils/prepare-builtins.cpp:13:10: fatal error: 'llvm/Config/config.h' file not 
> found
> #include "llvm/Config/config.h"
>          ^
> Makefile:8: recipe for target 'utils/prepare-builtins.o' failed
> 
> The CMake-based build system does not install the config.h header anymore since 
> "r210766 - CMake: don't install the internal config.h header".

ra itno this failure too when I did a clean build.

> 
> Kind regards,
> 
> Ole
> 
> > Best,
> > 
> >  Jeroen
> > 
> > On 09 Aug 2014, at 11:43, Niels Ole Salscheider <niels_ole at salscheider-
> online.de> wrote:
> > > Signed-off-by: Niels Ole Salscheider <niels_ole at salscheider-online.de>
> > > ---
> > > configure.py               | 3 +++
> > > utils/prepare-builtins.cpp | 5 +++++
> > > 2 files changed, 8 insertions(+)
> > > 
> > > diff --git a/configure.py b/configure.py
> > > index 768a6ad..f28c847 100755
> > > --- a/configure.py
> > > +++ b/configure.py
> > > @@ -73,6 +73,9 @@ llvm_core_libs = llvm_config(['--libs', 'core',
> > > 'bitreader', 'bitwriter']) + ' '> 
> > >                  llvm_config(['--ldflags'])
> > > 
> > > llvm_cxxflags = llvm_config(['--cxxflags']) + ' -fno-exceptions -fno-rtti'
> > > 
> > > +if (int(llvm_version[0]) == 3 and int(llvm_version[1]) >= 5) or
> > > int(llvm_version[0]) > 3: +    llvm_cxxflags = llvm_cxxflags + '
> > > -DLLVM_NEW_CONFIG_INCLUDE'
> > > +
> > > llvm_clang = os.path.join(llvm_bindir, 'clang')
> > > llvm_link = os.path.join(llvm_bindir, 'llvm-link')
> > > llvm_opt = os.path.join(llvm_bindir, 'opt')
> > > diff --git a/utils/prepare-builtins.cpp b/utils/prepare-builtins.cpp
> > > index ce84148..20fcd1b 100644
> > > --- a/utils/prepare-builtins.cpp
> > > +++ b/utils/prepare-builtins.cpp
> > > @@ -10,7 +10,12 @@
> > > #include "llvm/Support/raw_ostream.h"
> > > #include "llvm/Support/ErrorOr.h"
> > > #include "llvm/Support/ToolOutputFile.h"
> > > +
> > > +#ifdef LLVM_NEW_CONFIG_INCLUDE
> > > +#include "llvm/Config/llvm-config.h"
> > > +#else
> > > #include "llvm/Config/config.h"
> > > +#endif

The conditional define for llvm 3.5+ is few lines down, and it already
handles few includes. config.h could be handled the same way and you
don't need the configure.py changes.


> > > 
> > > #define LLVM_350_AND_NEWER \
> > > 
> > >   (LLVM_VERSION_MAJOR > 3 || (LLVM_VERSION_MAJOR == 3 &&
> > >   LLVM_VERSION_MINOR >= 5))
> 
> 
> _______________________________________________
> Libclc-dev mailing list
> Libclc-dev at pcc.me.uk
> http://www.pcc.me.uk/cgi-bin/mailman/listinfo/libclc-dev

-- 
Jan Vesely <jan.vesely at rutgers.edu>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Fix-build-since-r210766.patch
Type: text/x-patch
Size: 1060 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libclc-dev/attachments/20140809/6d9e196d/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.llvm.org/pipermail/libclc-dev/attachments/20140809/6d9e196d/attachment.sig>


More information about the Libclc-dev mailing list