On 2018/10/24 16:16, Stuart Henderson wrote: > If you are adding ports which use c++, please make sure they have a > COMPILER line that prefers ports-gcc on architectures which haven't > moved to clang. > > Standard: > > COMPILER = base-clang ports-gcc base-gcc
Here's a portcheck diff that should warn about the most common problems. Comments? OK? Index: portcheck =================================================================== RCS file: /cvs/ports/infrastructure/bin/portcheck,v retrieving revision 1.124 diff -u -p -r1.124 portcheck --- portcheck 20 Oct 2018 17:14:03 -0000 1.124 +++ portcheck 24 Oct 2018 15:13:33 -0000 @@ -856,9 +856,11 @@ sub_checks() { vars="$vars PKG_ARCH$subpkg $wantlib_var WANTLIB-" vars="$vars PERMIT_PACKAGE_CDROM${subpkg%-}" vars="$vars PERMIT_PACKAGE_FTP${subpkg%-}" + vars="$vars COMPILER" make "${make_args[@]}" show="$vars" | { local comment fullpkgname modules pkg_arch local wantlib perm_pkg_cdrom perm_pkg_ftp + local compiler read -r comment read -r fullpkgname read -r modules @@ -867,6 +869,7 @@ sub_checks() { read -r wantlib_ss read -r perm_pkg_cdrom read -r perm_pkg_ftp + read -r compiler if [[ $comment == @(a|an|the)" "* ]]; then err "${portref}no leading articles in" \ @@ -880,7 +883,7 @@ sub_checks() { fi fi - check_wantlib "$portref" "$modules" $wantlib + check_wantlib "$portref" "$modules" "$compiler" $wantlib check_permit_subpkg "$portref" "$subpkg" \ "$perm_pkg_cdrom" "$perm_pkg_ftp" @@ -1299,6 +1302,7 @@ check_plist() { check_wantlib() { local portref="$1"; shift local modules="$1"; shift + local compiler="$1"; shift local phonon_s_wantlib=false @@ -1307,6 +1311,9 @@ check_wantlib() { local phonon_module=false local gcc4_module=false + local ports_gcc=false + local clang_compiler=false + local v for v in $modules; do case $v in @@ -1316,6 +1323,11 @@ check_wantlib() { x11/kde4) kde4_module=true;; esac; done + for v in $compiler; do case $v in + ports-gcc) ports_gcc=true;; + *-clang) clang_compiler=true;; + esac; done + for v; do case $v in phonon_s?(?(">")=+([0-9]))) phonon_s_wantlib=true @@ -1343,7 +1355,18 @@ check_wantlib() { "in MODULES (check other libs, too!)" fi ;; + c++?(?('>')=+([0-9]))) + if ! $ports_gcc; then + err "$portref$v in WANTLIB; add ports-gcc" \ + "to COMPILER to avoid problems on" \ + "non-clang arches" + fi + ;; stdc++?(?('>')=+([0-9]))) + if $clang_compiler; then + err "$portref$v in WANTLIB but clang used as" \ + "compiler" + fi if $gcc4_module; then err "$portref$v in WANTLIB when gcc4 is" \ "in MODULES; run port-lib-depends-check" \