fixed dependencies for the shared psql plugin in package qt

The postgresql library -lpq depends on -lsecure32, -lssl, and so
on. These are static libraries. When we build the psql plugin as
a shared library, linking fails unless we provide the list of
required libraries.

Previously, this was taken care of with a hack in the configure
script. Since that hack is not suitable for an upstream merge
request, I have moved it here.
pull/13/head
Mark Brand 15 years ago
parent 4325746a51
commit 902b61d8bc

@ -2,7 +2,7 @@ This file is part of mingw-cross-env.
See doc/index.html for further information. See doc/index.html for further information.
diff --git a/configure b/configure diff --git a/configure b/configure
index ed5891f..1a3f573 100755 index ed5891f..9b14df3 100755
--- a/configure --- a/configure
+++ b/configure +++ b/configure
@@ -605,7 +605,7 @@ mkdir -p "$outpath/config.tests" @@ -605,7 +605,7 @@ mkdir -p "$outpath/config.tests"
@ -158,11 +158,12 @@ index ed5891f..1a3f573 100755
CFG_LIBPNG=system CFG_LIBPNG=system
else else
CFG_LIBPNG=qt CFG_LIBPNG=qt
@@ -4686,7 +4727,12 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do @@ -4686,7 +4727,13 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
fi fi
[ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL" [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
[ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL" [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
- if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/psql "PostgreSQL" $QT_LFLAGS_PSQL $L_FLAGS $QT_CFLAGS_PSQL $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/psql "PostgreSQL" $QT_LFLAGS_PSQL $L_FLAGS $QT_CFLAGS_PSQL $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
+ QT_LFLAGS_PSQL="$QT_LFLAGS_PSQL $PSQL_LIBS"
+ if [ "$XPLATFORM" = "win32-g++" ]; then + if [ "$XPLATFORM" = "win32-g++" ]; then
+ echo "Skipping test for PSQL in cross build for win32-g++" + echo "Skipping test for PSQL in cross build for win32-g++"
+ if [ "$CFG_SQL_psql" = "auto" ]; then + if [ "$CFG_SQL_psql" = "auto" ]; then
@ -172,7 +173,7 @@ index ed5891f..1a3f573 100755
if [ "$CFG_SQL_psql" = "auto" ]; then if [ "$CFG_SQL_psql" = "auto" ]; then
CFG_SQL_psql=plugin CFG_SQL_psql=plugin
fi fi
@@ -4707,7 +4753,10 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do @@ -4707,7 +4754,10 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
;; ;;
odbc) odbc)
if [ "$CFG_SQL_odbc" != "no" ]; then if [ "$CFG_SQL_odbc" != "no" ]; then
@ -184,7 +185,7 @@ index ed5891f..1a3f573 100755
if [ "$CFG_SQL_odbc" = "auto" ]; then if [ "$CFG_SQL_odbc" = "auto" ]; then
CFG_SQL_odbc=plugin CFG_SQL_odbc=plugin
fi fi
@@ -4752,7 +4801,12 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do @@ -4752,7 +4802,12 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
;; ;;
tds) tds)
if [ "$CFG_SQL_tds" != "no" ]; then if [ "$CFG_SQL_tds" != "no" ]; then
@ -198,7 +199,7 @@ index ed5891f..1a3f573 100755
if [ "$CFG_SQL_tds" = "auto" ]; then if [ "$CFG_SQL_tds" = "auto" ]; then
CFG_SQL_tds=plugin CFG_SQL_tds=plugin
fi fi
@@ -4834,7 +4888,13 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do @@ -4834,7 +4889,13 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
QT_CFLAGS_SQLITE=`$PKG_CONFIG --cflags sqlite3 2>/dev/null` QT_CFLAGS_SQLITE=`$PKG_CONFIG --cflags sqlite3 2>/dev/null`
QT_LFLAGS_SQLITE=`$PKG_CONFIG --libs sqlite3 2>/dev/null` QT_LFLAGS_SQLITE=`$PKG_CONFIG --libs sqlite3 2>/dev/null`
fi fi
@ -213,7 +214,7 @@ index ed5891f..1a3f573 100755
if [ "$CFG_SQL_sqlite" = "auto" ]; then if [ "$CFG_SQL_sqlite" = "auto" ]; then
CFG_SQL_sqlite=plugin CFG_SQL_sqlite=plugin
fi fi
@@ -4905,7 +4965,9 @@ fi @@ -4905,7 +4966,9 @@ fi
# auto-detect iconv(3) support # auto-detect iconv(3) support
if [ "$CFG_ICONV" != "no" ]; then if [ "$CFG_ICONV" != "no" ]; then
@ -224,7 +225,7 @@ index ed5891f..1a3f573 100755
CFG_ICONV=no CFG_ICONV=no
elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/iconv" "POSIX iconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/iconv" "POSIX iconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
CFG_ICONV=yes CFG_ICONV=yes
@@ -5065,7 +5127,9 @@ if [ "$PLATFORM_X11" = "yes" ]; then @@ -5065,7 +5128,9 @@ if [ "$PLATFORM_X11" = "yes" ]; then
echo "Basic XLib functionality test failed!" echo "Basic XLib functionality test failed!"
echo " You might need to modify the include and library search paths by editing" echo " You might need to modify the include and library search paths by editing"
echo " QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in ${XQMAKESPEC}." echo " QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in ${XQMAKESPEC}."
@ -235,7 +236,7 @@ index ed5891f..1a3f573 100755
fi fi
# auto-detect OpenGL support (es1 = OpenGL ES 1.x Common, es1cl = ES 1.x common lite, es2 = OpenGL ES 2.x) # auto-detect OpenGL support (es1 = OpenGL ES 1.x Common, es1cl = ES 1.x common lite, es2 = OpenGL ES 2.x)
@@ -5139,7 +5203,9 @@ if [ "$PLATFORM_X11" = "yes" ]; then @@ -5139,7 +5204,9 @@ if [ "$PLATFORM_X11" = "yes" ]; then
echo " You might need to modify the include and library search paths by editing" echo " You might need to modify the include and library search paths by editing"
echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in" echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
echo " ${XQMAKESPEC}." echo " ${XQMAKESPEC}."
@ -246,7 +247,7 @@ index ed5891f..1a3f573 100755
fi fi
case "$PLATFORM" in case "$PLATFORM" in
hpux*) hpux*)
@@ -5640,7 +5706,10 @@ if [ "$CFG_DOUBLEFORMAT" = "auto" ]; then @@ -5640,7 +5707,10 @@ if [ "$CFG_DOUBLEFORMAT" = "auto" ]; then
fi fi
HAVE_STL=no HAVE_STL=no
@ -258,7 +259,7 @@ index ed5891f..1a3f573 100755
HAVE_STL=yes HAVE_STL=yes
fi fi
@@ -5662,7 +5731,10 @@ fi @@ -5662,7 +5732,10 @@ fi
# find if the platform supports IPv6 # find if the platform supports IPv6
if [ "$CFG_IPV6" != "no" ]; then if [ "$CFG_IPV6" != "no" ]; then
@ -270,7 +271,7 @@ index ed5891f..1a3f573 100755
CFG_IPV6=yes CFG_IPV6=yes
else else
if [ "$CFG_IPV6" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then if [ "$CFG_IPV6" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
@@ -5776,7 +5848,10 @@ fi @@ -5776,7 +5849,10 @@ fi
# find if the platform supports X/Open Large File compilation environment # find if the platform supports X/Open Large File compilation environment
if [ "$CFG_LARGEFILE" != "no" ]; then if [ "$CFG_LARGEFILE" != "no" ]; then
@ -282,7 +283,7 @@ index ed5891f..1a3f573 100755
CFG_LARGEFILE=yes CFG_LARGEFILE=yes
else else
if [ "$CFG_LARGEFILE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then if [ "$CFG_LARGEFILE" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
@@ -5793,7 +5868,9 @@ fi @@ -5793,7 +5869,9 @@ fi
# detect OpenSSL # detect OpenSSL
if [ "$CFG_OPENSSL" != "no" ]; then if [ "$CFG_OPENSSL" != "no" ]; then
@ -293,7 +294,7 @@ index ed5891f..1a3f573 100755
if [ "$CFG_OPENSSL" = "auto" ]; then if [ "$CFG_OPENSSL" = "auto" ]; then
CFG_OPENSSL=yes CFG_OPENSSL=yes
fi fi
@@ -6141,6 +6218,7 @@ fi @@ -6141,6 +6219,7 @@ fi
[ "$CFG_3DNOW" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG 3dnow" [ "$CFG_3DNOW" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG 3dnow"
[ "$CFG_SSE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse" [ "$CFG_SSE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse"
[ "$CFG_SSE2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse2" [ "$CFG_SSE2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse2"
@ -301,7 +302,7 @@ index ed5891f..1a3f573 100755
[ "$CFG_IWMMXT" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG iwmmxt" [ "$CFG_IWMMXT" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG iwmmxt"
[ "$CFG_NEON" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG neon" [ "$CFG_NEON" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG neon"
[ "$PLATFORM_MAC" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG $CFG_MAC_ARCHS" [ "$PLATFORM_MAC" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG $CFG_MAC_ARCHS"
@@ -6222,11 +6300,12 @@ else @@ -6222,11 +6301,12 @@ else
QT_CONFIG="$QT_CONFIG freetype" QT_CONFIG="$QT_CONFIG freetype"
fi fi
@ -319,7 +320,7 @@ index ed5891f..1a3f573 100755
if [ "$CFG_ZLIB" = "yes" ]; then if [ "$CFG_ZLIB" = "yes" ]; then
QT_CONFIG="$QT_CONFIG zlib" QT_CONFIG="$QT_CONFIG zlib"
elif [ "$CFG_ZLIB" = "system" ]; then elif [ "$CFG_ZLIB" = "system" ]; then
@@ -7161,7 +7240,7 @@ fi @@ -7161,7 +7241,7 @@ fi
cat >>"$QTCONFIG.tmp" <<EOF cat >>"$QTCONFIG.tmp" <<EOF
#configuration #configuration
@ -328,7 +329,7 @@ index ed5891f..1a3f573 100755
QT_ARCH = $CFG_ARCH QT_ARCH = $CFG_ARCH
QT_EDITION = $Edition QT_EDITION = $Edition
QT_CONFIG += $QT_CONFIG QT_CONFIG += $QT_CONFIG
@@ -7434,7 +7513,7 @@ fi @@ -7434,7 +7514,7 @@ fi
echo "Declarative module .. $CFG_DECLARATIVE" echo "Declarative module .. $CFG_DECLARATIVE"
echo "STL support ......... $CFG_STL" echo "STL support ......... $CFG_STL"
echo "PCH support ......... $CFG_PRECOMPILE" echo "PCH support ......... $CFG_PRECOMPILE"
@ -337,7 +338,7 @@ index ed5891f..1a3f573 100755
if [ "$CFG_ARCH" = "arm" ] || [ "$CFG_ARCH" = "armv6" ]; then if [ "$CFG_ARCH" = "arm" ] || [ "$CFG_ARCH" = "armv6" ]; then
echo "iWMMXt support ...... ${CFG_IWMMXT}" echo "iWMMXt support ...... ${CFG_IWMMXT}"
echo "NEON support ........ ${CFG_NEON}" echo "NEON support ........ ${CFG_NEON}"
@@ -7752,7 +7831,11 @@ for file in .projects .projects.3; do @@ -7752,7 +7832,11 @@ for file in .projects .projects.3; do
[ "$IN_ROOT" = "no" ] && continue [ "$IN_ROOT" = "no" ] && continue
case $a in case $a in

@ -93,7 +93,8 @@ define $(PKG)_BUILD
# We prefer static mingw-cross-env system libs for static build: # We prefer static mingw-cross-env system libs for static build:
# -system-zlib -system-libpng -system-libjpeg -system-libtiff -system-libmng -system-sqlite # -system-zlib -system-libpng -system-libjpeg -system-libtiff -system-libmng -system-sqlite
# There is no -system-gif option. NB -system-libmng will not link in shared build. # There is no -system-gif option. NB -system-libmng will not link in shared build.
cd '$(1)' && ./configure \ # Linking PSQL shared plugin requires PSQL_LIBS. Harmless for static build.
cd '$(1)' && PSQL_LIBS="-lpq -lsecur32 $(shell $(TARGET)-pkg-config --static --libs-only-l openssl)" ./configure \
-opensource \ -opensource \
-confirm-license \ -confirm-license \
-xplatform win32-g++ \ -xplatform win32-g++ \

Loading…
Cancel
Save