Browse Source

Merge branch 'master' into compatibility

Vladimír Vondruš 13 years ago
parent
commit
b7303c9022
  1. 22
      PKGBUILD-nacl-glibc
  2. 57
      PKGBUILD-nacl-newlib
  3. 22
      modules/FindCorrade.cmake
  4. 5
      src/Math/Complex.h

22
PKGBUILD-nacl → PKGBUILD-nacl-glibc

@ -1,8 +1,8 @@
# Author: mosra <mosra@centrum.cz>
pkgname=nacl-magnum
pkgver=dev
pkgver=dev.glibc
pkgrel=1
pkgdesc="OpenGL graphics engine (NaCl version)"
pkgdesc="OpenGL graphics engine (NaCl glibc version)"
arch=('any')
url="https://github.com/mosra/magnum"
license=('MIT')
@ -12,38 +12,44 @@ options=(!buildflags !strip)
build() {
# Build 32bit
mkdir -p "$startdir/build-nacl-x86-32"
cd "$startdir/build-nacl-x86-32"
mkdir -p "$startdir/build-nacl-glibc-x86-32"
cd "$startdir/build-nacl-glibc-x86-32"
cmake .. \
-DCMAKE_MODULE_PATH="$startdir/toolchains/modules" \
-DCMAKE_TOOLCHAIN_FILE="$startdir/toolchains/generic/NaCl-glibc-x86-32.cmake" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/nacl \
-DWITH_TEXT=OFF \
-DWITH_TEXTURETOOLS=OFF \
-DWITH_MAGNUMINFO=OFF \
-DWITH_NACLAPPLICATION=ON \
-DLIB_SUFFIX=/32
make
# Build 64bit
mkdir -p "$startdir/build-nacl-x86-64"
cd "$startdir/build-nacl-x86-64"
mkdir -p "$startdir/build-nacl-glibc-x86-64"
cd "$startdir/build-nacl-glibc-x86-64"
cmake .. \
-DCMAKE_MODULE_PATH="$startdir/toolchains/modules" \
-DCMAKE_TOOLCHAIN_FILE="$startdir/toolchains/generic/NaCl-glibc-x86-64.cmake" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/nacl \
-DWITH_TEXT=OFF \
-DWITH_TEXTURETOOLS=OFF \
-DWITH_MAGNUMINFO=OFF \
-DWITH_NACLAPPLICATION=ON
make
}
package() {
# Install 32bit
cd "$startdir/build-nacl-x86-32"
cd "$startdir/build-nacl-glibc-x86-32"
make DESTDIR="$pkgdir/" install
# Install 64bit (the headers will be overwritten, but they are (and should
# be) the same for both versions
cd "$startdir/build-nacl-x86-64"
cd "$startdir/build-nacl-glibc-x86-64"
make DESTDIR="$pkgdir/" install
}

57
PKGBUILD-nacl-newlib

@ -0,0 +1,57 @@
# Author: mosra <mosra@centrum.cz>
pkgname=nacl-magnum
pkgver=dev.newlib
pkgrel=1
pkgdesc="OpenGL graphics engine (NaCl newlib version)"
arch=('any')
url="https://github.com/mosra/magnum"
license=('MIT')
depends=('nacl-corrade')
makedepends=('nacl-sdk' 'cmake')
options=(!buildflags !strip)
build() {
# Build 32bit
mkdir -p "$startdir/build-nacl-newlib-x86-32"
cd "$startdir/build-nacl-newlib-x86-32"
cmake .. \
-DCMAKE_MODULE_PATH="$startdir/toolchains/modules" \
-DCMAKE_TOOLCHAIN_FILE="$startdir/toolchains/generic/NaCl-newlib-x86-32.cmake" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/nacl \
-DWITH_TEXT=OFF \
-DWITH_TEXTURETOOLS=OFF \
-DWITH_MAGNUMINFO=OFF \
-DWITH_NACLAPPLICATION=ON \
-DBUILD_STATIC=ON \
-DLIB_SUFFIX=/32
make
# Build 64bit
mkdir -p "$startdir/build-nacl-newlib-x86-64"
cd "$startdir/build-nacl-newlib-x86-64"
cmake .. \
-DCMAKE_MODULE_PATH="$startdir/toolchains/modules" \
-DCMAKE_TOOLCHAIN_FILE="$startdir/toolchains/generic/NaCl-newlib-x86-64.cmake" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/nacl \
-DWITH_TEXT=OFF \
-DWITH_TEXTURETOOLS=OFF \
-DWITH_MAGNUMINFO=OFF \
-DWITH_NACLAPPLICATION=ON \
-DBUILD_STATIC=ON
make
}
package() {
# Install 32bit
cd "$startdir/build-nacl-newlib-x86-32"
make DESTDIR="$pkgdir/" install
# Install 64bit (the headers will be overwritten, but they are (and should
# be) the same for both versions
cd "$startdir/build-nacl-newlib-x86-64"
make DESTDIR="$pkgdir/" install
}

