mirror of
https://git.yoctoproject.org/poky
synced 2026-05-31 00:39:46 +00:00
glew: rewrite to use upstream build system
Instead of patching in a whole new build system using autotools, use the makefile-based system in upstream with careful variable assignments so that it cross-compiles correctly. One small patch was required to stop an unavoidable strip. Upstream does have a cmake-based build but it's not used or supported by the maintainer, and is quite buggy (for example: doesn't version the libraries, fails to link to required libraries). (From OE-Core rev: c77d0dfa18b2467f8856571837e7007f8fcd9b20) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
0b1c3240ad
commit
aea0746cbb
@@ -1,149 +0,0 @@
|
|||||||
|
|
||||||
Upstream-Status: Inappropriate [configuration]
|
|
||||||
|
|
||||||
Index: glew/Makefile.am
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ glew/Makefile.am 2009-12-02 00:30:23.296641663 +0100
|
|
||||||
@@ -0,0 +1,5 @@
|
|
||||||
+
|
|
||||||
+ACLOCAL_AMFLAGS = -I m4 --install
|
|
||||||
+
|
|
||||||
+SUBDIRS = include src
|
|
||||||
+
|
|
||||||
Index: glew/configure.ac
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ glew/configure.ac 2009-12-02 00:30:23.296641663 +0100
|
|
||||||
@@ -0,0 +1,67 @@
|
|
||||||
+# -*- Autoconf -*-
|
|
||||||
+# Process this file with autoconf to produce a configure script.
|
|
||||||
+
|
|
||||||
+AC_PREREQ([2.62])
|
|
||||||
+AC_INIT([glew], [1.9.0], [BUG-REPORT-ADDRESS])
|
|
||||||
+AC_CONFIG_SRCDIR([src/glew.c])
|
|
||||||
+AC_CONFIG_HEADERS([config.h])
|
|
||||||
+AM_INIT_AUTOMAKE([-Wall -Werror foreign])
|
|
||||||
+AC_CONFIG_MACRO_DIR([m4])
|
|
||||||
+
|
|
||||||
+LT_INIT
|
|
||||||
+
|
|
||||||
+# Checks for programs.
|
|
||||||
+AC_PROG_CC
|
|
||||||
+AC_PROG_INSTALL
|
|
||||||
+AC_PROG_LN_S
|
|
||||||
+
|
|
||||||
+# Checks for libraries.
|
|
||||||
+
|
|
||||||
+# Checks for header files.
|
|
||||||
+AC_CHECK_HEADERS([inttypes.h stddef.h stdint.h stdlib.h string.h])
|
|
||||||
+
|
|
||||||
+# Checks for typedefs, structures, and compiler characteristics.
|
|
||||||
+AC_TYPE_INT32_T
|
|
||||||
+AC_TYPE_INT64_T
|
|
||||||
+AC_TYPE_UINT64_T
|
|
||||||
+AC_CHECK_TYPES([ptrdiff_t])
|
|
||||||
+
|
|
||||||
+# Checks for library functions.
|
|
||||||
+AC_FUNC_MALLOC
|
|
||||||
+AC_CHECK_FUNCS([strtol])
|
|
||||||
+
|
|
||||||
+# Check for pkgconfig libs
|
|
||||||
+
|
|
||||||
+PKG_CHECK_MODULES([X11], [x11])
|
|
||||||
+AC_SUBST([X11_LIBS])
|
|
||||||
+AC_SUBST([X11_CFLAGS])
|
|
||||||
+
|
|
||||||
+PKG_CHECK_MODULES([XMU], [xmu])
|
|
||||||
+AC_SUBST([XMU_LIBS])
|
|
||||||
+AC_SUBST([XMU_CFLAGS])
|
|
||||||
+
|
|
||||||
+PKG_CHECK_MODULES([XI], [xi])
|
|
||||||
+AC_SUBST([XI_LIBS])
|
|
||||||
+AC_SUBST([XI_CFLAGS])
|
|
||||||
+
|
|
||||||
+PKG_CHECK_MODULES([XEXT], [xext])
|
|
||||||
+AC_SUBST([XEXT_LIBS])
|
|
||||||
+AC_SUBST([XEXT_CFLAGS])
|
|
||||||
+
|
|
||||||
+# Check for GLU is enough and imples gl so no doubled -lGL in LDFLAGS
|
|
||||||
+PKG_CHECK_MODULES([GLU], [glu])
|
|
||||||
+AC_SUBST([GLU_LIBS])
|
|
||||||
+AC_SUBST([GLU_CFLAGS])
|
|
||||||
+
|
|
||||||
+# ENABLE option for Multiple Rendering Contexts support
|
|
||||||
+AC_CHECK_ENABLE_GLEWMX
|
|
||||||
+
|
|
||||||
+# for now we use the same version as the package, but that should be avoided
|
|
||||||
+# in the future
|
|
||||||
+
|
|
||||||
+AC_SUBST([LIBGLEW_SO_VERSION], [1:9:0])
|
|
||||||
+
|
|
||||||
+AC_CONFIG_FILES([Makefile
|
|
||||||
+ include/Makefile
|
|
||||||
+ src/Makefile])
|
|
||||||
+AC_OUTPUT
|
|
||||||
Index: glew/src/Makefile.am
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ glew/src/Makefile.am 2009-12-02 00:33:48.690786110 +0100
|
|
||||||
@@ -0,0 +1,35 @@
|
|
||||||
+
|
|
||||||
+AM_CPPFLAGS = -I$(top_srcdir)/include
|
|
||||||
+
|
|
||||||
+if ENABLE_GLEWMX
|
|
||||||
+AM_CPPFLAGS += -DGLEW_MX
|
|
||||||
+endif
|
|
||||||
+
|
|
||||||
+AM_CFLAGS = @X11_CFLAGS@ \
|
|
||||||
+ @XMU_CFLAGS@ \
|
|
||||||
+ @XI_CFLAGS@ \
|
|
||||||
+ @XEXT_CFLAGS@ \
|
|
||||||
+ @GLU_CFLAGS@
|
|
||||||
+
|
|
||||||
+lib_LTLIBRARIES = libGLEW.la
|
|
||||||
+
|
|
||||||
+libGLEW_la_SOURCES = glew.c
|
|
||||||
+
|
|
||||||
+libGLEW_la_LIBADD = @X11_LIBS@ \
|
|
||||||
+ @XMU_LIBS@ \
|
|
||||||
+ @XI_LIBS@ \
|
|
||||||
+ @XEXT_LIBS@ \
|
|
||||||
+ @GLU_LIBS@
|
|
||||||
+
|
|
||||||
+libGLEW_la_LDFLAGS = -version-number @LIBGLEW_SO_VERSION@
|
|
||||||
+
|
|
||||||
+bin_PROGRAMS = glewinfo visualinfo
|
|
||||||
+
|
|
||||||
+glewinfo_SOURCES = glewinfo.c
|
|
||||||
+
|
|
||||||
+glewinfo_LDADD = libGLEW.la
|
|
||||||
+
|
|
||||||
+visualinfo_SOURCES = visualinfo.c
|
|
||||||
+
|
|
||||||
+visualinfo_LDADD = libGLEW.la
|
|
||||||
+
|
|
||||||
Index: glew/m4/glewmx.m4
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ glew/m4/glewmx.m4 2009-12-02 00:30:23.296641663 +0100
|
|
||||||
@@ -0,0 +1,11 @@
|
|
||||||
+
|
|
||||||
+AC_DEFUN([AC_CHECK_ENABLE_GLEWMX],[
|
|
||||||
+AC_MSG_CHECKING([whether to include Multiple Rendering Contexts support])
|
|
||||||
+AC_ARG_ENABLE([glewmx],
|
|
||||||
+ [AS_HELP_STRING([--enable-glewmx], [enable GLEW Multiple Rendering Contexts (default is no)])],
|
|
||||||
+ [ENABLE_GLEWMX="$enableval"],
|
|
||||||
+ [ENABLE_GLEWMX="no"])
|
|
||||||
+AC_MSG_RESULT([${ENABLE_GLEWMX}])
|
|
||||||
+AM_CONDITIONAL([ENABLE_GLEWMX], [test x"${ENABLE_GLEWMX}" = "xyes"])
|
|
||||||
+])
|
|
||||||
+
|
|
||||||
Index: glew/include/Makefile.am
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ glew/include/Makefile.am 2009-12-02 00:30:23.296641663 +0100
|
|
||||||
@@ -0,0 +1,3 @@
|
|
||||||
+
|
|
||||||
+nobase_include_HEADERS = GL/glew.h GL/glxew.h GL/wglew.h
|
|
||||||
+
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
|
|
||||||
We maintain the autotools configure.ac and Makefile.am, to correctly
|
|
||||||
provide the glew.pc, the following patch is needed.
|
|
||||||
|
|
||||||
Upstream-Status: Inappropriate
|
|
||||||
|
|
||||||
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
||||||
|
|
||||||
Index: glew-1.11.0/Makefile.am
|
|
||||||
===================================================================
|
|
||||||
--- glew-1.11.0.orig/Makefile.am
|
|
||||||
+++ glew-1.11.0/Makefile.am
|
|
||||||
@@ -3,3 +3,5 @@ ACLOCAL_AMFLAGS = -I m4 --install
|
|
||||||
|
|
||||||
SUBDIRS = include src
|
|
||||||
|
|
||||||
+pkgconfigdir = $(libdir)/pkgconfig
|
|
||||||
+pkgconfig_DATA = glew.pc
|
|
||||||
Index: glew-1.11.0/configure.ac
|
|
||||||
===================================================================
|
|
||||||
--- glew-1.11.0.orig/configure.ac
|
|
||||||
+++ glew-1.11.0/configure.ac
|
|
||||||
@@ -66,5 +66,6 @@ AC_SUBST([LIBGLEW_SO_VERSION], [1:9:0])
|
|
||||||
|
|
||||||
AC_CONFIG_FILES([Makefile
|
|
||||||
include/Makefile
|
|
||||||
- src/Makefile])
|
|
||||||
+ src/Makefile
|
|
||||||
+ glew.pc])
|
|
||||||
AC_OUTPUT
|
|
||||||
Index: glew-1.11.0/glew.pc.in
|
|
||||||
===================================================================
|
|
||||||
--- glew-1.11.0.orig/glew.pc.in
|
|
||||||
+++ glew-1.11.0/glew.pc.in
|
|
||||||
@@ -5,7 +5,7 @@ includedir=${prefix}/include/GL
|
|
||||||
|
|
||||||
Name: glew
|
|
||||||
Description: The OpenGL Extension Wrangler library
|
|
||||||
-Version: @version@
|
|
||||||
-Cflags: -I${includedir} @cflags@
|
|
||||||
-Libs: -L${libdir} -l@libname@
|
|
||||||
-Requires: @requireslib@
|
|
||||||
+Version: @VERSION@
|
|
||||||
+Cflags: -I${includedir}
|
|
||||||
+Libs: -L${libdir} -lGLEW
|
|
||||||
+Requires: glu
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
Upstream-Status: Pending
|
|
||||||
|
|
||||||
This patch fixes following issue with automake 1.12
|
|
||||||
|
|
||||||
| automake: warnings are treated as errors
|
|
||||||
| /srv/home/nitin/builds/build-gcc47/tmp/sysroots/x86_64-linux/usr/share/automake-1.12/am/ltlibrary.am: warning: 'libGLEW.la': linking libtool libraries using a non-POSIX
|
|
||||||
| /srv/home/nitin/builds/build-gcc47/tmp/sysroots/x86_64-linux/usr/share/automake-1.12/am/ltlibrary.am: archiver requires 'AM_PROG_AR' in 'configure.ac'
|
|
||||||
|
|
||||||
Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
|
|
||||||
2012/05/03
|
|
||||||
|
|
||||||
Index: glew-1.7.0/configure.ac
|
|
||||||
===================================================================
|
|
||||||
--- glew-1.7.0.orig/configure.ac
|
|
||||||
+++ glew-1.7.0/configure.ac
|
|
||||||
@@ -14,6 +14,9 @@ LT_INIT
|
|
||||||
AC_PROG_CC
|
|
||||||
AC_PROG_INSTALL
|
|
||||||
AC_PROG_LN_S
|
|
||||||
+# automake 1.12 seems to require this, but automake 1.11 doesn't recognize it
|
|
||||||
+m4_pattern_allow([AM_PROG_AR])
|
|
||||||
+AM_PROG_AR
|
|
||||||
|
|
||||||
# Checks for libraries.
|
|
||||||
|
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
Don't forcibly strip the binaries.
|
||||||
|
|
||||||
|
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
||||||
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
diff --git a/Makefile b/Makefile
|
||||||
|
index 6a9803c..170c0ce 100644
|
||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -285 +285 @@ install.bin: glew.bin
|
||||||
|
- $(INSTALL) -s -m 0755 bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN) "$(DESTDIR)$(BINDIR)/"
|
||||||
|
+ $(INSTALL) -m 0755 bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN) "$(DESTDIR)$(BINDIR)/"
|
||||||
@@ -8,12 +8,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ac251558de685c6b9478d89be3149c2"
|
|||||||
|
|
||||||
DEPENDS = "virtual/libx11 virtual/libgl libglu libxext libxi libxmu"
|
DEPENDS = "virtual/libx11 virtual/libgl libglu libxext libxi libxmu"
|
||||||
|
|
||||||
|
|
||||||
SRC_URI = "${SOURCEFORGE_MIRROR}/project/glew/glew/${PV}/glew-${PV}.tgz \
|
SRC_URI = "${SOURCEFORGE_MIRROR}/project/glew/glew/${PV}/glew-${PV}.tgz \
|
||||||
file://autotools.patch \
|
file://no-strip.patch"
|
||||||
file://glew_fix_for_automake-1.12.patch \
|
|
||||||
file://fix-glew.pc-install.patch \
|
|
||||||
"
|
|
||||||
|
|
||||||
SRC_URI[md5sum] = "01246c7ecd135d99be031aa63f86dca1"
|
SRC_URI[md5sum] = "01246c7ecd135d99be031aa63f86dca1"
|
||||||
SRC_URI[sha256sum] = "af58103f4824b443e7fa4ed3af593b8edac6f3a7be3b30911edbc7344f48e4bf"
|
SRC_URI[sha256sum] = "af58103f4824b443e7fa4ed3af593b8edac6f3a7be3b30911edbc7344f48e4bf"
|
||||||
@@ -21,6 +17,24 @@ SRC_URI[sha256sum] = "af58103f4824b443e7fa4ed3af593b8edac6f3a7be3b30911edbc7344f
|
|||||||
UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/glew/files/glew"
|
UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/glew/files/glew"
|
||||||
UPSTREAM_CHECK_REGEX = "/glew/(?P<pver>(\d+[\.\-_]*)+)/"
|
UPSTREAM_CHECK_REGEX = "/glew/(?P<pver>(\d+[\.\-_]*)+)/"
|
||||||
|
|
||||||
inherit autotools lib_package pkgconfig distro_features_check
|
inherit lib_package pkgconfig distro_features_check
|
||||||
# depends on virtual/libx11
|
|
||||||
REQUIRED_DISTRO_FEATURES = "x11"
|
REQUIRED_DISTRO_FEATURES = "x11"
|
||||||
|
|
||||||
|
# Override SYSTEM to avoid calling config.guess, we're cross-compiling. Pass
|
||||||
|
# our CFLAGS via POPT as that's the optimisation variable and safely
|
||||||
|
# overwritten.
|
||||||
|
EXTRA_OEMAKE = "SYSTEM='linux' \
|
||||||
|
CC='${CC}' LD='${CC}' STRIP='' \
|
||||||
|
LDFLAGS.EXTRA='${LDFLAGS}' \
|
||||||
|
POPT='${CFLAGS}' \
|
||||||
|
GLEW_PREFIX='${prefix}' BINDIR='${bindir}' \
|
||||||
|
LIBDIR='${libdir}' INCDIR='${includedir}/GL'"
|
||||||
|
|
||||||
|
do_compile() {
|
||||||
|
oe_runmake
|
||||||
|
}
|
||||||
|
|
||||||
|
do_install() {
|
||||||
|
oe_runmake 'DESTDIR=${D}' install.all
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user