Skip to contentSkip to conversation

Pull request for branch misc-build-fixes

GIT PULL New Thomas Petazzoni 3 participants 8 messages Jul 16, 2010 – Jul 18, 2010 Arm/Microchip (AT91) SoC support

lore
Share & tools
lore
#0 lore raw

The following changes since commit a67a62c296103f50bff9f9e6bcfb90def2b8d62e:
Sagaert Johan (1):
qt: fix javscriptcore/multimedia build with uClibc

are available in the git repository at:

git://git.busybox.net/~tpetazzoni/git/buildroot misc-build-fixes

Thomas Petazzoni (5):
Bump dhcp to 4.1.1-P1 and convert to autotools Update defconfigs after DHCP option rename Bump MySQL to 5.1.47 and fix build
Fix Qt build with MySQL
sdl: fix build of other sdl components

 configs/arm_toolchain_defconfig                    |    2 +-
 configs/at91rm9200df_ext_bare_defconfig            |    2 +-
 configs/at91sam9260dfc_ext_bare_defconfig          |    2 +-
 configs/at91sam9260pf_defconfig                    |    2 +-
 configs/at91sam9261ek_ext_bare_defconfig           |    2 +-
 configs/at91sam9263ek_ext_bare_defconfig           |    2 +-
 configs/at91sam9g20dfc_ext_bare_defconfig          |    2 +-
 configs/atstk100x_defconfig                        |    2 +-
 configs/kb9202_defconfig                           |    2 +-
 configs/v100sc2_defconfig                          |    2 +-
 package/dhcp/Config.in                             |    8 +-
 package/dhcp/dhcp.mk                               |  126 ++----
 package/dhcp/dhcp_xecute.patch                     |  452 --------------------
 .../mysql_client-5.1.47-ac_cache_check.patch       |  151 +++++++
 ...ql_client-5.1.47-configure-ps-cache-check.patch |   35 ++
 ...ysql_client-5.1.47-use-new-readline-iface.patch |   17 +
 package/mysql_client/mysql_client.mk               |   18 +-
 package/qt/Config.sql.in                           |    1 +
 package/qt/qt.mk                                   |   14 +-
 package/sdl/sdl.mk                                 |   14 +-
 20 files changed, 290 insertions(+), 566 deletions(-)
 delete mode 100644 package/dhcp/dhcp_xecute.patch
 create mode 100644 package/mysql_client/mysql_client-5.1.47-ac_cache_check.patch
 create mode 100644 package/mysql_client/mysql_client-5.1.47-configure-ps-cache-check.patch
 create mode 100644 package/mysql_client/mysql_client-5.1.47-use-new-readline-iface.patch

Thanks,

Signature · 1 line
Thomas Petazzoni
#1 lore raw

PATCH 1/5 Bump dhcp to 4.1.1-P1 and convert to autotools

dhcp 3.0.5 was causing build issues due to its build system not based on the autotools. Instead of work-arounding dhcp 3.0.5 issues, this commit bumps to 4.1.1 which uses the autotools as the build system. The package is therefore converted to the autotools infrastructure.

The dhcp_xecute patch is no longer needed, this feature seems to have been merged into the upstream dhcp (according to the manpage).

---
 package/dhcp/Config.in         |    8 +-
 package/dhcp/dhcp.mk           |  126 ++++--------
 package/dhcp/dhcp_xecute.patch |  452 ----------------------------------------
 3 files changed, 41 insertions(+), 545 deletions(-)
 delete mode 100644 package/dhcp/dhcp_xecute.patch
package/dhcp/Config.in +4 -4
index caf273f..eeb237c 100644
@@ -1,4 +1,4 @@
-config BR2_PACKAGE_ISC_DHCP
+config BR2_PACKAGE_DHCP
 	bool "DHCP support"
 	help
 	  DHCP relay agent from the ISC DHCP distribution.
@@ -7,21 +7,21 @@ config BR2_PACKAGE_ISC_DHCP
 
 config BR2_PACKAGE_DHCP_SERVER
 	bool "dhcp server"
