diff --git a/cmake/darling_bundle.cmake b/cmake/darling_bundle.cmake new file mode 100644 index 000000000..912df34df --- /dev/null +++ b/cmake/darling_bundle.cmake @@ -0,0 +1,12 @@ + +FUNCTION(add_darling_bundle name loader) + add_darling_library(${name} ${ARGN}) + set_property(TARGET ${name} APPEND_STRING PROPERTY + LINK_FLAGS " -Wl,-bundle ") + + if (loader) + set_property(TARGET ${name} APPEND_STRING PROPERTY + LINK_FLAGS " -Wl,-bundle_loader,${loader} ") + endif (loader) +ENDFUNCTION(add_darling_bundle) + diff --git a/cmake/darling_lib.cmake b/cmake/darling_lib.cmake index 47eaaa2e3..f98ae13e4 100644 --- a/cmake/darling_lib.cmake +++ b/cmake/darling_lib.cmake @@ -12,7 +12,7 @@ FUNCTION(add_darling_library name) endforeach(f) set(CMAKE_SKIP_RPATH TRUE) - add_library(${name} ${files}) + add_library(${name} SHARED ${files}) # Link using Apple's ld64 set_target_properties(${name} PROPERTIES diff --git a/cmake/use_ld64.cmake b/cmake/use_ld64.cmake index a47ca0328..b8620b7f4 100644 --- a/cmake/use_ld64.cmake +++ b/cmake/use_ld64.cmake @@ -30,7 +30,10 @@ FUNCTION(use_ld64 target) -Wl,-dylib_file,/usr/lib/libresolv.9.dylib:${CMAKE_BINARY_DIR}/src/libresolv/libresolv.9.dylib \ -Wl,-dylib_file,/usr/lib/system/libxpc.dylib:${CMAKE_BINARY_DIR}/src/external/libxpc/libxpc_firstpass.dylib \ -Wl,-dylib_file,/usr/lib/libc++.1.dylib:${CMAKE_BINARY_DIR}/lib/libc++.1.dylib \ - -Wl,-dylib_file,/usr/lib/system/libsystem_malloc.dylib:${CMAKE_BINARY_DIR}/src/libmalloc/libsystem_malloc_firstpass.dylib ") + -Wl,-dylib_file,/usr/lib/system/libsystem_malloc.dylib:${CMAKE_BINARY_DIR}/src/libmalloc/libsystem_malloc_firstpass.dylib \ + -Wl,-dylib_file,/usr/lib/libobjc.A.dylib:${CMAKE_BINARY_DIR}/src/external/objc4/runtime/libobjc.A.dylib \ + -Wl,-dylib_file,/usr/lib/libicucore.dylib:${CMAKE_BINARY_DIR}/src/external/icu/icuSources/libicucore.dylib \ + -Wl,-dylib_file,/System/Library/Frameworks/Python.framework/Versions/2.6/Python:${CMAKE_BINARY_DIR}/src/external/python/2.6/Python-2.6.9/Python ") add_dependencies(${target} x86_64-apple-darwin11-ld) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 60737fea7..2ee612a4b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -130,7 +130,7 @@ add_subdirectory(external/libclosure) add_subdirectory(external/compiler-rt/lib/builtins) add_subdirectory(CommonCrypto) add_subdirectory(csu) -#add_subdirectory(external/python/2.6/Python-2.6.9) +add_subdirectory(external/python/2.6/Python-2.6.9) #add_subdirectory(external/python/2.7/Python-2.7.10) #add_subdirectory(external/ruby) add_subdirectory(external/expat) @@ -151,7 +151,7 @@ add_subdirectory(external/file_cmds) add_subdirectory(external/text_cmds) add_subdirectory(external/adv_cmds) #add_subdirectory(external/network_cmds) -add_subdirectory(external/system_cmds) +#add_subdirectory(external/system_cmds) add_subdirectory(external/bash) add_subdirectory(external/less) add_subdirectory(external/grep) diff --git a/src/csu/CMakeLists.txt b/src/csu/CMakeLists.txt index 40c45f2a2..dbc80fbbf 100644 --- a/src/csu/CMakeLists.txt +++ b/src/csu/CMakeLists.txt @@ -20,4 +20,5 @@ set(csu_SRCS ) add_darling_library(csu STATIC ${csu_SRCS}) +make_fat(csu) diff --git a/src/external/configd b/src/external/configd index 02b98bce8..ff70af2e1 160000 --- a/src/external/configd +++ b/src/external/configd @@ -1 +1 @@ -Subproject commit 02b98bce8e115d387be85df45cd01541835ded0c +Subproject commit ff70af2e19f4d56dbe39e6be19044b229733a139 diff --git a/src/external/foundation b/src/external/foundation index 8c7be80b9..7adb872fa 160000 --- a/src/external/foundation +++ b/src/external/foundation @@ -1 +1 @@ -Subproject commit 8c7be80b924c0df33e4b7dda6dcae4eca1c831aa +Subproject commit 7adb872fa98945a62c298645ef0d7027815fac03 diff --git a/src/external/python b/src/external/python index a96929297..69dbf55d6 160000 --- a/src/external/python +++ b/src/external/python @@ -1 +1 @@ -Subproject commit a96929297fd7daad629ddcda7beb2850f852dcda +Subproject commit 69dbf55d6b33d13bde9f0032379157bb321639e2