Skip to content

Commit 76596b5

Browse files
committed
Fix building RocksDB in paths containing spaces -- quote path names in Makefile and build_detect_platform.
1 parent 3edc056 commit 76596b5

File tree

2 files changed

+27
-27
lines changed

2 files changed

+27
-27
lines changed

Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ endif
2424
#-----------------------------------------------
2525

2626
# detect what platform we're building on
27-
$(shell (export ROCKSDB_ROOT=$(CURDIR); $(CURDIR)/build_tools/build_detect_platform $(CURDIR)/build_config.mk))
27+
$(shell (export ROCKSDB_ROOT="$(CURDIR)"; "$(CURDIR)/build_tools/build_detect_platform" "$(CURDIR)/build_config.mk"))
2828
# this file is generated by the previous line to set build flags and sources
2929
include build_config.mk
3030

build_tools/build_detect_platform

+26-26
Original file line numberDiff line numberDiff line change
@@ -50,18 +50,18 @@ if [ -d /mnt/gvfs/third-party -a -z "$CXX" ]; then
5050
CENTOS_VERSION=`rpm -q --qf "%{VERSION}" \
5151
$(rpm -q --whatprovides redhat-release)`
5252
if [ "$CENTOS_VERSION" = "6" ]; then
53-
source $PWD/build_tools/fbcode.gcc481.sh
53+
source "$PWD/build_tools/fbcode.gcc481.sh"
5454
else
55-
source $PWD/build_tools/fbcode.gcc471.sh
55+
source "$PWD/build_tools/fbcode.gcc471.sh"
5656
fi
5757
else
58-
source $PWD/build_tools/fbcode.clang31.sh
58+
source "$PWD/build_tools/fbcode.clang31.sh"
5959
fi
6060
fi
6161

6262
# Delete existing output, if it exists
63-
rm -f $OUTPUT
64-
touch $OUTPUT
63+
rm -f "$OUTPUT"
64+
touch "$OUTPUT"
6565

6666
if test -z "$CC"; then
6767
CC=cc
@@ -87,7 +87,7 @@ PLATFORM_SHARED_CFLAGS="-fPIC"
8787
PLATFORM_SHARED_VERSIONED=false
8888

8989
# generic port files (working on all platform by #ifdef) go directly in /port
90-
GENERIC_PORT_FILES=`cd $ROCKSDB_ROOT; find port -name '*.cc' | tr "\n" " "`
90+
GENERIC_PORT_FILES=`cd "$ROCKSDB_ROOT"; find port -name '*.cc' | tr "\n" " "`
9191

9292
# On GCC, we pick libc's memcmp over GCC's memcmp via -fno-builtin-memcmp
9393
case "$TARGET_OS" in
@@ -157,7 +157,7 @@ case "$TARGET_OS" in
157157
esac
158158

159159
if test -z "$DO_NOT_RUN_BUILD_DETECT_VERSION"; then
160-
$PWD/build_tools/build_detect_version
160+
"$PWD/build_tools/build_detect_version"
161161
fi
162162

163163
# We want to make a list of all cc files within util, db, table, and helpers
@@ -169,15 +169,15 @@ DIRS="util db table utilities"
169169
set -f # temporarily disable globbing so that our patterns arent expanded
170170
PRUNE_TEST="-name *test*.cc -prune"
171171
PRUNE_BENCH="-name *bench*.cc -prune"
172-
PORTABLE_FILES=`cd $ROCKSDB_ROOT; find $DIRS $PRUNE_TEST -o $PRUNE_BENCH -o -name '*.cc' -print | sort | tr "\n" " "`
173-
PORTABLE_CPP=`cd $ROCKSDB_ROOT; find $DIRS $PRUNE_TEST -o $PRUNE_BENCH -o -name '*.cpp' -print | sort | tr "\n" " "`
172+
PORTABLE_FILES=`cd "$ROCKSDB_ROOT"; find $DIRS $PRUNE_TEST -o $PRUNE_BENCH -o -name '*.cc' -print | sort | tr "\n" " "`
173+
PORTABLE_CPP=`cd "$ROCKSDB_ROOT"; find $DIRS $PRUNE_TEST -o $PRUNE_BENCH -o -name '*.cpp' -print | sort | tr "\n" " "`
174174
set +f # re-enable globbing
175175

