Browse Source

Projucer: Set hidden symbol visibility on macOS and Linux

tags/2021-05-28
reuk Tom Poole 5 years ago
parent
commit
0dd3b02728
2 changed files with 5 additions and 14 deletions
  1. +1
    -2
      extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h
  2. +4
    -12
      extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h

+ 1
- 2
extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h View File

@@ -587,8 +587,7 @@ private:
{
auto result = makefileExtraLinkerFlags;
if (! config.isDebug())
result.add ("-fvisibility=hidden");
result.add ("-fvisibility=hidden");
if (config.isLinkTimeOptimisationEnabled())
result.add ("-flto");


+ 4
- 12
extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h View File

@@ -1435,7 +1435,6 @@ public:
defines.set ("_NDEBUG", "1");
defines.set ("NDEBUG", "1");
s.set ("GCC_GENERATE_DEBUGGING_SYMBOLS", "NO");
s.set ("GCC_SYMBOLS_PRIVATE_EXTERN", "YES");
s.set ("DEAD_CODE_STRIPPING", "YES");
}
@@ -2618,21 +2617,14 @@ private:
s.set ("CLANG_WARN_UNREACHABLE_CODE", "YES");
s.set ("CLANG_WARN__DUPLICATE_METHOD_MATCH", "YES");
s.set ("WARNING_CFLAGS", "\"-Wreorder\"");
s.set ("GCC_INLINES_ARE_PRIVATE_EXTERN", projectType.isStaticLibrary() ? "NO" : "YES");
if (projectType.isStaticLibrary())
{
s.set ("GCC_INLINES_ARE_PRIVATE_EXTERN", "NO");
s.set ("GCC_SYMBOLS_PRIVATE_EXTERN", "NO");
}
else
{
s.set ("GCC_INLINES_ARE_PRIVATE_EXTERN", "YES");
}
// GCC_SYMBOLS_PRIVATE_EXTERN only takes effect if ENABLE_TESTABILITY is off
s.set ("ENABLE_TESTABILITY", "NO");
s.set ("GCC_SYMBOLS_PRIVATE_EXTERN", "YES");
if (config.isDebug())
{
s.set ("ENABLE_TESTABILITY", "YES");
if (config.getOSXArchitectureString() == osxArch_Default)
s.set ("ONLY_ACTIVE_ARCH", "YES");
}


Loading…
Cancel
Save