You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by ct...@apache.org on 2016/08/10 20:17:38 UTC
[03/10] accumulo git commit: ACCUMULO-4399 Handle files w/ spaces in
Makefile
ACCUMULO-4399 Handle files w/ spaces in Makefile
Add quotes and escaping, as needed, to ensure paths with spaces and
parentheses are handled properly.
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/fc9bd071
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/fc9bd071
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/fc9bd071
Branch: refs/heads/1.8
Commit: fc9bd0719518e7822f84472e495e1ef96f58d836
Parents: d79776d
Author: Christopher Tubbs <ct...@apache.org>
Authored: Wed Aug 10 15:54:32 2016 -0400
Committer: Christopher Tubbs <ct...@apache.org>
Committed: Wed Aug 10 16:07:24 2016 -0400
----------------------------------------------------------------------
server/native/src/main/resources/Makefile | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/fc9bd071/server/native/src/main/resources/Makefile
----------------------------------------------------------------------
diff --git a/server/native/src/main/resources/Makefile b/server/native/src/main/resources/Makefile
index 9ffeefe..1e26303 100644
--- a/server/native/src/main/resources/Makefile
+++ b/server/native/src/main/resources/Makefile
@@ -23,10 +23,10 @@ USERFLAGS=$(shell env | grep "^USERFLAGS=" | cut -d= -f2)
ifeq ($(shell uname),Linux)
JAVA_HOME=$(shell env | grep "^JAVA_HOME=" | cut -d= -f2)
ifeq ($(strip $(JAVA_HOME)),)
- JAVA_HOME=$(shell dirname $$(dirname $$(readlink -ef $$(which javah))))
+ JAVA_HOME=$(shell dirname "$$(dirname "$$(readlink -e "$$(which javah)")")")
endif
NATIVE_LIB := libaccumulo.so
- CXXFLAGS=-g -fPIC -shared -O3 -Wall -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux -Ijavah $(USERFLAGS)
+ CXXFLAGS=-g -fPIC -shared -O3 -Wall -I'$(JAVA_HOME)'/include -I'$(JAVA_HOME)'/include/linux -Ijavah $(USERFLAGS)
endif
ifeq ($(shell uname),Darwin)
@@ -38,10 +38,12 @@ ifeq ($(shell uname),Darwin)
ifneq (,$(findstring 10.9,$(shell sw_vers -productVersion)))
MAVERICKFLAGS=-stdlib=libstdc++
endif
- CXXFLAGS=-dynamiclib -undefined dynamic_lookup -O3 -I/System/Library/Frameworks/JavaVM.framework/Headers -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/darwin -Ijavah $(USERFLAGS) $(MAVERICK_FLAGS)
+ CXXFLAGS=-dynamiclib -undefined dynamic_lookup -O3 -I/System/Library/Frameworks/JavaVM.framework/Headers -I'$(JAVA_HOME)'/include -I'$(JAVA_HOME)'/include/darwin -Ijavah $(USERFLAGS) $(MAVERICK_FLAGS)
endif
-ifeq (,$(wildcard $(JAVA_HOME)/bin/javah))
+# escape space and parens in path for wildcard
+JAVA_HOME_ESCAPED=$(shell echo '$(JAVA_HOME)' | sed 's/ /\\ /g' | sed 's/\([()]\)/\\\1/g')
+ifeq (,$(wildcard $(JAVA_HOME_ESCAPED)/bin/javah))
$(error "JAVA_HOME does not point to a JDK. Exiting...")
endif
@@ -53,11 +55,12 @@ $(NATIVE_LIB) : $(SRCS) $(HDRS)
test : $(NATIVE_LIB) testJavaHome runTests
testJavaHome :
- @echo JAVA_HOME is $(JAVA_HOME)
+ @echo 'JAVA_HOME is $(JAVA_HOME)'
-runTests : $(NATIVE_LIB) $(TESTSRCS)
- $(CXX) -g -Wall -I/System/Library/Frameworks/JavaVM.framework/Headers -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux -I$(JAVA_HOME)/include/darwin -InativeMap -o $@ $(TESTSRCS) $(NATIVE_LIB) $(MAVERICK_FLAGS)
+runTests : $(NATIVE_LIB) $(TESTSRCS) $(OUTPUT_DIR)
+ $(CXX) -g -Wall -I/System/Library/Frameworks/JavaVM.framework/Headers -I'$(JAVA_HOME)'/include -I'$(JAVA_HOME)'/include/linux -I'$(JAVA_HOME)'/include/darwin -InativeMap -o $@ $(TESTSRCS) $(NATIVE_LIB) $(MAVERICK_FLAGS)
LD_LIBRARY_PATH=./ ./$@ 20 20 20 20 20 20 20 20 true
+ if [ ! -z "$(OUTPUT_DIR)" ]; then cp '$(NATIVE_LIB)' "$(OUTPUT_DIR)"; fi
clean :
- rm -f $(NATIVE_LIB) runTests
+ rm -f '$(NATIVE_LIB)' runTests