[llvm-commits] [llvm] r96934 - in /llvm/trunk: Makefile.config.in autoconf/configure.ac configure

Chris Lattner clattner at apple.com
Tue Feb 23 09:54:54 PST 2010


On Feb 23, 2010, at 2:00 AM, Daniel Dunbar wrote:

> Author: ddunbar
> Date: Tue Feb 23 04:00:49 2010
> New Revision: 96934
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=96934&view=rev
> Log:
> Initial configure support for using Clang as the LLVM capable compiler.
> 
> Comes in two parts:
> 1. Use --with-clang=path/to/clang/compiler to select an installed clang, or
>    --with-built-clang to have the makefiles use the clang which will be built
>    as the LLVM capable compiler. If neither is given, --with-built-clang will
>    be used if the Clang sources are checked out into the standard location
>    (tools/clang).
> 
> 2. Use --with-llvmcc={llvm-gcc,clang,none} to specify which LLVM capable
>    compiler to use. If not given, then llvm-gcc will be used if available,
>    otherwise Clang.

Sounds good to me.  This means that if I check out llvm and clang, build them, then run tests that it will test  clang.  If I don't check out clang, it will default to testing llvm-gcc?  If so, that sounds good to me!

-Chris


> 
> Makefile support still to come.
> 
> Eric, Doug, Chris, seem reasonable?
> 
> Modified:
>    llvm/trunk/Makefile.config.in
>    llvm/trunk/autoconf/configure.ac
>    llvm/trunk/configure
> 
> Modified: llvm/trunk/Makefile.config.in
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/Makefile.config.in?rev=96934&r1=96933&r2=96934&view=diff
> ==============================================================================
> --- llvm/trunk/Makefile.config.in (original)
> +++ llvm/trunk/Makefile.config.in Tue Feb 23 04:00:49 2010
> @@ -190,6 +190,14 @@
> LLVMCC1PLUS := @LLVMCC1PLUS@
> LLVMGCC_LANGS := @LLVMGCC_LANGS@
> 
> +# Information on Clang, if configured.
> +CLANGPATH := @CLANGPATH@
> +CLANGXXPATH := @CLANGXXPATH@
> +ENABLE_BUILT_CLANG := @ENABLE_BUILT_CLANG@
> +
> +# The LLVM capable compiler to use.
> +LLVMCC_OPTION := @LLVMCC_OPTION@
> +
> # Path to directory where object files should be stored during a build.
> # Set OBJ_ROOT to "." if you do not want to use a separate place for
> # object files.
> 
> Modified: llvm/trunk/autoconf/configure.ac
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/autoconf/configure.ac?rev=96934&r1=96933&r2=96934&view=diff
> ==============================================================================
> --- llvm/trunk/autoconf/configure.ac (original)
> +++ llvm/trunk/autoconf/configure.ac Tue Feb 23 04:00:49 2010
> @@ -612,6 +612,56 @@
>    AC_MSG_ERROR([Invalid llvm-gcc. Use --with-llvmgcc when --with-llvmgxx is used]);
> fi
> 
> +dnl Allow a specific Clang compiler to be used with this LLVM config.
> +AC_ARG_WITH(clang,
> +  AS_HELP_STRING([--with-clang],
> +    [Specify location of clang compiler (default is --with-built-clang)]),
> +    [],[with_clang=default])
> +
> +dnl Enable use of the built Clang.
> +AC_ARG_WITH(built-clang,
> +  AS_HELP_STRING([--with-built-clang],
> +    [Use the compiled Clang as the LLVM compiler (default=check)]),
> +    [],[with_built_clang=check])
> +
> +dnl Select the Clang compiler option.
> +dnl
> +dnl If --with-clang is given, always honor that; otherwise honor
> +dnl --with-built-clang, or check if we have the clang sources.
> +AC_MSG_CHECKING([clang compiler])
> +WITH_CLANGPATH=""
> +WITH_BUILT_CLANG=0
> +if test "$with_clang" != "default"; then
> +   WITH_CLANGPATH="$with_clang"
> +   if ! test -x "$WITH_CLANGPATH"; then
> +     AC_MSG_ERROR([invalid --with-clang, path does not specify an executable])
> +   fi
> +elif test "$with_built_clang" = "yes"; then
> +   WITH_BUILT_CLANG=1
> +elif test "$with_built_clang" = "no"; then
> +   WITH_BUILT_CLANG=0
> +else
> +   if test "$with_built_clang" != "check"; then
> +      AC_MSG_ERROR([invalid value for --with-built-clang.])
> +   fi
> +
> +   if test -f ${srcdir}/tools/clang/README.txt; then
> +     WITH_BUILT_CLANG=1
> +   fi
> +fi
> +
> +if ! test -z "$WITH_CLANGPATH"; then
> +   AC_MSG_RESULT([$WITH_CLANGPATH])
> +   WITH_CLANGXXPATH=`"$WITH_CLANGPATH" --print-prog-name=clang++`
> +elif test "$WITH_BUILT_CLANG" = "1"; then
> +   AC_MSG_RESULT([built])
> +else
> +   AC_MSG_RESULT([none])
> +fi
> +AC_SUBST(CLANGPATH,$WITH_CLANGPATH)
> +AC_SUBST(CLANGXXPATH,$WITH_CLANGXXPATH)
> +AC_SUBST(ENABLE_BUILT_CLANG,$WITH_BUILT_CLANG)
> +
> dnl Override the option to use for optimized builds.
> AC_ARG_WITH(optimize-option,
>   AS_HELP_STRING([--with-optimize-option],
> @@ -946,6 +996,29 @@
>   AC_SUBST(LLVMGXXCOMMAND,$LLVMGXXCOMMAND)
> fi
> 
> +dnl Select the LLVM capable compiler to use, we default to using llvm-gcc if
> +dnl found, otherwise clang if available.
> +AC_ARG_WITH(llvmcc,
> +  AS_HELP_STRING([--with-llvmcc=<name>],
> +    [Choose the LLVM capable compiler to use (llvm-gcc, clang, or none; default=check)]),
> +    [],[with_llvmcc=check])
> +AC_MSG_CHECKING([LLVM capable compiler])
> +if test "$with_llvmcc" != "check"; then
> +   if (test "$with_llvmcc" != "llvm-gcc" &&
> +       test "$with_llvmcc" != "clang" &&
> +       test "$with_llvmcc" != "none"); then
> +      AC_MSG_ERROR([invalid value for --with-llvmcc, expected 'llvm-gcc', 'clang', or 'none'.])
> +   fi
> +   WITH_LLVMCC="$with_llvmcc"
> +elif test -n "$LLVMGCC"; then
> +   WITH_LLVMCC=llvm-gcc
> +elif test -n "$WITH_CLANGPATH" || test "$WITH_BUILT_CLANG" -ne "0"; then
> +   WITH_LLVMCC=clang
> +else
> +   WITH_LLVMCC=none
> +fi
> +AC_MSG_RESULT([$WITH_LLVMCC])
> +AC_SUBST(LLVMCC_OPTION,$WITH_LLVMCC)
> 
> AC_MSG_CHECKING([tool compatibility])
> 
> 
> Modified: llvm/trunk/configure
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/configure?rev=96934&r1=96933&r2=96934&view=diff
> ==============================================================================
> --- llvm/trunk/configure (original)
> +++ llvm/trunk/configure Tue Feb 23 04:00:49 2010
> @@ -695,6 +695,9 @@
> LLVM_ENUM_ASM_PARSERS
> LLVM_ENUM_DISASSEMBLERS
> ENABLE_CBE_PRINTF_A
> +CLANGPATH
> +CLANGXXPATH
> +ENABLE_BUILT_CLANG
> OPTIMIZE_OPTION
> EXTRA_OPTIONS
> BINUTILS_INCDIR
> @@ -754,6 +757,7 @@
> LLVMGXXCOMMAND
> LLVMGCC
> LLVMGXX
> +LLVMCC_OPTION
> NO_VARIADIC_MACROS
> NO_MISSING_FIELD_INITIALIZERS
> USE_UDIS86
> @@ -1423,6 +1427,10 @@
>                           searches PATH)
>   --with-llvmgxx          Specify location of llvm-g++ driver (default
>                           searches PATH)
> +  --with-clang            Specify location of clang compiler (default is
> +                          --with-built-clang)
> +  --with-built-clang      Use the compiled Clang as the LLVM compiler
> +                          (default=check)
>   --with-optimize-option  Select the compiler options to use for optimized
>                           builds
>   --with-extra-options    Specify additional options to compile LLVM with
> @@ -1439,6 +1447,8 @@
>   --with-binutils-include Specify path to binutils/include/ containing
>                           plugin-api.h file for gold plugin.
>   --with-tclinclude       directory where tcl headers are
> +  --with-llvmcc=<name>    Choose the LLVM capable compiler to use (llvm-gcc,
> +                          clang, or none; default=check)
>   --with-udis86=<path>    Use udis86 external x86 disassembler library
>   --with-oprofile=<prefix>
>                           Tell OProfile >= 0.9.4 how to symbolize JIT output
> @@ -5026,6 +5036,69 @@
> fi
> 
> 
> +# Check whether --with-clang was given.
> +if test "${with_clang+set}" = set; then
> +  withval=$with_clang;
> +else
> +  with_clang=default
> +fi
> +
> +
> +
> +# Check whether --with-built-clang was given.
> +if test "${with_built_clang+set}" = set; then
> +  withval=$with_built_clang;
> +else
> +  with_built_clang=check
> +fi
> +
> +
> +{ echo "$as_me:$LINENO: checking clang compiler" >&5
> +echo $ECHO_N "checking clang compiler... $ECHO_C" >&6; }
> +WITH_CLANGPATH=""
> +WITH_BUILT_CLANG=0
> +if test "$with_clang" != "default"; then
> +   WITH_CLANGPATH="$with_clang"
> +   if ! test -x "$WITH_CLANGPATH"; then
> +     { { echo "$as_me:$LINENO: error: invalid --with-clang, path does not specify an executable" >&5
> +echo "$as_me: error: invalid --with-clang, path does not specify an executable" >&2;}
> +   { (exit 1); exit 1; }; }
> +   fi
> +elif test "$with_built_clang" = "yes"; then
> +   WITH_BUILT_CLANG=1
> +elif test "$with_built_clang" = "no"; then
> +   WITH_BUILT_CLANG=0
> +else
> +   if test "$with_built_clang" != "check"; then
> +      { { echo "$as_me:$LINENO: error: invalid value for --with-built-clang." >&5
> +echo "$as_me: error: invalid value for --with-built-clang." >&2;}
> +   { (exit 1); exit 1; }; }
> +   fi
> +
> +   if test -f ${srcdir}/tools/clang/README.txt; then
> +     WITH_BUILT_CLANG=1
> +   fi
> +fi
> +
> +if ! test -z "$WITH_CLANGPATH"; then
> +   { echo "$as_me:$LINENO: result: $WITH_CLANGPATH" >&5
> +echo "${ECHO_T}$WITH_CLANGPATH" >&6; }
> +   WITH_CLANGXXPATH=`"$WITH_CLANGPATH" --print-prog-name=clang++`
> +elif test "$WITH_BUILT_CLANG" = "1"; then
> +   { echo "$as_me:$LINENO: result: built" >&5
> +echo "${ECHO_T}built" >&6; }
> +else
> +   { echo "$as_me:$LINENO: result: none" >&5
> +echo "${ECHO_T}none" >&6; }
> +fi
> +CLANGPATH=$WITH_CLANGPATH
> +
> +CLANGXXPATH=$WITH_CLANGXXPATH
> +
> +ENABLE_BUILT_CLANG=$WITH_BUILT_CLANG
> +
> +
> +
> # Check whether --with-optimize-option was given.
> if test "${with_optimize_option+set}" = set; then
>   withval=$with_optimize_option;
> @@ -11032,7 +11105,7 @@
>   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
>   lt_status=$lt_dlunknown
>   cat > conftest.$ac_ext <<EOF
> -#line 11035 "configure"
> +#line 11108 "configure"
> #include "confdefs.h"
> 
> #if HAVE_DLFCN_H
> @@ -12802,6 +12875,36 @@
> fi
> 
> 
> +# Check whether --with-llvmcc was given.
> +if test "${with_llvmcc+set}" = set; then
> +  withval=$with_llvmcc;
> +else
> +  with_llvmcc=check
> +fi
> +
> +{ echo "$as_me:$LINENO: checking LLVM capable compiler" >&5
> +echo $ECHO_N "checking LLVM capable compiler... $ECHO_C" >&6; }
> +if test "$with_llvmcc" != "check"; then
> +   if (test "$with_llvmcc" != "llvm-gcc" &&
> +       test "$with_llvmcc" != "clang" &&
> +       test "$with_llvmcc" != "none"); then
> +      { { echo "$as_me:$LINENO: error: invalid value for --with-llvmcc, expected 'llvm-gcc', 'clang', or 'none'." >&5
> +echo "$as_me: error: invalid value for --with-llvmcc, expected 'llvm-gcc', 'clang', or 'none'." >&2;}
> +   { (exit 1); exit 1; }; }
> +   fi
> +   WITH_LLVMCC="$with_llvmcc"
> +elif test -n "$LLVMGCC"; then
> +   WITH_LLVMCC=llvm-gcc
> +elif test -n "$WITH_CLANGPATH" || test "$WITH_BUILT_CLANG" -ne "0"; then
> +   WITH_LLVMCC=clang
> +else
> +   WITH_LLVMCC=none
> +fi
> +{ echo "$as_me:$LINENO: result: $WITH_LLVMCC" >&5
> +echo "${ECHO_T}$WITH_LLVMCC" >&6; }
> +LLVMCC_OPTION=$WITH_LLVMCC
> +
> +
> { echo "$as_me:$LINENO: checking tool compatibility" >&5
> echo $ECHO_N "checking tool compatibility... $ECHO_C" >&6; }
> 
> @@ -20646,10 +20749,10 @@
> LLVM_ENUM_ASM_PARSERS!$LLVM_ENUM_ASM_PARSERS$ac_delim
> LLVM_ENUM_DISASSEMBLERS!$LLVM_ENUM_DISASSEMBLERS$ac_delim
> ENABLE_CBE_PRINTF_A!$ENABLE_CBE_PRINTF_A$ac_delim
> +CLANGPATH!$CLANGPATH$ac_delim
> +CLANGXXPATH!$CLANGXXPATH$ac_delim
> +ENABLE_BUILT_CLANG!$ENABLE_BUILT_CLANG$ac_delim
> OPTIMIZE_OPTION!$OPTIMIZE_OPTION$ac_delim
> -EXTRA_OPTIONS!$EXTRA_OPTIONS$ac_delim
> -BINUTILS_INCDIR!$BINUTILS_INCDIR$ac_delim
> -ENABLE_LLVMC_DYNAMIC!$ENABLE_LLVMC_DYNAMIC$ac_delim
> _ACEOF
> 
>   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
> @@ -20691,6 +20794,9 @@
> ac_delim='%!_!# '
> for ac_last_try in false false false false false :; do
>   cat >conf$$subs.sed <<_ACEOF
> +EXTRA_OPTIONS!$EXTRA_OPTIONS$ac_delim
> +BINUTILS_INCDIR!$BINUTILS_INCDIR$ac_delim
> +ENABLE_LLVMC_DYNAMIC!$ENABLE_LLVMC_DYNAMIC$ac_delim
> ENABLE_LLVMC_DYNAMIC_PLUGINS!$ENABLE_LLVMC_DYNAMIC_PLUGINS$ac_delim
> CXX!$CXX$ac_delim
> CXXFLAGS!$CXXFLAGS$ac_delim
> @@ -20746,6 +20852,7 @@
> LLVMGXXCOMMAND!$LLVMGXXCOMMAND$ac_delim
> LLVMGCC!$LLVMGCC$ac_delim
> LLVMGXX!$LLVMGXX$ac_delim
> +LLVMCC_OPTION!$LLVMCC_OPTION$ac_delim
> NO_VARIADIC_MACROS!$NO_VARIADIC_MACROS$ac_delim
> NO_MISSING_FIELD_INITIALIZERS!$NO_MISSING_FIELD_INITIALIZERS$ac_delim
> USE_UDIS86!$USE_UDIS86$ac_delim
> @@ -20778,7 +20885,7 @@
> LTLIBOBJS!$LTLIBOBJS$ac_delim
> _ACEOF
> 
> -  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 85; then
> +  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 89; then
>     break
>   elif $ac_last_try; then
>     { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits





More information about the llvm-commits mailing list