Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 Aug 2019 19:30:38 +0000 (UTC)
From:      Piotr Kubaj <pkubaj@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r507827 - in head/lang/ocaml: . files
Message-ID:  <201908011930.x71JUcFH020331@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: pkubaj
Date: Thu Aug  1 19:30:38 2019
New Revision: 507827
URL: https://svnweb.freebsd.org/changeset/ports/507827

Log:
  lang/ocaml: fix build on armv7
  
  armv7 requires -Wl,-znotext in LDFLAGS (same as i386), added definition for triple target and include term.h in the test for tgetent.
  
  PR:		239157
  Approved by:	michipili@gmail.com (maintainer timeout), tcberner (mentor)
  Differential Revision:	https://reviews.freebsd.org/D21085

Modified:
  head/lang/ocaml/Makefile
  head/lang/ocaml/files/patch-configure

Modified: head/lang/ocaml/Makefile
==============================================================================
--- head/lang/ocaml/Makefile	Thu Aug  1 19:26:17 2019	(r507826)
+++ head/lang/ocaml/Makefile	Thu Aug  1 19:30:38 2019	(r507827)
@@ -20,7 +20,6 @@ LICENSE_FILE_QPL10=	${WRKSRC}/LICENSE
 LICENSE_PERMS_QPL10=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
 
 BROKEN_aarch64=		Does not build: sh: as: not found
-BROKEN_armv7=		Does not build: hasgot.c: undefined reference to `tgetent'
 BROKEN_sparc64=	No rule to make target 'none.o', needed by 'libasmrun.a'
 BROKEN_mips64=	No ASM support
 BROKEN_mips=	No ASM support
@@ -33,6 +32,7 @@ ALL_TARGET=	world.opt
 STRIP=
 SSP_UNSAFE=	yes
 MAKE_JOBS_UNSAFE=	yes
+LDFLAGS_armv7=	-Wl,-znotext
 LDFLAGS_i386=	-Wl,-znotext
 
 CONFIGURE_ARGS=	-verbose -prefix "${PREFIX}" \
@@ -151,7 +151,7 @@ post-install:
 	${INSTALL_DATA} ${_DISTDIR}${DOCSDISTNAME}-refman.pdf ${STAGEDIR}${DOCSDIR}
 .endif
 # Spacetime profiling is only available for native code on 64-bit targets
-.if ${ARCH} == i386 || ${ARCH} == powerpc
+.if ${ARCH} == armv7 || ${ARCH} == i386 || ${ARCH} == powerpc
 	@${REINPLACE_CMD} -e '/raw_spacetime_lib/d' ${TMPPLIST}
 .endif
 

Modified: head/lang/ocaml/files/patch-configure
==============================================================================
--- head/lang/ocaml/files/patch-configure	Thu Aug  1 19:26:17 2019	(r507826)
+++ head/lang/ocaml/files/patch-configure	Thu Aug  1 19:30:38 2019	(r507827)
@@ -35,7 +35,15 @@
    powerpc-*-netbsd*)            arch=power; model=ppc; system=elf;;
    powerpc-*-openbsd*)           arch=power; model=ppc; system=bsd_elf;;
    s390x*-*-linux*)              arch=s390x; model=z10; system=elf;;
-@@ -946,6 +951,7 @@ case "$target" in
+@@ -930,6 +935,7 @@ case "$target" in
+   armv6t2*-*-linux-gnueabi)     arch=arm; model=armv6t2; system=linux_eabi;;
+   armv6*-*-linux-gnueabi)       arch=arm; model=armv6; system=linux_eabi;;
+   armv6*-*-freebsd*)            arch=arm; model=armv6; system=freebsd;;
++  armv7*-*-freebsd*)            arch=arm; model=armv7; system=freebsd;;
+   earmv6*-*-netbsd*)            arch=arm; model=armv6; system=netbsd;;
+   earmv7*-*-netbsd*)            arch=arm; model=armv7; system=netbsd;;
+   armv5te*-*-linux-gnueabi)     arch=arm; model=armv5te; system=linux_eabi;;
+@@ -946,6 +952,7 @@ case "$target" in
    x86_64-*-darwin*)             arch=amd64; system=macosx;;
    x86_64-*-mingw*)              arch=amd64; system=mingw;;
    aarch64-*-linux*)             arch=arm64; system=linux;;
@@ -43,7 +51,7 @@
    x86_64-*-cygwin*)             arch=amd64; system=cygwin;;
  esac
  
-@@ -1051,10 +1057,12 @@ case "$arch,$system" in
+@@ -1051,10 +1058,12 @@ case "$arch,$system" in
      case "$nativecc" in gcc*) ;; *) cc_profile='-xpg';; esac;;
    amd64,linux) profiling='true';;
    amd64,openbsd) profiling='true';;
@@ -56,7 +64,16 @@
    arm,linux*) profiling='true';;
    power,elf) profiling='true';;
    power,bsd*) profiling='true';;
-@@ -2029,7 +2037,7 @@ MKLIB=${TOOLPREF}ar rc \$(1) \$(2); ${TOOLPREF}ranlib 
+@@ -1168,7 +1177,7 @@ fi
+ 
+ if test "$with_curses" = "yes"; then
+   for libs in "" "-lcurses" "-ltermcap" "-lcurses -ltermcap" "-lncurses"; do
+-    if sh ./hasgot $libs tgetent tgetstr tgetnum tputs; then
++    if sh ./hasgot -i term.h $libs tgetent tgetstr tgetnum tputs; then
+       inf "termcap functions found (with libraries '$libs')"
+       echo "#define HAS_TERMCAP" >> s.h
+       curseslibs="${libs}"
+@@ -2029,7 +2037,7 @@ MKLIB=${TOOLPREF}ar rc \$(1) \$(2); ${TOOLPREF}ranlib
  #ml   Printf.sprintf "${TOOLPREF}ar rc %s %s %s; ${TOOLPREF}ranlib %s"
  #ml                  out opts files out;;
  EOF



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201908011930.x71JUcFH020331>