this repo has no description
1
fork

Configure Feed

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

Abstract Architecture Detection/Assignment

The main goal of this commit is to make it more easy to add or update any architecture we want to support (such as ARM64). Any changes we want to make would be done in the architectures.cmake file.

The secondary goal of this commit is to encourage a more architecture generic nomenclature. We shouldn't use i368/x86_64 unless we are dealing with code that is specific to those architectures.

Thomas A 03db0849 2fe7f1ae

+154 -115
+3
CMakeLists.txt
··· 45 45 include(MacroEnsureOutOfSourceBuild) 46 46 include(dsym) 47 47 include(xcproj) 48 + include(architecture) 48 49 49 50 MACRO_ENSURE_OUT_OF_SOURCE_BUILD() 50 51 ··· 98 99 99 100 # Missing CMakeLists.txt must trigger an error 100 101 cmake_policy(SET CMP0014 NEW) 102 + 103 + generate_architecture() 101 104 102 105 add_subdirectory(src) 103 106
+1 -1
Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
··· 1 1 #!/bin/bash 2 2 SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 3 3 4 - LD="$SCRIPTDIR/../../../../../build/src/external/cctools-port/cctools/ld64/src/x86_64-apple-darwin11-ld" 4 + LD="$SCRIPTDIR/../../../../../build/src/external/cctools-port/cctools/ld64/src/${APPLE_TARGET_TRIPLET_PRIMARY}-ld" 5 5 6 6 "$LD" "$@"
+36
cmake/architecture.cmake
··· 1 + macro(generate_architecture) 2 + if (TARGET_x86_64) 3 + set(APPLE_ARCH_64BIT "x86_64") 4 + else () 5 + set(APPLE_ARCH_64BIT "") 6 + endif () 7 + 8 + if (TARGET_i386) 9 + set(APPLE_ARCH_32BIT "i386") 10 + else () 11 + set(APPLE_ARCH_32BIT "") 12 + endif () 13 + 14 + if (TARGET_x86_64) 15 + set(BUILD_TARGET_64BIT TRUE) 16 + set(APPLE_TARGET_TRIPLET_64BIT "x86_64-apple-darwin11") 17 + else () 18 + set(BUILD_TARGET_64BIT FALSE) 19 + set(APPLE_TARGET_TRIPLET_64BIT "") 20 + endif () 21 + if (TARGET_i386) 22 + set(BUILD_TARGET_32BIT TRUE) 23 + set(APPLE_TARGET_TRIPLET_32BIT "i386-apple-darwin11") 24 + else () 25 + set(BUILD_TARGET_32BIT FALSE) 26 + set(APPLE_TARGET_TRIPLET_32BIT "") 27 + endif () 28 + 29 + if (BUILD_TARGET_64BIT) 30 + set(APPLE_TARGET_TRIPLET_PRIMARY ${APPLE_TARGET_TRIPLET_64BIT}) 31 + elseif (BUILD_TARGET_32BIT) 32 + set(APPLE_TARGET_TRIPLET_PRIMARY ${APPLE_TARGET_TRIPLET_32BIT}) 33 + else () 34 + set(APPLE_TARGET_TRIPLET_PRIMARY "") 35 + endif () 36 + endmacro()
+6 -6
cmake/darling_exe.cmake
··· 14 14 set_property(TARGET ${exe} APPEND_STRING PROPERTY 15 15 LINK_FLAGS " ${CMAKE_EXE_LINKER_FLAGS} -nostdlib ${CMAKE_BINARY_DIR}/src/csu/CMakeFiles/csu.dir/crt1.10.6.o ") 16 16 17 - if (TARGET_x86_64) 18 - target_compile_options(${exe} PRIVATE -arch x86_64) 19 - elseif (TARGET_i386) 20 - target_compile_options(${exe} PRIVATE -arch i386) 17 + if (BUILD_TARGET_64BIT) 18 + target_compile_options(${exe} PRIVATE -arch ${APPLE_ARCH_64BIT}) 19 + elseif (BUILD_TARGET_32BIT) 20 + target_compile_options(${exe} PRIVATE -arch ${APPLE_ARCH_32BIT}) 21 21 set_property(TARGET ${exe} APPEND_STRING PROPERTY 22 - LINK_FLAGS " -arch i386") 23 - endif (TARGET_x86_64) 22 + LINK_FLAGS " -arch ${APPLE_ARCH_32BIT}") 23 + endif (BUILD_TARGET_64BIT) 24 24 25 25 use_ld64(${exe}) 26 26 target_link_libraries(${exe} system)
+58 -58
cmake/darling_framework.cmake
··· 132 132 # `add_darling_object_library` automatically adds arch flags based on the same variables we use, so this works fine 133 133 add_darling_object_library(${my_name}_obj ${FRAMEWORK_SOURCES}) 134 134 135 - if (TARGET_i386) 136 - set(DARLING_LIB_i386_ONLY TRUE) 135 + if (BUILD_TARGET_32BIT) 136 + set(DARLING_LIB_32BIT_ONLY TRUE) 137 137 if (FRAMEWORK_CIRCULAR_DEPENDENCIES OR FRAMEWORK_UPWARD_DEPENDENCIES) 138 - add_circular(${my_name}_i386 138 + add_circular(${my_name}_${APPLE_ARCH_32BIT} 139 139 SIBLINGS ${FRAMEWORK_CIRCULAR_DEPENDENCIES} 140 140 UPWARD ${FRAMEWORK_UPWARD_DEPENDENCIES} 141 141 OBJECTS $<TARGET_OBJECTS:${my_name}_obj> ${FRAMEWORK_OBJECTS} 142 142 STRONG_DEPENDENCIES ${FRAMEWORK_STRONG_DEPENDENCIES} 143 143 ) 144 144 else (FRAMEWORK_CIRCULAR_DEPENDENCIES OR FRAMEWORK_UPWARD_DEPENDENCIES) 145 - add_darling_library(${my_name}_i386 $<TARGET_OBJECTS:${my_name}_obj> ${FRAMEWORK_OBJECTS}) 146 - target_link_libraries(${my_name}_i386 PRIVATE ${FRAMEWORK_STRONG_DEPENDENCIES}) 145 + add_darling_library(${my_name}_${APPLE_ARCH_32BIT} $<TARGET_OBJECTS:${my_name}_obj> ${FRAMEWORK_OBJECTS}) 146 + target_link_libraries(${my_name}_${APPLE_ARCH_32BIT} PRIVATE ${FRAMEWORK_STRONG_DEPENDENCIES}) 147 147 endif (FRAMEWORK_CIRCULAR_DEPENDENCIES OR FRAMEWORK_UPWARD_DEPENDENCIES) 148 - set(DARLING_LIB_i386_ONLY FALSE) 149 - set_target_properties(${my_name}_i386 PROPERTIES 150 - OUTPUT_NAME "${name}_i386" 148 + set(DARLING_LIB_32BIT_ONLY FALSE) 149 + set_target_properties(${my_name}_${APPLE_ARCH_32BIT} PROPERTIES 150 + OUTPUT_NAME "${name}_${APPLE_ARCH_32BIT}" 151 151 SUFFIX "" 152 152 PREFIX "") 153 - set_property(TARGET ${my_name}_i386 APPEND_STRING PROPERTY 154 - COMPILE_FLAGS " -arch i386") 155 - set_property(TARGET ${my_name}_i386 APPEND_STRING PROPERTY 156 - LINK_FLAGS " -arch i386") 153 + set_property(TARGET ${my_name}_${APPLE_ARCH_32BIT} APPEND_STRING PROPERTY 154 + COMPILE_FLAGS " -arch ${APPLE_ARCH_32BIT}") 155 + set_property(TARGET ${my_name}_${APPLE_ARCH_32BIT} APPEND_STRING PROPERTY 156 + LINK_FLAGS " -arch ${APPLE_ARCH_32BIT}") 157 157 if (NOT FRAMEWORK_CURRENT_VERSION) 158 - add_library("${my_name}_i386" ALIAS "${name}_i386") 158 + add_library("${my_name}_${APPLE_ARCH_32BIT}" ALIAS "${name}_${APPLE_ARCH_32BIT}") 159 159 endif (NOT FRAMEWORK_CURRENT_VERSION) 160 160 161 161 if (FRAMEWORK_DEPENDENCIES) 162 - target_link_libraries(${my_name}_i386 PRIVATE ${FRAMEWORK_DEPENDENCIES}) 162 + target_link_libraries(${my_name}_${APPLE_ARCH_32BIT} PRIVATE ${FRAMEWORK_DEPENDENCIES}) 163 163 endif (FRAMEWORK_DEPENDENCIES) 164 164 165 165 if (FRAMEWORK_LINK_FLAGS) 166 - set_property(TARGET ${my_name}_i386 APPEND_STRING PROPERTY LINK_FLAGS " ${FRAMEWORK_LINK_FLAGS}") 166 + set_property(TARGET ${my_name}_${APPLE_ARCH_32BIT} APPEND_STRING PROPERTY LINK_FLAGS " ${FRAMEWORK_LINK_FLAGS}") 167 167 endif (FRAMEWORK_LINK_FLAGS) 168 - endif (TARGET_i386) 168 + endif (BUILD_TARGET_32BIT) 169 169 170 - if (TARGET_x86_64) 171 - set(DARLING_LIB_x86_64_ONLY TRUE) 170 + if (BUILD_TARGET_64BIT) 171 + set(DARLING_LIB_64BIT_ONLY TRUE) 172 172 if (FRAMEWORK_CIRCULAR_DEPENDENCIES OR FRAMEWORK_UPWARD_DEPENDENCIES) 173 - add_circular(${my_name}_x86_64 173 + add_circular(${my_name}_${APPLE_ARCH_64BIT} 174 174 SIBLINGS ${FRAMEWORK_CIRCULAR_DEPENDENCIES} 175 175 UPWARD ${FRAMEWORK_UPWARD_DEPENDENCIES} 176 176 OBJECTS $<TARGET_OBJECTS:${my_name}_obj> ${FRAMEWORK_OBJECTS} 177 177 STRONG_DEPENDENCIES ${FRAMEWORK_STRONG_DEPENDENCIES} 178 178 ) 179 179 else (FRAMEWORK_CIRCULAR_DEPENDENCIES OR FRAMEWORK_UPWARD_DEPENDENCIES) 180 - add_darling_library(${my_name}_x86_64 $<TARGET_OBJECTS:${my_name}_obj> ${FRAMEWORK_OBJECTS}) 181 - target_link_libraries(${my_name}_x86_64 PRIVATE ${FRAMEWORK_STRONG_DEPENDENCIES}) 180 + add_darling_library(${my_name}_${APPLE_ARCH_64BIT} $<TARGET_OBJECTS:${my_name}_obj> ${FRAMEWORK_OBJECTS}) 181 + target_link_libraries(${my_name}_${APPLE_ARCH_64BIT} PRIVATE ${FRAMEWORK_STRONG_DEPENDENCIES}) 182 182 endif (FRAMEWORK_CIRCULAR_DEPENDENCIES OR FRAMEWORK_UPWARD_DEPENDENCIES) 183 - set(DARLING_LIB_x86_64_ONLY FALSE) 184 - set_target_properties(${my_name}_x86_64 PROPERTIES 185 - OUTPUT_NAME "${name}_x86_64" 183 + set(DARLING_LIB_64BIT_ONLY FALSE) 184 + set_target_properties(${my_name}_${APPLE_ARCH_64BIT} PROPERTIES 185 + OUTPUT_NAME "${name}_${APPLE_ARCH_64BIT}" 186 186 SUFFIX "" 187 187 PREFIX "") 188 - set_property(TARGET ${my_name}_x86_64 APPEND_STRING PROPERTY 189 - COMPILE_FLAGS " -arch x86_64") 190 - set_property(TARGET ${my_name}_x86_64 APPEND_STRING PROPERTY 191 - LINK_FLAGS " -arch x86_64") 188 + set_property(TARGET ${my_name}_${APPLE_ARCH_64BIT} APPEND_STRING PROPERTY 189 + COMPILE_FLAGS " -arch ${APPLE_ARCH_64BIT}") 190 + set_property(TARGET ${my_name}_${APPLE_ARCH_64BIT} APPEND_STRING PROPERTY 191 + LINK_FLAGS " -arch ${APPLE_ARCH_64BIT}") 192 192 if (NOT FRAMEWORK_CURRENT_VERSION) 193 - add_library("${my_name}_x86_64" ALIAS "${name}_x86_64") 193 + add_library("${my_name}_${APPLE_ARCH_64BIT}" ALIAS "${name}_${APPLE_ARCH_64BIT}") 194 194 endif (NOT FRAMEWORK_CURRENT_VERSION) 195 195 196 196 if (FRAMEWORK_DEPENDENCIES) 197 - target_link_libraries(${my_name}_x86_64 PRIVATE ${FRAMEWORK_DEPENDENCIES}) 197 + target_link_libraries(${my_name}_${APPLE_ARCH_64BIT} PRIVATE ${FRAMEWORK_DEPENDENCIES}) 198 198 endif (FRAMEWORK_DEPENDENCIES) 199 199 200 200 if (FRAMEWORK_LINK_FLAGS) 201 - set_property(TARGET ${my_name}_x86_64 APPEND_STRING PROPERTY LINK_FLAGS " ${FRAMEWORK_LINK_FLAGS}") 201 + set_property(TARGET ${my_name}_${APPLE_ARCH_64BIT} APPEND_STRING PROPERTY LINK_FLAGS " ${FRAMEWORK_LINK_FLAGS}") 202 202 endif (FRAMEWORK_LINK_FLAGS) 203 - endif (TARGET_x86_64) 203 + endif (BUILD_TARGET_64BIT) 204 204 205 - if (TARGET_i386 AND TARGET_x86_64) 205 + if (BUILD_TARGET_32BIT AND BUILD_TARGET_64BIT) 206 206 if (FRAMEWORK_CIRCULAR_DEPENDENCIES) 207 - add_dependencies(${my_name}_x86_64_firstpass ${my_name}_i386_firstpass) 208 - add_custom_command(TARGET ${my_name}_x86_64_firstpass POST_BUILD 207 + add_dependencies(${my_name}_${APPLE_ARCH_64BIT}_firstpass ${my_name}_${APPLE_ARCH_32BIT}_firstpass) 208 + add_custom_command(TARGET ${my_name}_${APPLE_ARCH_64BIT}_firstpass POST_BUILD 209 209 COMMAND ${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/misc/lipo 210 - -arch i386 $<TARGET_FILE:${my_name}_i386_firstpass> 211 - -arch x86_64 $<TARGET_FILE:${my_name}_x86_64_firstpass> 210 + -arch ${APPLE_ARCH_32BIT} $<TARGET_FILE:${my_name}_${APPLE_ARCH_32BIT}_firstpass> 211 + -arch ${APPLE_ARCH_64BIT} $<TARGET_FILE:${my_name}_${APPLE_ARCH_64BIT}_firstpass> 212 212 -create 213 213 -output 214 214 ${CMAKE_CURRENT_BINARY_DIR}/${my_name}_firstpass ··· 221 221 PREFIX "" 222 222 IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/${my_name}_firstpass 223 223 ) 224 - add_dependencies(${my_name}_firstpass ${my_name}_x86_64_firstpass) 224 + add_dependencies(${my_name}_firstpass ${my_name}_${APPLE_ARCH_64BIT}_firstpass) 225 225 endif (FRAMEWORK_CIRCULAR_DEPENDENCIES) 226 226 227 - add_dependencies(${my_name}_x86_64 ${my_name}_i386) 228 - add_custom_command(TARGET ${my_name}_x86_64 POST_BUILD 227 + add_dependencies(${my_name}_${APPLE_ARCH_64BIT} ${my_name}_${APPLE_ARCH_32BIT}) 228 + add_custom_command(TARGET ${my_name}_${APPLE_ARCH_64BIT} POST_BUILD 229 229 COMMAND ${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/misc/lipo 230 - -arch i386 $<TARGET_FILE:${my_name}_i386> 231 - -arch x86_64 $<TARGET_FILE:${my_name}_x86_64> 230 + -arch ${APPLE_ARCH_32BIT} $<TARGET_FILE:${my_name}_${APPLE_ARCH_32BIT}> 231 + -arch ${APPLE_ARCH_64BIT} $<TARGET_FILE:${my_name}_${APPLE_ARCH_64BIT}> 232 232 -create 233 233 -output 234 234 ${CMAKE_CURRENT_BINARY_DIR}/${my_name} ··· 241 241 PREFIX "" 242 242 IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/${my_name} 243 243 ) 244 - add_dependencies(${my_name} ${my_name}_x86_64) 245 - elseif (TARGET_i386) 244 + add_dependencies(${my_name} ${my_name}_${APPLE_ARCH_64BIT}) 245 + elseif (BUILD_TARGET_32BIT) 246 246 if (FRAMEWORK_CIRCULAR_DEPENDENCIES) 247 - add_custom_command(TARGET ${my_name}_i386_firstpass POST_BUILD 247 + add_custom_command(TARGET ${my_name}_${APPLE_ARCH_32BIT}_firstpass POST_BUILD 248 248 COMMAND ${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/misc/lipo 249 - -arch i386 $<TARGET_FILE:${my_name}_i386_firstpass> 249 + -arch ${APPLE_ARCH_32BIT} $<TARGET_FILE:${my_name}_${APPLE_ARCH_32BIT}_firstpass> 250 250 -create 251 251 -output 252 252 ${CMAKE_CURRENT_BINARY_DIR}/${my_name}_firstpass ··· 259 259 PREFIX "" 260 260 IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/${my_name}_firstpass 261 261 ) 262 - add_dependencies(${my_name}_firstpass ${my_name}_i386_firstpass) 262 + add_dependencies(${my_name}_firstpass ${my_name}_${APPLE_ARCH_32BIT}_firstpass) 263 263 endif (FRAMEWORK_CIRCULAR_DEPENDENCIES) 264 264 265 - add_custom_command(TARGET ${my_name}_i386 POST_BUILD 265 + add_custom_command(TARGET ${my_name}_${APPLE_ARCH_32BIT} POST_BUILD 266 266 COMMAND ${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/misc/lipo 267 - -arch i386 $<TARGET_FILE:${my_name}_i386> 267 + -arch ${APPLE_ARCH_32BIT} $<TARGET_FILE:${my_name}_${APPLE_ARCH_32BIT}> 268 268 -create 269 269 -output 270 270 ${CMAKE_CURRENT_BINARY_DIR}/${my_name} ··· 277 277 PREFIX "" 278 278 IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/${my_name} 279 279 ) 280 - add_dependencies(${my_name} ${my_name}_i386) 281 - elseif (TARGET_x86_64) 280 + add_dependencies(${my_name} ${my_name}_${APPLE_ARCH_32BIT}) 281 + elseif (BUILD_TARGET_64BIT) 282 282 if (FRAMEWORK_CIRCULAR_DEPENDENCIES) 283 - add_custom_command(TARGET ${my_name}_x86_64_firstpass POST_BUILD 283 + add_custom_command(TARGET ${my_name}_${APPLE_ARCH_64BIT}_firstpass POST_BUILD 284 284 COMMAND ${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/misc/lipo 285 - -arch x86_64 $<TARGET_FILE:${my_name}_x86_64_firstpass> 285 + -arch ${APPLE_ARCH_64BIT} $<TARGET_FILE:${my_name}_${APPLE_ARCH_64BIT}_firstpass> 286 286 -create 287 287 -output 288 288 ${CMAKE_CURRENT_BINARY_DIR}/${my_name}_firstpass ··· 295 295 PREFIX "" 296 296 IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/${my_name}_firstpass 297 297 ) 298 - add_dependencies(${my_name}_firstpass ${my_name}_x86_64_firstpass) 298 + add_dependencies(${my_name}_firstpass ${my_name}_${APPLE_ARCH_64BIT}_firstpass) 299 299 endif (FRAMEWORK_CIRCULAR_DEPENDENCIES) 300 300 301 - add_custom_command(TARGET ${my_name}_x86_64 POST_BUILD 301 + add_custom_command(TARGET ${my_name}_${APPLE_ARCH_64BIT} POST_BUILD 302 302 COMMAND ${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/misc/lipo 303 - -arch x86_64 $<TARGET_FILE:${my_name}_x86_64> 303 + -arch ${APPLE_ARCH_64BIT} $<TARGET_FILE:${my_name}_${APPLE_ARCH_64BIT}> 304 304 -create 305 305 -output 306 306 ${CMAKE_CURRENT_BINARY_DIR}/${my_name} ··· 313 313 PREFIX "" 314 314 IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/${my_name} 315 315 ) 316 - add_dependencies(${my_name} ${my_name}_x86_64) 317 - endif (TARGET_i386 AND TARGET_x86_64) 316 + add_dependencies(${my_name} ${my_name}_${APPLE_ARCH_64BIT}) 317 + endif (BUILD_TARGET_32BIT AND BUILD_TARGET_64BIT) 318 318 319 319 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${my_name} DESTINATION "libexec/darling/${sys_library_dir}/${dir_name}/${name}.framework/Versions/${FRAMEWORK_VERSION}/") 320 320
+25 -25
cmake/darling_lib.cmake
··· 44 44 set_property(TARGET ${name} APPEND_STRING PROPERTY COMPILE_FLAGS " -B ${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/misc/") 45 45 add_dependencies(${name} lipo) 46 46 47 - if (TARGET_x86_64 AND NOT DARLING_LIB_i386_ONLY) 48 - set_property(TARGET ${name} APPEND_STRING PROPERTY COMPILE_FLAGS " -arch x86_64") 49 - set_property(TARGET ${name} APPEND_STRING PROPERTY LINK_FLAGS " -arch x86_64") 50 - endif (TARGET_x86_64 AND NOT DARLING_LIB_i386_ONLY) 51 - if (TARGET_i386 AND NOT DARLING_LIB_x86_64_ONLY) 52 - set_property(TARGET ${name} APPEND_STRING PROPERTY COMPILE_FLAGS " -arch i386") 53 - set_property(TARGET ${name} APPEND_STRING PROPERTY LINK_FLAGS " -arch i386") 54 - endif (TARGET_i386 AND NOT DARLING_LIB_x86_64_ONLY) 47 + if (BUILD_TARGET_64BIT AND NOT DARLING_LIB_32BIT_ONLY) 48 + set_property(TARGET ${name} APPEND_STRING PROPERTY COMPILE_FLAGS " -arch ${APPLE_ARCH_64BIT}") 49 + set_property(TARGET ${name} APPEND_STRING PROPERTY LINK_FLAGS " -arch ${APPLE_ARCH_64BIT}") 50 + endif (BUILD_TARGET_64BIT AND NOT DARLING_LIB_32BIT_ONLY) 51 + if (BUILD_TARGET_32BIT AND NOT DARLING_LIB_64BIT_ONLY) 52 + set_property(TARGET ${name} APPEND_STRING PROPERTY COMPILE_FLAGS " -arch ${APPLE_ARCH_32BIT}") 53 + set_property(TARGET ${name} APPEND_STRING PROPERTY LINK_FLAGS " -arch ${APPLE_ARCH_32BIT}") 54 + endif (BUILD_TARGET_32BIT AND NOT DARLING_LIB_64BIT_ONLY) 55 55 56 56 use_ld64(${name}) 57 57 ··· 61 61 ENDFUNCTION(add_darling_library) 62 62 63 63 FUNCTION(make_fat) 64 - if (TARGET_i386 AND TARGET_x86_64) 64 + if (BUILD_TARGET_32BIT AND BUILD_TARGET_64BIT) 65 65 set_property(TARGET ${ARGV} APPEND_STRING PROPERTY 66 - COMPILE_FLAGS " -B ${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/misc/ -arch i386 -arch x86_64") 66 + COMPILE_FLAGS " -B ${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/misc/ -arch ${APPLE_ARCH_32BIT} -arch ${APPLE_ARCH_64BIT}") 67 67 set_property(TARGET ${ARGV} APPEND_STRING PROPERTY 68 - LINK_FLAGS " -arch i386 -arch x86_64") 68 + LINK_FLAGS " -arch ${APPLE_ARCH_32BIT} -arch ${APPLE_ARCH_64BIT}") 69 69 foreach(tgt ${ARGV}) 70 70 add_dependencies(${tgt} lipo) 71 71 endforeach(tgt) 72 - elseif (TARGET_i386) 72 + elseif (BUILD_TARGET_32BIT) 73 73 set_property(TARGET ${ARGV} APPEND_STRING PROPERTY 74 - COMPILE_FLAGS " -B ${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/misc/ -arch i386") 74 + COMPILE_FLAGS " -B ${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/misc/ -arch ${APPLE_ARCH_32BIT}") 75 75 set_property(TARGET ${ARGV} APPEND_STRING PROPERTY 76 - LINK_FLAGS " -arch i386") 76 + LINK_FLAGS " -arch ${APPLE_ARCH_32BIT}") 77 77 foreach(tgt ${ARGV}) 78 78 add_dependencies(${tgt} lipo) 79 79 endforeach(tgt) 80 - elseif (TARGET_x86_64) 80 + elseif (BUILD_TARGET_64BIT) 81 81 set_property(TARGET ${ARGV} APPEND_STRING PROPERTY 82 - COMPILE_FLAGS " -B ${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/misc/ -arch x86_64") 82 + COMPILE_FLAGS " -B ${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/misc/ -arch ${APPLE_ARCH_64BIT}") 83 83 set_property(TARGET ${ARGV} APPEND_STRING PROPERTY 84 - LINK_FLAGS " -arch x86_64") 84 + LINK_FLAGS " -arch ${APPLE_ARCH_64BIT}") 85 85 foreach(tgt ${ARGV}) 86 86 add_dependencies(${tgt} lipo) 87 87 endforeach(tgt) 88 - endif (TARGET_i386 AND TARGET_x86_64) 88 + endif (BUILD_TARGET_32BIT AND BUILD_TARGET_64BIT) 89 89 ENDFUNCTION(make_fat) 90 90 91 91 # add_circular(name ...) ··· 172 172 ENDFUNCTION(add_circular) 173 173 174 174 function(add_darling_object_library name) 175 - cmake_parse_arguments(OBJECT_LIB "i386_ONLY;x86_64_ONLY" "" "" ${ARGN}) 175 + cmake_parse_arguments(OBJECT_LIB "32BIT_ONLY;64BIT_ONLY" "" "" ${ARGN}) 176 176 foreach(f IN LISTS OBJECT_LIB_UNPARSED_ARGUMENTS) 177 177 set(files ${files} ${f}) 178 178 endforeach(f) ··· 181 181 add_dependencies(${name} lipo) 182 182 set_property(TARGET ${name} APPEND_STRING PROPERTY COMPILE_FLAGS " -B ${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/misc/") 183 183 184 - if (TARGET_i386 AND NOT OBJECT_LIB_x86_64_ONLY) 185 - set_property(TARGET ${name} APPEND_STRING PROPERTY COMPILE_FLAGS " -arch i386") 186 - endif (TARGET_i386 AND NOT OBJECT_LIB_x86_64_ONLY) 187 - if (TARGET_x86_64 AND NOT OBJECT_LIB_i386_ONLY) 188 - set_property(TARGET ${name} APPEND_STRING PROPERTY COMPILE_FLAGS " -arch x86_64") 189 - endif (TARGET_x86_64 AND NOT OBJECT_LIB_i386_ONLY) 184 + if (BUILD_TARGET_32BIT AND NOT OBJECT_LIB_64BIT_ONLY) 185 + set_property(TARGET ${name} APPEND_STRING PROPERTY COMPILE_FLAGS " -arch ${APPLE_ARCH_32BIT}") 186 + endif (BUILD_TARGET_32BIT AND NOT OBJECT_LIB_64BIT_ONLY) 187 + if (BUILD_TARGET_64BIT AND NOT OBJECT_LIB_32BIT_ONLY) 188 + set_property(TARGET ${name} APPEND_STRING PROPERTY COMPILE_FLAGS " -arch ${APPLE_ARCH_64BIT}") 189 + endif (BUILD_TARGET_64BIT AND NOT OBJECT_LIB_32BIT_ONLY) 190 190 endfunction(add_darling_object_library)
+8 -8
cmake/darling_static_lib.cmake
··· 4 4 include(darling_lib) 5 5 6 6 function(add_darling_static_library name) 7 - cmake_parse_arguments(STATIC_LIB "FAT;x86_64_ONLY;i386_ONLY" "" "SOURCES" ${ARGN}) 7 + cmake_parse_arguments(STATIC_LIB "FAT;64BIT_ONLY;32BIT_ONLY" "" "SOURCES" ${ARGN}) 8 8 9 - set(CMAKE_AR "${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/ar/x86_64-apple-darwin11-ar") 10 - set(CMAKE_RANLIB "${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/ar/x86_64-apple-darwin11-ranlib") 9 + set(CMAKE_AR "${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/ar/${APPLE_TARGET_TRIPLET_PRIMARY}-ar") 10 + set(CMAKE_RANLIB "${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/ar/${APPLE_TARGET_TRIPLET_PRIMARY}-ranlib") 11 11 add_library(${name} STATIC ${STATIC_LIB_SOURCES}) 12 12 13 13 set_property(TARGET ${name} APPEND_STRING PROPERTY COMPILE_FLAGS " -B ${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/misc/") 14 14 set_property(TARGET ${name} APPEND_STRING PROPERTY LINK_FLAGS " -B ${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/misc/") 15 15 add_dependencies(${name} lipo) 16 16 17 - if (TARGET_x86_64 AND NOT STATIC_LIB_i386_ONLY) 17 + if (BUILD_TARGET_64BIT AND NOT STATIC_LIB_32BIT_ONLY) 18 18 set_property(TARGET ${name} APPEND_STRING PROPERTY 19 - COMPILE_FLAGS " -arch x86_64") 19 + COMPILE_FLAGS " -arch ${APPLE_ARCH_64BIT}") 20 20 endif () 21 21 22 - if (TARGET_i386 AND NOT STATIC_LIB_x86_64_ONLY) 22 + if (BUILD_TARGET_32BIT AND NOT STATIC_LIB_64BIT_ONLY) 23 23 set_property(TARGET ${name} APPEND_STRING PROPERTY 24 - COMPILE_FLAGS " -arch i386") 24 + COMPILE_FLAGS " -arch ${APPLE_ARCH_32BIT}") 25 25 endif () 26 26 27 27 if (STATIC_LIB_FAT) 28 28 make_fat(${name}) 29 29 endif (STATIC_LIB_FAT) 30 30 31 - add_dependencies(${name} ranlib x86_64-apple-darwin11-ar) 31 + add_dependencies(${name} ranlib ${APPLE_TARGET_TRIPLET_PRIMARY}-ar) 32 32 endfunction(add_darling_static_library)
+3 -3
cmake/use_ld64.cmake
··· 1 1 FUNCTION(use_ld64 target) 2 2 set_property(TARGET ${target} APPEND_STRING PROPERTY 3 - LINK_FLAGS " -fuse-ld=${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/ld64/src/x86_64-apple-darwin11-ld ") 3 + LINK_FLAGS " -fuse-ld=${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/ld64/src/${APPLE_TARGET_TRIPLET_PRIMARY}-ld ") 4 4 5 5 set_property(TARGET ${target} APPEND_STRING PROPERTY 6 6 LINK_FLAGS " -B ${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/ld64/src/ \ 7 7 -B ${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/misc/ \ 8 - -target x86_64-apple-darwin11 -Wl,-Z \ 8 + -target ${APPLE_TARGET_TRIPLET_PRIMARY} -Wl,-Z \ 9 9 -Wl,-dylib_file,/usr/lib/system/libsystem_c.dylib:${CMAKE_BINARY_DIR}/src/libc/libsystem_c_firstpass.dylib \ 10 10 -Wl,-dylib_file,/usr/lib/system/libsystem_darwin.dylib:${CMAKE_BINARY_DIR}/src/libc/libdarwin/libsystem_darwin.dylib \ 11 11 -Wl,-dylib_file,/usr/lib/system/libsystem_kernel.dylib:${CMAKE_BINARY_DIR}/src/kernel/libsystem_kernel_firstpass.dylib \ ··· 130 130 -Wl,-dylib_file,/usr/lib/libnetwork.dylib:${CMAKE_BINARY_DIR}/src/external/libnetwork/libnetwork.dylib \ 131 131 -Wl,-dylib_file,/usr/lib/system/libcache.dylib:${CMAKE_BINARY_DIR}/src/libcache/libcache.dylib") 132 132 133 - add_dependencies(${target} x86_64-apple-darwin11-ld) 133 + add_dependencies(${target} ${APPLE_TARGET_TRIPLET_PRIMARY}-ld) 134 134 135 135 ENDFUNCTION(use_ld64) 136 136
+4 -4
src/CMakeLists.txt
··· 70 70 -DTARGET_OS_MAC=1 71 71 ) 72 72 73 - set(CMAKE_AR "${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/ar/x86_64-apple-darwin11-ar") 74 - set(CMAKE_RANLIB "${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/ar/x86_64-apple-darwin11-ranlib") 75 - #set(CMAKE_ASM_COMPILER "${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/as/x86_64-apple-darwin11-as") 73 + set(CMAKE_AR "${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/ar/${APPLE_TARGET_TRIPLET_PRIMARY}-ar") 74 + set(CMAKE_RANLIB "${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/ar/${APPLE_TARGET_TRIPLET_PRIMARY}-ranlib") 75 + #set(CMAKE_ASM_COMPILER "${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/as/${APPLE_TARGET_TRIPLET_PRIMARY}-as") 76 76 77 - add_definitions(-target x86_64-apple-darwin11) 77 + add_definitions(-target ${APPLE_TARGET_TRIPLET_PRIMARY}) 78 78 include(darling_lib) 79 79 include(darling_static_lib) 80 80
+4 -4
src/dyld/CMakeLists.txt
··· 127 127 corecrypto_static 128 128 ) 129 129 130 - if (TARGET_i386) 130 + if (BUILD_TARGET_32BIT) 131 131 target_link_libraries(system_loader libc_static32 compiler_rt_static32 platform_static32) 132 - endif (TARGET_i386) 132 + endif (BUILD_TARGET_32BIT) 133 133 134 - if (TARGET_x86_64) 134 + if (BUILD_TARGET_64BIT) 135 135 target_link_libraries(system_loader libc_static64 compiler_rt_static64 platform_static64) 136 - endif (TARGET_x86_64) 136 + endif (BUILD_TARGET_64BIT) 137 137 138 138 make_fat(system_loader) 139 139
+3 -3
src/libc/CMakeLists.txt
··· 241 241 $<TARGET_OBJECTS:libc-os> 242 242 $<TARGET_OBJECTS:libc-stdio_extsn> 243 243 ) 244 - add_dependencies(libc_static ranlib x86_64-apple-darwin11-ar) 244 + add_dependencies(libc_static ranlib ${APPLE_TARGET_TRIPLET_PRIMARY}-ar) 245 245 set_target_properties(libc_static PROPERTIES COMPILE_FLAGS "-ffunction-sections") 246 246 247 247 add_library(libc_static64 STATIC $<TARGET_OBJECTS:libc-x86_64>) 248 - add_dependencies(libc_static64 ranlib x86_64-apple-darwin11-ar) 248 + add_dependencies(libc_static64 ranlib ${APPLE_TARGET_TRIPLET_PRIMARY}-ar) 249 249 add_library(libc_static32 STATIC $<TARGET_OBJECTS:libc-i386>) 250 - add_dependencies(libc_static32 ranlib x86_64-apple-darwin11-ar) 250 + add_dependencies(libc_static32 ranlib ${APPLE_TARGET_TRIPLET_PRIMARY}-ar) 251 251
+2 -2
src/libm/CMakeLists.txt
··· 175 175 176 176 install(TARGETS system_m DESTINATION libexec/darling/usr/lib/system) 177 177 178 - set(CMAKE_AR "${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/ar/x86_64-apple-darwin11-ar") 179 - set(CMAKE_RANLIB "${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/ar/x86_64-apple-darwin11-ranlib") 178 + set(CMAKE_AR "${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/ar/${APPLE_TARGET_TRIPLET_PRIMARY}-ar") 179 + set(CMAKE_RANLIB "${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/ar/${APPLE_TARGET_TRIPLET_PRIMARY}-ranlib") 180 180 add_darling_static_library(system_m_static SOURCES ${libm_sources} $<TARGET_OBJECTS:system_m_extra>) 181 181 make_fat(system_m_static)
+1 -1
src/xtrace/CMakeLists.txt
··· 18 18 ) 19 19 20 20 if (TARGET_x86_64) 21 - set(DARLING_LIB_x86_64_ONLY TRUE) 21 + set(DARLING_LIB_64BIT_ONLY TRUE) 22 22 set(DYLIB_INSTALL_NAME "/usr/lib/darling/libxtrace.dylib") 23 23 add_darling_library(xtracelib SHARED ${xtrace_sources}) 24 24 set_target_properties(xtracelib PROPERTIES OUTPUT_NAME "xtrace")