Changeset 60909 in webkit


Ignore:
Timestamp:
Jun 9, 2010 1:31:37 PM (14 years ago)
Author:
eric@webkit.org
Message:

2010-06-09 Leandro Pereira <leandro@profusion.mobi>

Reviewed by Adam Treat.

[EFL] Allow building core libraries as shared objects to speed up
linking time on machines with small amounts of memory.
http://webkit.org/b/39899

  • CMakeLists.txt: Add SHARED_CORE option.
  • cmake/FindGlib.cmake: Add GObject to the list of GLib libraries to search.
  • cmake/OptionsEfl.cmake: Remove default library type definitions.
  • cmake/WebKitHelpers.cmake: -fvisibility=hidden did not behave well when SHARED_CORE is used.

2010-06-09 Leandro Pereira <leandro@profusion.mobi>

Reviewed by Adam Treat.

[EFL] Allow building core libraries as shared objects to speed up
linking time on machines with small amounts of memory.
http://webkit.org/b/39899

  • CMakeLists.txt: If building with shared core, install the lib.
  • jsc/CMakeListsEfl.txt: Needs Glib and Ecore to link dynamically.
  • wtf/CMakeLists.txt: If building with shared core, install the lib.

2010-06-09 Leandro Pereira <leandro@profusion.mobi>

Reviewed by Adam Treat.

[EFL] Allow building core libraries as shared objects to speed up
linking time on machines with small amounts of memory.
http://webkit.org/b/39899

  • CMakeLists.txt: If building with shared core, install the lib. Remove npapi.cpp (causes conflicts when linking dynamically).
  • CMakeListsEfl.txt: EFL libraries are needed to link dynamically.