-	depends on BR2_PACKAGE_ISC_DHCP
+	depends on BR2_PACKAGE_DHCP
 	help
 	  DHCP server from the ISC DHCP distribution.
 
 
 config BR2_PACKAGE_DHCP_RELAY
 	bool "dhcp relay"
-	depends on BR2_PACKAGE_ISC_DHCP
+	depends on BR2_PACKAGE_DHCP
 	help
 	  DHCP relay agent from the ISC DHCP distribution.
 
 
 config BR2_PACKAGE_DHCP_CLIENT
 	bool "dhcp client"
-	depends on BR2_PACKAGE_ISC_DHCP
+	depends on BR2_PACKAGE_DHCP
 	help
 	  DHCP client from the ISC DHCP distribution.
 
package/dhcp/dhcp.mk +37 -89

145 lines not on this page · raw message

package/dhcp/dhcp_xecute.patch deleted +0 -452

452 lines not on this page · raw message

Signature · 1 line
1.7.0.4
#2 lore raw

PATCH 2/5 Update defconfigs after DHCP option rename

In reply to Thomas Petazzoni
---
 configs/arm_toolchain_defconfig           |    2 +-
 configs/at91rm9200df_ext_bare_defconfig   |    2 +-
 configs/at91sam9260dfc_ext_bare_defconfig |    2 +-
 configs/at91sam9260pf_defconfig           |    2 +-
 configs/at91sam9261ek_ext_bare_defconfig  |    2 +-
 configs/at91sam9263ek_ext_bare_defconfig  |    2 +-
 configs/at91sam9g20dfc_ext_bare_defconfig |    2 +-
 configs/atstk100x_defconfig               |    2 +-
 configs/kb9202_defconfig                  |    2 +-
 configs/v100sc2_defconfig                 |    2 +-
 10 files changed, 10 insertions(+), 10 deletions(-)
configs/arm_toolchain_defconfig +1 -1
index 4c1e2c2..3062541 100644
@@ -408,7 +408,7 @@ BR2_CROSS_TOOLCHAIN_TARGET_UTILS=y
 # BR2_PACKAGE_BOA is not set
 # BR2_PACKAGE_BIND is not set
 # BR2_PACKAGE_BRIDGE is not set
-# BR2_PACKAGE_ISC_DHCP is not set
+# BR2_PACKAGE_DHCP is not set
 # BR2_PACKAGE_DNSMASQ is not set
 # BR2_PACKAGE_DROPBEAR is not set
 # BR2_PACKAGE_ETHTOOL is not set
configs/at91rm9200df_ext_bare_defconfig +1 -1
index 1622cc7..fec2c04 100644
@@ -329,7 +329,7 @@ BR2_TARGET_OPTIMIZATION="-Os -pipe"
 # BR2_PACKAGE_BOA is not set
 # BR2_PACKAGE_BIND is not set
 # BR2_PACKAGE_BRIDGE is not set
-# BR2_PACKAGE_ISC_DHCP is not set
+# BR2_PACKAGE_DHCP is not set
 # BR2_PACKAGE_DNSMASQ is not set
 # BR2_PACKAGE_DROPBEAR is not set
 # BR2_PACKAGE_ETHTOOL is not set
configs/at91sam9260dfc_ext_bare_defconfig +1 -1
index f1939cc..540eef6 100644
@@ -329,7 +329,7 @@ BR2_TOOLCHAIN_EXTERNAL_PREFIX="$(ARCH)-linux"
 # BR2_PACKAGE_BOA is not set
 # BR2_PACKAGE_BIND is not set
 # BR2_PACKAGE_BRIDGE is not set
-# BR2_PACKAGE_ISC_DHCP is not set
+# BR2_PACKAGE_DHCP is not set
 # BR2_PACKAGE_DNSMASQ is not set
 # BR2_PACKAGE_DROPBEAR is not set
 # BR2_PACKAGE_ETHTOOL is not set
configs/at91sam9260pf_defconfig +1 -1
index d444158..d83bb8c 100644
@@ -330,7 +330,7 @@ BR2_NETWORK_SUPPORT=y
 # BR2_PACKAGE_BRIDGE is not set
 # BR2_PACKAGE_CURL is not set
 # BR2_PACKAGE_LIBCURL is not set
-BR2_PACKAGE_ISC_DHCP=y
+BR2_PACKAGE_DHCP=y
 # BR2_PACKAGE_DHCP_SERVER is not set
 # BR2_PACKAGE_DHCP_RELAY is not set
 BR2_PACKAGE_DHCP_CLIENT=y
configs/at91sam9261ek_ext_bare_defconfig +1 -1
index e116f44..ab8851f 100644
@@ -332,7 +332,7 @@ BR2_TARGET_OPTIMIZATION="-Os -pipe"
 # BR2_PACKAGE_BOA is not set
 # BR2_PACKAGE_BIND is not set
 # BR2_PACKAGE_BRIDGE is not set
-# BR2_PACKAGE_ISC_DHCP is not set
+# BR2_PACKAGE_DHCP is not set
 # BR2_PACKAGE_DNSMASQ is not set
 # BR2_PACKAGE_DROPBEAR is not set
 # BR2_PACKAGE_ETHTOOL is not set
configs/at91sam9263ek_ext_bare_defconfig +1 -1
index 4efc758..2578b95 100644
@@ -331,7 +331,7 @@ BR2_TARGET_OPTIMIZATION="-Os -pipe"
 # BR2_PACKAGE_BOA is not set
 # BR2_PACKAGE_BIND is not set
 # BR2_PACKAGE_BRIDGE is not set
-# BR2_PACKAGE_ISC_DHCP is not set
+# BR2_PACKAGE_DHCP is not set
 # BR2_PACKAGE_DNSMASQ is not set
 # BR2_PACKAGE_DROPBEAR is not set
 # BR2_PACKAGE_ETHTOOL is not set
configs/at91sam9g20dfc_ext_bare_defconfig +1 -1
index 22676b7..49a5124 100644
@@ -329,7 +329,7 @@ BR2_TARGET_OPTIMIZATION="-Os -pipe"
 # BR2_PACKAGE_BOA is not set
 # BR2_PACKAGE_BIND is not set
 # BR2_PACKAGE_BRIDGE is not set
-# BR2_PACKAGE_ISC_DHCP is not set
+# BR2_PACKAGE_DHCP is not set
 # BR2_PACKAGE_DNSMASQ is not set
 # BR2_PACKAGE_DROPBEAR is not set
 # BR2_PACKAGE_ETHTOOL is not set
configs/atstk100x_defconfig +1 -1
index 0a718de..da58c26 100644
@@ -376,7 +376,7 @@ BR2_PACKAGE_AVAHI_AUTOIPD=y
 # BR2_PACKAGE_BOA is not set
 # BR2_PACKAGE_BIND is not set
 # BR2_PACKAGE_BRIDGE is not set
-# BR2_PACKAGE_ISC_DHCP is not set
+# BR2_PACKAGE_DHCP is not set
 # BR2_PACKAGE_DNSMASQ is not set
 BR2_PACKAGE_DROPBEAR=y
 # BR2_PACKAGE_ETHTOOL is not set
configs/kb9202_defconfig +1 -1
index 9300f28..f2dddb7 100644
@@ -360,7 +360,7 @@ BR2_NETWORK_SUPPORT=y
 # BR2_PACKAGE_BRIDGE is not set
 # BR2_PACKAGE_CURL is not set
 # BR2_PACKAGE_LIBCURL is not set
-# BR2_PACKAGE_ISC_DHCP is not set
+# BR2_PACKAGE_DHCP is not set
 # BR2_PACKAGE_DNSMASQ is not set
 # BR2_PACKAGE_DROPBEAR is not set
 # BR2_PACKAGE_ETHTOOL is not set
configs/v100sc2_defconfig +1 -1
index c85a4d8..17a627e 100644
@@ -335,7 +335,7 @@ BR2_NETWORK_SUPPORT=y
 # BR2_PACKAGE_BRIDGE is not set
 # BR2_PACKAGE_CURL is not set
 # BR2_PACKAGE_LIBCURL is not set
-# BR2_PACKAGE_ISC_DHCP is not set
+# BR2_PACKAGE_DHCP is not set
 # BR2_PACKAGE_DNSMASQ is not set
 BR2_PACKAGE_DROPBEAR=y
 # BR2_PACKAGE_ETHTOOL is not set
Signature · 1 line
1.7.0.4
#3 lore raw

PATCH 3/5 Bump MySQL to 5.1.47 and fix build

In reply to Thomas Petazzoni

MySQL build has been broken for quite some time due to the ./configure inability to find out how to use 'ps' to find the PID of a running program. This commit bumps MySQL to the latest version and adds a few patches to fix various build issues, including the 'ps' issue.

---
 .../mysql_client-5.1.47-ac_cache_check.patch       |  151 ++++++++++++++++++++
 ...ql_client-5.1.47-configure-ps-cache-check.patch |   35 +++++
 ...ysql_client-5.1.47-use-new-readline-iface.patch |   17 +++
 package/mysql_client/mysql_client.mk               |   18 ++-
 4 files changed, 216 insertions(+), 5 deletions(-)
 create mode 100644 package/mysql_client/mysql_client-5.1.47-ac_cache_check.patch
 create mode 100644 package/mysql_client/mysql_client-5.1.47-configure-ps-cache-check.patch
 create mode 100644 package/mysql_client/mysql_client-5.1.47-use-new-readline-iface.patch
