leveldb: fix checking for SSE flag

The build_detect_platform-Check-for-__SSE4_2__.patch tries to use fgrep
with pipe to get the SSE flag. But actually it would fail with error:
fgrep: /tmp/leveldb_build_detect_platform-cxx.25886: No such file or
directory

That means it can not get the correct SSE flag.
We should make sure the fgrep command runs after g++ command has
finished and redirect the stdout and stderr to /dev/null to avoid make
error:
Makefile:18: *** missing separator. Stop.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
This commit is contained in:
Yi Zhao 2017-12-28 13:53:00 +08:00 committed by Armin Kuster
parent 303fd6d589
commit fa21162559

View File

@ -19,14 +19,15 @@ Index: git/build_detect_platform
===================================================================
--- git.orig/build_detect_platform
+++ git/build_detect_platform
@@ -230,13 +230,12 @@ EOF
@@ -224,13 +224,13 @@ EOF
rm -f $CXXOUTPUT 2>/dev/null
# Test if gcc SSE 4.2 is supported
- $CXX $CXXFLAGS -x c++ - -o $CXXOUTPUT -msse4.2 2>/dev/null <<EOF
+ $CXX $CXXFLAGS -Werror -x c++ - -o $CXXOUTPUT -msse4.2 -dD -E 2>/dev/null | fgrep __SSE4_2__ $CXXOUTPUT 2>/dev/null <<EOF
+ $CXX $CXXFLAGS -Werror -x c++ - -o $CXXOUTPUT -msse4.2 -dD -E 2>/dev/null <<EOF
int main() {}
EOF
+ eval fgrep __SSE4_2__ $CXXOUTPUT >/dev/null 2>&1
if [ "$?" = 0 ]; then
PLATFORM_SSEFLAGS="-msse4.2"
fi