Location:
trunk
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/CMakeLists.txt

    r59537 r60909  
    6666
    6767# -----------------------------------------------------------------------------
    68 # Default library types (can be overrriden in Options${PORT}.cmake file)
     68# Default library types
    6969# -----------------------------------------------------------------------------
    70 SET(WTF_LIBRARY_TYPE STATIC)
    71 SET(JavaScriptCore_LIBRARY_TYPE STATIC)
    72 SET(WebCore_LIBRARY_TYPE STATIC)
     70OPTION(SHARED_CORE "build WTF, JavaScriptCore and WebCore as shared libraries")
     71
     72IF (SHARED_CORE)
     73    SET(WTF_LIBRARY_TYPE SHARED)
     74    SET(JavaScriptCore_LIBRARY_TYPE SHARED)
     75    SET(WebCore_LIBRARY_TYPE SHARED)
     76ELSE ()
     77    SET(WTF_LIBRARY_TYPE STATIC)
     78    SET(JavaScriptCore_LIBRARY_TYPE STATIC)
     79    SET(WebCore_LIBRARY_TYPE STATIC)
     80ENDIF ()
     81
    7382SET(WebKit_LIBRARY_TYPE SHARED)
    7483
  • trunk/ChangeLog

    r60842 r60909  
     12010-06-09  Leandro Pereira  <leandro@profusion.mobi>
     2
     3        Reviewed by Adam Treat.
     4
     5        [EFL] Allow building core libraries as shared objects to speed up
     6        linking time on machines with small amounts of memory.
     7        http://webkit.org/b/39899
     8
     9        * CMakeLists.txt: Add SHARED_CORE option.
     10        * cmake/FindGlib.cmake: Add GObject to the list of GLib libraries to
     11        search.
     12        * cmake/OptionsEfl.cmake: Remove default library type definitions.
     13        * cmake/WebKitHelpers.cmake: -fvisibility=hidden did not behave well
     14        when SHARED_CORE is used.
     15
    1162010-06-08  Xan Lopez  <xlopez@igalia.com>
    217
  • trunk/JavaScriptCore/CMakeLists.txt

    r59955 r60909  
    275275ADD_TARGET_PROPERTIES(${JavaScriptCore_LIBRARY_NAME} LINK_FLAGS ${JavaScriptCore_LINK_FLAGS})
    276276
    277 INSTALL(TARGETS ${JavaScriptCore_LIBRARY_NAME} DESTINATION lib)
    278 
     277IF (SHARED_CORE)
     278    INSTALL(TARGETS ${JavaScriptCore_LIBRARY_NAME} DESTINATION lib)
     279ENDIF ()
  • trunk/JavaScriptCore/ChangeLog

    r60901 r60909  
     12010-06-09  Leandro Pereira  <leandro@profusion.mobi>
     2
     3        Reviewed by Adam Treat.
     4
     5        [EFL] Allow building core libraries as shared objects to speed up
     6        linking time on machines with small amounts of memory.
     7        http://webkit.org/b/39899
     8
     9        * CMakeLists.txt: If building with shared core, install the lib.
     10        * jsc/CMakeListsEfl.txt: Needs Glib and Ecore to link dynamically.
     11        * wtf/CMakeLists.txt: If building with shared core, install the lib.
     12
    1132010-06-09  Gabor Loki  <loki@webkit.org>
    214
  • trunk/JavaScriptCore/jsc/CMakeListsEfl.txt

    r59537 r60909  
     1LIST(APPEND JSC_LIBRARIES
     2    ${Glib_LIBRARIES}
     3    ${ECORE_LIBRARIES}
     4)
     5
    16LIST(APPEND JSC_LINK_FLAGS
    27    ${ECORE_LDFLAGS}
  • trunk/JavaScriptCore/wtf/CMakeLists.txt

    r59537 r60909  
    4040
    4141ADD_TARGET_PROPERTIES(${WTF_LIBRARY_NAME} LINK_FLAGS ${WTF_LINK_FLAGS})
     42
     43IF (SHARED_CORE)
     44    INSTALL(TARGETS ${WTF_LIBRARY_NAME} DESTINATION lib)
     45ENDIF ()
  • trunk/WebCore/CMakeLists.txt

    r60902 r60909  
    12611261    plugins/PluginMainThreadScheduler.cpp
    12621262    plugins/PluginViewNone.cpp
    1263     plugins/npapi.cpp
    12641263
    12651264    rendering/AutoTableLayout.cpp
     
    17331732SOURCE_GROUP(xml "xml/")
    17341733
     1734SET(WebCore_LINK_FLAGS "")
    17351735INCLUDE_IF_EXISTS(${WEBCORE_DIR}/CMakeLists${PORT}.txt)
    17361736
     
    17391739ADD_LIBRARY(${WebCore_LIBRARY_NAME} ${WebCore_LIBRARY_TYPE} ${WebCore_SOURCES})
    17401740TARGET_LINK_LIBRARIES(${WebCore_LIBRARY_NAME} ${WebCore_LIBRARIES})
    1741 
    1742 INSTALL(TARGETS ${WebCore_LIBRARY_NAME} DESTINATION lib)
     1741ADD_TARGET_PROPERTIES(${WebCore_LIBRARY_NAME} LINK_FLAGS ${WebCore_LINK_FLAGS})
     1742
     1743
     1744IF (SHARED_CORE)
     1745    INSTALL(TARGETS ${WebCore_LIBRARY_NAME} DESTINATION lib)
     1746ENDIF ()
  • trunk/WebCore/CMakeListsEfl.txt

    r59537 r60909  
     1LIST(APPEND WebCore_LINK_FLAGS
     2    ${ECORE_X_LDFLAGS}
     3    ${EFLDEPS_LDFLAGS}
     4)
     5
    16LIST(APPEND WebCore_INCLUDE_DIRECTORIES
    27  "${JAVASCRIPTCORE_DIR}/wtf/gobject"
  • trunk/WebCore/ChangeLog

    r60908 r60909  
     12010-06-09  Leandro Pereira  <leandro@profusion.mobi>
     2
     3        Reviewed by Adam Treat.
     4
     5        [EFL] Allow building core libraries as shared objects to speed up
     6        linking time on machines with small amounts of memory.
     7        http://webkit.org/b/39899
     8
     9        * CMakeLists.txt: If building with shared core, install the lib.
     10        Remove npapi.cpp (causes conflicts when linking dynamically).
     11        * CMakeListsEfl.txt: EFL libraries are needed to link dynamically.
     12
    1132010-06-09  Mark Rowe  <mrowe@apple.com>
    214
  • trunk/cmake/FindGlib.cmake

    r59537 r60909  
    3030  PATHS ${Glib_PKGCONF_LIBRARY_DIRS}
    3131)
     32find_library(Gobject_LIBRARY
     33  NAMES gobject-2.0
     34  PATHS ${Glib_PKGCONF_LIBRARY_DIRS}
     35)
    3236
    3337# Set the include dir variables and the libraries and let libfind_process do the rest.
    3438# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
    3539set(Glib_PROCESS_INCLUDES Glib_INCLUDE_DIR GlibConfig_INCLUDE_DIR)
    36 set(Glib_PROCESS_LIBS Glib_LIBRARY)
     40set(Glib_PROCESS_LIBS Glib_LIBRARY Gobject_LIBRARY)
    3741libfind_process(Glib)
    3842
  • trunk/cmake/OptionsEfl.cmake

    r60011 r60909  
    5151SET(WebKit_LIBRARY_NAME ewebkit)
    5252
    53 SET(WTF_LIBRARY_TYPE STATIC)
    54 SET(JavaScriptCore_LIBRARY_TYPE STATIC)
    55 SET(WebCore_LIBRARY_TYPE STATIC)
    56 SET(WebKit_LIBRARY_TYPE SHARED)
    57 
    5853WEBKIT_FEATURE(ENABLE_AS_IMAGE "Enable SVG as image" DEFAULT ON SVG)
    5954WEBKIT_FEATURE(ENABLE_BLOB_SLICE "Enable blob slice" DEFAULT OFF)
  • trunk/cmake/WebKitHelpers.cmake

    r60011 r60909  
    77        SET(OLD_COMPILE_FLAGS "")
    88    ENDIF ()
    9     SET_TARGET_PROPERTIES (${_target} PROPERTIES
    10        COMPILE_FLAGS "-fno-exceptions -fstrict-aliasing -fvisibility=hidden ${OLD_COMPILE_FLAGS}")
     9    IF (SHARED_CORE)
     10        SET_TARGET_PROPERTIES (${_target} PROPERTIES
     11            COMPILE_FLAGS "-fno-exceptions -fstrict-aliasing ${OLD_COMPILE_FLAGS}")
     12    ELSE ()
     13        SET_TARGET_PROPERTIES (${_target} PROPERTIES
     14            COMPILE_FLAGS "-fno-exceptions -fstrict-aliasing -fvisibility=hidden ${OLD_COMPILE_FLAGS}")
     15    ENDIF ()
    1116    UNSET(OLD_COMPILE_FLAGS)
    1217  ENDIF ()
Note: See TracChangeset for help on using the changeset viewer.