summaryrefslogtreecommitdiffstats
path: root/Mk
diff options
context:
space:
mode:
authormarcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059>2005-08-08 05:06:40 +0800
committermarcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059>2005-08-08 05:06:40 +0800
commite099c809a21661cd961692f3e1912d05fcc82c22 (patch)
tree4019552abc952c1aad0158f2d2fcfe1bfbb9a6a2 /Mk
parent8846846fa6b1efd9c86b4105a060309616b51e43 (diff)
downloadmarcuscom-ports-e099c809a21661cd961692f3e1912d05fcc82c22.tar
marcuscom-ports-e099c809a21661cd961692f3e1912d05fcc82c22.tar.gz
marcuscom-ports-e099c809a21661cd961692f3e1912d05fcc82c22.tar.bz2
marcuscom-ports-e099c809a21661cd961692f3e1912d05fcc82c22.tar.lz
marcuscom-ports-e099c809a21661cd961692f3e1912d05fcc82c22.tar.xz
marcuscom-ports-e099c809a21661cd961692f3e1912d05fcc82c22.tar.zst
marcuscom-ports-e099c809a21661cd961692f3e1912d05fcc82c22.zip
Add a new ltverhack that properly corrects the shared lib version on FreeBSD
to be that of Linux. This will keep our shred libs inline with what Linux has, and should help truly show ABI changes. Submitted by: jylefort git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@4395 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'Mk')
-rw-r--r--Mk/bsd.gnome.mk38
1 files changed, 33 insertions, 5 deletions
diff --git a/Mk/bsd.gnome.mk b/Mk/bsd.gnome.mk
index e017e0820..258503b4a 100644
--- a/Mk/bsd.gnome.mk
+++ b/Mk/bsd.gnome.mk
@@ -3,7 +3,7 @@
#
# $FreeBSD$
# $NetBSD: $
-# $MCom: ports/Mk/bsd.gnome.mk,v 1.309 2005/08/05 17:05:56 marcus Exp $
+# $MCom: ports/Mk/bsd.gnome.mk,v 1.310 2005/08/05 17:27:08 marcus Exp $
#
# Please view me with 4 column tabs!
@@ -87,10 +87,6 @@ gnomehack_PRE_PATCH= ${FIND} ${WRKSRC} -name "Makefile.in*" -type f | ${XARGS} $
lthack_PRE_PATCH= ${FIND} ${WRKSRC} -name "configure" -type f | ${XARGS} ${REINPLACE_CMD} -e \
'/^LIBTOOL_DEPS="$$ac_aux_dir\/ltmain.sh"$$/s|$$|; $$ac_aux_dir/ltconfig $$LIBTOOL_DEPS;|'
-ltverhack_PRE_PATCH= ${FIND} ${WRKSRC} -name "Makefile.in*" -type f | \
- ${XARGS} ${REINPLACE_CMD} -Ee \
- 's|(^\|[[:space:]=])-version-info[[:space:]]+[^[:space:]\\]+|\1|'
-
GNOME_MTREE= ${X11BASE}/etc/mtree/BSD.gnome-x11.dist
gnomehier_DETECT= ${GNOME_MTREE}
gnomehier_RUN_DEPENDS= ${gnomehier_DETECT}:${PORTSDIR}/misc/gnomehier
@@ -622,6 +618,38 @@ BROKEN= "Unknown component ${component}"
_USE_GNOME+= ${${component}_USE_GNOME_IMPL} ${component}
. endfor
+# Then handle the ltverhack component (it has to be done here, because
+# we rely on some bsd.autotools.mk variables, and bsd.autotools.mk is
+# included in the post-makefile section).
+.if defined(AUTOTOOL_libtool_inc)
+ltverhack_PRE_PATCH= ${CP} -pf ${LTMAIN} ${WRKDIR}/gnome-ltmain.sh && \
+ for file in ${LIBTOOLFILES}; do \
+ ${REINPLACE_CMD} -e \
+ '/^ltmain=/!s|$$ac_aux_dir/ltmain\.sh|${LIBTOOLFLAGS} ${WRKDIR}/gnome-ltmain.sh|g' \
+ ${PATCH_WRKSRC}/$$file; \
+ done;
+.elif defined(AUTOTOOL_libtool)
+ltverhack_PRE_PATCH= ${CP} -pf ${LTMAIN} ${WRKDIR}/gnome-ltmain.sh && \
+ ${CP} -pf ${LIBTOOL} ${WRKDIR}/gnome-libtool && \
+ for file in ${LIBTOOLFILES}; do \
+ ${REINPLACE_CMD} -e \
+ '/^ltmain=/!s|$$ac_aux_dir/ltmain\.sh|${LIBTOOLFLAGS} ${WRKDIR}/gnome-ltmain.sh|g; \
+ /^LIBTOOL=/s|$$(top_builddir)/libtool|${WRKDIR}/gnome-libtool|g' \
+ ${PATCH_WRKSRC}/$$file; \
+ done;
+.else
+BROKEN= "${PORTNAME} uses the ltverhack GNOME component but does not use libtool"
+.endif
+
+ltverhack_PRE_PATCH+= for file in gnome-ltmain.sh gnome-libtool; do \
+ if [ -f ${WRKDIR}/$$file ]; then \
+ ${REINPLACE_CMD} -e \
+ '/freebsd-elf)/,/;;/ s|major="\.$$current"|major=.`expr $$current - $$age`|; \
+ /freebsd-elf)/,/;;/ s|versuffix="\.$$current"|versuffix="$$major"|' \
+ ${WRKDIR}/$$file; \
+ fi; \
+ done
+
# Then traverse through all components, check which of them
# exist in ${_USE_GNOME} and set variables accordingly
. for component in ${_USE_GNOME_ALL}