Thursday, February 28, 2019

Re: [ports-gcc] Unbreak lang/iverilog

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.


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