git: 8a02a5ce5be7 - main - lang/rexx-imc: link with cc instead of ld
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 20 Feb 2025 23:28:15 UTC
The branch main has been updated by fuz:
URL: https://cgit.FreeBSD.org/ports/commit/?id=8a02a5ce5be7f7aa735bc49340e2deb0643d016d
commit 8a02a5ce5be7f7aa735bc49340e2deb0643d016d
Author: Robert Clausecker <fuz@FreeBSD.org>
AuthorDate: 2025-02-19 16:38:59 +0000
Commit: Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2025-02-20 23:27:26 +0000
lang/rexx-imc: link with cc instead of ld
This fixes the link on armv7 and makes it build without binutils.
MFH: 2025Q1
---
lang/rexx-imc/Makefile | 12 +----
lang/rexx-imc/files/patch-Make | 99 +++++++++++++++++++++++++++++++++++-------
2 files changed, 85 insertions(+), 26 deletions(-)
diff --git a/lang/rexx-imc/Makefile b/lang/rexx-imc/Makefile
index 85b8ee53d533..6b8ffdbb3d8d 100644
--- a/lang/rexx-imc/Makefile
+++ b/lang/rexx-imc/Makefile
@@ -1,6 +1,6 @@
PORTNAME= rexx-imc
PORTVERSION= 1.76
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= lang
MASTER_SITES= http://www.cs.ox.ac.uk/people/ian.collier/distribution/ \
ftp://ftp.sai.msu.su/pub/unix/rexx/
@@ -9,9 +9,6 @@ MAINTAINER= ports@FreeBSD.org
COMMENT= Procedural programming language designed by IBM's UK Laboratories
WWW= https://www.cs.ox.ac.uk/people/ian.collier/Rexx/rexximc.html
-BROKEN_armv6= fails to link: /nxb-bin/usr/bin/ld: hidden symbol __aeabi_uidivmod in libgcc.a is referenced by DSO
-BROKEN_armv7= fails to link: /nxb-bin/usr/bin/ld: hidden symbol __aeabi_uidivmod in libgcc.a is referenced by DSO
-
CONFLICTS= rexx-regina-* oorexx
HAS_CONFIGURE= yes
@@ -22,7 +19,6 @@ CONFIGURE_ARGS= o all
# configures and builds in one step
NO_BUILD= yes
USE_LDCONFIG= yes
-LLD_UNSAFE= yes
DOCFILES= rexx.info rexx.ref rexx.summary rexx.tech
RMEFILES= README README.Y2K README.bugreport README.docs \
@@ -30,12 +26,6 @@ RMEFILES= README README.Y2K README.bugreport README.docs \
OPTIONS_DEFINE= DOCS EXAMPLES
-post-patch:
-# CFLAGS safeness for ARCHs other than i386
- @${REINPLACE_CMD} -e 's|-O2||' ${WRKSRC}/Make
-# CC safeness
- @${REINPLACE_CMD} -E -e 's|^CC=.+$$|CC=${CC}|' ${WRKSRC}/Make
-
do-install:
(cd ${WRKSRC} && ${INSTALL_PROGRAM} rexx rxque rxstack \
${STAGEDIR}${PREFIX}/bin)
diff --git a/lang/rexx-imc/files/patch-Make b/lang/rexx-imc/files/patch-Make
index 1854ab25dee4..b351b4131e46 100644
--- a/lang/rexx-imc/files/patch-Make
+++ b/lang/rexx-imc/files/patch-Make
@@ -1,7 +1,13 @@
--- Make.orig 2002-02-26 12:29:20 UTC
+++ Make
-@@ -18,7 +18,7 @@ CC=gcc # compiler an
- LD=ld # linker for shared objects
+@@ -14,11 +14,11 @@ MAKEFILE=Makefile.REXXimc
+ SRC=. # directory containing the source of REXX/imc
+ MAKE=make
+ MAKEFILE=Makefile.REXXimc
+-CC=gcc # compiler and linker for programs
+-LD=ld # linker for shared objects
++#CC=cc
++LD=$CC # linker for shared objects
COMPILEFLAG="" # general compilation flags for cc
LINKFLAG="" # general linker flags *for cc*
-#STUFF="-DSTUFF_STACK" # uncomment if you like queuing stack to keyboard
@@ -19,6 +25,69 @@
*|unknown)
PREFIX="/usr/local"
;;
+@@ -158,7 +161,7 @@ case ${1:-nothing} in
+ shift
+ ;;
+ o) # o (optimise)
+- OPTFLAG="-O2"
++ OPTFLAG=""
+ STRIPFLAG="-s"
+ shift
+ ;;
+@@ -172,7 +175,7 @@ case ${1:-nothing} in
+ shift
+ ;;
+ *) # <default>
+- OPTFLAG="-O2"
++ OPTFLAG=""
+ STRIPFLAG="-s"
+ ;;
+ esac
+@@ -184,7 +187,7 @@ fi
+
+ #######################################################################
+ # Now calculate system dependent variables for Makefile
+-# Note: if OPTFLAG is -O2 it can be changed to suit the compiler.
++# Note: if OPTFLAG is it can be changed to suit the compiler.
+
+ echo "Processing REXX/imc for $UNAME_S $UNAME_R"
+
+@@ -215,7 +218,7 @@ case $UNAME_S:$UNAME_R in
+ ;;
+ cc)
+ CCFLAG="-DFSTAT_FOR_CHARS -DHAS_MALLOPT -DDECLARE_RANDOM -DDECLARE_TIMEZONE"
+- [ "x$OPTFLAG" = x-O2 ] && OPTFLAG="-fast"
++ [ "x$OPTFLAG" = x ] && OPTFLAG="-fast"
+ PIC="-KPIC"
+ SOFLAG="-G"
+ DLLFLAG="-G"
+@@ -246,7 +249,7 @@ case $UNAME_S:$UNAME_R in
+ ;;
+ cc)
+ PIC="-PIC"
+- [ "x$OPTFLAG" = x-O2 ] && OPTFLAG="-O4"
++ [ "x$OPTFLAG" = x ] && OPTFLAG="-O4"
+ ;;
+ *) echo "Warning: I don't know the options for $CC"\
+ "- trying the cc ones" >&2
+@@ -281,7 +284,7 @@ case $UNAME_S:$UNAME_R in
+ REXXLIB="librexx.a"
+ MATH=""
+ PIC=""
+- [ "x$OPTFLAG" = x-O2 ] && OPTFLAG="+O2"
++ [ "x$OPTFLAG" = x ] && OPTFLAG="+O2"
+ case $CC in
+ cc)
+ CCFLAG="-DHAS_MALLOPT -D_HPUX_SOURCE -DNO_LDL"
+@@ -338,7 +341,7 @@ case $UNAME_S:$UNAME_R in
+ case $CC in
+ cc)
+ CCFLAG="$CCFLAG -Olimit 1400"
+- [ "x$OPTFLAG" = x-O2 ] && OPTFLAG="-O3"
++ [ "x$OPTFLAG" = x ] && OPTFLAG="-O3"
+ ;;
+ gcc) # already OK
+ ;;
@@ -386,14 +389,14 @@ case $UNAME_S:$UNAME_R in
esac
egrep -q tm_gmtoff /usr/include/time.h && CCFLAG="$CCFLAG -DHAS_GMTOFF"
@@ -36,10 +105,14 @@
# Uncomment above line if you have problems with LD_LIBRARY_PATH
case $CC in
gcc)
-@@ -407,6 +410,48 @@ case $UNAME_S:$UNAME_R in
- ;;
- esac
- ;;
+@@ -403,6 +406,48 @@ case $UNAME_S:$UNAME_R in
+ *) echo "Warning: I don't know the options for $CC"\
+ "- trying the gcc ones" >&2
+ CCFLAG="-DHAS_TTYCOM -D_REQUIRED -DRENAME_UNDELETE -DHAS_GMTOFF"
++ PIC="-fPIC"
++ ;;
++ esac
++ ;;
+ FreeBSD:4.*)
+ REXXLIB="librexx.so"
+ SOLINK="librexx.so"
@@ -67,9 +140,9 @@
+ RANLIB=ranlib
+ MATH=rxmathfn.rxfn
+ LIBRARIES=""
-+ SOFLAG="-shared --export-dynamic"
++ SOFLAG="-shared -rdynamic"
+ : ${RUNLIBS='-L$(LIBDIR) -Wl,-rpath,$(PREFIX)/lib'}
-+ DLLFLAG="-shared --export-dynamic"
++ DLLFLAG="-shared -rdynamic -Wl,-soname=$(SONAME)"
+ case $CC in
+ gcc)
+ CCFLAG="${CFLAGS} -DHAS_TTYCOM -DRENAME_UNDELETE -DHAS_GMTOFF"
@@ -78,10 +151,6 @@
+ *) echo "Warning: I don't know the options for $CC"\
+ "- trying the gcc ones" >&2
+ CCFLAG="${CFLAGS} -DHAS_TTYCOM -DRENAME_UNDELETE -DHAS_GMTOFF"
-+ PIC="-fPIC"
-+ ;;
-+ esac
-+ ;;
- unknown:*|*:*)
- echo "I am not configured for this platform - guessing some options" >&2
- echo "(You will not be able to use shared libraries)" >&2
+ PIC="-fPIC"
+ ;;
+ esac