176176
# The sources consist of the portable files, plus the platform-specific port
177177
# file.
178-
echo "SOURCES=$PORTABLE_FILES $GENERIC_PORT_FILES $PORT_FILES" >> $OUTPUT
179-
echo "SOURCESCPP=$PORTABLE_CPP" >> $OUTPUT
180-
echo "MEMENV_SOURCES=helpers/memenv/memenv.cc" >> $OUTPUT
178+
echo "SOURCES=$PORTABLE_FILES $GENERIC_PORT_FILES $PORT_FILES" >> "$OUTPUT"
179+
echo "SOURCESCPP=$PORTABLE_CPP" >> "$OUTPUT"
180+
echo "MEMENV_SOURCES=helpers/memenv/memenv.cc" >> "$OUTPUT"
181181

182182
if [ "$CROSS_COMPILE" = "true" -o "$FBCODE_BUILD" = "true" ]; then
183183
# Cross-compiling; do not try any compilation tests.
@@ -304,17 +304,17 @@ PLATFORM_CXXFLAGS="$PLATFORM_CXXFLAGS $COMMON_FLAGS"
304304

305305
VALGRIND_VER="$VALGRIND_VER"
306306

307-
echo "CC=$CC" >> $OUTPUT
308-
echo "CXX=$CXX" >> $OUTPUT
309-
echo "PLATFORM=$PLATFORM" >> $OUTPUT
310-
echo "PLATFORM_LDFLAGS=$PLATFORM_LDFLAGS" >> $OUTPUT
311-
echo "VALGRIND_VER=$VALGRIND_VER" >> $OUTPUT
312-
echo "PLATFORM_CCFLAGS=$PLATFORM_CCFLAGS" >> $OUTPUT
313-
echo "PLATFORM_CXXFLAGS=$PLATFORM_CXXFLAGS" >> $OUTPUT
314-
echo "PLATFORM_SHARED_CFLAGS=$PLATFORM_SHARED_CFLAGS" >> $OUTPUT
315-
echo "PLATFORM_SHARED_EXT=$PLATFORM_SHARED_EXT" >> $OUTPUT
316-
echo "PLATFORM_SHARED_LDFLAGS=$PLATFORM_SHARED_LDFLAGS" >> $OUTPUT
317-
echo "PLATFORM_SHARED_VERSIONED=$PLATFORM_SHARED_VERSIONED" >> $OUTPUT
318-
echo "EXEC_LDFLAGS=$EXEC_LDFLAGS" >> $OUTPUT
319-
echo "JEMALLOC_INCLUDE=$JEMALLOC_INCLUDE" >> $OUTPUT
320-
echo "JEMALLOC_LIB=$JEMALLOC_LIB" >> $OUTPUT
307+
echo "CC=$CC" >> "$OUTPUT"
308+
echo "CXX=$CXX" >> "$OUTPUT"
309+
echo "PLATFORM=$PLATFORM" >> "$OUTPUT"
310+
echo "PLATFORM_LDFLAGS=$PLATFORM_LDFLAGS" >> "$OUTPUT"
311+
echo "VALGRIND_VER=$VALGRIND_VER" >> "$OUTPUT"
312+
echo "PLATFORM_CCFLAGS=$PLATFORM_CCFLAGS" >> "$OUTPUT"
313+
echo "PLATFORM_CXXFLAGS=$PLATFORM_CXXFLAGS" >> "$OUTPUT"
314+
echo "PLATFORM_SHARED_CFLAGS=$PLATFORM_SHARED_CFLAGS" >> "$OUTPUT"
315+
echo "PLATFORM_SHARED_EXT=$PLATFORM_SHARED_EXT" >> "$OUTPUT"
316+
echo "PLATFORM_SHARED_LDFLAGS=$PLATFORM_SHARED_LDFLAGS" >> "$OUTPUT"
317+
echo "PLATFORM_SHARED_VERSIONED=$PLATFORM_SHARED_VERSIONED" >> "$OUTPUT"
318+
echo "EXEC_LDFLAGS=$EXEC_LDFLAGS" >> "$OUTPUT"
319+
echo "JEMALLOC_INCLUDE=$JEMALLOC_INCLUDE" >> "$OUTPUT"
320+
echo "JEMALLOC_LIB=$JEMALLOC_LIB" >> "$OUTPUT"

0 commit comments

Comments
 (0)