Skip to content

Commit a77dbb6

Browse files
committed
Build shared libraries by default; enable gold linker by default
1 parent 8a6e5d1 commit a77dbb6

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

CMakeLists.txt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,11 @@ include(DispatchAppleOptions)
2424
option(ENABLE_DISPATCH_INIT_CONSTRUCTOR "enable libdispatch_init as a constructor" ON)
2525
set(USE_LIBDISPATCH_INIT_CONSTRUCTOR ${ENABLE_DISPATCH_INIT_CONSTRUCTOR})
2626

27-
# TODO(compnerd) swift options
27+
option(BUILD_SHARED_LIBS "build shared libraries" ON)
28+
29+
option(USE_GOLD_LINKER "use the gold linker" ON)
2830

29-
# TODO(compnerd) consider adding a flag for USE_GOLD_LINKER. Currently, we
30-
# expect the user to specify `-fuse-ld=gold`
31+
# TODO(compnerd) swift options
3132

3233
option(ENABLE_THREAD_LOCAL_STORAGE "enable usage of thread local storage via __thread" ON)
3334
set(DISPATCH_USE_THREAD_LOCAL_STORAGE ${ENABLE_THREAD_LOCAL_STORAGE})

src/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,11 @@ target_include_directories(dispatch
111111
${CMAKE_SOURCE_DIR}
112112
${CMAKE_CURRENT_SOURCE_DIR}
113113
${CMAKE_SOURCE_DIR}/private)
114+
if (USE_GOLD_LINKER)
115+
target_link_libraries(dispatch
116+
PRIVATE
117+
-fuse-ld=gold)
118+
endif()
114119
if(WITH_PTHREAD_WORKQUEUES)
115120
target_include_directories(dispatch
116121
SYSTEM BEFORE PRIVATE

0 commit comments

Comments
 (0)