Message ID | 1356745553-15362-2-git-send-email-stefan.froberg@petroprogram.com |
---|---|
State | Superseded |
Headers | show |
Dear Stefan Fröberg, On Sat, 29 Dec 2012 03:45:49 +0200, Stefan Fröberg wrote: > @@ -4,8 +4,8 @@ > # > ############################################################# > > -MESA3D_VERSION = 7.10.1 > -MESA3D_SOURCE = MesaLib-$(MESA3D_VERSION).tar.gz > +MESA3D_VERSION = 8.0.5 > +MESA3D_SOURCE = MesaLib-$(MESA3D_VERSION).tar.bz2 > MESA3D_SITE = ftp://ftp.freedesktop.org/pub/mesa/$(MESA3D_VERSION) You could probably add MESA3D_LICENSE and MESA3D_LICENSE_FILES in the process. > MESA3D_AUTORECONF = YES > MESA3D_INSTALL_STAGING = YES > @@ -13,12 +13,14 @@ MESA3D_INSTALL_STAGING = YES > MESA3D_CONF_OPT = \ > --disable-egl \ > --disable-glu \ > - --disable-glw \ > - --disable-glut \ > - --disable-gallium \ > + --disable-selinux \ > + --disable-gallium-llvm \ > + --disable-gallium-egl \ > + --disable-gallium-gbm \ > --with-driver=dri \ > --with-dri-drivers=swrast \ > - --disable-static > + --disable-static \ > + --with-gallium-drivers=swrast > > MESA3D_DEPENDENCIES = \ > xproto_glproto \ > @@ -32,4 +34,24 @@ MESA3D_DEPENDENCIES = \ > host-libxml2 \ > host-python > > +# Build host "builtin_compiler" that is needed by > +# build process, install it and then do cleanup before > +# starting the actual building. > +# Additionally, we will make certain that the > +# $(HOST_DIR)/usr/bin/builtin_compiler will be used > +# in actual building process. > + > +define MESA3D_POST_CONFIGURE_CMDS > + $(MAKE) CC="$(HOSTCC)" CXX="$(HOSTCXX)" CFLAGS="$(HOST_CFLAGS)" CXXFLAGS="$(HOST_CXXFLAGS)" LDFLAGS="$(HOST_LDFLAGS)" -C $(@D)/src/glsl builtin_compiler Can you replace that with: $(MAKE) $(HOST_CONFIGURE_OPTS) -C $(@D)/src/glsl builtin_compiler > + $(INSTALL) $(@D)/src/glsl/builtin_compiler -m 755 $(HOST_DIR)/usr/bin > + $(MAKE) -C $(@D) clean > + sed -e "s#\.\/builtin_compiler#$(HOST_DIR)/usr/bin/builtin_compiler#g" -i $(@D)/src/glsl/Makefile Hum, it is not really nice to have a target package that installs something in $(HOST_DIR) (even though it's true quite a few packages are already doing this). An alternative solution would be to have a host-mesa3d package, that builds and installs only the glsl compiler. Something along the lines of: MESA3D_DEPENDENCIES += host-mesa3d HOST_MESA3D_CONF_OPT = --disable-as-many-things-as-possible # We only want to build the glsl compiler define HOST_MESA3D_BUILD_CMDS $(MAKE) -C $(@D)/src/glsl builtin_compiler endef # We only install the glsl compiler define HOST_MESA3D_INSTALL_CMDS $(INSTALL) -D $(@D)/src/glsl/builtin_compiler -m 755 $(HOST_DIR)/usr/bin/glsl-builtin_compiler endef And then do a patch to mesa3d configure.ac so that we can pass an explicit path to the glsl compiler and do at configure time: --with-glsl-compiler=$(HOST_DIR)/usr/bin/glsl-builtin_compiler. > +define MESA3D_BUILD_CMDS > + $(TARGET_CONFIGURE_OPTS) $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) > +endef Why do you need to override the build step here? It seems similar to the default one. Thanks! Thomas
Good morning Thomas 29.12.2012 10:06, Thomas Petazzoni kirjoitti: > Dear Stefan Fröberg, > > On Sat, 29 Dec 2012 03:45:49 +0200, Stefan Fröberg wrote: >> @@ -4,8 +4,8 @@ >> # >> ############################################################# >> >> -MESA3D_VERSION = 7.10.1 >> -MESA3D_SOURCE = MesaLib-$(MESA3D_VERSION).tar.gz >> +MESA3D_VERSION = 8.0.5 >> +MESA3D_SOURCE = MesaLib-$(MESA3D_VERSION).tar.bz2 >> MESA3D_SITE = ftp://ftp.freedesktop.org/pub/mesa/$(MESA3D_VERSION) > You could probably add MESA3D_LICENSE and MESA3D_LICENSE_FILES in the > process. Ok >> MESA3D_AUTORECONF = YES >> MESA3D_INSTALL_STAGING = YES >> @@ -13,12 +13,14 @@ MESA3D_INSTALL_STAGING = YES >> MESA3D_CONF_OPT = \ >> --disable-egl \ >> --disable-glu \ >> - --disable-glw \ >> - --disable-glut \ >> - --disable-gallium \ >> + --disable-selinux \ >> + --disable-gallium-llvm \ >> + --disable-gallium-egl \ >> + --disable-gallium-gbm \ >> --with-driver=dri \ >> --with-dri-drivers=swrast \ >> - --disable-static >> + --disable-static \ >> + --with-gallium-drivers=swrast >> >> MESA3D_DEPENDENCIES = \ >> xproto_glproto \ >> @@ -32,4 +34,24 @@ MESA3D_DEPENDENCIES = \ >> host-libxml2 \ >> host-python >> >> +# Build host "builtin_compiler" that is needed by >> +# build process, install it and then do cleanup before >> +# starting the actual building. >> +# Additionally, we will make certain that the >> +# $(HOST_DIR)/usr/bin/builtin_compiler will be used >> +# in actual building process. >> + >> +define MESA3D_POST_CONFIGURE_CMDS >> + $(MAKE) CC="$(HOSTCC)" CXX="$(HOSTCXX)" CFLAGS="$(HOST_CFLAGS)" CXXFLAGS="$(HOST_CXXFLAGS)" LDFLAGS="$(HOST_LDFLAGS)" -C $(@D)/src/glsl builtin_compiler > Can you replace that with: > > $(MAKE) $(HOST_CONFIGURE_OPTS) -C $(@D)/src/glsl builtin_compiler Sure >> + $(INSTALL) $(@D)/src/glsl/builtin_compiler -m 755 $(HOST_DIR)/usr/bin >> + $(MAKE) -C $(@D) clean >> + sed -e "s#\.\/builtin_compiler#$(HOST_DIR)/usr/bin/builtin_compiler#g" -i $(@D)/src/glsl/Makefile > Hum, it is not really nice to have a target package that installs > something in $(HOST_DIR) (even though it's true quite a few packages > are already doing this). An alternative solution would be to have a > host-mesa3d package, that builds and installs only the glsl compiler. > > Something along the lines of: > > MESA3D_DEPENDENCIES += host-mesa3d > HOST_MESA3D_CONF_OPT = --disable-as-many-things-as-possible > > # We only want to build the glsl compiler > define HOST_MESA3D_BUILD_CMDS > $(MAKE) -C $(@D)/src/glsl builtin_compiler > endef > > # We only install the glsl compiler > define HOST_MESA3D_INSTALL_CMDS > $(INSTALL) -D $(@D)/src/glsl/builtin_compiler -m 755 $(HOST_DIR)/usr/bin/glsl-builtin_compiler > endef > > And then do a patch to mesa3d configure.ac so that we can pass an > explicit path to the glsl compiler and do at configure time: > --with-glsl-compiler=$(HOST_DIR)/usr/bin/glsl-builtin_compiler. I tried doing host-mesa3d build first, where it would build only builtin_compiler binary but then it started to complain about missing this and that Xorg host-package. After 7th needed host-package It started to get really tedious and would rather not go that route anymore.... Also, Im not that canny with gnu autoconf to know where and how to put that new --with-glsl-compiler switch in configure.ac. So I will keep it as it is. >> +define MESA3D_BUILD_CMDS >> + $(TARGET_CONFIGURE_OPTS) $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) >> +endef > Why do you need to override the build step here? It seems similar to > the default one. I tought so too but apparently it's not. I got some very cryptic error about missing src/glsl/libglsl.a and "../../bin/mklib -ru: command not found" when removing those lines and using default one. Maybe it's one of those openembedded patches that I used, mesa3d-0002-cross-compile.patch or mesa3d-0003-fix-for-x32.patch, that is somehow conflicting. Now some coffee... Thanks! Stefan > Thanks! > > Thomas
diff --git a/package/x11r7/mesa3d/mesa3d-uclibc-locale.patch b/package/x11r7/mesa3d/mesa3d-uclibc-locale.patch deleted file mode 100644 index 99afe8d..0000000 --- a/package/x11r7/mesa3d/mesa3d-uclibc-locale.patch +++ /dev/null @@ -1,56 +0,0 @@ -[PATCH] Fix compilation on uClibc without locale support - -Based on similar patch from OE: - -http://git.openembedded.org/openembedded-core/commit/meta/recipes-graphics/mesa/mesa/0001-Compile-with-uclibc.patch?id=e4039eb74b20e96d4b8837cd58cf2d13d091e1ad - -Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> ---- - configure.ac | 3 +++ - src/glsl/strtod.c | 2 +- - src/mesa/main/imports.c | 2 +- - 3 files changed, 5 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index fbaa376..454dad2 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -450,6 +450,9 @@ AC_SUBST([DLOPEN_LIBS]) - dnl See if posix_memalign is available - AC_CHECK_FUNC([posix_memalign], [DEFINES="$DEFINES -DHAVE_POSIX_MEMALIGN"]) - -+dnl See if newlocale is available -+AC_CHECK_FUNCS_ONCE(newlocale) -+ - dnl SELinux awareness. - AC_ARG_ENABLE([selinux], - [AS_HELP_STRING([--enable-selinux], -diff --git a/src/glsl/strtod.c b/src/glsl/strtod.c -index a876e13..9fce7e9 100644 ---- a/src/glsl/strtod.c -+++ b/src/glsl/strtod.c -@@ -44,7 +44,7 @@ double - double - glsl_strtod(const char *s, char **end) - { --#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) -+#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) && defined(HAVE_NEWLOCALE) - static locale_t loc = NULL; - if (!loc) { - loc = newlocale(LC_CTYPE_MASK, "C", NULL); -diff --git a/src/mesa/main/imports.c b/src/mesa/main/imports.c -index d3727ef..363bf32 100644 ---- a/src/mesa/main/imports.c -+++ b/src/mesa/main/imports.c -@@ -757,7 +757,7 @@ float - float - _mesa_strtof( const char *s, char **end ) - { --#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) -+#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) && defined(HAVE_NEWLOCALE) - static locale_t loc = NULL; - if (!loc) { - loc = newlocale(LC_CTYPE_MASK, "C", NULL); --- -1.7.10.4 - diff --git a/package/x11r7/mesa3d/mesa3d.mk b/package/x11r7/mesa3d/mesa3d.mk index b16d5e6..d676409 100644 --- a/package/x11r7/mesa3d/mesa3d.mk +++ b/package/x11r7/mesa3d/mesa3d.mk @@ -4,8 +4,8 @@ # ############################################################# -MESA3D_VERSION = 7.10.1 -MESA3D_SOURCE = MesaLib-$(MESA3D_VERSION).tar.gz +MESA3D_VERSION = 8.0.5 +MESA3D_SOURCE = MesaLib-$(MESA3D_VERSION).tar.bz2 MESA3D_SITE = ftp://ftp.freedesktop.org/pub/mesa/$(MESA3D_VERSION) MESA3D_AUTORECONF = YES MESA3D_INSTALL_STAGING = YES @@ -13,12 +13,14 @@ MESA3D_INSTALL_STAGING = YES MESA3D_CONF_OPT = \ --disable-egl \ --disable-glu \ - --disable-glw \ - --disable-glut \ - --disable-gallium \ + --disable-selinux \ + --disable-gallium-llvm \ + --disable-gallium-egl \ + --disable-gallium-gbm \ --with-driver=dri \ --with-dri-drivers=swrast \ - --disable-static + --disable-static \ + --with-gallium-drivers=swrast MESA3D_DEPENDENCIES = \ xproto_glproto \ @@ -32,4 +34,24 @@ MESA3D_DEPENDENCIES = \ host-libxml2 \ host-python +# Build host "builtin_compiler" that is needed by +# build process, install it and then do cleanup before +# starting the actual building. +# Additionally, we will make certain that the +# $(HOST_DIR)/usr/bin/builtin_compiler will be used +# in actual building process. + +define MESA3D_POST_CONFIGURE_CMDS + $(MAKE) CC="$(HOSTCC)" CXX="$(HOSTCXX)" CFLAGS="$(HOST_CFLAGS)" CXXFLAGS="$(HOST_CXXFLAGS)" LDFLAGS="$(HOST_LDFLAGS)" -C $(@D)/src/glsl builtin_compiler + $(INSTALL) $(@D)/src/glsl/builtin_compiler -m 755 $(HOST_DIR)/usr/bin + $(MAKE) -C $(@D) clean + sed -e "s#\.\/builtin_compiler#$(HOST_DIR)/usr/bin/builtin_compiler#g" -i $(@D)/src/glsl/Makefile +endef + +MESA3D_POST_CONFIGURE_HOOKS += MESA3D_POST_CONFIGURE_CMDS + +define MESA3D_BUILD_CMDS + $(TARGET_CONFIGURE_OPTS) $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) +endef + $(eval $(autotools-package))
Signed-off-by: Stefan Fröberg <stefan.froberg@petroprogram.com> --- package/x11r7/mesa3d/mesa3d-uclibc-locale.patch | 56 ----------------------- package/x11r7/mesa3d/mesa3d.mk | 34 +++++++++++--- 2 files changed, 28 insertions(+), 62 deletions(-) delete mode 100644 package/x11r7/mesa3d/mesa3d-uclibc-locale.patch