Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 425844

Summary: sys-devel/llvm-3.1-r1 doesn't install CMake modules
Product: Gentoo Linux Reporter: Yaron Tausky <yaron.tausky>
Component: [OLD] DevelopmentAssignee: Bernard Cafarelli <voyageur>
Status: RESOLVED FIXED    
Severity: enhancement CC: b.brachaczek, jrmalaq, kkrizka, mgorny, orzel, uzytkownik2
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: http://llvm.org/bugs/show_bug.cgi?id=9321
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 456322    
Bug Blocks: 471580    
Attachments: Proposed (untested yet) patch
Patch for 3.3-r1

Description Yaron Tausky 2012-07-11 15:43:27 UTC
The LLVM source distribution includes CMake modules that make it easy to embed LLVM in an application. They are, however, not installed by the ebuild. Please add them.

Reproducible: Always
Comment 1 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2012-07-11 17:34:08 UTC
Let me guess... they are installed by default when cmake is used to build llvm?
Comment 2 Yaron Tausky 2012-07-11 17:39:40 UTC
Yeah. It didn't occur to me to check the autotools build at all.
Comment 3 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2012-07-11 17:49:56 UTC
(In reply to comment #2)
> Yeah. It didn't occur to me to check the autotools build at all.

Hmm, I will sacrifice myself and try -9999 today. If it doesn't install them either, I will open a request at upstream to include them in future builds.

In the meantime, I will add them to the current ebuilds. Do you need to depend on them in some ebuilds you'll be publishing? If no, I'll probably add them without a revision bump.
Comment 4 Yaron Tausky 2012-07-11 17:56:09 UTC
No, I'm just hacking on my own stuff.

Is there any plan to move the ebuild to the CMake system? I could help with that, if it has a chance to get into the tree.
Comment 5 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2012-07-11 21:28:27 UTC
(In reply to comment #4)
> Is there any plan to move the ebuild to the CMake system? I could help with
> that, if it has a chance to get into the tree.

I don't think that's worth doing with 3.1. I've looked into that already, and it seems that some of the options we're using aren't available in cmake.

Could you point me which cmake modules should be installed?
Comment 6 Yaron Tausky 2012-07-11 23:30:03 UTC
These are the relevant files:
* LLVMConfig.cmake
* LLVMConfigVersion.cmake
* LLVM-Config.cmake
* AddLLVM.cmake
* AddLLVMDefinitions.cmake
* ChooseMSVCCRT.cmake
* HandleLLVMOptions.cmake
* LLVMParseArguments.cmake
* LLVMProcessSources.cmake
* TableGen.cmake
The first two are processed from corresponding *.in files.
Comment 7 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2012-07-16 08:17:15 UTC
(In reply to comment #6)
> These are the relevant files:
> * LLVMConfig.cmake
> * LLVMConfigVersion.cmake
> * LLVM-Config.cmake
> * AddLLVM.cmake
> * AddLLVMDefinitions.cmake
> * ChooseMSVCCRT.cmake
> * HandleLLVMOptions.cmake
> * LLVMParseArguments.cmake
> * LLVMProcessSources.cmake
> * TableGen.cmake
> The first two are processed from corresponding *.in files.

Ok, the processing is the problem. I've did a quick check and regular configure sed doesn't work on them...
Comment 8 Yaron Tausky 2012-07-16 11:32:44 UTC
I'll try to hack it into the autotools build (and ideally send it upstream), but I could do better with them, so it would probably take some time...
Comment 9 José Romildo Malaquias 2012-11-24 14:10:52 UTC
Is there any progress with this issue?

I would like to package jllvm [http://code.google.com/p/jllvm/] because I will be using this software with my students. But jllvm building system nees LLVMConfig.cmake.
Comment 10 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2012-11-24 14:38:38 UTC
(In reply to comment #9)
> Is there any progress with this issue?
> 
> I would like to package jllvm [http://code.google.com/p/jllvm/] because I
> will be using this software with my students. But jllvm building system nees
> LLVMConfig.cmake.

No, none that I am aware of. I haven't heard back from LLVM upstream nor Yaron.
Comment 11 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2013-02-07 16:53:33 UTC
@voyageur, shall I try building llvm+clang with cmake again? I think we could even accept losing a few minor features considering the general advantages.
Comment 12 Peter Asplund 2013-12-09 20:48:13 UTC
Any updates to this bug? It's quite old by now. My interest lies mostly in the bug I've added as "Blocks".
Comment 13 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2013-12-19 22:52:46 UTC
I've just got this crazy idea... maybe we could be able to configure a source tree with both autoconf and cmake, with the former being used for the build and the latter to provide cmake modules. I will try to accomplish this.
Comment 14 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2013-12-20 00:01:00 UTC
Created attachment 365712 [details, diff]
Proposed (untested yet) patch

Here's my initial patch. It got really late, so I wouldn't be able to fully test it until tomorrow morning.
Comment 15 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2013-12-20 10:54:31 UTC
+  20 Dec 2013; Michał Górny <mgorny@gentoo.org> llvm-9999.ebuild:
+  Fix gcc version check. Add missing libxml2 dependency (for clang). Install
+  CMake modules.
Comment 16 Maciej Piechotka 2013-12-20 15:31:04 UTC
Created attachment 365750 [details, diff]
Patch for 3.3-r1

Patch for llvm 3.3-r1.ebuild (it at least installed the cmake files, I haven't tried it yet) based on Michał Górny's changes to -9999.
Comment 17 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2013-12-28 14:11:07 UTC
*llvm-3.3-r2 (28 Dec 2013)

  28 Dec 2013; Michał Górny <mgorny@gentoo.org>
  +files/llvm-3.3-r2-gentoo-install.patch, +llvm-3.3-r2.ebuild:
  Backport all the fixes and install design changes from -9999 to -3.3. Fixes
  bugs #425844 (install CMake modules), #462554 (install bfd-plugins symlink),
  #489586 (multilib portage compat.), #488216, #492554 (RPATH issues).