diff options
author | ade <ade@FreeBSD.org> | 2006-02-23 18:43:34 +0800 |
---|---|---|
committer | ade <ade@FreeBSD.org> | 2006-02-23 18:43:34 +0800 |
commit | f6674a9efbbc5fa60b3be0e466ca299b5420af59 (patch) | |
tree | 3009190a25e795d8af084382cc688c48a5f2bbfb | |
parent | 415d6f39587f62d4f02f7d31ff45aad4fd8f1e1e (diff) | |
download | freebsd-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.mk | 62 |
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; \ |