I just pushed r286504, which expects the string to not be quoted. This should solve the bot failures.
-Chris > On Nov 10, 2016, at 1:30 PM, Todd Fiala <todd.fi...@gmail.com> wrote: > > I'm at a point where I can look at it. > > On Thu, Nov 10, 2016 at 12:17 PM, Tim Hammerquist <pen...@gmail.com > <mailto:pen...@gmail.com>> wrote: > Looks like the quotes around the lldb version string aren't properly > preserved in the xcodeproj file as they are in CMake. > > Can any of the LLDB devs more comfortable with plumbing the depths of Xcode > project configuration provide some guidance here? > > http://lab.llvm.org:8080/green/job/lldb_build_test/21828/ > <http://lab.llvm.org:8080/green/job/lldb_build_test/21828/> > > /Users/buildslave/jenkins/sharedspace/lldb@2/lldb/source/lldb.cpp:63:22: > error: unexpected namespace name 'lldb': expected expression > g_version_str += LLDB_VERSION_STRING; > ^ > In file included from <built-in>:356: > <command line>:4:29: note: expanded from here > #define LLDB_VERSION_STRING lldb-360.99.0 > ^ > /Users/buildslave/jenkins/sharedspace/lldb@2/lldb/source/lldb.cpp:63:22: > error: invalid suffix '.0' on floating constant > In file included from <built-in>:356: > <command line>:4:40: note: expanded from here > #define LLDB_VERSION_STRING lldb-360.99.0 > ^ > 2 errors generated. > > > On Thu, Nov 10, 2016 at 9:33 AM, Chris Bieneman via lldb-commits > <lldb-commits@lists.llvm.org <mailto:lldb-commits@lists.llvm.org>> wrote: > Author: cbieneman > Date: Thu Nov 10 11:33:19 2016 > New Revision: 286479 > > URL: http://llvm.org/viewvc/llvm-project?rev=286479&view=rev > <http://llvm.org/viewvc/llvm-project?rev=286479&view=rev> > Log: > Unify Darwin and Non-Darwin printing of version output > > Summary: > This change unifies and simplifies the code paths between the Darwin and > non-Darwin code to print the LLDB version information. > > It also introduces a new variable in CMake LLDB_VERSION_STRING which can be > used to specify custom version information. On Darwin this value is > implicitly set based on the resource/LLDB-Info.plist file. > > With the LLDB_VERSION_STRING variable set to lldb-360.99.0, the -version > output is: > > > ./bin/lldb -version > lldb version 4.0.0 (lldb-360.99.0) > clang revision 286264 > llvm revision 286265 > > This behavior is unified across all target platforms. > > Reviewers: lldb-commits > > Subscribers: mgorny, tfiala > > Differential Revision: https://reviews.llvm.org/D26478 > <https://reviews.llvm.org/D26478> > > Added: > lldb/trunk/cmake/modules/EmbedAppleVersion.cmake > Modified: > lldb/trunk/lldb.xcodeproj/project.pbxproj > lldb/trunk/source/CMakeLists.txt > lldb/trunk/source/lldb.cpp > > Added: lldb/trunk/cmake/modules/EmbedAppleVersion.cmake > URL: > http://llvm.org/viewvc/llvm-project/lldb/trunk/cmake/modules/EmbedAppleVersion.cmake?rev=286479&view=auto > > <http://llvm.org/viewvc/llvm-project/lldb/trunk/cmake/modules/EmbedAppleVersion.cmake?rev=286479&view=auto> > ============================================================================== > --- lldb/trunk/cmake/modules/EmbedAppleVersion.cmake (added) > +++ lldb/trunk/cmake/modules/EmbedAppleVersion.cmake Thu Nov 10 11:33:19 2016 > @@ -0,0 +1,11 @@ > +execute_process(COMMAND /usr/libexec/PlistBuddy -c "Print:CFBundleVersion" > ${LLDB_INFO_PLIST} > + OUTPUT_VARIABLE BundleVersion > + OUTPUT_STRIP_TRAILING_WHITESPACE) > + > +file(APPEND "${HEADER_FILE}.tmp" > + "#define LLDB_VERSION_STRING \"lldb-${BundleVersion}\"\n") > + > +execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different > + "${HEADER_FILE}.tmp" "${HEADER_FILE}") > + > +file(REMOVE "${HEADER_FILE}.tmp") > > Modified: lldb/trunk/lldb.xcodeproj/project.pbxproj > URL: > http://llvm.org/viewvc/llvm-project/lldb/trunk/lldb.xcodeproj/project.pbxproj?rev=286479&r1=286478&r2=286479&view=diff > > <http://llvm.org/viewvc/llvm-project/lldb/trunk/lldb.xcodeproj/project.pbxproj?rev=286479&r1=286478&r2=286479&view=diff> > ============================================================================== > --- lldb/trunk/lldb.xcodeproj/project.pbxproj (original) > +++ lldb/trunk/lldb.xcodeproj/project.pbxproj Thu Nov 10 11:33:19 2016 > @@ -8775,6 +8775,20 @@ > > "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", > ); > GCC_INLINES_ARE_PRIVATE_EXTERN = NO; > + GCC_PREPROCESSOR_DEFINITIONS = ( > + __STDC_CONSTANT_MACROS, > + __STDC_LIMIT_MACROS, > + LLDB_CONFIGURATION_DEBUG, > + > "LLDB_VERSION_STRING=\"lldb-${CURRENT_PROJECT_VERSION}\"", > + ); > + > "GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*][arch=*]" = ( > + __STDC_CONSTANT_MACROS, > + __STDC_LIMIT_MACROS, > + LLDB_CONFIGURATION_DEBUG, > + LLDB_DISABLE_PYTHON, > + NO_XPC_SERVICES, > + > "LLDB_VERSION_STRING=\"lldb-${CURRENT_PROJECT_VERSION}\"", > + ); > HEADER_SEARCH_PATHS = /usr/include/libxml2; > LLDB_COMPRESSION_CFLAGS = ""; > "LLDB_COMPRESSION_CFLAGS[sdk=macosx10.11]" = > "-DHAVE_LIBCOMPRESSION=1"; > @@ -8820,6 +8834,20 @@ > > "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", > ); > GCC_INLINES_ARE_PRIVATE_EXTERN = NO; > + GCC_PREPROCESSOR_DEFINITIONS = ( > + __STDC_CONSTANT_MACROS, > + __STDC_LIMIT_MACROS, > + LLDB_CONFIGURATION_RELEASE, > + > "LLDB_VERSION_STRING=\"lldb-${CURRENT_PROJECT_VERSION}\"", > + ); > + > "GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*][arch=*]" = ( > + __STDC_CONSTANT_MACROS, > + __STDC_LIMIT_MACROS, > + LLDB_CONFIGURATION_RELEASE, > + LLDB_DISABLE_PYTHON, > + NO_XPC_SERVICES, > + > "LLDB_VERSION_STRING=\"lldb-${CURRENT_PROJECT_VERSION}\"", > + ); > HEADER_SEARCH_PATHS = /usr/include/libxml2; > LLDB_COMPRESSION_CFLAGS = ""; > "LLDB_COMPRESSION_CFLAGS[sdk=macosx10.11]" = > "-DHAVE_LIBCOMPRESSION=1"; > @@ -8865,6 +8893,20 @@ > > "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", > ); > GCC_INLINES_ARE_PRIVATE_EXTERN = NO; > + GCC_PREPROCESSOR_DEFINITIONS = ( > + __STDC_CONSTANT_MACROS, > + __STDC_LIMIT_MACROS, > + > LLDB_CONFIGURATION_BUILD_AND_INTEGRATION, > + > "LLDB_VERSION_STRING=\"lldb-${CURRENT_PROJECT_VERSION}\"", > + ); > + > "GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*][arch=*]" = ( > + __STDC_CONSTANT_MACROS, > + __STDC_LIMIT_MACROS, > + > LLDB_CONFIGURATION_BUILD_AND_INTEGRATION, > + LLDB_DISABLE_PYTHON, > + NO_XPC_SERVICES, > + > "LLDB_VERSION_STRING=\"lldb-${CURRENT_PROJECT_VERSION}\"", > + ); > HEADER_SEARCH_PATHS = /usr/include/libxml2; > LLDB_COMPRESSION_CFLAGS = ""; > "LLDB_COMPRESSION_CFLAGS[sdk=macosx10.11]" = > "-DHAVE_LIBCOMPRESSION=1"; > @@ -9864,6 +9906,20 @@ > > "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", > ); > GCC_INLINES_ARE_PRIVATE_EXTERN = NO; > + GCC_PREPROCESSOR_DEFINITIONS = ( > + __STDC_CONSTANT_MACROS, > + __STDC_LIMIT_MACROS, > + LLDB_CONFIGURATION_DEBUG, > + > "LLDB_VERSION_STRING=\"lldb-${CURRENT_PROJECT_VERSION}\"", > + ); > + > "GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*][arch=*]" = ( > + __STDC_CONSTANT_MACROS, > + __STDC_LIMIT_MACROS, > + LLDB_CONFIGURATION_DEBUG, > + LLDB_DISABLE_PYTHON, > + NO_XPC_SERVICES, > + > "LLDB_VERSION_STRING=\"lldb-${CURRENT_PROJECT_VERSION}\"", > + ); > HEADER_SEARCH_PATHS = /usr/include/libxml2; > LLDB_COMPRESSION_CFLAGS = ""; > "LLDB_COMPRESSION_CFLAGS[sdk=macosx10.11]" = > "-DHAVE_LIBCOMPRESSION=1"; > > Modified: lldb/trunk/source/CMakeLists.txt > URL: > http://llvm.org/viewvc/llvm-project/lldb/trunk/source/CMakeLists.txt?rev=286479&r1=286478&r2=286479&view=diff > > <http://llvm.org/viewvc/llvm-project/lldb/trunk/source/CMakeLists.txt?rev=286479&r1=286478&r2=286479&view=diff> > ============================================================================== > --- lldb/trunk/source/CMakeLists.txt (original) > +++ lldb/trunk/source/CMakeLists.txt Thu Nov 10 11:33:19 2016 > @@ -25,21 +25,6 @@ set(lldbBase_SOURCES > lldb.cpp > ) > > -if (CMAKE_SYSTEM_NAME MATCHES "Darwin") > - set(LLDB_VERS_GENERATED_FILE ${LLDB_BINARY_DIR}/source/LLDB_vers.c) > - add_custom_command(OUTPUT ${LLDB_VERS_GENERATED_FILE} > - COMMAND ${LLDB_SOURCE_DIR}/scripts/generate-vers.pl > <http://generate-vers.pl/> > - ${LLDB_SOURCE_DIR}/lldb.xcodeproj/project.pbxproj liblldb_core > - > ${LLDB_VERS_GENERATED_FILE} > - DEPENDS ${LLDB_SOURCE_DIR}/scripts/generate-vers.pl > <http://generate-vers.pl/> > - ${LLDB_SOURCE_DIR}/lldb.xcodeproj/project.pbxproj) > - set_source_files_properties(${LLDB_VERS_GENERATED_FILE} PROPERTIES > GENERATED 1) > - # Add this to lldbBase since lldb.cpp uses the symbol defined here. > - list(APPEND lldbBase_SOURCES ${LLDB_VERS_GENERATED_FILE}) > - add_custom_target(lldbGeneratedVersion > - DEPENDS ${LLDB_VERS_GENERATED_FILE}) > -endif() > - > foreach(file > "${LLDB_SOURCE_DIR}/.git/logs/HEAD" # Git > "${LLDB_SOURCE_DIR}/.svn/wc.db" # SVN 1.7 > @@ -75,14 +60,37 @@ if(DEFINED lldb_vc) > list(APPEND lldbBase_SOURCES ${version_inc}) > endif() > > +if(APPLE) > + set(apple_version_inc "${CMAKE_CURRENT_BINARY_DIR}/AppleVersion.inc") > + set(apple_version_script > "${LLDB_SOURCE_DIR}/cmake/modules/EmbedAppleVersion.cmake") > + set(info_plist ${LLDB_SOURCE_DIR}/resources/LLDB-Info.plist) > + > + # Create custom target to generate the VC revision include. > + add_custom_command(OUTPUT "${apple_version_inc}" > + DEPENDS "${apple_version_script}" "${info_plist}" > + COMMAND > + ${CMAKE_COMMAND} "-DLLDB_INFO_PLIST=${info_plist}" > + "-DHEADER_FILE=${apple_version_inc}" > + -P "${apple_version_script}") > + > + # Mark the generated header as being generated. > + set_source_files_properties("${apple_version_inc}" > + PROPERTIES GENERATED TRUE > + HEADER_FILE_ONLY TRUE) > + > + # Tell Version.cpp that it needs to build with -DHAVE_SVN_VERSION_INC. > + set_source_files_properties(lldb.cpp > + PROPERTIES COMPILE_DEFINITIONS "HAVE_APPLE_VERSION_INC") > + list(APPEND lldbBase_SOURCES ${apple_version_inc}) > +elseif(LLDB_VERSION_STRING) > + set_source_files_properties(lldb.cpp > + PROPERTIES COMPILE_DEFINITIONS > "LLDB_VERSION_STRING=\"${LLDB_VERSION_STRING}\"") > +endif() > + > add_lldb_library(lldbBase > ${lldbBase_SOURCES} > ) > > -if (CMAKE_SYSTEM_NAME MATCHES "Darwin") > - add_dependencies(lldbBase lldbGeneratedVersion) > -endif() > - > add_subdirectory(Breakpoint) > add_subdirectory(Commands) > add_subdirectory(Core) > > Modified: lldb/trunk/source/lldb.cpp > URL: > http://llvm.org/viewvc/llvm-project/lldb/trunk/source/lldb.cpp?rev=286479&r1=286478&r2=286479&view=diff > > <http://llvm.org/viewvc/llvm-project/lldb/trunk/source/lldb.cpp?rev=286479&r1=286478&r2=286479&view=diff> > ============================================================================== > --- lldb/trunk/source/lldb.cpp (original) > +++ lldb/trunk/source/lldb.cpp Thu Nov 10 11:33:19 2016 > @@ -12,16 +12,16 @@ > using namespace lldb; > using namespace lldb_private; > > -#if defined(__APPLE__) > -extern "C" const unsigned char liblldb_coreVersionString[]; > -#else > - > #include "clang/Basic/Version.h" > > #ifdef HAVE_SVN_VERSION_INC > # include "SVNVersion.inc" > #endif > > +#ifdef HAVE_APPLE_VERSION_INC > +# include "AppleVersion.inc" > +#endif > + > static const char *GetLLDBRevision() { > #ifdef LLDB_REVISION > return LLDB_REVISION; > @@ -38,33 +38,8 @@ static const char *GetLLDBRepository() { > #endif > } > > -#endif > > const char *lldb_private::GetVersion() { > -#if defined(__APPLE__) > - static char g_version_string[32]; > - if (g_version_string[0] == '\0') { > - const char *version_string = > - ::strstr((const char *)liblldb_coreVersionString, "PROJECT:"); > - > - if (version_string) > - version_string += sizeof("PROJECT:") - 1; > - else > - version_string = "unknown"; > - > - const char *newline_loc = strchr(version_string, '\n'); > - > - size_t version_len = sizeof(g_version_string) - 1; > - > - if (newline_loc && > - (newline_loc - version_string < static_cast<ptrdiff_t>(version_len))) > - version_len = newline_loc - version_string; > - > - ::snprintf(g_version_string, version_len + 1, "%s", version_string); > - } > - > - return g_version_string; > -#else > // On platforms other than Darwin, report a version number in the same > style > // as the clang tool. > static std::string g_version_str; > @@ -81,21 +56,24 @@ const char *lldb_private::GetVersion() { > if (lldb_rev) { > g_version_str += " revision "; > g_version_str += lldb_rev; > + g_version_str += ")"; > } > +#ifdef LLDB_VERSION_STRING > + g_version_str += " ("; > + g_version_str += LLDB_VERSION_STRING; > + g_version_str += ")"; > +#endif > std::string clang_rev(clang::getClangRevision()); > if (clang_rev.length() > 0) { > - g_version_str += " clang revision "; > + g_version_str += "\n clang revision "; > g_version_str += clang_rev; > } > std::string llvm_rev(clang::getLLVMRevision()); > if (llvm_rev.length() > 0) { > - g_version_str += " llvm revision "; > + g_version_str += "\n llvm revision "; > g_version_str += llvm_rev; > } > - > - if (lldb_repo) > - g_version_str += ")"; > + > } > return g_version_str.c_str(); > -#endif > } > > > _______________________________________________ > lldb-commits mailing list > lldb-commits@lists.llvm.org <mailto:lldb-commits@lists.llvm.org> > http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits > <http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits> > > > > -- > Tim <pen...@gmail.com <mailto:pen...@gmail.com>> > > > > -- > -Todd
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits