Review Request 121762: Fix build on FreeBSD

Alex Richardson arichardson.kde at gmail.com
Sun Jan 18 20:00:30 UTC 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/121762/
-----------------------------------------------------------

(Updated Jan. 18, 2015, 8 p.m.)


Review request for Plasma and Raphael Kubo da Costa.


Repository: plasma-desktop


Description
-------

5 Commits:

---

Fix compilation of geometry_parser.cpp with clang 3.4

Apparently the default instantiation depth of 256 (with clang 3.4) is not
enough to compile geometry_parser.cpp. It produces the following error:

/usr/local/include/boost/type_traits/is_reference.hpp:38:62: fatal error: recursive template instantiation exceeded maximum depth of 256
BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_reference,T,::boost::detail::is_reference_impl<T>::value)
                                                             ^
/usr/local/include/boost/type_traits/detail/bool_trait_def.hpp:69:30: note: expanded from macro 'BOOST_TT_AUX_BOOL_TRAIT_DEF1'
    BOOST_TT_AUX_BOOL_C_BASE(C) \
                             ^
/usr/local/include/boost/type_traits/detail/bool_trait_def.hpp:63:81: note: expanded from macro 'BOOST_TT_AUX_BOOL_C_BASE'

And after that a few hundred lines of template instantiation details.
Rasing the limit to 512 allows successfully compiling these files.

---


Fix build of kbpreviewframe.cpp with clang

Clang doesn't allow variable length arrays of non-POD type

---

Add missing includes of cmath and cstdlib

---

Fix build of kapplymousetheme if X11 isn't installed to /usr

---

Use a proper CMake find module for libcanberra instead of pkg_check_modules

This fixes the build on e.g. FreeBSD where libcanberra is not in /usr/lib
but /usr/local/lib so that the linker complains that it cannot find
-lcanberra since the CMake variable from pkg_check_modules does not contain
an absolute path.

The CMake module was copied from the KMix repository. If there are any more
users of libcanberra it might make sense to add this to extra-cmake-modules


Diffs (updated)
-----

  kcms/keyboard/CMakeLists.txt 3db5dc3f938bbe25259067783bda4fdd882f60f6 
  kcms/keyboard/kcmmisc.cpp 9aed7de2a8a63aa546dc9484eea0edadcc64ec66 
  kcms/keyboard/preview/kbpreviewframe.cpp 9735eb02ac6875bb3905fb0bf8183a9d97e0e3e4 
  kcms/keyboard/tests/CMakeLists.txt bd62c7d281766bc5c04b0b1e933861d258241cf7 
  kcms/phonon/CMakeLists.txt 8f964e2041cc812bf70f6a48e2915427f088b990 
  cmake/modules/FindCanberra.cmake PRE-CREATION 
  containments/folder/plugin/positioner.cpp c24827197bf20b4cb55a6b885f023074f179159c 
  kcms/input/CMakeLists.txt a2b72a45a3b694b7fa367abf33d0752b0dc9734b 

Diff: https://git.reviewboard.kde.org/r/121762/diff/


Testing
-------

compiles


Thanks,

Alex Richardson

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20150118/64b1e67f/attachment-0001.html>


More information about the Plasma-devel mailing list