Re: llvm 3.4 in rawhide time

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> > 
> > On 14 Jan 2014 06:04, "David Airlie" < airlied@xxxxxxxxxx > wrote:
> > > 
> > > Hi all,
> > > 
> > > I've gotten a build tag f21-llvm for attempting to rebase rawhide to llvm
> > > 3.4
> > 
> > Assuming there aren't any major stumbling blocks, are there any plans to
> > back
> > port llvm 3.4 to f20 (like was done for llvm 3.3 in f19)?
> > 
> > I need clang 3.4 for my day job but have been holding off on a parallel
> > installable version until I know what's happening in Fedora proper.
> 
> Maybe, we might like it for GPU drivers, but I want to see how hairy it is,
> so far it looks rather hairy, most of the projects failed on my simple just
> rebuild it.
> 
> iirc last time the rebase was required in order to get a later Mesa into the
> distro. I will hold off for a few days to see just how hairy things are. If
> you decide not to rebase f20 i will build something privately, or even a
> copr build if anybody else is interested in it.
> 
> If you need any help with testing, patches, etc i would be happy to help
> where i can.

It looks like OpenGTL is going to be the sticking point,

upstream appears dead, and llvm removed its old school llvm::sys::Path interface
that OpenGTL appears to use in a few places. My C++ is fairly fail, and I managed
to at least fix two files, but then realised how big a hole I was digging.

If anyone has some C++ expertise (package maintainer cc'ed), and some time it might not
be too bad too work out,

Dave.



diff -up OpenGTL-0.9.18/OpenGTL/GTLCore/Debug.cpp.myfix OpenGTL-0.9.18/OpenGTL/GTLCore/Debug.cpp
--- OpenGTL-0.9.18/OpenGTL/GTLCore/Debug.cpp.myfix	2014-01-15 11:45:27.000000000 +1000
+++ OpenGTL-0.9.18/OpenGTL/GTLCore/Debug.cpp	2014-01-15 11:45:27.000000000 +1000
@@ -111,14 +111,18 @@ Debug::Private::~Private()
   delete m_voidStream;
 }
 
+static llvm::StringRef getUserHomeDirectory() {
+  const char* home = getenv("HOME");
+  return home ? llvm::StringRef(home) : llvm::StringRef("/");
+}
 void Debug::Private::readConfigFile( const String& _fileName, std::map< GTLCore::String, LibraryDebugInfo >& _destination)
 {
-  llvm::sys::Path path = llvm::sys::Path::GetUserHomeDirectory();
-  path.appendComponent( (const std::string&)_fileName);
-  if( path.exists() )
+  llvm::SmallString<128> mypath(getUserHomeDirectory());
+  llvm::sys::path::append(mypath, llvm::StringRef(_fileName));
+  if( llvm::sys::fs::exists(llvm::Twine(mypath)) )
   {
     std::ifstream in;
-    in.open(path.c_str() );
+    in.open(mypath.c_str() );
     if(in)
     {
       std::string cstr;
@@ -195,7 +199,7 @@ String Debug::Private::extractFunctionNa
 
 std::ostream& Debug::Private::report( std::ostream& _stream, const std::map< GTLCore::String, LibraryDebugInfo >& _informationRecords, const String& _streamName, const String& _libraryName, const String& _fileName, int _line, const String& _functionName )
 {
-  GTLCore::String fileName = llvm::sys::Path((const std::string&)_fileName).getLast().str();
+  GTLCore::String fileName = llvm::sys::path::filename(llvm::StringRef(_fileName)).str();
   GTLCore::String functionName = Private::extractFunctionName( _functionName );
   if( isEnabled( _informationRecords, _libraryName, fileName, functionName ) )
   {
diff -up OpenGTL-0.9.18/OpenGTL/GTLImageIO/ImageDC.cpp.myfix OpenGTL-0.9.18/OpenGTL/GTLImageIO/ImageDC.cpp
--- OpenGTL-0.9.18/OpenGTL/GTLImageIO/ImageDC.cpp.myfix	2012-12-29 21:27:12.000000000 +1000
+++ OpenGTL-0.9.18/OpenGTL/GTLImageIO/ImageDC.cpp	2014-01-15 11:48:35.000000000 +1000
@@ -65,7 +65,7 @@ bool ImageDC::canEncodeImage( const GTLC
 
 GTLCore::String ImageDC::extension( const GTLCore::String& _fileName ) const
 {
-  GTLCore::String ext = llvm::sys::Path( (const std::string&)_fileName ).getSuffix().str();
+  GTLCore::String ext = llvm::sys::path::extension( llvm::StringRef((std::string&)_fileName) ).str();
   return ext.toLower();
 }
 
-- 
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux