Re: [waffle] [PATCH] android: misc build fixes

2014-07-31 Thread Emil Velikov
On 31/07/14 16:29, Chad Versace wrote:
 On 07/31/2014 06:14 AM, Emil Velikov wrote:
  - Add $(top)/include to the local_c_includes. Required for c99_compat.h
 header.
  - Build third_party/threads library, add $(top)/third_party/threads to
 local_c_includes (for threads.h)
  - pthread_mutex_timedlock is not available in bionic.
  - Drop unneeded trailing backslash(es).

 Signed-off-by: Emil Velikov emil.l.veli...@gmail.com
 
 Did you build-test the patch? I hate to ask, but many times I've seen
 developers fix Mesa's Android makefiles times and breaking the build.
 
Indeed I have. That's why it took me so long to cook it up :)

 ---

 While going through the scons, I've completely missed out that we have 
 another two build setups - Android + Xcode.

 This patch resolves the Android code, and I assume that a similar one is 
 needed for Xcode. Btw why do we have the latter one in git ? AFAICS 
 cmake is perfectly capable of generating a Xcode projects.
 
 I forgot that the Xcode files were still in Waffle. Now deleted in
 https://github.com/waffle-gl/waffle/commit/6d7420814725131da771c6beb808913ec951e10b
 
Did not mean to be picky like an old bat, pardon if it came out like that.

Thanks
-Emil
___
waffle mailing list
waffle@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/waffle


Re: [waffle] [PATCH 02/18] pkg/archlinux: add mingw-w64-waffle package

2014-07-31 Thread Jose Fonseca
No, I only peruse the excellent Archlinux's wiki sometimes, but I'm not 
familiar with the actual distro, so I can't help.

Jose

From: Chad Versace chad.vers...@linux.intel.com
Sent: 31 July 2014 04:06
To: Emil Velikov; waffle@lists.freedesktop.org; Jose Fonseca
Subject: Re: [waffle] [PATCH 02/18] pkg/archlinux: add mingw-w64-waffle package

Emil, I can't get this PKGBUILD to build. What am I doing wrong?
I'm probably doing a lot wrong, because I've never used mingw before.

I installed all the dependencies listed in the PKGBUILD. Below
is a bash log that shows the build failures.

Jose, do you use Archlinux? Did you have any luck with this PKGBUILD?

