this repo has no description
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Fixing several dependency issues encountered in unclean builds

+67 -58
-22
CMakeLists.txt
··· 15 15 message(FATAL_ERROR "This software can only be built on x86-64 systems") 16 16 endif (${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "i686|i386") 17 17 18 - #if (NOT BITS) 19 - # message(FATAL_ERROR "BITS is not specified (32/64)") 20 - #endif (NOT BITS) 21 - 22 18 SET(IGNORED_WARNINGS "-Wno-nullability-completeness -Wno-deprecated-declarations") 23 19 24 20 if (${CMAKE_C_COMPILER_ID} STREQUAL "Clang" AND NOT ${CMAKE_C_COMPILER_VERSION} VERSION_LESS "3.9") ··· 28 24 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${IGNORED_WARNINGS}") 29 25 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${IGNORED_WARNINGS}") 30 26 31 - #SET(CMAKE_ASM_FLAGS "-m${BITS}") 32 - #SET(CMAKE_ASM-ATT_FLAGS "-m${BITS}") 33 - 34 27 message(STATUS "Building for ${CMAKE_SYSTEM_PROCESSOR}, CFLAGS: ${CMAKE_C_FLAGS}, libdir: ${CMAKE_INSTALL_LIBDIR}") 35 28 36 29 # --as-needed breaks Darling 37 30 #set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-as-needed") 38 - 39 - if (BITS EQUAL 32) 40 - # Prevent building Darling executables (e.g. Bash) 41 - set(DARLING_NO_EXECUTABLES ON) 42 - 43 - SET(SUFFIX "32") 44 - add_definitions(-DTARGET_CPU_X86=1 -D__LITTLE_ENDIAN__) 45 - set(DARLING_NO_EXECUTABLES ON) 46 - 47 - else() 48 - 49 - set(SUFFIX "64") 50 - #add_definitions(-DTARGET_CPU_X86_64=1 -D__LITTLE_ENDIAN__) 51 - 52 - endif() 53 31 54 32 enable_language(ASM-ATT) 55 33
-13
Toolchain-x86.cmake
··· 1 - SET(CMAKE_SYSTEM_NAME Linux) 2 - SET(CMAKE_SYSTEM_PROCESSOR "i686") 3 - 4 - SET(CMAKE_C_COMPILER clang) 5 - SET(CMAKE_CXX_COMPILER clang++) 6 - 7 - SET(BITS 32) 8 - 9 - if (EXISTS "/etc/debian_version") 10 - SET (CMAKE_INSTALL_LIBDIR "lib/i386-linux-gnu") 11 - else (EXISTS "/etc/debian_version") 12 - SET (CMAKE_INSTALL_LIBDIR "lib32") 13 - endif (EXISTS "/etc/debian_version")
-14
Toolchain-x86_64.cmake
··· 1 - SET(CMAKE_SYSTEM_NAME Linux) 2 - SET(CMAKE_SYSTEM_PROCESSOR "x86-64") 3 - 4 - SET(CMAKE_C_COMPILER clang) 5 - SET(CMAKE_CXX_COMPILER clang++) 6 - SET(BITS 64) 7 - 8 - if (EXISTS "/etc/debian_version") 9 - SET (CMAKE_INSTALL_LIBDIR "lib/x86_64-linux-gnu") 10 - elseif (EXISTS "/etc/arch-release") 11 - SET (CMAKE_INSTALL_LIBDIR "lib") 12 - else () 13 - SET (CMAKE_INSTALL_LIBDIR "lib64") 14 - endif ()
+6
Toolchain.cmake
··· 1 + SET(CMAKE_SYSTEM_NAME Linux) 2 + SET(CMAKE_SYSTEM_PROCESSOR "x86-64") 3 + 4 + SET(CMAKE_C_COMPILER clang) 5 + SET(CMAKE_CXX_COMPILER clang++) 6 +
+11
cmake/FindSetcap.cmake
··· 1 + include(FindPackageHandleStandardArgs) 2 + 3 + find_program(SETCAP_EXECUTABLE 4 + NAMES setcap 5 + PATHS /bin /usr/bin /sbin /usr/sbin 6 + ) 7 + 8 + find_package_handle_standard_args(SETCAP DEFAULT_MSG SETCAP_EXECUTABLE) 9 + 10 + mark_as_advanced(SETCAP_EXECUTABLE) 11 +
+36
cmake/darling_framework.cmake
··· 1 + include(CMakeParseArguments) 2 + include(darling_lib) 3 + include(InstallSymlink) 4 + 5 + function(add_framework name) 6 + cmake_parse_arguments(FRAMEWORK "CURRENT_VERSION;FAT" "VERSION;LINK_FLAGS" "SOURCES;DEPENDENCIES" ${ARGN}) 7 + set(my_name "${name}_${FRAMEWORK_VERSION}") 8 + 9 + add_darling_library(${my_name} SHARED ${FRAMEWORK_SOURCES}) 10 + 11 + set_target_properties(${my_name} PROPERTIES 12 + OUTPUT_NAME "${name}" 13 + SUFFIX "" 14 + PREFIX "") 15 + 16 + if (FRAMEWORK_DEPENDENCIES) 17 + target_link_libraries(${my_name} PRIVATE ${FRAMEWORK_DEPENDENCIES}) 18 + endif (FRAMEWORK_DEPENDENCIES) 19 + 20 + if (FRAMEWORK_FAT) 21 + make_fat(${my_name}) 22 + endif (FRAMEWORK_FAT) 23 + 24 + if (FRAMEWORK_LINK_FLAGS) 25 + set_property(TARGET ${my_name} APPEND_STRING PROPERTY LINK_FLAGS " ${FRAMEWORK_LINK_FLAGS}") 26 + endif (FRAMEWORK_LINK_FLAGS) 27 + 28 + install(TARGETS ${my_name} DESTINATION "libexec/darling/System/Library/Frameworks/${name}.framework/Versions/${FRAMEWORK_VERSION}/") 29 + 30 + if (FRAMEWORK_CURRENT_VERSION) 31 + InstallSymlink(${FRAMEWORK_VERSION} "libexec/darling/System/Library/Frameworks/${name}.framework/Versions/Current") 32 + InstallSymlink("Versions/Current/${name}" "libexec/darling/System/Library/Frameworks/${name}.framework/${name}") 33 + endif (FRAMEWORK_CURRENT_VERSION) 34 + endfunction(add_framework) 35 + 36 +
+5 -1
cmake/darling_lib.cmake
··· 35 35 LINK_FLAGS " -arch i386 -arch x86_64") 36 36 set_property(TARGET ${ARGV} APPEND_STRING PROPERTY 37 37 COMPILE_FLAGS " -B ${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/misc/ -arch i386 -arch x86_64") 38 + foreach(tgt ${ARGV}) 39 + add_dependencies(${tgt} lipo) 40 + endforeach(tgt) 38 41 ENDFUNCTION(make_fat) 39 42 40 43 # add_circular(name ...) ··· 95 98 foreach(dep ${CIRCULAR_UPWARD}) 96 99 #get_property(lib_location TARGET ${dep} PROPERTY LOCATION_${CMAKE_BUILD_TYPE}) 97 100 #set_property(TARGET "${name}" APPEND_STRING PROPERTY LINK_FLAGS " -Wl,-upward_library,${lib_location}") 98 - target_link_libraries("${name}" PRIVATE -Wl,-upward_library,$<TARGET_FILE:${dep}>) 101 + target_link_libraries("${name}" PRIVATE -Wl,-upward_library,$<TARGET_FILE:${dep}_firstpass>) 102 + add_dependencies("${name}" "${dep}_firstpass") 99 103 endforeach(dep) 100 104 101 105 get_property(dylib_files GLOBAL PROPERTY FIRSTPASS_MAP)
+4 -6
cmake/mig.cmake
··· 32 32 get_filename_component(bareName "${relativeName}" NAME) 33 33 get_filename_component(dirName "${relativeName}" DIRECTORY) 34 34 35 - if ((NOT BITS) OR (BITS EQUAL 64)) 35 + #if ((NOT BITS) OR (BITS EQUAL 64)) 36 36 set(MIG_ARCH "x86-64") 37 - else () 38 - set (MIG_ARCH "i386") 39 - endif() 37 + #else () 38 + # set (MIG_ARCH "i386") 39 + #endif() 40 40 41 41 # I hate myself for the following copy&paste, 42 42 # but I could not figure out a better way. ··· 56 56 -header ${CMAKE_CURRENT_BINARY_DIR}/${relativeName}${MIG_USER_HEADER_SUFFIX} 57 57 -server ${CMAKE_CURRENT_BINARY_DIR}/${relativeName}${MIG_SERVER_SOURCE_SUFFIX} 58 58 -sheader ${CMAKE_CURRENT_BINARY_DIR}/${relativeName}${MIG_SERVER_HEADER_SUFFIX} 59 - -m${BITS} 60 59 ${MIG_FLAGS} 61 60 ${CMAKE_CURRENT_SOURCE_DIR}/${defFileName} 62 61 DEPENDS ··· 76 75 -header ${CMAKE_CURRENT_BINARY_DIR}/${relativeName}${MIG_USER_HEADER_SUFFIX} 77 76 -server ${CMAKE_CURRENT_BINARY_DIR}/${relativeName}${MIG_SERVER_SOURCE_SUFFIX} 78 77 -sheader ${CMAKE_CURRENT_BINARY_DIR}/${relativeName}${MIG_SERVER_HEADER_SUFFIX} 79 - -m${BITS} 80 78 ${MIG_FLAGS} 81 79 ${CMAKE_CURRENT_SOURCE_DIR}/${defFileName} 82 80 DEPENDS
+2 -2
cmake/use_ld64.cmake
··· 10 10 -Wl,-dylib_file,/usr/lib/system/libcompiler_rt.dylib:${CMAKE_BINARY_DIR}/src/external/compiler-rt/lib/builtins/libcompiler_rt_firstpass.dylib \ 11 11 -Wl,-dylib_file,/usr/lib/system/libdyld.dylib:${CMAKE_BINARY_DIR}/src/dyld-apple/libsystem_dyld_firstpass.dylib \ 12 12 -Wl,-dylib_file,/usr/lib/system/libsystem_info.dylib:${CMAKE_BINARY_DIR}/src/libinfo/libsystem_info_firstpass.dylib \ 13 - -Wl,-dylib_file,/usr/lib/system/libsystem_blocks.dylib:${CMAKE_BINARY_DIR}/src/external/compiler-rt/lib/BlocksRuntime/libsystem_blocks_firstpass.dylib \ 13 + -Wl,-dylib_file,/usr/lib/system/libsystem_blocks.dylib:${CMAKE_BINARY_DIR}/src/external/libclosure/libsystem_blocks_firstpass.dylib \ 14 14 -Wl,-dylib_file,/usr/lib/libc++abi.dylib:${CMAKE_BINARY_DIR}/src/external/libcxxabi/src/libc++abi.dylib \ 15 15 -Wl,-dylib_file,/usr/lib/system/liblaunch.dylib:${CMAKE_BINARY_DIR}/src/launchd/liblaunch/liblaunch_firstpass.dylib \ 16 16 -Wl,-dylib_file,/usr/lib/system/libkeymgr.dylib:${CMAKE_BINARY_DIR}/src/keymgr/libkeymgr_firstpass.dylib \ ··· 19 19 -Wl,-dylib_file,/usr/lib/system/libcopyfile.dylib:${CMAKE_BINARY_DIR}/src/copyfile/libcopyfile.dylib \ 20 20 -Wl,-dylib_file,/usr/lib/system/libsystem_coreservices.dylib:${CMAKE_BINARY_DIR}/src/libsystem_coreservices/libsystem_coreservices.dylib \ 21 21 -Wl,-dylib_file,/usr/lib/system/libsystem_notify.dylib:${CMAKE_BINARY_DIR}/src/libnotify/libsystem_notify_firstpass.dylib \ 22 - -Wl,-dylib_file,/usr/lib/system/libdispatch.dylib:${CMAKE_BINARY_DIR}/src/external/libdispatch/src/liblibdispatch_shared_firstpass.dylib \ 22 + -Wl,-dylib_file,/usr/lib/system/libdispatch.dylib:${CMAKE_BINARY_DIR}/src/external/libdispatch/liblibdispatch_shared_firstpass.dylib \ 23 23 -Wl,-dylib_file,/usr/lib/system/libmacho.dylib:${CMAKE_BINARY_DIR}/src/libmacho/libmacho_firstpass.dylib \ 24 24 -Wl,-dylib_file,/usr/lib/system/libsystem_sandbox.dylib:${CMAKE_BINARY_DIR}/src/sandbox/libsystem_sandbox.dylib \ 25 25 -Wl,-dylib_file,/usr/lib/system/libsystem_duct.dylib:${CMAKE_BINARY_DIR}/src/duct/src/libsystem_duct_firstpass.dylib \
+1
platform-include/pthread/qos.h
··· 26 26 27 27 #include <sys/cdefs.h> 28 28 #include <Availability.h> 29 + #include <pthread.h> 29 30 30 31 #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL 31 32
+1
src/libinfo/CMakeLists.txt
··· 21 21 include_directories(${CMAKE_SOURCE_DIR}/src/libc/darwin) 22 22 include_directories(${CMAKE_SOURCE_DIR}/src/kernel/libsyscall/wrappers) 23 23 include_directories(${CMAKE_SOURCE_DIR}/src/libmalloc/include) 24 + include_directories(${CMAKE_SOURCE_DIR}/src/external/libdispatch/include) 24 25 include_directories(${CMAKE_SOURCE_DIR}/src/external/syslog/libsystem_asl.tproj/include) 25 26 26 27 add_subdirectory(gen.subproj)
+1
src/libsystem/CMakeLists.txt
··· 73 73 -sub_library libsystem_sandbox \ 74 74 -sub_library libsystem_coreservices \ 75 75 -sub_library libsystem_asl \ 76 + -sub_library libdispatch \ 76 77 -Wl,-compatibility_version,1.0.0 \ 77 78 -Wl,-current_version,1238.0.0") 78 79