Author: brucem Date: Thu Sep 3 19:00:41 2015 New Revision: 246822 URL: http://llvm.org/viewvc/llvm-project?rev=246822&view=rev Log: Only export public symbols with the cmake build.
Summary: This also moves the xcode support files to be near or the same as the ones used for cmake. The source/API/liblldb.xcodes.exports differs from the source/API/liblldb.exports in that one contains the actual symbol names (_ prefixed) while the other contains the symbol names as they are in the code. The liblldb.exports file is preprocessed by the cmake scripts into the correct per-platform file needed (like a linker script on Linux). This is not enabled on Windows as Windows doesn't use the same name mangling and so it won't be valid there. Also, this is handled already in a different way on Windows (via dll exports). Reviewers: emaste, clayborg, labath, chaoren Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D12599 Added: lldb/trunk/source/API/liblldb.exports lldb/trunk/source/API/liblldb.xcode.exports - copied, changed from r246821, lldb/trunk/resources/lldb-framework-exports lldb/trunk/tools/argdumper/argdumper.exports - copied, changed from r246821, lldb/trunk/tools/lldb-server/exports lldb/trunk/tools/lldb-mi/lldb-mi.exports - copied, changed from r246821, lldb/trunk/tools/argdumper/exports lldb/trunk/tools/lldb-server/lldb-server.exports - copied, changed from r246821, lldb/trunk/tools/lldb-server/exports Removed: lldb/trunk/resources/lldb-framework-exports lldb/trunk/tools/argdumper/exports lldb/trunk/tools/lldb-server/exports Modified: lldb/trunk/lldb.xcodeproj/project.pbxproj lldb/trunk/source/API/CMakeLists.txt Modified: lldb/trunk/lldb.xcodeproj/project.pbxproj URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lldb.xcodeproj/project.pbxproj?rev=246822&r1=246821&r2=246822&view=diff ============================================================================== --- lldb/trunk/lldb.xcodeproj/project.pbxproj (original) +++ lldb/trunk/lldb.xcodeproj/project.pbxproj Thu Sep 3 19:00:41 2015 @@ -7257,7 +7257,7 @@ CURRENT_PROJECT_VERSION = 350.99.0; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 350.99.0; - EXPORTED_SYMBOLS_FILE = "resources/lldb-framework-exports"; + EXPORTED_SYMBOLS_FILE = "source/API/liblldb.xcode.exports"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", @@ -7330,7 +7330,7 @@ DEAD_CODE_STRIPPING = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 350.99.0; - EXPORTED_SYMBOLS_FILE = "resources/lldb-framework-exports"; + EXPORTED_SYMBOLS_FILE = "source/API/liblldb.xcode.exports"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", @@ -7720,7 +7720,7 @@ DEAD_CODE_STRIPPING = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 350.99.0; - EXPORTED_SYMBOLS_FILE = "resources/lldb-framework-exports"; + EXPORTED_SYMBOLS_FILE = "source/API/liblldb.xcode.exports"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", @@ -8007,7 +8007,7 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = ""; DEAD_CODE_STRIPPING = YES; - EXPORTED_SYMBOLS_FILE = "tools/lldb-server/exports"; + EXPORTED_SYMBOLS_FILE = "tools/lldb-server/lldb-server.exports"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", @@ -8080,7 +8080,7 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = ""; DEAD_CODE_STRIPPING = YES; - EXPORTED_SYMBOLS_FILE = "tools/lldb-server/exports"; + EXPORTED_SYMBOLS_FILE = "tools/lldb-server/lldb-server.exports"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", @@ -8150,7 +8150,7 @@ buildSettings = { COPY_PHASE_STRIP = YES; DEAD_CODE_STRIPPING = YES; - EXPORTED_SYMBOLS_FILE = "tools/lldb-server/exports"; + EXPORTED_SYMBOLS_FILE = "tools/lldb-server/lldb-server.exports"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", @@ -8430,7 +8430,7 @@ CURRENT_PROJECT_VERSION = 350.99.0; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 350.99.0; - EXPORTED_SYMBOLS_FILE = "resources/lldb-framework-exports"; + EXPORTED_SYMBOLS_FILE = "source/API/liblldb.xcode.exports"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", @@ -8556,7 +8556,7 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = ""; DEAD_CODE_STRIPPING = YES; - EXPORTED_SYMBOLS_FILE = "tools/lldb-server/exports"; + EXPORTED_SYMBOLS_FILE = "tools/lldb-server/lldb-server.exports"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", @@ -8720,7 +8720,7 @@ CLANG_ENABLE_OBJC_ARC = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - EXPORTED_SYMBOLS_FILE = tools/argdumper/exports; + EXPORTED_SYMBOLS_FILE = tools/argdumper/argdumper.exports; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", @@ -8787,7 +8787,7 @@ CLANG_ENABLE_OBJC_ARC = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - EXPORTED_SYMBOLS_FILE = tools/argdumper/exports; + EXPORTED_SYMBOLS_FILE = tools/argdumper/argdumper.exports; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", @@ -8856,7 +8856,7 @@ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; - EXPORTED_SYMBOLS_FILE = tools/argdumper/exports; + EXPORTED_SYMBOLS_FILE = tools/argdumper/argdumper.exports; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", @@ -8921,7 +8921,7 @@ COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; - EXPORTED_SYMBOLS_FILE = tools/argdumper/exports; + EXPORTED_SYMBOLS_FILE = tools/argdumper/argdumper.exports; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"", Removed: lldb/trunk/resources/lldb-framework-exports URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/resources/lldb-framework-exports?rev=246821&view=auto ============================================================================== --- lldb/trunk/resources/lldb-framework-exports (original) +++ lldb/trunk/resources/lldb-framework-exports (removed) @@ -1,3 +0,0 @@ -__ZN4lldb* -__ZNK4lldb* -_init_lld* Modified: lldb/trunk/source/API/CMakeLists.txt URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/API/CMakeLists.txt?rev=246822&r1=246821&r2=246822&view=diff ============================================================================== --- lldb/trunk/source/API/CMakeLists.txt (original) +++ lldb/trunk/source/API/CMakeLists.txt Thu Sep 3 19:00:41 2015 @@ -82,6 +82,10 @@ set_target_properties(liblldb VERSION ${LLDB_VERSION} ) +if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows") + add_llvm_symbol_exports(liblldb ${CMAKE_CURRENT_SOURCE_DIR}/liblldb.exports) +endif() + if ( CMAKE_SYSTEM_NAME MATCHES "Windows" ) # Only MSVC has the ABI compatibility problem and avoids using FindPythonLibs, # so only it needs to explicitly link against ${PYTHON_LIBRARY} Added: lldb/trunk/source/API/liblldb.exports URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/API/liblldb.exports?rev=246822&view=auto ============================================================================== --- lldb/trunk/source/API/liblldb.exports (added) +++ lldb/trunk/source/API/liblldb.exports Thu Sep 3 19:00:41 2015 @@ -0,0 +1,3 @@ +_ZN4lldb* +_ZNK4lldb* +init_lld* Copied: lldb/trunk/source/API/liblldb.xcode.exports (from r246821, lldb/trunk/resources/lldb-framework-exports) URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/API/liblldb.xcode.exports?p2=lldb/trunk/source/API/liblldb.xcode.exports&p1=lldb/trunk/resources/lldb-framework-exports&r1=246821&r2=246822&rev=246822&view=diff ============================================================================== (empty) Copied: lldb/trunk/tools/argdumper/argdumper.exports (from r246821, lldb/trunk/tools/lldb-server/exports) URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/argdumper/argdumper.exports?p2=lldb/trunk/tools/argdumper/argdumper.exports&p1=lldb/trunk/tools/lldb-server/exports&r1=246821&r2=246822&rev=246822&view=diff ============================================================================== (empty) Removed: lldb/trunk/tools/argdumper/exports URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/argdumper/exports?rev=246821&view=auto ============================================================================== (empty) Copied: lldb/trunk/tools/lldb-mi/lldb-mi.exports (from r246821, lldb/trunk/tools/argdumper/exports) URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-mi/lldb-mi.exports?p2=lldb/trunk/tools/lldb-mi/lldb-mi.exports&p1=lldb/trunk/tools/argdumper/exports&r1=246821&r2=246822&rev=246822&view=diff ============================================================================== (empty) Removed: lldb/trunk/tools/lldb-server/exports URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-server/exports?rev=246821&view=auto ============================================================================== (empty) Copied: lldb/trunk/tools/lldb-server/lldb-server.exports (from r246821, lldb/trunk/tools/lldb-server/exports) URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-server/lldb-server.exports?p2=lldb/trunk/tools/lldb-server/lldb-server.exports&p1=lldb/trunk/tools/lldb-server/exports&r1=246821&r2=246822&rev=246822&view=diff ============================================================================== (empty) _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits