tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: clang support (was: [HEADS-UP] Freeze in Preparation for pkgsrc-2010Q4 Branch)



> 1. Bootstrap
> 
> Bootstrapping unconditionaly sets CC to gcc. I think this should be possible 
> to override:
> 
> Index: bootstrap/bootstrap
> ===================================================================
> RCS file: /cvsroot/pkgsrc/bootstrap/bootstrap,v
> retrieving revision 1.159
> diff -u -r1.159 bootstrap
> --- bootstrap/bootstrap 30 Aug 2010 06:21:49 -0000 1.159
> +++ bootstrap/bootstrap 25 Dec 2010 16:35:35 -0000
> @@ -472,7 +472,7 @@
> set_opsys=no
> [ -z "$fetch_cmd" ] && fetch_cmd="/usr/bin/ftp"
> machine_arch=`uname -p`
> - CC="gcc -isystem /usr/include"; export CC
> + CC=${CC:-"gcc -isystem /usr/include"}; export CC
> osrev=`uname -r`
> macosx_version=`echo $osrev | awk -F . '{ print "10."1ドル-4; }'`
> case "$macosx_version" in
Committed.
For bootstraping, providing --compiler=clang is not enough. CC=<path_to>/clang 
must be provided as well.
> 2. ABI
> 
> In bsd.prefs.mk, there is commented-out logic for Snow Leopard to autodetect 
> 32/64Bit API. Could this be enables?
> 
> The value of ABI dosn't actually reflect the ABI clang generates. The 
> following patch to mk/compiler/clang.mk (by adam@) fixes this:
> 
> --- mk/compiler/clang.mk 3 Nov 2010 18:05:05 -0000 1.3
> +++ mk/compiler/clang.mk 24 Dec 2010 19:14:32 -0000
> @@ -49,6 +49,8 @@
> CC_VERSION?= clang
> .endif
> 
> +_COMPILER_ABI_FLAG.32= -m32
> +_COMPILER_ABI_FLAG.64= -m64
> _COMPILER_LD_FLAG= -Wl,
> _LINKER_RPATH_FLAG= -rpath
> _COMPILER_RPATH_FLAG= ${_COMPILER_LD_FLAG}${_LINKER_RPATH_FLAG},
Committed. Also fortran enabled via f2c, as other compilers do.
> 5. Libtool tag
> 
> Several package's makefiles fail to pass a --tag value to libtool
As long as CC and CXX variables don't change in mk.conf between building 
libtool-base and a package, libtool can use a correct tag. So, in mk.conf, 
either do not set CC and CXX, or set CC and CXX to a path to clang, then build 
and install devel/libtool-base, then build a package, and libtool should not 
complain.
Cheers,
Adam


Home | Main Index | Thread Index | Old Index

AltStyle によって変換されたページ (->オリジナル) /