From 2d67381a95241ebf7bc24b96c5680efa1409a856 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Wed, 9 Aug 2017 18:41:59 -0400 Subject: [PATCH] haiku: non-x86 spins use a normal libstdc++ filename. Handle the differences. Fixes Bugzilla #3730. --- configure | 27 ++++++++++++++++++++++++++- configure.in | 5 ++++- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/configure b/configure index e6066bd03d75c..ad5874ab3febb 100755 --- a/configure +++ b/configure @@ -24031,7 +24031,32 @@ $as_echo "#define SDL_FILESYSTEM_HAIKU 1" >>confdefs.h fi # The Haiku platform requires special setup. SOURCES="$srcdir/src/main/haiku/*.cc $SOURCES" - EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lroot -lbe -lmedia -lgame -ldevice -ltextencoding -lstdc++.r4" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lroot -lbe -lmedia -lgame -ldevice -ltextencoding" + # Haiku's x86 spins use libstdc++.r4.so (for binary compat?), but + # other spins, like x86-64, use a more standard "libstdc++.so.*" + as_ac_File=`$as_echo "ac_cv_file_"/boot/system/lib/libstdc++.r4.so"" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for \"/boot/system/lib/libstdc++.r4.so\"" >&5 +$as_echo_n "checking for \"/boot/system/lib/libstdc++.r4.so\"... " >&6; } +if eval \${$as_ac_File+:} false; then : + $as_echo_n "(cached) " >&6 +else + test "$cross_compiling" = yes && + as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 +if test -r ""/boot/system/lib/libstdc++.r4.so""; then + eval "$as_ac_File=yes" +else + eval "$as_ac_File=no" +fi +fi +eval ac_res=\$$as_ac_File + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if eval test \"x\$"$as_ac_File"\" = x"yes"; then : + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lstdc++.r4" +else + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lstdc++" +fi + ;; arm*-apple-darwin*|*-ios-*) ARCH=ios diff --git a/configure.in b/configure.in index 0fa88c3e22eac..bb6b9efcf0e35 100644 --- a/configure.in +++ b/configure.in @@ -3534,7 +3534,10 @@ AC_HELP_STRING([--enable-render-d3d], [enable the Direct3D render driver [[defau fi # The Haiku platform requires special setup. SOURCES="$srcdir/src/main/haiku/*.cc $SOURCES" - EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lroot -lbe -lmedia -lgame -ldevice -ltextencoding -lstdc++.r4" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lroot -lbe -lmedia -lgame -ldevice -ltextencoding" + # Haiku's x86 spins use libstdc++.r4.so (for binary compat?), but + # other spins, like x86-64, use a more standard "libstdc++.so.*" + AC_CHECK_FILE("/boot/system/lib/libstdc++.r4.so", EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lstdc++.r4", EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lstdc++") ;; arm*-apple-darwin*|*-ios-*) ARCH=ios