package/mysql_client/mysql_client-5.1.47-ac_cache_check.patch new file +151 -0
new file mode 100644
index 0000000..6bdfeae
@@ -0,0 +1,151 @@
+Patch borrowed from
+http://code.google.com/p/minimyth/source/browse/trunk/gar-minimyth/script/db/mysql/files/mysql-5.1.47-ac_cache_check.patch?r=6493.
+
+It allows to override through ac_cv_* variables various checks that
+cannot be performed when cross-compiling.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+diff -Naur mysql-5.1.47-old/storage/innodb_plugin/plug.in mysql-5.1.47-new/storage/innodb_plugin/plug.in
+--- mysql-5.1.47-old/storage/innodb_plugin/plug.in	2010-05-20 09:55:10.000000000 -0700
++++ mysql-5.1.47-new/storage/innodb_plugin/plug.in	2010-05-20 09:56:12.000000000 -0700
+@@ -53,9 +53,10 @@
+   esac
+   AC_SUBST(INNODB_DYNAMIC_CFLAGS)
+ 
+-  AC_MSG_CHECKING(whether GCC atomic builtins are available)
++  AC_CACHE_CHECK([whether GCC atomic builtins are available],
++                 [ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS],
+   # either define HAVE_IB_GCC_ATOMIC_BUILTINS or not
+-  AC_TRY_RUN(
++  [AC_TRY_RUN(
+     [
+       int main()
+       {
+@@ -95,18 +96,23 @@
+       }
+     ],
+     [
+-      AC_DEFINE([HAVE_IB_GCC_ATOMIC_BUILTINS], [1],
+-                [GCC atomic builtins are available])
+       AC_MSG_RESULT(yes)
++      ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS=yes
+     ],
+     [
+       AC_MSG_RESULT(no)
++      ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS=no
+     ]
+-  )
++  )])
++  if test "x$ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS"= "xyes" ; then
++    AC_DEFINE([HAVE_IB_GCC_ATOMIC_BUILTINS], [1],
++              [GCC atomic builtins are available])
++  fi
+ 
+-  AC_MSG_CHECKING(whether pthread_t can be used by GCC atomic builtins)
++  AC_CACHE_CHECK([whether pthread_t can be used by GCC atomic builtins],
++                 [ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC],
+   # either define HAVE_IB_ATOMIC_PTHREAD_T_GCC or not
+-  AC_TRY_RUN(
++  [AC_TRY_RUN(
+     [
+       #include <pthread.h>
+       #include <string.h>
+@@ -126,14 +132,18 @@
+       }
+     ],
+     [
+-      AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_GCC], [1],
+-                [pthread_t can be used by GCC atomic builtins])
+       AC_MSG_RESULT(yes)
++      ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC=yes
+     ],
+     [
+       AC_MSG_RESULT(no)
++      ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC=no
+     ]
+-  )
++  )])
++  if test "x$ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC"= "xyes" ; then
++    AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_GCC], [1],
++              [pthread_t can be used by GCC atomic builtins])
++  fi
+ 
+   AC_MSG_CHECKING(whether Solaris libc atomic functions are available)
+   # either define HAVE_IB_SOLARIS_ATOMICS or not
+@@ -147,9 +157,10 @@
+ 			    are available])
+   )
+ 
+-  AC_MSG_CHECKING(whether pthread_t can be used by Solaris libc atomic functions)
++  AC_CACHE_CHECK([whether pthread_t can be used by Solaris libc atomic functions],
++                 [ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS],
+   # either define HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS or not
+-  AC_TRY_RUN(
++  [AC_TRY_RUN(
+     [
+       #include <pthread.h>
+       #include <string.h>
+@@ -180,28 +191,33 @@
+       }
+     ],
+     [
+-      AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS], [1],
+-                [pthread_t can be used by solaris atomics])
+       AC_MSG_RESULT(yes)
++      ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS=yes
+     ],
+     [
+       AC_MSG_RESULT(no)
++      ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS=no
+     ]
+-  )
++  )])
++  if test "x$ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS"= "xyes" ; then
++    AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS], [1],
++              [pthread_t can be used by solaris atomics])
++  fi
+ 
+   # this is needed to know which one of atomic_cas_32() or atomic_cas_64()
+   # to use in the source
+   AC_CHECK_SIZEOF([pthread_t], [], [#include <pthread.h>])
+ 
+   # Check for x86 PAUSE instruction
+-  AC_MSG_CHECKING(for x86 PAUSE instruction)
++  AC_CACHE_CHECK([for x86 PAUSE instruction],
++                 [ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION],
+   # We have to actually try running the test program, because of a bug
+   # in Solaris on x86_64, where it wrongly reports that PAUSE is not
+   # supported when trying to run an application. See
+   # http://bugs.opensolaris.org/bugdatabase/printableBug.do?bug_id=6478684
+   # We use ib_ prefix to avoid collisoins if this code is added to
+   # mysql's configure.in.
+-  AC_TRY_RUN(
++  [AC_TRY_RUN(
+     [
+       int main() {
+         __asm__ __volatile__ ("pause");
+@@ -209,16 +225,21 @@
+       }
+     ],
+     [
+-      AC_DEFINE([HAVE_IB_PAUSE_INSTRUCTION], [1], [Does x86 PAUSE instruction exist])
+       AC_MSG_RESULT(yes)
++      ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION=yes
+     ],
+     [
+       AC_MSG_RESULT(no)
++      ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION=no
+     ],
+     [
+       AC_MSG_RESULT(no)
++      ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION=no
+     ]
+-  )
++  )])
++  if test "x$ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION"= "xyes" ; then
++    AC_DEFINE([HAVE_IB_PAUSE_INSTRUCTION], [1], [Does x86 PAUSE instruction exist])
++  fi
+   ])
+ 
+ # vim: set ft=config:
package/mysql_client/mysql_client-5.1.47-configure-ps-cache-check.patch new file +35 -0
new file mode 100644
index 0000000..d7bf628
@@ -0,0 +1,35 @@
+Patch borrowed from
+http://cgit.openembedded.org/cgit.cgi/openembedded/tree/recipes/mysql/files/configure-ps-cache-check.patch
+
+It allows to specify through ac_cv_FIND_PROC how ps should be used on
+the target to find the PID of a program.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: mysql-4.1.22/configure.in
+===================================================================
+--- mysql-4.1.22.orig/configure.in	2009-01-28 16:33:28.000000000 +0000
++++ mysql-4.1.22/configure.in	2009-01-28 16:43:26.000000000 +0000
+@@ -471,8 +471,8 @@
+ 
+ # Lock for PS
+ AC_PATH_PROG(PS, ps, ps)
+-AC_MSG_CHECKING("how to check if pid exists")
+-PS=$ac_cv_path_PS
++AC_CACHE_CHECK([how to check if pid exists], [ac_cv_FIND_PROC],
++[
+ # Linux style
+ if $PS p $$ 2> /dev/null | grep $0 > /dev/null
+ then
+@@ -511,8 +511,9 @@
+       AC_MSG_ERROR([Could not find the right ps switches. Which OS is this ?. See the Installation chapter in the Reference Manual.])
+   esac
+ fi
+-AC_SUBST(FIND_PROC)
+-AC_MSG_RESULT("$FIND_PROC")
++ac_cv_FIND_PROC="$FIND_PROC"
++])
++AC_SUBST([FIND_PROC], [$ac_cv_FIND_PROC])
+ 
+ # Check if a pid is valid
+ AC_PATH_PROG(KILL, kill, kill)
package/mysql_client/mysql_client-5.1.47-use-new-readline-iface.patch new file +17 -0
new file mode 100644
index 0000000..34bc035
@@ -0,0 +1,17 @@
+Tell MySQL to use the new readline interface even when an external
+readline is being used.
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+Index: mysql_client-5.1.47/configure.in
+===================================================================
+--- mysql_client-5.1.47.orig/configure.in	2010-07-15 23:49:35.000000000 +0200
++++ mysql_client-5.1.47/configure.in	2010-07-15 23:50:03.000000000 +0200
+@@ -2700,6 +2700,7 @@
+ 	    # this way we avoid linking commercial source with GPL readline
+ 	    readline_link="-lreadline"
+ 	    want_to_use_readline="yes"
++	    AC_DEFINE_UNQUOTED(USE_NEW_READLINE_INTERFACE, 1)
+ 	elif [test "$mysql_cv_libedit_interface" = "yes"]
+ 	then
+ 	    # Use libedit
package/mysql_client/mysql_client.mk +13 -5
index 4403653..377df89 100644
@@ -3,23 +3,31 @@
 # MySQL 5.1 Client
 #
 #############################################################
