On Sat, Jan 23, 2016 at 07:03:23PM -0500, Michael McConville wrote: > FWIW, I've been running this patch without issue for months. > > Juan Francisco Cantero Hurtado wrote: > > Can you modify the structure of devel/llvm/ to something like > > devel/llvm/version/? With lang/gcc works pretty well, we can work with > > the latest version while the ports tree uses the stable version by > > default. > > This sounds like a good idea to me. > > We should probably also make sure that this update won't further > complicate things for Jonathan: > > https://marc.info/?l=openbsd-cvs&m=145088099210901&w=2 > > https://marc.info/?l=openbsd-cvs&m=144816103704050&w=2 > > https://marc.info/?l=openbsd-cvs&m=145091674119104&w=2 > > https://marc.info/?l=openbsd-cvs&m=145108545813434&w=2 >
Well, Mesa won't build with the existing ports llvm so any update can't make it worse. I do wonder if llvm should be patched to use libestdc++ until such time that libc++ is useable though. As otherwise clang can't compile against the clang headers... clang++ searches: #include "..." search starts here: #include <...> search starts here: /usr/include/g++ /usr/include/g++/amd64-unknown-openbsd5.9 /usr/include/g++/backward /usr/local/bin/../lib/clang/3.7.1/include /usr/include End of search list. Trying to build a version of Mesa 11.0.x with our local patches with autoconf and clang/clang++ still breaks sadly export AUTOMAKE_VERSION=1.12 export AUTOCONF_VERSION=2.69 export ACLOCAL="aclocal -I /usr/X11R6/share/aclocal" export PKG_CONFIG_PATH=/usr/X11R6/lib/pkgconfig export X11BASE=/usr/X11R6 if [[ $(uname -p) == "i386" ]]; then export USER_CFLAGS="-march=i586" export USER_CXXFLAGS="-march=i586" fi export CC=/usr/local/bin/clang export CXX=/usr/local/bin/clang++ ./autogen.sh \ --with-gallium-drivers=r300,r600,radeonsi,swrast,nouveau \ --with-dri-drivers=i915,i965,r200,radeon,nouveau \ --disable-silent-rules \ --enable-r600-llvm-compiler --enable-gallium-llvm \ --disable-llvm-shared-libs \ --enable-gles1 --enable-gles2 \ --enable-shared-glapi \ --enable-osmesa \ --enable-debug \ --enable-gbm \ --enable-texture-float \ --with-egl-platforms="x11,drm" \ --prefix=${X11BASE} \ --with-dri-driverdir=${X11BASE}/lib/modules/dri \ --with-dri-searchpath=${X11BASE}/lib/modules/dri libtool: compile: /usr/local/bin/clang++ -DPACKAGE_NAME=\"Mesa\" -DPACKAGE_TARNAME=\"mesa\" -DPACKAGE_VERSION=\"11.0.9\" "-DPACKAGE_STRING=\"Mesa 11.0.9\"" "-DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa\"" -DPACKAGE_URL=\"\" -DPACKAGE=\"mesa\" -DVERSION=\"11.0.9\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DYYTEXT_POINTER=1 -DHAVE___BUILTIN_BSWAP32=1 -DHAVE___BUILTIN_BSWAP64=1 -DHAVE___BUILTIN_CLZ=1 -DHAVE___BUILTIN_CLZLL=1 -DHAVE___BUILTIN_CTZ=1 -DHAVE___BUILTIN_EXPECT=1 -DHAVE___BUILTIN_FFS=1 -DHAVE___BUILTIN_FFSLL=1 -DHAVE___BUILTIN_POPCOUNT=1 -DHAVE___BUILTIN_POPCOUNTLL=1 -DHAVE___BUILTIN_UNREACHABLE=1 -DHAVE_FUNC_ATTRIBUTE_CONST=1 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 -DHAVE_FUNC_ATTRIBUTE_PURE=1 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 -DHAVE_DLADDR=1 -DHAVE_CLOCK_GETTIME=1 -DHAVE_PTHREAD_PRIO_INHERIT=1 -DHAVE_PTHREAD=1 -I. -fvisibility=hidden -Werror=pointer-arith -Werror=vla -I../../../include -I../../../src -I../../../src/gallium/include -I../../../src/gallium/auxiliary -D__STDC_LIMIT_MACROS -DUSE_SSE41 -DDEBUG -DUSE_X86_64_ASM -DHAVE_SYS_SYSCTL_H -DHAVE_STRTOF -DHAVE_MKOSTEMP -DHAVE_DLOPEN -DHAVE_POSIX_MEMALIGN -DHAVE_LIBDRM -DGLX_USE_DRM -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DHAVE_ALIAS -DHAVE_MINCORE -DHAVE_LLVM=0x0307 -DMESA_LLVM_VERSION_PATCH=1 -I/usr/local/include -pipe -W -Wno-unused-parameter -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long -Wno-maybe-uninitialized -Wno-comment -std=c++11 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -g -O2 -Wall -fno-strict-aliasing -fno-builtin-memcmp -Qunused-arguments -MT gallivm/lp_bld_debug.lo -MD -MP -MF gallivm/.deps/lp_bld_debug.Tpo -c gallivm/lp_bld_debug.cpp -fPIC -DPIC -o gallivm/.libs/lp_bld_debug.o warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean '-Wno-uninitialized'? [-Wunknown-warning-option] In file included from gallivm/lp_bld_debug.cpp:32: In file included from /usr/local/include/llvm/Support/raw_ostream.h:17: In file included from /usr/local/include/llvm/ADT/SmallVector.h:17: /usr/local/include/llvm/ADT/iterator_range.h:36:29: error: no member named 'move' in namespace 'std'; did you mean 'modf'? : begin_iterator(std::move(begin_iterator)), ~~~~~^~~~ modf /usr/include/math.h:200:8: note: 'modf' declared here double modf(double, double *); ^ In file included from gallivm/lp_bld_debug.cpp:32: In file included from /usr/local/include/llvm/Support/raw_ostream.h:17: In file included from /usr/local/include/llvm/ADT/SmallVector.h:17: /usr/local/include/llvm/ADT/iterator_range.h:37:27: error: no member named 'move' in namespace 'std'; did you mean 'modf'? end_iterator(std::move(end_iterator)) {} ~~~~~^~~~ modf /usr/include/math.h:200:8: note: 'modf' declared here double modf(double, double *); ^ In file included from gallivm/lp_bld_debug.cpp:32: In file included from /usr/local/include/llvm/Support/raw_ostream.h:17: In file included from /usr/local/include/llvm/ADT/SmallVector.h:17: /usr/local/include/llvm/ADT/iterator_range.h:48:33: error: no member named 'move' in namespace 'std'; did you mean 'modf'? return iterator_range<T>(std::move(x), std::move(y)); ~~~~~^~~~ modf /usr/include/math.h:200:8: note: 'modf' declared here double modf(double, double *); ^ In file included from gallivm/lp_bld_debug.cpp:32: In file included from /usr/local/include/llvm/Support/raw_ostream.h:17: In file included from /usr/local/include/llvm/ADT/SmallVector.h:17: /usr/local/include/llvm/ADT/iterator_range.h:48:47: error: no member named 'move' in namespace 'std'; did you mean 'modf'? return iterator_range<T>(std::move(x), std::move(y)); ~~~~~^~~~ modf /usr/include/math.h:200:8: note: 'modf' declared here double modf(double, double *); ^ In file included from gallivm/lp_bld_debug.cpp:32: In file included from /usr/local/include/llvm/Support/raw_ostream.h:17: In file included from /usr/local/include/llvm/ADT/SmallVector.h:17: /usr/local/include/llvm/ADT/iterator_range.h:52:33: error: no member named 'move' in namespace 'std'; did you mean 'modf'? return iterator_range<T>(std::move(p.first), std::move(p.second)); ~~~~~^~~~ modf /usr/include/math.h:200:8: note: 'modf' declared here double modf(double, double *); ^ In file included from gallivm/lp_bld_debug.cpp:32: In file included from /usr/local/include/llvm/Support/raw_ostream.h:17: In file included from /usr/local/include/llvm/ADT/SmallVector.h:17: /usr/local/include/llvm/ADT/iterator_range.h:52:53: error: no member named 'move' in namespace 'std'; did you mean 'modf'? return iterator_range<T>(std::move(p.first), std::move(p.second)); ~~~~~^~~~ modf /usr/include/math.h:200:8: note: 'modf' declared here double modf(double, double *); ^ In file included from gallivm/lp_bld_debug.cpp:32: In file included from /usr/local/include/llvm/Support/raw_ostream.h:17: In file included from /usr/local/include/llvm/ADT/SmallVector.h:20: /usr/local/include/llvm/Support/MathExtras.h:21:10: fatal error: 'type_traits' file not found #include <type_traits> ^ 1 warning and 7 errors generated. *** Error 1 in src/gallium/auxiliary (Makefile:2166 'gallivm/lp_bld_debug.lo') *** Error 1 in src/gallium/auxiliary (Makefile:2225 'all-recursive') *** Error 1 in src/gallium (Makefile:544 'all-recursive') *** Error 1 in src (Makefile:641 'all-recursive')