OS X: Detect implicit link directories on modern toolchains
We detect the implicit link directories for the toolchain by adding a flag to get verbose output from the compiler front-end while linking the ABI detection binary. Newer OS X toolchains based on Clang do not add the implicit link directories with -L options to their internal invocation of "ld". Instead they use a linker that comes with the toolchain and is already configured with the proper directories. Add the "-Wl,-v" option to ask "ld" to print its implicit directories. It displays them in a block such as: Library search paths: /... Parse this block to extract the implicit link directories. While at it, remove the checks introduced by commitefaf335b
(Skip implicit link information on Xcode, 2009-07-23) and commit5195a664
(Skip implicit link info for multiple OS X archs, 2009-09-22). Discard the non-system link directories added by Xcode. Discard all detected implicit libraries in the multi-architecture case but keep the directories. The directories are still useful without the libraries just to suppress addition of explicit -L options for them.
This commit is contained in:
parent
ba58d0c06f
commit
2dd67c7ea0
|
@ -72,18 +72,7 @@ function(CMAKE_DETERMINE_COMPILER_ABI lang src)
|
||||||
# Parse implicit linker information for this language, if available.
|
# Parse implicit linker information for this language, if available.
|
||||||
set(implicit_dirs "")
|
set(implicit_dirs "")
|
||||||
set(implicit_libs "")
|
set(implicit_libs "")
|
||||||
set(MULTI_ARCH FALSE)
|
if(CMAKE_${lang}_VERBOSE_FLAG)
|
||||||
if(DEFINED CMAKE_OSX_ARCHITECTURES)
|
|
||||||
if( "${CMAKE_OSX_ARCHITECTURES}" MATCHES ";" )
|
|
||||||
set(MULTI_ARCH TRUE)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
if(CMAKE_${lang}_VERBOSE_FLAG
|
|
||||||
# Implicit link information cannot be used explicitly for
|
|
||||||
# multiple OS X architectures, so we skip it.
|
|
||||||
AND NOT MULTI_ARCH
|
|
||||||
# Skip this with Xcode for now.
|
|
||||||
AND NOT "${CMAKE_GENERATOR}" MATCHES Xcode)
|
|
||||||
CMAKE_PARSE_IMPLICIT_LINK_INFO("${OUTPUT}" implicit_libs implicit_dirs log
|
CMAKE_PARSE_IMPLICIT_LINK_INFO("${OUTPUT}" implicit_libs implicit_dirs log
|
||||||
"${CMAKE_${lang}_IMPLICIT_OBJECT_REGEX}")
|
"${CMAKE_${lang}_IMPLICIT_OBJECT_REGEX}")
|
||||||
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
|
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
|
||||||
|
@ -112,6 +101,14 @@ function(CMAKE_DETERMINE_COMPILER_ABI lang src)
|
||||||
message(STATUS "${_desc}")
|
message(STATUS "${_desc}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Implicit link libraries cannot be used explicitly for multiple
|
||||||
|
# OS X architectures, so we skip it.
|
||||||
|
if(DEFINED CMAKE_OSX_ARCHITECTURES)
|
||||||
|
if("${CMAKE_OSX_ARCHITECTURES}" MATCHES ";")
|
||||||
|
set(implicit_libs "")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
set(CMAKE_${lang}_IMPLICIT_LINK_LIBRARIES "${implicit_libs}" PARENT_SCOPE)
|
set(CMAKE_${lang}_IMPLICIT_LINK_LIBRARIES "${implicit_libs}" PARENT_SCOPE)
|
||||||
set(CMAKE_${lang}_IMPLICIT_LINK_DIRECTORIES "${implicit_dirs}" PARENT_SCOPE)
|
set(CMAKE_${lang}_IMPLICIT_LINK_DIRECTORIES "${implicit_dirs}" PARENT_SCOPE)
|
||||||
|
|
||||||
|
|
|
@ -36,6 +36,16 @@ function(CMAKE_PARSE_IMPLICIT_LINK_INFO text lib_var dir_var log_var obj_regex)
|
||||||
set(cmd)
|
set(cmd)
|
||||||
if("${line}" MATCHES "${linker_regex}" AND
|
if("${line}" MATCHES "${linker_regex}" AND
|
||||||
NOT "${line}" MATCHES "${linker_exclude_regex}")
|
NOT "${line}" MATCHES "${linker_exclude_regex}")
|
||||||
|
if(XCODE)
|
||||||
|
# Xcode unconditionally adds a path under the project build tree and
|
||||||
|
# on older versions it is not reported with proper quotes. Remove it.
|
||||||
|
string(REGEX REPLACE "([][+.*()^])" "\\\\\\1" _dir_regex "${CMAKE_BINARY_DIR}")
|
||||||
|
string(REGEX REPLACE " -[FL]${_dir_regex}/([^ ]| [^-])+( |$)" " " xline "${line}")
|
||||||
|
if(NOT "x${xline}" STREQUAL "x${line}")
|
||||||
|
set(log "${log} reduced line: [${line}]\n to: [${xline}]\n")
|
||||||
|
set(line "${xline}")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
if(UNIX)
|
if(UNIX)
|
||||||
separate_arguments(args UNIX_COMMAND "${line}")
|
separate_arguments(args UNIX_COMMAND "${line}")
|
||||||
else()
|
else()
|
||||||
|
@ -97,6 +107,13 @@ function(CMAKE_PARSE_IMPLICIT_LINK_INFO text lib_var dir_var log_var obj_regex)
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
|
# Look for library search paths reported by linker.
|
||||||
|
if("${output_lines}" MATCHES ";Library search paths:((;\t[^;]+)+)")
|
||||||
|
string(REPLACE ";\t" ";" implicit_dirs_match "${CMAKE_MATCH_1}")
|
||||||
|
set(log "${log} Library search paths: [${implicit_dirs_match}]\n")
|
||||||
|
list(APPEND implicit_dirs_tmp ${implicit_dirs_match})
|
||||||
|
endif()
|
||||||
|
|
||||||
# Cleanup list of libraries and flags.
|
# Cleanup list of libraries and flags.
|
||||||
# We remove items that are not language-specific.
|
# We remove items that are not language-specific.
|
||||||
set(implicit_libs "")
|
set(implicit_libs "")
|
||||||
|
@ -108,12 +125,18 @@ function(CMAKE_PARSE_IMPLICIT_LINK_INFO text lib_var dir_var log_var obj_regex)
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
# Cleanup list of directories.
|
# Cleanup list of library directories.
|
||||||
set(implicit_dirs "")
|
set(implicit_dirs "")
|
||||||
foreach(d IN LISTS implicit_dirs_tmp)
|
foreach(d IN LISTS implicit_dirs_tmp)
|
||||||
get_filename_component(dir "${d}" ABSOLUTE)
|
get_filename_component(dir "${d}" ABSOLUTE)
|
||||||
list(APPEND implicit_dirs "${dir}")
|
string(FIND "${dir}" "${CMAKE_FILES_DIRECTORY}/" pos)
|
||||||
set(log "${log} collapse dir [${d}] ==> [${dir}]\n")
|
if(NOT pos LESS 0)
|
||||||
|
set(msg ", skipping non-system directory")
|
||||||
|
else()
|
||||||
|
set(msg "")
|
||||||
|
list(APPEND implicit_dirs "${dir}")
|
||||||
|
endif()
|
||||||
|
set(log "${log} collapse library dir [${d}] ==> [${dir}]${msg}\n")
|
||||||
endforeach()
|
endforeach()
|
||||||
list(REMOVE_DUPLICATES implicit_dirs)
|
list(REMOVE_DUPLICATES implicit_dirs)
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,7 @@ endif()
|
||||||
set(__DARWIN_COMPILER_CLANG 1)
|
set(__DARWIN_COMPILER_CLANG 1)
|
||||||
|
|
||||||
macro(__darwin_compiler_clang lang)
|
macro(__darwin_compiler_clang lang)
|
||||||
|
set(CMAKE_${lang}_VERBOSE_FLAG "-v -Wl,-v") # also tell linker to print verbose output
|
||||||
set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-dynamiclib -Wl,-headerpad_max_install_names")
|
set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-dynamiclib -Wl,-headerpad_max_install_names")
|
||||||
set(CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS "-bundle -Wl,-headerpad_max_install_names")
|
set(CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS "-bundle -Wl,-headerpad_max_install_names")
|
||||||
set(CMAKE_${lang}_SYSROOT_FLAG "-isysroot")
|
set(CMAKE_${lang}_SYSROOT_FLAG "-isysroot")
|
||||||
|
|
|
@ -19,6 +19,7 @@ endif()
|
||||||
set(__DARWIN_COMPILER_GNU 1)
|
set(__DARWIN_COMPILER_GNU 1)
|
||||||
|
|
||||||
macro(__darwin_compiler_gnu lang)
|
macro(__darwin_compiler_gnu lang)
|
||||||
|
set(CMAKE_${lang}_VERBOSE_FLAG "-v -Wl,-v") # also tell linker to print verbose output
|
||||||
# GNU does not have -shared on OS X
|
# GNU does not have -shared on OS X
|
||||||
set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-dynamiclib -Wl,-headerpad_max_install_names")
|
set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-dynamiclib -Wl,-headerpad_max_install_names")
|
||||||
set(CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS "-bundle -Wl,-headerpad_max_install_names")
|
set(CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS "-bundle -Wl,-headerpad_max_install_names")
|
||||||
|
|
|
@ -102,30 +102,127 @@ list(APPEND platforms linux64_test1)
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
# Mac
|
# Mac
|
||||||
|
|
||||||
|
# gcc -arch i686 dummy.c -v -Wl,-v
|
||||||
|
set(mac_i686_gcc_Wlv_text " /usr/libexec/gcc/i686-apple-darwin10/4.2.1/collect2 -dynamic -arch i386 -macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out -lcrt1.10.6.o -L/usr/lib/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../../i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../.. /var/tmp//ccnhXAGL.o -lSystem -lgcc -lSystem
|
||||||
|
collect2 version 4.2.1 (Apple Inc. build 5646) (i686 Darwin)
|
||||||
|
/usr/libexec/gcc/i686-apple-darwin10/4.2.1/ld -dynamic -arch i386 -macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out -lcrt1.10.6.o -L/usr/lib/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../../i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../.. /var/tmp//ccSiuUhD.o -v -lSystem -lgcc -lSystem
|
||||||
|
@(#)PROGRAM:ld PROJECT:ld64-95.2.12
|
||||||
|
Library search paths:
|
||||||
|
/usr/lib/i686-apple-darwin10/4.2.1
|
||||||
|
/usr/lib/gcc/i686-apple-darwin10/4.2.1
|
||||||
|
/usr/lib/gcc/i686-apple-darwin10/4.2.1
|
||||||
|
/usr/lib/i686-apple-darwin10/4.2.1
|
||||||
|
/usr/lib
|
||||||
|
/usr/lib
|
||||||
|
/usr/local/lib
|
||||||
|
Framework search paths:
|
||||||
|
/Library/Frameworks/
|
||||||
|
/System/Library/Frameworks/")
|
||||||
|
set(mac_i686_gcc_Wlv_libs "")
|
||||||
|
set(mac_i686_gcc_Wlv_dirs "/usr/lib/i686-apple-darwin10/4.2.1;/usr/lib/gcc/i686-apple-darwin10/4.2.1;/usr/lib;/usr/local/lib")
|
||||||
|
list(APPEND platforms mac_i686_gcc_Wlv)
|
||||||
|
|
||||||
# gcc -arch i686 dummy.c -v
|
# gcc -arch i686 dummy.c -v
|
||||||
set(mac_i686_gcc_text " /usr/libexec/gcc/i686-apple-darwin10/4.2.1/collect2 -dynamic -arch i386 -macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out -lcrt1.10.6.o -L/usr/lib/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../../i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../.. /var/tmp//ccnhXAGL.o -lSystem -lgcc -lSystem")
|
set(mac_i686_gcc_text " /usr/libexec/gcc/i686-apple-darwin10/4.2.1/collect2 -dynamic -arch i386 -macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out -lcrt1.10.6.o -L/usr/lib/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../../i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../.. /var/tmp//ccnhXAGL.o -lSystem -lgcc -lSystem")
|
||||||
set(mac_i686_gcc_libs "")
|
set(mac_i686_gcc_libs "")
|
||||||
set(mac_i686_gcc_dirs "/usr/lib/i686-apple-darwin10/4.2.1;/usr/lib/gcc/i686-apple-darwin10/4.2.1;/usr/lib")
|
set(mac_i686_gcc_dirs "/usr/lib/i686-apple-darwin10/4.2.1;/usr/lib/gcc/i686-apple-darwin10/4.2.1;/usr/lib")
|
||||||
list(APPEND platforms mac_i686_gcc)
|
list(APPEND platforms mac_i686_gcc)
|
||||||
|
|
||||||
|
# g++ -arch i686 dummy.cxx -v -Wl,-v
|
||||||
|
set(mac_i686_g++_Wlv_text " /usr/libexec/gcc/i686-apple-darwin10/4.2.1/collect2 -dynamic -arch i386 -macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out -lcrt1.10.6.o -L/usr/lib/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../../i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../.. /var/tmp//ccEXXICh.o -lstdc++ -lSystem -lgcc -lSystem
|
||||||
|
collect2 version 4.2.1 (Apple Inc. build 5646) (i686 Darwin)
|
||||||
|
/usr/libexec/gcc/i686-apple-darwin10/4.2.1/ld -dynamic -arch i386 -macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out -lcrt1.10.6.o -L/usr/lib/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../../i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../.. /var/tmp//ccWrBoVl.o -v -lstdc++ -lSystem -lgcc -lSystem
|
||||||
|
@(#)PROGRAM:ld PROJECT:ld64-95.2.12
|
||||||
|
Library search paths:
|
||||||
|
/usr/lib/i686-apple-darwin10/4.2.1
|
||||||
|
/usr/lib/gcc/i686-apple-darwin10/4.2.1
|
||||||
|
/usr/lib/gcc/i686-apple-darwin10/4.2.1
|
||||||
|
/usr/lib/i686-apple-darwin10/4.2.1
|
||||||
|
/usr/lib
|
||||||
|
/usr/lib
|
||||||
|
/usr/local/lib
|
||||||
|
Framework search paths:
|
||||||
|
/Library/Frameworks/
|
||||||
|
/System/Library/Frameworks/")
|
||||||
|
set(mac_i686_g++_Wlv_libs "stdc++")
|
||||||
|
set(mac_i686_g++_Wlv_dirs "/usr/lib/i686-apple-darwin10/4.2.1;/usr/lib/gcc/i686-apple-darwin10/4.2.1;/usr/lib;/usr/local/lib")
|
||||||
|
list(APPEND platforms mac_i686_g++_Wlv)
|
||||||
|
|
||||||
# g++ -arch i686 dummy.cxx -v
|
# g++ -arch i686 dummy.cxx -v
|
||||||
set(mac_i686_g++_text " /usr/libexec/gcc/i686-apple-darwin10/4.2.1/collect2 -dynamic -arch i386 -macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out -lcrt1.10.6.o -L/usr/lib/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../../i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../.. /var/tmp//ccEXXICh.o -lstdc++ -lSystem -lgcc -lSystem")
|
set(mac_i686_g++_text " /usr/libexec/gcc/i686-apple-darwin10/4.2.1/collect2 -dynamic -arch i386 -macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out -lcrt1.10.6.o -L/usr/lib/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../../i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../.. /var/tmp//ccEXXICh.o -lstdc++ -lSystem -lgcc -lSystem")
|
||||||
set(mac_i686_g++_libs "stdc++")
|
set(mac_i686_g++_libs "stdc++")
|
||||||
set(mac_i686_g++_dirs "/usr/lib/i686-apple-darwin10/4.2.1;/usr/lib/gcc/i686-apple-darwin10/4.2.1;/usr/lib")
|
set(mac_i686_g++_dirs "/usr/lib/i686-apple-darwin10/4.2.1;/usr/lib/gcc/i686-apple-darwin10/4.2.1;/usr/lib")
|
||||||
list(APPEND platforms mac_i686_g++)
|
list(APPEND platforms mac_i686_g++)
|
||||||
|
|
||||||
|
# gfortran dummy.f -v -Wl,-v
|
||||||
|
set(mac_i686_gfortran_Wlv_text " /usr/local/libexec/gcc/i386-apple-darwin9.7.0/4.4.1/collect2 -dynamic -arch i386 -macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out -lcrt1.10.5.o -L/usr/local/lib/gcc/i386-apple-darwin9.7.0/4.4.1 -L/usr/local/lib/gcc/i386-apple-darwin9.7.0/4.4.1/../../.. /var/tmp//cc9zXNax.o -v -lgfortranbegin -lgfortran -lgcc_s.10.5 -lgcc -lSystem
|
||||||
|
collect2 version 4.4.1 20090623 (prerelease) (i686 Darwin)
|
||||||
|
/usr/bin/ld -dynamic -arch i386 -macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out -lcrt1.10.5.o -L/usr/local/lib/gcc/i386-apple-darwin9.7.0/4.4.1 -L/usr/local/lib/gcc/i386-apple-darwin9.7.0/4.4.1/../../.. /var/tmp//cc9zXNax.o -v -lgfortranbegin -lgfortran -lgcc_s.10.5 -lgcc -lSystem
|
||||||
|
@(#)PROGRAM:ld PROJECT:ld64-95.2.12
|
||||||
|
Library search paths:
|
||||||
|
/usr/local/lib/gcc/i386-apple-darwin9.7.0/4.4.1
|
||||||
|
/usr/local/lib
|
||||||
|
/usr/lib
|
||||||
|
/usr/local/lib
|
||||||
|
Framework search paths:
|
||||||
|
/Library/Frameworks/
|
||||||
|
/System/Library/Frameworks/")
|
||||||
|
set(mac_i686_gfortran_Wlv_libs "gfortranbegin;gfortran")
|
||||||
|
set(mac_i686_gfortran_Wlv_dirs "/usr/local/lib/gcc/i386-apple-darwin9.7.0/4.4.1;/usr/local/lib;/usr/lib")
|
||||||
|
list(APPEND platforms mac_i686_gfortran_Wlv)
|
||||||
|
|
||||||
# gfortran dummy.f -v
|
# gfortran dummy.f -v
|
||||||
set(mac_i686_gfortran_text " /usr/libexec/gcc/i386-apple-darwin9.7.0/4.4.1/collect2 -dynamic -arch i386 -macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out -lcrt1.10.5.o -L/usr/lib/gcc/i386-apple-darwin9.7.0/4.4.1 -L/usr/lib/gcc -L/usr/lib/gcc/i386-apple-darwin9.7.0/4.4.1/../../.. /var/tmp//ccgqbX5P.o -lgfortranbegin -lgfortran -lgcc_s.10.5 -lgcc -lSystem")
|
set(mac_i686_gfortran_text " /usr/libexec/gcc/i386-apple-darwin9.7.0/4.4.1/collect2 -dynamic -arch i386 -macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out -lcrt1.10.5.o -L/usr/lib/gcc/i386-apple-darwin9.7.0/4.4.1 -L/usr/lib/gcc -L/usr/lib/gcc/i386-apple-darwin9.7.0/4.4.1/../../.. /var/tmp//ccgqbX5P.o -lgfortranbegin -lgfortran -lgcc_s.10.5 -lgcc -lSystem")
|
||||||
set(mac_i686_gfortran_libs "gfortranbegin;gfortran")
|
set(mac_i686_gfortran_libs "gfortranbegin;gfortran")
|
||||||
set(mac_i686_gfortran_dirs "/usr/lib/gcc/i386-apple-darwin9.7.0/4.4.1;/usr/lib/gcc;/usr/lib")
|
set(mac_i686_gfortran_dirs "/usr/lib/gcc/i386-apple-darwin9.7.0/4.4.1;/usr/lib/gcc;/usr/lib")
|
||||||
list(APPEND platforms mac_i686_gfortran)
|
list(APPEND platforms mac_i686_gfortran)
|
||||||
|
|
||||||
|
# gcc -arch ppc dummy.c -v -Wl,-v
|
||||||
|
set(mac_ppc_gcc_Wlv_text " /usr/libexec/gcc/powerpc-apple-darwin10/4.2.1/collect2 -dynamic -arch ppc -macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out -lcrt1.10.5.o -L/usr/lib/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../../powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../.. /var/tmp//cclziQY4.o -v -lgcc -lSystemStubs -lSystem
|
||||||
|
collect2 version 4.2.1 (Apple Inc. build 5646) (Darwin/PowerPC)
|
||||||
|
/usr/libexec/gcc/powerpc-apple-darwin10/4.2.1/ld -dynamic -arch ppc -macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out -lcrt1.10.5.o -L/usr/lib/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../../powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../.. /var/tmp//cclziQY4.o -v -lgcc -lSystemStubs -lSystem
|
||||||
|
@(#)PROGRAM:ld PROJECT:ld64-95.2.12
|
||||||
|
Library search paths:
|
||||||
|
/usr/lib/powerpc-apple-darwin10/4.2.1
|
||||||
|
/usr/lib/gcc/powerpc-apple-darwin10/4.2.1
|
||||||
|
/usr/lib/gcc/powerpc-apple-darwin10/4.2.1
|
||||||
|
/usr/lib/powerpc-apple-darwin10/4.2.1
|
||||||
|
/usr/lib
|
||||||
|
/usr/lib
|
||||||
|
/usr/local/lib
|
||||||
|
Framework search paths:
|
||||||
|
/Library/Frameworks/
|
||||||
|
/System/Library/Frameworks/")
|
||||||
|
set(mac_ppc_gcc_Wlv_libs "")
|
||||||
|
set(mac_ppc_gcc_Wlv_dirs "/usr/lib/powerpc-apple-darwin10/4.2.1;/usr/lib/gcc/powerpc-apple-darwin10/4.2.1;/usr/lib;/usr/local/lib")
|
||||||
|
list(APPEND platforms mac_ppc_gcc_Wlv)
|
||||||
|
|
||||||
# gcc -arch ppc dummy.c -v
|
# gcc -arch ppc dummy.c -v
|
||||||
set(mac_ppc_gcc_text " /usr/libexec/gcc/powerpc-apple-darwin10/4.2.1/collect2 -dynamic -arch ppc -macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out -lcrt1.10.5.o -L/usr/lib/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../../powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../.. /var/tmp//ccdcolsP.o -lgcc -lSystemStubs -lSystem")
|
set(mac_ppc_gcc_text " /usr/libexec/gcc/powerpc-apple-darwin10/4.2.1/collect2 -dynamic -arch ppc -macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out -lcrt1.10.5.o -L/usr/lib/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../../powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../.. /var/tmp//ccdcolsP.o -lgcc -lSystemStubs -lSystem")
|
||||||
set(mac_ppc_gcc_libs "")
|
set(mac_ppc_gcc_libs "")
|
||||||
set(mac_ppc_gcc_dirs "/usr/lib/powerpc-apple-darwin10/4.2.1;/usr/lib/gcc/powerpc-apple-darwin10/4.2.1;/usr/lib")
|
set(mac_ppc_gcc_dirs "/usr/lib/powerpc-apple-darwin10/4.2.1;/usr/lib/gcc/powerpc-apple-darwin10/4.2.1;/usr/lib")
|
||||||
list(APPEND platforms mac_ppc_gcc)
|
list(APPEND platforms mac_ppc_gcc)
|
||||||
|
|
||||||
|
# g++ -arch ppc dummy.cxx -v -Wl,-v
|
||||||
|
set(mac_ppc_g++_Wlv_text " /usr/libexec/gcc/powerpc-apple-darwin10/4.2.1/collect2 -dynamic -arch ppc -macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out -lcrt1.10.5.o -L/usr/lib/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../../powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../.. /var/tmp//ccaFTkwq.o -v -lstdc++ -lgcc -lSystemStubs -lSystem
|
||||||
|
collect2 version 4.2.1 (Apple Inc. build 5646) (Darwin/PowerPC)
|
||||||
|
/usr/libexec/gcc/powerpc-apple-darwin10/4.2.1/ld -dynamic -arch ppc -macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out -lcrt1.10.5.o -L/usr/lib/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../../powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../.. /var/tmp//ccaFTkwq.o -v -lstdc++ -lgcc -lSystemStubs -lSystem
|
||||||
|
@(#)PROGRAM:ld PROJECT:ld64-95.2.12
|
||||||
|
Library search paths:
|
||||||
|
/usr/lib/powerpc-apple-darwin10/4.2.1
|
||||||
|
/usr/lib/gcc/powerpc-apple-darwin10/4.2.1
|
||||||
|
/usr/lib/gcc/powerpc-apple-darwin10/4.2.1
|
||||||
|
/usr/lib/powerpc-apple-darwin10/4.2.1
|
||||||
|
/usr/lib
|
||||||
|
/usr/lib
|
||||||
|
/usr/local/lib
|
||||||
|
Framework search paths:
|
||||||
|
/Library/Frameworks/
|
||||||
|
/System/Library/Frameworks/")
|
||||||
|
set(mac_ppc_g++_Wlv_libs "stdc++")
|
||||||
|
set(mac_ppc_g++_Wlv_dirs "/usr/lib/powerpc-apple-darwin10/4.2.1;/usr/lib/gcc/powerpc-apple-darwin10/4.2.1;/usr/lib;/usr/local/lib")
|
||||||
|
list(APPEND platforms mac_ppc_g++_Wlv)
|
||||||
|
|
||||||
# g++ -arch ppc dummy.cxx -v
|
# g++ -arch ppc dummy.cxx -v
|
||||||
set(mac_ppc_g++_text " /usr/libexec/gcc/powerpc-apple-darwin10/4.2.1/collect2 -dynamic -arch ppc -macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out -lcrt1.10.5.o -L/usr/lib/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../../powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../.. /var/tmp//ccbjB6Lj.o -lstdc++ -lgcc -lSystemStubs -lSystem")
|
set(mac_ppc_g++_text " /usr/libexec/gcc/powerpc-apple-darwin10/4.2.1/collect2 -dynamic -arch ppc -macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out -lcrt1.10.5.o -L/usr/lib/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../../powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../.. /var/tmp//ccbjB6Lj.o -lstdc++ -lgcc -lSystemStubs -lSystem")
|
||||||
set(mac_ppc_g++_libs "stdc++")
|
set(mac_ppc_g++_libs "stdc++")
|
||||||
|
|
Loading…
Reference in New Issue