22
modules/FindCorrade.cmake

@ -19,8 +19,14 @@
# hidden visibility by default.
#
# Features of found Corrade library are exposed in these variables:
# CORRADE_GCC46_COMPATIBILITY - Defined if compiled with compatibility
# CORRADE_GCC46_COMPATIBILITY - Defined if compiled with compatibility
# mode for GCC 4.6
# CORRADE_TARGET_NACL - Defined if compiled for Google Chrome
# Native Client
# CORRADE_TARGET_NACL_NEWLIB - Defined if compiled for Google Chrome
# Native Client with `newlib` toolchain
# CORRADE_TARGET_NACL_GLIBC - Defined if compiled for Google Chrome
# Native Client with `glibc` toolchain
#
# Corrade provides these macros and functions:
#
@ -157,6 +163,18 @@ string(FIND "${_corradeConfigure}" "#define CORRADE_GCC46_COMPATIBILITY" _GCC46_
if(NOT _GCC46_COMPATIBILITY EQUAL -1)
set(CORRADE_GCC46_COMPATIBILITY 1)
endif()
string(FIND "${_corradeConfigure}" "#define CORRADE_TARGET_NACL" _TARGET_NACL)
if(NOT _TARGET_NACL EQUAL -1)
set(CORRADE_TARGET_NACL 1)
endif()
string(FIND "${_corradeConfigure}" "#define CORRADE_TARGET_NACL_NEWLIB" _TARGET_NACL_NEWLIB)
if(NOT _TARGET_NACL_NEWLIB EQUAL -1)
set(CORRADE_TARGET_NACL_NEWLIB 1)
endif()
string(FIND "${_corradeConfigure}" "#define CORRADE_TARGET_NACL_GLIBC" _TARGET_NACL_GLIBC)
if(NOT _TARGET_NACL_GLIBC EQUAL -1)
set(CORRADE_TARGET_NACL_GLIBC 1)
endif()
set(CORRADE_UTILITY_LIBRARIES ${CORRADE_UTILITY_LIBRARY})
set(CORRADE_INTERCONNECT_LIBRARIES ${CORRADE_INTERCONNECT_LIBRARY} ${CORRADE_UTILITY_LIBRARIES})
@ -164,7 +182,7 @@ set(CORRADE_PLUGINMANAGER_LIBRARIES ${CORRADE_PLUGINMANAGER_LIBRARY} ${CORRADE_U
set(CORRADE_TESTSUITE_LIBRARIES ${CORRADE_TESTSUITE_LIBRARY} ${CORRADE_UTILITY_LIBRARIES})
# At least static build needs this
if(UNIX OR ${CMAKE_SYSTEM_NAME} STREQUAL NaCl)
if((UNIX OR CORRADE_TARGET_NACL) AND NOT CORRADE_TARGET_NACL_NEWLIB)
set(CORRADE_PLUGINMANAGER_LIBRARIES ${CORRADE_PLUGINMANAGER_LIBRARIES} dl)
endif()

5
src/Math/Complex.h

@ -343,7 +343,12 @@ template<class T> class Complex {
* @see isNormalized()
*/
inline T length() const {
/** @todo Remove when NaCl's newlib has this fixed */
#ifndef CORRADE_TARGET_NACL_NEWLIB
return std::hypot(_real, _imaginary);
#else
return std::sqrt(dot());
#endif
}
/**

Loading…
Cancel
Save