-MYSQL_CLIENT_VERSION = 5.1.23-rc
+MYSQL_CLIENT_VERSION = 5.1.47
 MYSQL_CLIENT_SOURCE = mysql-$(MYSQL_CLIENT_VERSION).tar.gz
-MYSQL_CLIENT_SITE = http://mirrors.24-7-solutions.net/pub/mysql/Downloads/MySQL-5.1
+MYSQL_CLIENT_SITE = http://downloads.mysql.com/archives/mysql-5.1/
 MYSQL_CLIENT_INSTALL_TARGET = YES
 MYSQL_CLIENT_INSTALL_STAGING = YES
 MYSQL_CLIENT_DEPENDENCIES = readline ncurses
+MYSQL_CLIENT_AUTORECONF=YES
+
+MYSQL_CLIENT_CONF_ENV = \
+	ac_cv_sys_restartable_syscalls=yes \
+	ac_cv_path_PS=/bin/ps \
+	ac_cv_FIND_PROC="/bin/ps p \$\$PID | grep -v grep | grep mysqld > /dev/null" \
+	ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC=yes \
+	ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS=no \
+	ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS=yes \
+	mysql_cv_new_rl_interface=yes
 
-MYSQL_CLIENT_CONF_ENV = ac_cv_sys_restartable_syscalls=yes
 MYSQL_CLIENT_CONF_OPT = \
 	--program-prefix="" \
 	--without-ndb-binlog \
 	--without-server \
 	--without-docs \
 	--without-man \
-	--without-readline \
 	--without-libedit \
-	--with-readline=$(STAGING_DIR)/usr \
+	--without-readline \
 	--with-low-memory \
 	--enable-thread-safe-client \
 	$(ENABLE_DEBUG)
