aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorade <ade@FreeBSD.org>2006-02-23 18:43:34 +0800
committerade <ade@FreeBSD.org>2006-02-23 18:43:34 +0800
commitf6674a9efbbc5fa60b3be0e466ca299b5420af59 (patch)
tree3009190a25e795d8af084382cc688c48a5f2bbfb
parent415d6f39587f62d4f02f7d31ff45aad4fd8f1e1e (diff)
downloadfreebsd-ports-gnome-f6674a9efbbc5fa60b3be0e466ca299b5420af59.tar.gz
freebsd-ports-gnome-f6674a9efbbc5fa60b3be0e466ca299b5420af59.tar.zst
freebsd-ports-gnome-f6674a9efbbc5fa60b3be0e466ca299b5420af59.zip
Conversion to a single libtool environment.
* devel/libtool13 is no more (requiem mors pacem) * devel/libtool15 now installs as ${LOCALBASE}/bin/libtool etc. (ie: no versioning on the binaries and scripts) * USE_AUTOTOOLS= libtool:XX:inc has been deprecated Where possible, ports should simply set GNU_CONFIGURE=yes and use the pre-packaged version of libtool that comes as part of the source distribution * all the legacy hacks to libtool that we have been saddled with over the years have been removed. (eg: .la files are now installed) This brings us in line not only with Linux distributions, but also pkgsrc. * libtool now understands, and correctly handles, "nonstandard" compilers such as g++34, gcc295, etc. etc. This could not have happened without the truly outstanding work from kris, not only putting up with me, but also running countless builds, both on dosirak and pointyhat. I am truly indebted to him. Sponsored by: Theakston Old Peculier, Marlboro Red, Cafe de Colombia Approved by: portmgr (kris)
-rw-r--r--Mk/bsd.autotools.mk62
1 files changed, 20 insertions, 42 deletions
diff --git a/Mk/bsd.autotools.mk b/Mk/bsd.autotools.mk
index 8dbe0c9475c8..3e9bd01d5a55 100644
--- a/Mk/bsd.autotools.mk
+++ b/Mk/bsd.autotools.mk
@@ -29,19 +29,16 @@ Autotools_Include_MAINTAINER= ade@FreeBSD.org
# Entry point into the autotools system
#---------------------------------------------------------------------------
#
-# USE_AUTOTOOLS= tool:version[:inc | :env] ...
+# USE_AUTOTOOLS= tool:version[:env] ...
#
# 'tool' can currently be one of:
# libtool, libltdl, autoconf, autoheader, automake, aclocal
#
# 'version' is tool dependent
#
-# ':inc' is for libtool only, and is used to modify the patch-autotools
-# target to use the relevant included version of libtool
-#
-# ':env' is for autoconf/autoheader/automake/aclocal and is used to
-# specify that the environment variables are needed, but the relevant
-# tool should NOT be run as part of the run-autotools target
+# ':env' is used to pecify that the environment variables are needed,
+# but the relevant tool should NOT be run as part of the
+# run-autotools target
#
# XXX: there is currently no sanity checking of the supplied variables
# other than to detect actually available versions. This should
@@ -64,8 +61,6 @@ Autotools_Include_MAINTAINER= ade@FreeBSD.org
#
# LIBTOOLFLAGS=<value>
# - Arguments passed to libtool during configure step
-# Currently defaults to "--disable-ltlibs", but this will be going
-# away when libtool .la files are brought back
#
# LIBTOOLFILES=<list-of-files>
# - A list of files to patch during libtool pre-configuration
@@ -79,6 +74,12 @@ Autotools_Include_MAINTAINER= ade@FreeBSD.org
AUTOTOOL_${item:C/^([^:]+).*/\1/}${item:M*\:*\:*:C/^[^:]+:[^:]+:([^:]+)/_\1/}= ${item:C/^[^:]+:([^:]+).*/\1/}
.endfor
+# XXX: temporary to highlight any missed ports in the conversion
+#
+.if defined(AUTOTOOL_libtool_inc)
+BROKEN+=libtool:${AUTOTOOL_libtool_inc}:inc construct no longer available
+.endif
+
#---------------------------------------------------------------------------
# AUTOMAKE/ACLOCAL
#---------------------------------------------------------------------------
@@ -182,11 +183,6 @@ GNU_CONFIGURE?= YES
AUTOTOOL_libtool_env= ${AUTOTOOL_libtool}
.endif
-.if defined(AUTOTOOL_libtool_inc)
-GNU_CONFIGURE?= YES
-AUTOTOOL_libtool_env= ${AUTOTOOL_libtool_inc}
-.endif
-
.if defined(AUTOTOOL_libtool_env)
LIBTOOL_VERSION= ${AUTOTOOL_libtool_env}
@@ -198,26 +194,18 @@ BROKEN+= Unknown LIBTOOL version: ${LIBTOOL_VERSION}
# Set up the libtool environment
#
-LIBTOOL= ${LOCALBASE}/bin/libtool${LIBTOOL_VERSION}
-LIBTOOLIZE= ${LOCALBASE}/bin/libtoolize${LIBTOOL_VERSION}
-LIBTOOL_LIBEXECDIR= ${LOCALBASE}/libexec/libtool${LIBTOOL_VERSION}
-LIBTOOL_SHAREDIR= ${LOCALBASE}/share/libtool${LIBTOOL_VERSION}
-LIBTOOL_M4= ${LOCALBASE}/share/aclocal/libtool${LIBTOOL_VERSION}.m4
+LIBTOOL= ${LOCALBASE}/bin/libtool
+LIBTOOLIZE= ${LOCALBASE}/bin/libtoolize
+LIBTOOL_LIBEXECDIR= ${LOCALBASE}/libexec/libtool
+LIBTOOL_SHAREDIR= ${LOCALBASE}/share/libtool
+LIBTOOL_M4= ${LOCALBASE}/share/aclocal/libtool.m4
LTMAIN= ${LIBTOOL_SHAREDIR}/ltmain.sh
-. if ${LIBTOOL_VERSION} == 13
-LTCONFIG= ${LIBTOOL_SHAREDIR}/ltconfig${LIBTOOL_VERSION}
-. else
-LTCONFIG= ${TRUE}
-. endif
-LIBTOOL_PATH= ${LIBTOOL_LIBEXECDIR}:
-LIBTOOL_VARS= LIBTOOL=${LIBTOOL} LIBTOOLIZE=${LIBTOOLIZE} LIBTOOL_M4=${LIBTOOL_M4} LTCONFIG=${LTCONFIG}
+LIBTOOL_VARS= LIBTOOL=${LIBTOOL} LIBTOOLIZE=${LIBTOOLIZE} LIBTOOL_M4=${LIBTOOL_M4}
LIBTOOL_DEPENDS= ${LIBTOOL}:${PORTSDIR}/devel/libtool${LIBTOOL_VERSION}
BUILD_DEPENDS+= ${LIBTOOL_DEPENDS}
-# XXX: do we really need this?
-#
-LIBTOOLFLAGS?= --disable-ltlibs
+LIBTOOLFLAGS?= # default to empty
. if defined(AUTOTOOL_autoconf)
LIBTOOLFILES?= aclocal.m4
@@ -232,7 +220,7 @@ LIBTOOLFILES?= configure
# Now that we've got our environments defined for autotools, add them
# in so that the rest of the world can handle them
#
-AUTOTOOLS_PATH= ${AUTOMAKE_PATH}${AUTOCONF_PATH}${LIBTOOL_PATH}
+AUTOTOOLS_PATH= ${AUTOMAKE_PATH}${AUTOCONF_PATH}
AUTOTOOLS_VARS= ${AUTOMAKE_VARS} ${AUTOCONF_VARS} ${LIBTOOL_VARS}
.if defined(AUTOTOOLS_PATH) && (${AUTOTOOLS_PATH} != "")
@@ -322,21 +310,11 @@ run-autotools-autoheader:
.if !target(patch-autotools)
patch-autotools::
-. if defined(AUTOTOOL_libtool_inc)
- @(cd ${PATCH_WRKSRC}; \
- for file in ${LIBTOOLFILES}; do \
- ${CP} $$file $$file.tmp; \
- ${SED} -e "s^\$$ac_aux_dir/ltconfig^${LTCONFIG}^g" \
- -e "/^ltmain=/!s^\$$ac_aux_dir/ltmain.sh^${LIBTOOLFLAGS} ${LTMAIN}^g" \
- $$file.tmp > $$file; \
- ${RM} $$file.tmp; \
- done);
-. elif defined(AUTOTOOL_libtool)
+. if defined(AUTOTOOL_libtool)
@(cd ${PATCH_WRKSRC}; \
for file in ${LIBTOOLFILES}; do \
${CP} $$file $$file.tmp; \
- ${SED} -e "s^\$$ac_aux_dir/ltconfig^${LTCONFIG}^g" \
- -e "/^ltmain=/!s^\$$ac_aux_dir/ltmain.sh^${LIBTOOLFLAGS} ${LTMAIN}^g" \
+ ${SED} -e "/^ltmain=/!s^\$$ac_aux_dir/ltmain.sh^${LIBTOOLFLAGS} ${LTMAIN}^g" \
-e '/^LIBTOOL=/s^\$$(top_builddir)/libtool^${LIBTOOL}^g' \
$$file.tmp > $$file; \
${RM} $$file.tmp; \