pkgsrc/textproc/icu/Makefile
he a75091768e icu: change from c++ to c++11, since the build uses that.
This gets rid of a lot of errors during dependency generation (and
these errors which asks for -std=c++11 appears to be ignored, so
this is "noise-reduction"), while the build itself was already
using -std=c++11.
2023-05-17 11:27:53 +00:00

141 lines
3.9 KiB
Makefile

# $NetBSD: Makefile,v 1.148 2023/05/17 11:27:53 he Exp $
DISTNAME= icu4c-73_1-src
PKGNAME= ${DISTNAME:S/4c//:S/-src//:S/_/./g}
PKGREVISION= 1
CATEGORIES= textproc
MASTER_SITES= ${MASTER_SITE_GITHUB:=unicode-org/}
EXTRACT_SUFX= .tgz
GITHUB_PROJECT= icu
GITHUB_RELEASE= release-73-1
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= https://icu.unicode.org/
COMMENT= Robust and full-featured Unicode services
LICENSE= mit
WRKSRC= ${WRKDIR}/icu/source
USE_LANGUAGES= c99 c++11
USE_TOOLS+= gmake pkg-config
TEST_TARGET= check
UNLIMIT_RESOURCES+= datasize
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --enable-static
CONFIGURE_ENV+= U_MAKE=${TOOLS_GMAKE}
# error: 'max_align_t' in namespace 'std' does not name a type
GCC_REQD+= 4.9
CHECK_SSP_SKIP= lib/libicudata.so*
PYTHON_FOR_BUILD_ONLY= tool
.include "../../mk/pthread.buildlink3.mk"
.if defined(PTHREAD_TYPE) && ${PTHREAD_TYPE} != "native"
CONFIGURE_ARGS+= --disable-threads
.endif
.include "../../mk/compiler.mk"
# from ICU_CHECK_MH_FRAG in source/acinclude.m4
.if ${OPSYS} == "SunOS"
. if ${PKGSRC_COMPILER:Mclang} || ${PKGSRC_COMPILER:Mgcc}
PLIST_SUBST+= MH_NAME=mh-solaris-gcc
. else
PLIST_SUBST+= MH_NAME=mh-solaris
. endif
. if ${CC_VERSION:Mgcc-4.[6-9].*}
BUILDLINK_TRANSFORM+= rm:-D__STDC__=0
. endif
BUILDLINK_TRANSFORM+= rm:-ansi
.elif ${MACHINE_PLATFORM:MLinux-*-alpha}
. if ${CC_VERSION:Mgcc*}
PLIST_SUBST+= MH_NAME=mh-alpha-linux-gcc
. else
PLIST_SUBST+= MH_NAME=mh-alpha-linux-cc
. endif
.elif ${MACHINE_PLATFORM:MLinux-*-powerpc*}
. if ${CC_VERSION:Mgcc*}
PLIST_SUBST+= MH_NAME=mh-linux
. else
PLIST_SUBST+= MH_NAME=mh-linux-va
. endif
.elif ${OPSYS} == "Linux" || ${OPSYS} == "GNUkFreeBSD"
PLIST_SUBST+= MH_NAME=mh-linux
.elif ${OPSYS} == "Cygwin"
PLIST_SUBST+= MH_NAME=mh-cygwin
.elif ${OPSYS:M*BSD*} || ${OPSYS} == "DragonFly"
PLIST_SUBST+= MH_NAME=mh-bsd-gcc
.elif ${OPSYS} == "AIX"
. if ${CC_VERSION:Mgcc*}
PLIST_SUBST+= MH_NAME=mh-aix-gcc
. else
PLIST_SUBST+= MH_NAME=mh-aix-va
. endif
.elif ${OPSYS} == "HPUX"
. if ${CC_VERSION:Mgcc*}
PLIST_SUBST+= MH_NAME=mh-hpux-gcc
. else
PLIST_SUBST+= MH_NAME=mh-hpux-acc
. endif
.elif ${OPSYS} == "Darwin"
PLIST_SUBST+= MH_NAME=mh-darwin
.elif ${OPSYS} == "Haiku"
PLIST_SUBST+= MH_NAME=mh-haiku
.elif ${OPSYS} == "IRIX"
PLIST_SUBST+= MH_NAME=mh-irix
.elif ${OPSYS} == "Cygwin"
PLIST_SUBST+= MH_NAME=mh-cygwin
.elif ${OS_VARIANT} == "SCOOSR5"
PLIST_SUBST+= MH_NAME=mh-scoosr5
.elif ${OPSYS} == "OSF1"
PLIST_SUBST+= MH_NAME=mh-alpha-osf
.elif ${OPSYS} == "QNX"
PLIST_SUBST+= MH_NAME=mh-qnx
.else
# For unknown systems, set the filename to mh-unknown so that the user
# gets a warning about missing files.
PLIST_SUBST+= MH_NAME=mh-unknown
.endif
PKGCONFIG_OVERRIDE+= config/icu*.pc
PKGCONFIG_OVERRIDE_STAGE= post-build
# work around ICU-20533 (build failure on big endian machines)
post-configure:
${MKDIR} ${WRKSRC}/data/out
# expect builtin gcc atomic functions for gcc>=4.1
# (source/common/putilimp.h)
.if ${CC_VERSION:Mgcc-*} && \
(!${CC_VERSION:Mgcc-4.0*} && !${CC_VERSION:Mgcc-[0-3].*})
. if ${MACHINE_ARCH} == "i386"
CFLAGS+= -march=i486
. endif
.endif
.if ${OPSYS} == "Cygwin"
INSTALL_UNSTRIPPED= yes
SO_MAJOR= ${PKGVERSION_NOREV:R}
. for l in data i18n io le lx test tu uc
GENERATE_PLIST+= ${ECHO} bin/cygicu${l}${SO_MAJOR}.dll;
GENERATE_PLIST+= ${ECHO} lib/libicu${l}${SO_MAJOR}.dll.a;
. endfor
post-install:
mv ${DESTDIR}${PREFIX}/lib/cygicu*.dll ${DESTDIR}${PREFIX}/bin/
. for l in data i18n io le lx test tu uc
${LN} -s libicu${l}${SO_MAJOR}.dll.a ${DESTDIR}${PREFIX}/lib/libicu${l}.dll.a
. endfor
SUBST_CLASSES+= icu-config
SUBST_STAGE.icu-config= post-install
SUBST_FILES.icu-config= ${DESTDIR}${PREFIX}/bin/icu-config
SUBST_SED.icu-config+= -e '/^ICUUC_FILE=/ s/libdir/bindir/'
SUBST_SED.icu-config+= -e 's/l$${LIBICU}/l$${ICUPREFIX}/g'
SUBST_SED.icu-config+= -e '/l$${ICUPREFIX}/ s/$${ICULIBSUFFIX_VERSION}//g'
.endif
.include "../../lang/python/tool.mk"
.include "../../mk/bsd.pkg.mk"