[I sent a version of this to ports@ ... had no response
        ... trying here because there's now a large back log of ports
        updates.]

Hello:
        On a system running:

FreeBSD 14.0-CURRENT #0 main-f0a15aafcb
Mon Oct 31 08:19:54 EDT 2022
amd64

        with the ports tree updated nightly, I suddenly have a problen
building ports. 
        Sample case:

root@> pd /usr/ports/www/chromium/
root@> make clean
make[2]: "/usr/ports/Mk/Uses/objc.mk" line 57: String comparison operator must 
be either == or !=
make[2]: Fatal errors encountered -- cannot continue
===>  Cleaning for chromium-117.0.5938.132_1
root@>

        If I do this through portmaster I get:

root@> portmaster chromium
make: "/usr/ports/Mk/Uses/objc.mk" line 57: String comparison operator must be 
either == or !=
make: Fatal errors encountered -- cannot continue
make: "/usr/share/mk/sys.mk" line 201: Unknown modifier ":Q"
make: "/usr/share/mk/sys.mk" line 215: Unknown modifier ":Q"
make: Fatal errors encountered -- cannot continue
eval: make:: not found
export: make:: bad variable name
root@> 

        ("objc.mk" is appended.)

        Anyone know what's going on?
        As important - how do I fix it?


                        Respectfully,


                                Robert Huff


# Objective C support
#
# Feature:      objc
# Usage:        USES=objc
#
# MAINTAINER:   o...@freebsd.org

.if !defined(_INCLUDE_USES_OBJC_MK)
_INCLUDE_USES_OBJC_MK=  yes

OBJC_CLANG_VERSION=     ${LLVM_DEFAULT}

objc_ARGS?=
.  if !empty(objc_ARGS) && ! ${objc_ARGS:Mcompiler}
IGNORE= USES=objc only accepts no arguments or 'compiler'
.  endif

_CC_hash:=      ${CC:hash}

.  if defined(_OBJC_CCVERSION_${_CC_hash})
_CCVERSION=     ${_OBJC_CCVERSION_${_CC_hash}}
.  else
_CCVERSION!=    ${CC} --version
_OBJC_CCVERSION_${_CC_hash}=    ${_CCVERSION}
PORTS_ENV_VARS+=        _OBJC_CCVERSION_${_CC_hash}
.  endif
COMPILER_VERSION=       
${_CCVERSION:M[0-9]*.[0-9]*:[1]:C/([0-9]+)\.([0-9]+)\..*/\1\2/}
.  if ${_CCVERSION:Mclang}
COMPILER_TYPE=  clang
.  else
COMPILER_TYPE=  gcc
.  endif

ALT_COMPILER_VERSION=   0
ALT_COMPILER_TYPE=      none
_ALTCCVERSION=          none
.  if defined(_OBJC_ALTCCVERSION_${_CC_hash})
_ALTCCVERSION=  ${_OBJC_ALTCCVERSION_${_CC_hash}}
.  else
.    if ${COMPILER_TYPE} == gcc && exists(/usr/bin/clang)
_ALTCCVERSION!= /usr/bin/clang --version
.    elif ${COMPILER_TYPE} == clang && exists(/usr/bin/gcc)
_ALTCCVERSION!= /usr/bin/gcc --version
.    endif
_OBJC_ALTCCVERSION_${_CC_hash}= ${_ALTCCVERSION}
PORTS_ENV_VARS+=                _OBJC_ALTCCVERSION_${_CC_hash}
.  endif

ALT_COMPILER_VERSION=   
${_ALTCCVERSION:M[0-9]*.[0-9]*:[1]:C/([0-9]+)\.([0-9]+)\..*/\1\2/}
.  if ${_ALTCCVERSION:Mclang}
ALT_COMPILER_TYPE=      clang
.  elif !empty(_ALTCCVERSION)
ALT_COMPILER_TYPE=      gcc
.  endif

# We do always need clang and prefer a recent version
.  if (${COMPILER_TYPE} == clang && ${COMPILER_VERSION} < 
${OBJC_CLANG_VERSION}) || ${COMPILER_TYPE} != clang
.    if ${ALT_COMPILER_TYPE} == clang && ${ALT_COMPILER_VERSION} >= 
${OBJC_CLANG_VERSION}
CC=     /usr/bin/clang
CPP=    /usr/bin/clang-cpp
CXX=    /usr/bin/clang++
OBJC_LLD=       lld
.    else
BUILD_DEPENDS+=        
${LOCALBASE}/bin/clang${OBJC_CLANG_VERSION}:devel/llvm${OBJC_CLANG_VERSION}
CPP=   ${LOCALBASE}/bin/clang-cpp${OBJC_CLANG_VERSION}
CC=    ${LOCALBASE}/bin/clang${OBJC_CLANG_VERSION}
CXX=   ${LOCALBASE}/bin/clang++${OBJC_CLANG_VERSION}
OBJC_LLD=       lld${OBJC_CLANG_VERSION}
.    endif
.  endif

.  if ! ${objc_ARGS:Mcompiler}
LIB_DEPENDS+=   libobjc.so.4.6:lang/libobjc2
OBJCFLAGS+=     -I${LOCALBASE}/include
LDFLAGS+=       -L${LOCALBASE}/lib
.  endif
CONFIGURE_ENV+= OBJC="${CC}" OBJCFLAGS="${OBJCFLAGS}"
MAKE_ENV+=      OBJC="${CC}" OBJCFLAGS="${OBJCFLAGS}"

.endif




Reply via email to