Signature · 1 line
1.7.0.4
#4 lore raw

PATCH 4/5 Fix Qt build with MySQL

In reply to Thomas Petazzoni

Several issues were preventing the Qt MySQL support to build properly:

* In Config.sql.in, missing selection of the MYSQL_CLIENT package when the Qt MySQL driver is enabled

* In qt.mk :
- Missing dependency on mysql_client
- As MySQL installs headers in $(STAGING_DIR)/usr/include/mysql and libs in $(STAGING_DIR)/usr/lib/mysql, additional -I and -L options need to be passed.

---
 package/qt/Config.sql.in |    1 +
 package/qt/qt.mk         |   14 +++++++++++---
 2 files changed, 12 insertions(+), 3 deletions(-)
package/qt/Config.sql.in +1 -0
index 2ce8d79..0c17c1a 100644
@@ -6,6 +6,7 @@ menuconfig BR2_PACKAGE_QT_SQL_MODULE
 if BR2_PACKAGE_QT_SQL_MODULE
 config BR2_PACKAGE_QT_MYSQL
 	bool "MySQL Driver"
+	select BR2_PACKAGE_MYSQL_CLIENT
 	help
 	  Build MySQL driver
 	  If unsure, say n.
package/qt/qt.mk +11 -3
index b4b6b29..c144901 100644
@@ -18,6 +18,10 @@ QT_SITE:=http://get.qt.nokia.com/qt/source
 QT_CAT:=$(ZCAT)
 QT_TARGET_DIR:=$(BUILD_DIR)/qt-everywhere-opensource-src-$(QT_VERSION)
 
+QT_TARGET_CFLAGS=$(TARGET_CFLAGS)
+QT_TARGET_CXXFLAGS=$(TARGET_CXXFLAGS)
+QT_TARGET_LDFLAGS=$(TARGET_LDFLAGS)
+
 QT_CONFIGURE:=#empty
 
 ifeq ($(BR2_PACKAGE_QT_LICENSE_APPROVED),y)
@@ -273,6 +277,10 @@ QT_CONFIGURE+= -qt-sql-ibase
 endif
 ifeq ($(BR2_PACKAGE_QT_MYSQL),y)
 QT_CONFIGURE+= -qt-sql-mysql
+QT_DEP_LIBS+=mysql_client
+QT_TARGET_CFLAGS+=-I$(STAGING_DIR)/usr/include/mysql
+QT_TARGET_CXXFLAGS+=-I$(STAGING_DIR)/usr/include/mysql
+QT_TARGET_LDFLAGS+=-L$(STAGING_DIR)/usr/lib/mysql
 endif
 ifeq ($(BR2_PACKAGE_QT_ODBC),y)
 QT_CONFIGURE+= -qt-sql-odbc
@@ -487,9 +495,9 @@ endif
 	$(call QT_QMAKE_SET,OBJCOPY,$(TARGET_OBJCOPY))
 	$(call QT_QMAKE_SET,RANLIB,$(TARGET_RANLIB))
 	$(call QT_QMAKE_SET,STRIP,$(TARGET_STRIP))
-	$(call QT_QMAKE_SET,CFLAGS,$(TARGET_CFLAGS))
-	$(call QT_QMAKE_SET,CXXFLAGS,$(TARGET_CXXFLAGS))
-	$(call QT_QMAKE_SET,LFLAGS,$(TARGET_LDFLAGS))
+	$(call QT_QMAKE_SET,CFLAGS,$(QT_TARGET_CFLAGS))
+	$(call QT_QMAKE_SET,CXXFLAGS,$(QT_TARGET_CXXFLAGS))
+	$(call QT_QMAKE_SET,LFLAGS,$(QT_TARGET_LDFLAGS))
 	-[ -f $(QT_QCONFIG_FILE) ] && cp $(QT_QCONFIG_FILE) \
 		$(QT_TARGET_DIR)/$(QT_QCONFIG_FILE_LOCATION)
 # Don't use TARGET_CONFIGURE_OPTS here, qmake would be compiled for the target
