On Sun, 24 Jan 2016 17:03:16 +1100, Jonathan Gray wrote: > 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...
That's exactly what I did in the port: #include "..." search starts here: #include <...> search starts here: /usr/local/include/c++/4.9.3 /usr/local/include/c++/4.9.3/x86_64-unknown-openbsd5.9 /usr/local/include/c++/4.9.3/backward /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. "/usr/bin/ld" -e __start --eh-frame-hdr -Bdynamic -dynamic-linker /usr/libexec/ld.so -o a.out /usr/lib/crt0.o /usr/lib/crtbegin.o -L/usr/local/lib/gcc/x86_64-unknown-openbsd5.9/4.9.3 -L/usr/local/lib /tmp/hw-dc2526.o -lestdc++ -lm -lgcc -lc -lgcc /usr/lib/crtend.o > 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?produc > t=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') > >