On 07/22/2014 08:31 PM, Emil Velikov wrote:
  - Remove explicit build options (waffle has autodetection).
  - Correct the destination directories.
  - Bump mingw64-crt requirement 3.1.0-3 (fixes the strerror_s issue).
  - Build twice - once for cross-builds and second time for win32 usage.

 TODO:
  - Get CPack to amend the install prefix - fix the build twice issue.
  - Strip some/all of the binaries ?
  - Current package works of a local git repo. Rename to -git or
 convert to a release one ?

 Signed-off-by: Emil Velikov emil.l.veli...@gmail.com
 ---
  pkg/archlinux/mingw-w64-waffle/PKGBUILD | 80 
 +
  1 file changed, 80 insertions(+)
  create mode 100644 pkg/archlinux/mingw-w64-waffle/PKGBUILD

 diff --git a/pkg/archlinux/mingw-w64-waffle/PKGBUILD 
 b/pkg/archlinux/mingw-w64-waffle/PKGBUILD
 new file mode 100644
 index 000..a2ebde5
 --- /dev/null
 +++ b/pkg/archlinux/mingw-w64-waffle/PKGBUILD
 @@ -0,0 +1,80 @@
 +# Maintainer: Chad Versace chad.vers...@linux.intel.com
 +
 +pkgname='mingw-w64-waffle'
 +pkgver='1.3.0'
 +pkgrel=1
 +pkgdesc='a library for choosing window system and OpenGL API at runtime 
 (mingw-w64)'
 +arch=('any')
 +url='https://urldefense.proofpoint.com/v1/url?u=http://waffle-gl.github.io/k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0Ar=NMr9uy2iTjWVixC0wOcYCWEIYhfo80qKwRgdodpoDzA%3D%0Am=szKb4hF2Ik5O%2FxpnFqwbR6XKOzdStURP37Ybmzik3Ng%3D%0As=a4d4d029b55bb3233c81f3316508d61c0ae85f648aa22b842aeeb07b0a6c580f'
 +license=('BSD')
 +
 +depends=(
 +  'mingw-w64-crt=3.1.0-3'
 +  )
 +makedepends=(
 +  'mingw-w64-cmake'
 +
 +  # For building the docs.
 +# XXX: Add as soon as we enable docs/manpages
 +#  'libxslt'
 +#  'docbook-xsl'
 +
 +  )
 +
 +options=('!strip' '!buildflags' 'staticlibs')
 +_architectures=i686-w64-mingw32 x86_64-w64-mingw32
 +
 +srcroot=${HOME}/development/waffle
 +build() {
 +  unset LDFLAGS
 +  cd ${srcroot}
 +  msg Building mingw-w64-waffle for cross-building
 +  for _arch in ${_architectures}; do
 +mkdir -p build-${_arch}  pushd build-${_arch}
 +${_arch}-cmake .. \
 +  -DCMAKE_INSTALL_PREFIX=/usr/${_arch} \
 +  -DCMAKE_INSTALL_LIBDIR=/usr/${_arch}/lib \
 +  -DCMAKE_BUILD_TYPE=Release \
 +  \
 +  -Dwaffle_build_tests=0 \
 +  -Dwaffle_build_manpages=0 \
 +  -Dwaffle_build_htmldocs=0 \
 +  -Dwaffle_build_examples=1
 +make
 +popd
 +  done
 +
 +  # There should be a better way to do this
 +  msg Building mingw-w64-waffle for native builds
 +  for _arch in ${_architectures}; do
 +mkdir -p build-${_arch}-win  pushd build-${_arch}-win
 +${_arch}-cmake .. \
 +  -DCMAKE_INSTALL_PREFIX= \
 +  -DCMAKE_INSTALL_LIBDIR=lib \
 +  -DCMAKE_BUILD_TYPE=Release \
 +  \
 +  -Dwaffle_build_tests=0 \
 +  -Dwaffle_build_manpages=0 \
 +  -Dwaffle_build_htmldocs=0 \
 +  -Dwaffle_build_examples=1
 +make
 +popd
 +  done
 +}
 +
 +package() {
 +  for _arch in ${_architectures}; do
 +cd ${srcroot}/build-${_arch}
 +make DESTDIR=${pkgdir} install
 +#${_arch}-strip --strip-unneeded $pkgdir/usr/${_arch}/bin/*.dll
 +#${_arch}-strip -g $pkgdir/usr/${_arch}/lib/*.a
 +  done
 +
 +  for _arch in ${_architectures}; do
 +cd ${srcroot}/build-${_arch}-win
 +# Create Windows zip archives
 +make package
 +  done
 +}
 +
 +# vim:set ts=2 sw=2 et:


 Chad's build errors

$ git checkout evelikov/for-upstream-WGL
$ git log -1 --format=%H
ed2164dfb4ae6d957ef853c054357202ba60f883
$ cd pkg/archlinux/mingw-w64-waffle
$
$ # Do a mingw sanity test. It fails :(
$ cat sanity.c
int
main() {
return 0;
}
$ /usr/bin/i686-w64-mingw32-gcc sanity.c
$ /usr/lib/gcc/i686-w64-mingw32/4.9.1/cc1: error while loading shared 
libraries: libisl.so.13: cannot open shared object file: No such file or 
directory
$
$ # Now build Emil's PKGBUILD
$ makepkg
== Making package: mingw-w64-waffle 1.3.0-1 (Wed Jul 30 19:57:04 PDT 2014)
== Checking runtime dependencies...
== Checking buildtime dependencies...
== Retrieving sources...
== Extracting sources...
== Starting build()...
== Building mingw-w64-waffle for cross-building
~/proj/hh/default/src/waffle/build-i686-w64-mingw32 ~/proj/hh/default/src/waffle
-- The C compiler identification is unknown
-- Check for working C compiler: /usr/bin/i686-w64-mingw32-gcc
-- Check for