Signature · 1 line
1.7.0.4
#5 lore raw

PATCH 5/5 sdl: fix build of other sdl components

In reply to Thomas Petazzoni

The post installation hook of SDL was not being executed, due to an incorrect usage of the infrastructure. Moreover, it did not patch prefix/exec_prefix in sdl-config as is needed. In addition to that, we remove the -Wl,-rpath option from sdl-config, since it is not needed.

This fixes at least the build of sdl_image, and probably of other sdl components as well.

---
 package/sdl/sdl.mk |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)
package/sdl/sdl.mk +11 -3
index 87c7533..3834137 100644
@@ -46,11 +46,19 @@ SDL_CONF_OPT += --enable-pulseaudio=no \
 		--disable-esd \
 		--disable-nasm
 
-define SDL_POST_INSTALL_STAGING_HOOKS
-       $(SED) 's^libdir=\$${exec_prefix}^libdir=/usr^' \
-               $(STAGING_DIR)/usr/bin/sdl-config
+# Fixup prefix= and exec_prefix= in sdl-config, and remove the
+# -Wl,-rpath option.
+define SDL_FIXUP_SDL_CONFIG
+	$(SED) 's%prefix=/usr%prefix=$(STAGING_DIR)/usr%' \
+		$(STAGING_DIR)/usr/bin/sdl-config
+	$(SED) 's%exec_prefix=/usr%exec_prefix=$(STAGING_DIR)/usr%' \
+		$(STAGING_DIR)/usr/bin/sdl-config
+	$(SED) 's%-Wl,-rpath,\$${libdir}%%' \
+		$(STAGING_DIR)/usr/bin/sdl-config
 endef
 
+SDL_POST_INSTALL_STAGING_HOOKS+=SDL_FIXUP_SDL_CONFIG
+
 define SDL_INSTALL_TARGET_CMDS
 	cp -dpf $(STAGING_DIR)/usr/lib/libSDL*.so* $(TARGET_DIR)/usr/lib/
 endef
Signature · 1 line
1.7.0.4
#6 lore raw

PATCH 5/5 sdl: fix build of other sdl components

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Thomas> The post installation hook of SDL was not being executed, due to an Thomas> incorrect usage of the infrastructure. Moreover, it did not patch Thomas> prefix/exec_prefix in sdl-config as is needed. In addition to that, we Thomas> remove the -Wl,-rpath option from sdl-config, since it is not needed.

Hmm, I don't think that's right - It all build fine for me without this patch (is it for ext toolchain?), and now the libraries have a rpath to the staging dir:

powerpc-linux-readelf -a libSDL_gfx.so.13.5.1|grep RPATH
0x0000000f (RPATH) Library rpath: [/home/peko/source/buildroot/output/staging/usr/lib]

Signature · 1 line
Bye, Peter Korsgaard
#7 lore raw

PATCH 5/5 sdl: fix build of other sdl components

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

"Peter" == Peter Korsgaard <[email protected]> writes:

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Thomas> The post installation hook of SDL was not being executed, due to an Thomas> incorrect usage of the infrastructure. Moreover, it did not patch Thomas> prefix/exec_prefix in sdl-config as is needed. In addition to that, we Thomas> remove the -Wl,-rpath option from sdl-config, since it is not needed.

Peter> Hmm, I don't think that's right - It all build fine for me without this Peter> patch (is it for ext toolchain?), and now the libraries have a rpath to Peter> the staging dir:

Peter> powerpc-linux-readelf -a libSDL_gfx.so.13.5.1|grep RPATH
Peter> 0x0000000f (RPATH) Library rpath: [/home/peko/source/buildroot/output/staging/usr/lib]

Nevermind, we also had the rpath in the past, and it doesn't "really" harm anything. I just did a testbuild of prboom and ran it in qemu without problems.

Committed all patches except for the qt one.

Signature · 1 line
Bye, Peter Korsgaard