diff options
author | Ricardo Cerqueira <cyanogenmod@cerqueira.org> | 2014-06-03 02:16:13 +0100 |
---|---|---|
committer | Ricardo Cerqueira <cyanogenmod@cerqueira.org> | 2014-06-03 02:16:13 +0100 |
commit | f1dfe7b6b28d7624d950e426affdb2ec833bd768 (patch) | |
tree | 39af56d5be1a558ccc7f8bcabdacf3924baa82b4 | |
parent | 33b98018efd5646f6f7dd6d639870eec4d4e0725 (diff) | |
parent | ac71e8c3b3edca77a561377b1f24447a3c2ac3a5 (diff) | |
download | android_frameworks_compile_slang-f1dfe7b6b28d7624d950e426affdb2ec833bd768.tar.gz android_frameworks_compile_slang-f1dfe7b6b28d7624d950e426affdb2ec833bd768.tar.bz2 android_frameworks_compile_slang-f1dfe7b6b28d7624d950e426affdb2ec833bd768.zip |
Merge tag 'android-4.4.3_r1' into HEADcm-11.0-XNPH44S-bacon-5fa8c79c0bcm-11.0-XNPH33R-bacon-3628510d76cm-11.0-XNPH30O-bacon-4f280f505acm-11.0-XNPH05Q-tomato-9828f8e9cccm-11.0-XNPH05Q-bacon-5229c4ef56stable/cm-11.0-XNG3Cstable/cm-11.0-XNG2Sstable/cm-11.0-XNF9Xstable/cm-11.0-XNF8Ystable/cm-11.0shipping/cm-11.0cm-11.0
Android 4.4.3 release 1
-rw-r--r-- | llvm-rs-cc.cpp | 9 | ||||
-rw-r--r-- | slang_rs_reflection_cpp.cpp | 12 |
2 files changed, 16 insertions, 5 deletions
diff --git a/llvm-rs-cc.cpp b/llvm-rs-cc.cpp index e2c9599..1736c0b 100644 --- a/llvm-rs-cc.cpp +++ b/llvm-rs-cc.cpp @@ -291,10 +291,11 @@ static void ParseArguments(llvm::SmallVectorImpl<const char*> &ArgVector, if (Args->hasArg(OPT_reflect_cpp)) { Opts.mBitcodeStorage = slang::BCST_CPP_CODE; - // mJavaReflectionPathBase isn't set for C++ reflected builds - // set it to mOutputDir so we can use the path sanely from - // RSReflectionBase later on - Opts.mJavaReflectionPathBase = Opts.mOutputDir; + // mJavaReflectionPathBase can be set for C++ reflected builds. + // Set it to the standard mOutputDir (via -o) by default. + if (Opts.mJavaReflectionPathBase.empty()) { + Opts.mJavaReflectionPathBase = Opts.mOutputDir; + } } Opts.mOutputDepDir = diff --git a/slang_rs_reflection_cpp.cpp b/slang_rs_reflection_cpp.cpp index f583148..adc05b7 100644 --- a/slang_rs_reflection_cpp.cpp +++ b/slang_rs_reflection_cpp.cpp @@ -122,10 +122,20 @@ bool RSReflectionCpp::reflect(const string &OutputPathBase, const string &InputFileName, const string &OutputBCFileName) { mInputFileName = InputFileName; - mOutputPath = OutputPathBase; + mOutputPath = OutputPathBase + OS_PATH_SEPARATOR_STR; mOutputBCFileName = OutputBCFileName; mClassName = string("ScriptC_") + stripRS(InputFileName); + std::string Path = + RSSlangReflectUtils::ComputePackagedPath(OutputPathBase.c_str(), ""); + + std::string ErrorMsg; + if (!SlangUtils::CreateDirectoryWithParents(Path, &ErrorMsg)) { + fprintf(stderr, "Error: Could not create path %s - %s\n", + Path.c_str(), ErrorMsg.c_str()); + return false; + } + makeHeader("android::RSC::ScriptC"); std::vector< std::string > header(mText); mText.clear(); |