[90028] branches/release_2_0/base
jberry at macports.org
jberry at macports.org
Sun Feb 19 16:14:17 PST 2012
Revision: 90028
http://trac.macports.org/changeset/90028
Author: jberry at macports.org
Date: 2012-02-19 16:14:16 -0800 (Sun, 19 Feb 2012)
Log Message:
-----------
Merge from trunk: r88540,r88541,r88546,r88777,r88779,r88787,r89359,r89984
Use xcrun -find to find xcode compiler if it's not found in /usr/bin.
Revision Links:
--------------
http://trac.macports.org/changeset/88540
http://trac.macports.org/changeset/88541
http://trac.macports.org/changeset/88546
http://trac.macports.org/changeset/88777
http://trac.macports.org/changeset/88779
http://trac.macports.org/changeset/88787
http://trac.macports.org/changeset/89359
http://trac.macports.org/changeset/89984
Modified Paths:
--------------
branches/release_2_0/base/configure
branches/release_2_0/base/configure.ac
branches/release_2_0/base/src/port1.0/port_autoconf.tcl.in
branches/release_2_0/base/src/port1.0/portconfigure.tcl
Property Changed:
----------------
branches/release_2_0/base/
Property changes on: branches/release_2_0/base
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/gsoc08-privileges/base:37343-46937
/branches/gsoc09-logging/base:51231-60371
/branches/universal-sanity/base:51872-52323
/branches/variant-descs-14482/base:34469-34855,34900-37508,37511-37512,41040-41463,42575-42626,42640-42659
/trunk/base:79584,79586,79590-79594,79599-79600,79649,79686,79689,79692,79750,79762,79771-79774,79782,79787,79864,79943,80069,80088,80178,80220,80222,80224,80226,80229,80245,80287,80335,80443,80581,80583,80586,80779,80797-80798,80894,80928,80932,80934,80969,80971,81005,81119,81146,81171,81234,81269,81361,81371,81414-81415,81454,81464,81467,81475,81522,81556-81558,81562,81565,81567,81577,81630,81657,81830-81832,82111,82135,82767,82921,82924,82947,83136,83149,83267,83270-83271,83391,83395,83443,83471,83537,84351,88045,88179,88185,89988,89993-89994,90000,90002,90004,90010,90020
/users/perry/base-bugs_and_notes:45682-46060
/users/perry/base-select:44044-44692
+ /branches/gsoc08-privileges/base:37343-46937
/branches/gsoc09-logging/base:51231-60371
/branches/universal-sanity/base:51872-52323
/branches/variant-descs-14482/base:34469-34855,34900-37508,37511-37512,41040-41463,42575-42626,42640-42659
/trunk/base:79584,79586,79590-79594,79599-79600,79649,79686,79689,79692,79750,79762,79771-79774,79782,79787,79864,79943,80069,80088,80178,80220,80222,80224,80226,80229,80245,80287,80335,80443,80581,80583,80586,80779,80797-80798,80894,80928,80932,80934,80969,80971,81005,81119,81146,81171,81234,81269,81361,81371,81414-81415,81454,81464,81467,81475,81522,81556-81558,81562,81565,81567,81577,81630,81657,81830-81832,82111,82135,82767,82921,82924,82947,83136,83149,83267,83270-83271,83391,83395,83443,83471,83537,84351,88045,88179,88185,88540-88541,88546,88777,88779,88787,89359,89984,89988,89993-89994,90000,90002,90004,90010,90020
/users/perry/base-bugs_and_notes:45682-46060
/users/perry/base-select:44044-44692
Modified: branches/release_2_0/base/configure
===================================================================
--- branches/release_2_0/base/configure 2012-02-19 23:52:28 UTC (rev 90027)
+++ branches/release_2_0/base/configure 2012-02-20 00:14:16 UTC (rev 90028)
@@ -689,6 +689,7 @@
GNUPATCH
GNUMAKE
GNUTAR
+XCRUN
XCODEBUILD
LAUNCHCTL
HAVE_LAUNCHD
@@ -5325,6 +5326,46 @@
fi
+# Extract the first word of "xcrun", so it can be a program name with args.
+set dummy xcrun; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_XCRUN+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $XCRUN in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_XCRUN="$XCRUN" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_XCRUN="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+XCRUN=$ac_cv_path_XCRUN
+if test -n "$XCRUN"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XCRUN" >&5
+$as_echo "$XCRUN" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
for ac_prog in gnutar gtar
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
Modified: branches/release_2_0/base/configure.ac
===================================================================
--- branches/release_2_0/base/configure.ac 2012-02-19 23:52:28 UTC (rev 90027)
+++ branches/release_2_0/base/configure.ac 2012-02-20 00:14:16 UTC (rev 90028)
@@ -115,6 +115,7 @@
AC_CHECK_PROG(HAVE_LAUNCHD, [launchd], [yes], [])
AC_PATH_PROG(LAUNCHCTL, [launchctl], [])
AC_PATH_PROG(XCODEBUILD, [xcodebuild], [])
+AC_PATH_PROG(XCRUN, [xcrun], [])
AC_PATH_PROGS(GNUTAR, [gnutar gtar], [], [$PATH:/usr/local/bin])
AC_PATH_PROGS(GNUMAKE, [gnumake gmake], [], [$PATH:/usr/local/bin])
AC_PATH_PROGS(GNUPATCH, [gnupatch gpatch], [], [$PATH:/usr/local/bin])
Modified: branches/release_2_0/base/src/port1.0/port_autoconf.tcl.in
===================================================================
--- branches/release_2_0/base/src/port1.0/port_autoconf.tcl.in 2012-02-19 23:52:28 UTC (rev 90027)
+++ branches/release_2_0/base/src/port1.0/port_autoconf.tcl.in 2012-02-20 00:14:16 UTC (rev 90028)
@@ -62,6 +62,9 @@
variable mtree_path "@MTREE@"
variable pax_path "@PAX@"
variable xar_path "@XAR@"
+ variable xcode_select_path "@XCODE_SELECT@"
+ variable xcodebuild_path "@XCODEBUILD@"
+ variable xcrun_path "@XCRUN@"
variable sed_command "@SED@"
variable sed_ext_flag "@SED_EXT@"
variable tar_command "@TAR_CMD@"
Modified: branches/release_2_0/base/src/port1.0/portconfigure.tcl
===================================================================
--- branches/release_2_0/base/src/port1.0/portconfigure.tcl 2012-02-19 23:52:28 UTC (rev 90027)
+++ branches/release_2_0/base/src/port1.0/portconfigure.tcl 2012-02-20 00:14:16 UTC (rev 90028)
@@ -372,6 +372,29 @@
}
}
+# Find a developer tool
+proc portconfigure::find_developer_tool {name} {
+ global developer_dir
+
+ # first try /usr/bin since this doesn't move around
+ set toolpath "/usr/bin/${name}"
+ if {[file executable $toolpath]} {
+ return $toolpath
+ }
+
+ # Use xcode's xcrun to find the named tool.
+ if {![catch {exec [findBinary xcrun $portutil::autoconf::xcrun_path] -find ${name}} toolpath]} {
+ return ${toolpath}
+ }
+
+ # If xcrun failed to find the tool, return a path from
+ # the developer_dir.
+ # The tool may not be there, but we'll leave it up to
+ # the invoking code to figure out that it doesn't have
+ # a valid compiler
+ return "${developer_dir}/usr/bin/${name}"
+}
+
# internal function to find correct compilers
proc portconfigure::configure_get_compiler {type} {
global configure.compiler prefix developer_dir
@@ -379,42 +402,42 @@
switch -exact ${configure.compiler} {
cc {
switch -exact ${type} {
- cc { set ret /usr/bin/cc }
- objc { set ret /usr/bin/cc }
- cxx { set ret /usr/bin/c++ }
- cpp { set ret /usr/bin/cpp }
+ cc { set ret [find_developer_tool cc] }
+ objc { set ret [find_developer_tool cc] }
+ cxx { set ret [find_developer_tool c++] }
+ cpp { set ret [find_developer_tool cpp] }
}
}
gcc {
switch -exact ${type} {
- cc { set ret /usr/bin/gcc }
- objc { set ret /usr/bin/gcc }
- cxx { set ret /usr/bin/g++ }
- cpp { set ret /usr/bin/cpp }
+ cc { set ret [find_developer_tool gcc] }
+ objc { set ret [find_developer_tool gcc] }
+ cxx { set ret [find_developer_tool g++] }
+ cpp { set ret [find_developer_tool cpp] }
}
}
gcc-3.3 {
switch -exact ${type} {
- cc { set ret /usr/bin/gcc-3.3 }
- objc { set ret /usr/bin/gcc-3.3 }
- cxx { set ret /usr/bin/g++-3.3 }
- cpp { set ret /usr/bin/cpp-3.3 }
+ cc { set ret [find_developer_tool gcc-3.3] }
+ objc { set ret [find_developer_tool gcc-3.3] }
+ cxx { set ret [find_developer_tool g++-3.3] }
+ cpp { set ret [find_developer_tool cpp-3.3] }
}
}
gcc-4.0 {
switch -exact ${type} {
- cc { set ret /usr/bin/gcc-4.0 }
- objc { set ret /usr/bin/gcc-4.0 }
- cxx { set ret /usr/bin/g++-4.0 }
- cpp { set ret /usr/bin/cpp-4.0 }
+ cc { set ret [find_developer_tool gcc-4.0] }
+ objc { set ret [find_developer_tool gcc-4.0] }
+ cxx { set ret [find_developer_tool g++-4.0] }
+ cpp { set ret [find_developer_tool cpp-4.0] }
}
}
gcc-4.2 {
switch -exact ${type} {
- cc { set ret /usr/bin/gcc-4.2 }
- objc { set ret /usr/bin/gcc-4.2 }
- cxx { set ret /usr/bin/g++-4.2 }
- cpp { set ret /usr/bin/cpp-4.2 }
+ cc { set ret [find_developer_tool gcc-4.2] }
+ objc { set ret [find_developer_tool gcc-4.2] }
+ cxx { set ret [find_developer_tool g++-4.2] }
+ cpp { set ret [find_developer_tool cpp-4.2] }
}
}
llvm-gcc-4.2 {
@@ -424,21 +447,22 @@
set llvm_prefix ${developer_dir}
}
switch -exact ${type} {
- cc { set ret ${llvm_prefix}/usr/bin/llvm-gcc-4.2 }
- objc { set ret ${llvm_prefix}/usr/bin/llvm-gcc-4.2 }
- cxx { set ret ${llvm_prefix}/usr/bin/llvm-g++-4.2 }
- cpp { set ret ${llvm_prefix}/usr/bin/llvm-cpp-4.2 }
+ cc { set ret [find_developer_tool llvm-gcc-4.2] }
+ objc { set ret [find_developer_tool llvm-gcc-4.2] }
+ cxx { set ret [find_developer_tool llvm-g++-4.2] }
+ cpp { set ret [find_developer_tool llvm-cpp-4.2] }
}
}
clang {
switch -exact ${type} {
- cc { set ret /usr/bin/clang }
- objc { set ret /usr/bin/clang }
+ cc { set ret [find_developer_tool clang] }
+ objc { set ret [find_developer_tool clang] }
cxx {
- if {[file executable /usr/bin/clang++]} {
- set ret /usr/bin/clang++
+ set clangpp [find_developer_tool clang++]
+ if {[file executable ${clangpp}]} {
+ set ret ${clangpp}
} else {
- set ret /usr/bin/llvm-g++-4.2
+ set ret [find_developer_tool llvm-g++-4.2]
}
}
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20120219/f40e7c19/attachment.html>
More information about the macports-changes
mailing list