Changeset 109983 in webkit


Ignore:
Timestamp:
Mar 6, 2012 5:11:38 PM (12 years ago)
Author:
kubo@profusion.mobi
Message:

undefined reference to JSC::IdentifierTable::~IdentifierTable() on EFL port
https://bugs.webkit.org/show_bug.cgi?id=80282

Reviewed by Antonio Gomes.

.:

Remove transitive library dependencies; they are especially
dangerous when one ends up linking against WTF, JSC and then WTF
again, since some symbols will not be defined.

Passing --no-copy-dt-needed-entries and --as-needed to the linker
(which some recent Linux distros do by default) makes the issue
even more evident.

  • CMakeLists.txt: Set CMAKE_LINK_INTERFACE_LIBRARIES to an empty

list to prevent implicit transitive library dependencies from
being created by default.

Source/WebCore:

No new tests, this is a buildsystem change.

Remove transitive library dependencies; they are especially
dangerous when one ends up linking against WTF, JSC and then WTF
again, since some symbols will not be defined.

Passing --no-copy-dt-needed-entries and --as-needed to the linker
(which some recent Linux distros do by default) makes the issue
even more evident.

  • CMakeLists.txt: Explicitly link to WTF as WebCore uses symbols

from it.

  • PlatformEfl.cmake: Explicitly link against libjpeg and libpng.

Tools:

Remove transitive library dependencies; they are especially
dangerous when one ends up linking against WTF, JSC and then WTF
again, since some symbols will not be defined.

Passing --no-copy-dt-needed-entries and --as-needed to the linker
(which some recent Linux distros do by default) makes the issue
even more evident.

  • DumpRenderTree/efl/CMakeLists.txt: Do not link directly to WTF,

as the other libraries have the needed symbols. Explicitly link
against fontconfig.

Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/CMakeLists.txt

    r109787 r109983  
    4646SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
    4747SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
     48
     49# Do not create transitive library dependencies by default
     50SET(CMAKE_LINK_INTERFACE_LIBRARIES "")
    4851
    4952INCLUDE(WebKitMacros)
  • trunk/ChangeLog

    r109821 r109983  
     12012-03-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
     2
     3        undefined reference to JSC::IdentifierTable::~IdentifierTable() on EFL port
     4        https://bugs.webkit.org/show_bug.cgi?id=80282
     5
     6        Reviewed by Antonio Gomes.
     7
     8        Remove transitive library dependencies; they are especially
     9        dangerous when one ends up linking against WTF, JSC and then WTF
     10        again, since some symbols will not be defined.
     11
     12        Passing --no-copy-dt-needed-entries and --as-needed to the linker
     13        (which some recent Linux distros do by default) makes the issue
     14        even more evident.
     15
     16        * CMakeLists.txt: Set CMAKE_LINK_INTERFACE_LIBRARIES to an empty
     17        list to prevent implicit transitive library dependencies from
     18        being created by default.
     19
    1202012-03-05  Ryosuke Niwa  <rniwa@webkit.org>
    221
  • trunk/Source/WebCore/CMakeLists.txt

    r109932 r109983  
    23532353INCLUDE(${WEBCORE_DIR}/UseJSC.cmake)
    23542354
    2355 SET(WebCore_LIBRARIES ${JavaScriptCore_LIBRARY_NAME})
     2355SET(WebCore_LIBRARIES ${WTF_LIBRARY_NAME} ${JavaScriptCore_LIBRARY_NAME})
    23562356SET(WebCore_LINK_FLAGS "")
    23572357WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
  • trunk/Source/WebCore/ChangeLog

    r109982 r109983  
     12012-03-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
     2
     3        undefined reference to JSC::IdentifierTable::~IdentifierTable() on EFL port
     4        https://bugs.webkit.org/show_bug.cgi?id=80282
     5
     6        Reviewed by Antonio Gomes.
     7
     8        No new tests, this is a buildsystem change.
     9
     10        Remove transitive library dependencies; they are especially
     11        dangerous when one ends up linking against WTF, JSC and then WTF
     12        again, since some symbols will not be defined.
     13
     14        Passing --no-copy-dt-needed-entries and --as-needed to the linker
     15        (which some recent Linux distros do by default) makes the issue
     16        even more evident.
     17
     18        * CMakeLists.txt: Explicitly link to WTF as WebCore uses symbols
     19        from it.
     20        * PlatformEfl.cmake: Explicitly link against libjpeg and libpng.
     21
    1222012-03-06  James Robinson  <jamesr@chromium.org>
    223
  • trunk/Source/WebCore/PlatformEfl.cmake

    r109031 r109983  
    206206  ${FREETYPE_LIBRARIES}
    207207  ${ICU_LIBRARIES}
     208  ${JPEG_LIBRARY}
    208209  ${LIBXML2_LIBRARIES}
    209210  ${LIBXSLT_LIBRARIES}
     211  ${PNG_LIBRARY}
    210212  ${SQLITE_LIBRARIES}
    211213  ${Glib_LIBRARIES}
  • trunk/Tools/ChangeLog

    r109975 r109983  
     12012-03-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
     2
     3        undefined reference to JSC::IdentifierTable::~IdentifierTable() on EFL port
     4        https://bugs.webkit.org/show_bug.cgi?id=80282
     5
     6        Reviewed by Antonio Gomes.
     7
     8        Remove transitive library dependencies; they are especially
     9        dangerous when one ends up linking against WTF, JSC and then WTF
     10        again, since some symbols will not be defined.
     11
     12        Passing --no-copy-dt-needed-entries and --as-needed to the linker
     13        (which some recent Linux distros do by default) makes the issue
     14        even more evident.
     15
     16        * DumpRenderTree/efl/CMakeLists.txt: Do not link directly to WTF,
     17        as the other libraries have the needed symbols. Explicitly link
     18        against fontconfig.
     19
    1202012-03-06  Dean Jackson  <dino@apple.com>
    221
  • trunk/Tools/DumpRenderTree/efl/CMakeLists.txt

    r108444 r109983  
    2424
    2525SET(DumpRenderTree_LIBRARIES
    26     ${WTF_LIBRARY_NAME}
    2726    ${JavaScriptCore_LIBRARY_NAME}
    2827    ${WebCore_LIBRARY_NAME}
     
    3332    ${EFLDEPS_LIBRARIES}
    3433    ${EVAS_LIBRARIES}
     34    ${FONTCONFIG_LIBRARIES}
    3535    ${LIBXML2_LIBRARIES}
    3636    ${LIBXSLT_LIBRARIES}
     
    9393    ${EFLDEPS_INCLUDE_DIRS}
    9494    ${EVAS_INCLUDE_DIRS}
     95    ${FONTCONFIG_INCLUDE_DIR}
    9596    ${Glib_INCLUDE_DIRS}
    9697    ${LIBSOUP24_INCLUDE_DIRS}
Note: See TracChangeset for help on using the changeset viewer.