Thursday, February 28, 2019

Re: [ports-gcc] Unbreak lang/iverilog

On 2019/03/01 00:37, Jeremie Courreges-Anglas wrote:
> On Thu, Feb 28 2019, Stuart Henderson <stu@spacehopper.org> wrote:
> > On 2019/02/28 20:18, Charlene Wendling wrote:
> >>
> >> > http://build-failures.rhaalovely.net//powerpc/2019-01-12/lang/iverilog.log
> >> > http://build-failures.rhaalovely.net/sparc64/2019-02-03/lang/iverilog.log
> >> (impacts also amd64 when ports-gcc is forced)
> >>
> >> iverilog cannot find bzip2 includes when ports-gcc is used, also it
> >> requires an appropriate LIB_DEPENDS.
> >>
> >> WANTLIB has been changed as port-lib-depends-check said - bz2 is an
> >> extra on amd64.
> >>
> >> There may be a better solution, but i've found nothing specific in the
> >> upstream build system.
> >>
> >> It builds successfully on macppc and amd64, and WRKSRC/examples/* runs
> >> fine as well.
> >>
> >> Comments/feedback are welcome!
> >
> > This happens because ports-gcc includes /usr/local/lib in the library
> > search path by default (base compilers and ports-clang do not).
> >
> > It would be better not to have different dependencies (and features in
> > the built packages) between clang and gcc arches if possible.
>
> +1, the difference between clang and non-clang architectures it due to
> quirks in our toolchain, we should try to provide the same features
> everywhere.
>
> > Hopefully
> > it should work on both if you use this instead?
> >
> > CONFIGURE_ENV= LDFLAGS="-L${LOCALBASE}/lib" \
> > CPPFLAGS="-I${LOCALBASE}/include"
>
> Note that this clobbers LDFLAGS. With DEBUG=-g:
>
> -cc -L/usr/local/lib main.o substit.o cflexor.o cfparse.o -o iverilog
> +cc -L/usr/local/lib -g main.o substit.o cflexor.o cfparse.o -o iverilog
>
> Here's the diff using for tests. I moved CFLAGS handling together
> CPPFLAGS/LDFLAGS but I guess it could be left as is.

Tests okay on amd64 and should work as well as the previous diff on
gcc arches. OK sthen@

>
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/lang/iverilog/Makefile,v
> retrieving revision 1.18
> diff -u -p -r1.18 Makefile
> --- Makefile 24 Oct 2018 14:28:06 -0000 1.18
> +++ Makefile 28 Feb 2019 23:04:23 -0000
> @@ -6,7 +6,7 @@ V= 10.2
> DISTNAME= verilog-$V
> PKGNAME= iverilog-$V
> CATEGORIES= lang devel
> -REVISION= 0
> +REVISION= 1
>
> HOMEPAGE= http://iverilog.icarus.com/
>
> @@ -15,18 +15,21 @@ PERMIT_PACKAGE_CDROM= Yes
>
> MASTER_SITES= ftp://ftp.icarus.com/pub/eda/verilog/v10/
>
> -WANTLIB += c m pthread readline ${COMPILER_LIBCXX} termcap z
> +WANTLIB += ${COMPILER_LIBCXX} bz2 c curses m readline z
>
> COMPILER = base-clang ports-gcc base-gcc
>
> USE_GMAKE= Yes
>
> BUILD_DEPENDS= devel/bison
> +LIB_DEPENDS = archivers/bzip2
> YACC= bison
>
> CONFIGURE_STYLE= gnu
> CONFIGURE_ARGS+= --disable-suffix
> -CFLAGS+= -fPIC
> +CONFIGURE_ENV+= CFLAGS="-fPIC ${CFLAGS}" \
> + CPPFLAGS="-I${LOCALBASE}/include" \
> + LDFLAGS="-L${LOCALBASE}/lib ${LDFLAGS}"
>
> VVP_DOCS= README.txt opcodes.txt
> DOC_DIR= ${PREFIX}/share/doc/iverilog
>
> --
> jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE
>

No comments:

Post a Comment