From patchwork Wed Oct 31 23:56:55 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Iain Buclaw X-Patchwork-Id: 991758 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-488797-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=gdcproject.org Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="iOsk0NhK"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 42lld35dYpz9s1c for ; Thu, 1 Nov 2018 10:57:26 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :mime-version:from:date:message-id:subject:to:cc:content-type; q=dns; s=default; b=ZhP9Y5+qXEHDSZAOLN5IpPRsoy2gT4fYozwu0KNe+E/ 82QrYPdbufGZjCBxSBYUmAO6HDTDB8EmNkwjeBrjdCFC1QdyRNUzW5VsDbsMTOBI DMz+jp5mMpUK0O3nYimpGVSa92bLLU1b+Xo6YJSC0KPKs5UcEKZQf8GoizSxnbqM = DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :mime-version:from:date:message-id:subject:to:cc:content-type; s=default; bh=N6rtyKmNeKHhI3dijzLw7mJGm04=; b=iOsk0NhKmHnVYEfd3 74R3FjjF5xArQTFUYy05O2BUCYtlcY8jHCDQL0YdWVdml72X8HPkCR5NZFPAJIX7 Z/2OZjOYUYJGr8bFDjXwfp2IxnaM8gExA2WiN/ISk0W0ATo0Ew5rswPCFJ7qt3tV q1+Q0mC/M/b6T3YWt+bLxIfs+o= Received: (qmail 35248 invoked by alias); 31 Oct 2018 23:57:18 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 35224 invoked by uid 89); 31 Oct 2018 23:57:14 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-25.2 required=5.0 tests=AWL, BAYES_00, FREEMAIL_FROM, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.2 spammy=Packages, Install, sile, multilibs X-HELO: mail-qt1-f180.google.com Received: from mail-qt1-f180.google.com (HELO mail-qt1-f180.google.com) (209.85.160.180) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 31 Oct 2018 23:57:09 +0000 Received: by mail-qt1-f180.google.com with SMTP id k12so13410470qtf.7 for ; Wed, 31 Oct 2018 16:57:09 -0700 (PDT) MIME-Version: 1.0 From: Iain Buclaw Date: Thu, 1 Nov 2018 00:56:55 +0100 Message-ID: Subject: [PATCH, libphobos] Fix libgphobos.spec in the wrong place with --enable-version-specific-runtime-libs To: gcc-patches Cc: rguenther@suse.de X-IsSubscribed: yes Hi, This adds --enable-version-specific-runtime-libs configure option to libphbos. Also uncovered that MULTISUBDIR wasn't being set correctly when this option was enabled. Built and checked with make install-target-libphobos. Ok for trunk? diff --git a/libphobos/Makefile.in b/libphobos/Makefile.in index 43712ed0bc9..2f073d64629 100644 --- a/libphobos/Makefile.in +++ b/libphobos/Makefile.in @@ -306,6 +306,8 @@ libdir = @libdir@ libexecdir = @libexecdir@ libphobos_builddir = @libphobos_builddir@ libphobos_srcdir = @libphobos_srcdir@ +libphobos_toolexecdir = @libphobos_toolexecdir@ +libphobos_toolexeclibdir = @libphobos_toolexeclibdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ @@ -318,6 +320,7 @@ phobos_compiler_shared_flag = @phobos_compiler_shared_flag@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -327,8 +330,6 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexecdir = @toolexecdir@ -toolexeclibdir = @toolexeclibdir@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ diff --git a/libphobos/configure b/libphobos/configure index 085e32b8e36..9b3dc92ae47 100755 --- a/libphobos/configure +++ b/libphobos/configure @@ -638,8 +638,8 @@ PHOBOS_SOVERSION DRUNTIME_SOVERSION SPEC_PHOBOS_DEPS gdc_include_dir -toolexeclibdir -toolexecdir +libphobos_toolexeclibdir +libphobos_toolexecdir gcc_version DRUNTIME_ZLIB_SYSTEM_FALSE DRUNTIME_ZLIB_SYSTEM_TRUE @@ -783,6 +783,7 @@ infodir docdir oldincludedir includedir +runstatedir localstatedir sharedstatedir sysconfdir @@ -823,6 +824,7 @@ with_libatomic with_libbacktrace with_target_system_zlib with_cross_host +enable_version_specific_runtime_libs ' ac_precious_vars='build_alias host_alias @@ -867,6 +869,7 @@ datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' +runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' @@ -1119,6 +1122,15 @@ do | -silent | --silent | --silen | --sile | --sil) silent=yes ;; + -runstatedir | --runstatedir | --runstatedi | --runstated \ + | --runstate | --runstat | --runsta | --runst | --runs \ + | --run | --ru | --r) + ac_prev=runstatedir ;; + -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ + | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ + | --run=* | --ru=* | --r=*) + runstatedir=$ac_optarg ;; + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ @@ -1256,7 +1268,7 @@ fi for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir + libdir localedir mandir runstatedir do eval ac_val=\$$ac_var # Remove trailing slashes. @@ -1409,6 +1421,7 @@ Fine tuning of the installation directories: --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] @@ -1466,6 +1479,9 @@ Optional Features: --enable-thread-lib= specify linker option for the system thread library (default: autodetect) + --enable-version-specific-runtime-libs + Specify that runtime libraries should be installed + in a compiler-specific directory Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -11493,7 +11509,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11496 "configure" +#line 11512 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11599,7 +11615,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11602 "configure" +#line 11618 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -14806,30 +14822,44 @@ if test "${with_cross_host+set}" = set; then : fi - toolexecdir=no - toolexeclibdir=no + libphobos_toolexecdir=no + libphobos_toolexeclibdir=no + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for --enable-version-specific-runtime-libs" >&5 +$as_echo_n "checking for --enable-version-specific-runtime-libs... " >&6; } + # Check whether --enable-version-specific-runtime-libs was given. +if test "${enable_version_specific_runtime_libs+set}" = set; then : + enableval=$enable_version_specific_runtime_libs; case "$enableval" in + yes) version_specific_libs=yes ;; + no) version_specific_libs=no ;; + *) as_fn_error $? "Unknown argument to enable/disable version-specific libs" "$LINENO" 5;; + esac +else version_specific_libs=no +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $version_specific_libs" >&5 +$as_echo "$version_specific_libs" >&6; } # Version-specific runtime libs processing. if test $version_specific_libs = yes; then - toolexecdir='${libdir}/gcc/${host_alias}' - toolexeclibdir='${toolexecdir}/${gcc_version}$(MULTISUBDIR)' + libphobos_toolexecdir='${libdir}/gcc/${host_alias}' + libphobos_toolexeclibdir='${toolexecdir}/${gcc_version}$(MULTISUBDIR)' else - # Calculate toolexecdir, toolexeclibdir - # Install a library built with a cross compiler in tooldir, not libdir. - if test -n "$with_cross_host" && test x"$with_cross_host" != x"no"; then - toolexecdir='${exec_prefix}/${host_alias}' - toolexeclibdir='${toolexecdir}/lib' - else - toolexecdir='${libdir}/gcc/${host_alias}' - toolexeclibdir='${libdir}' - fi - multi_os_directory=`$GDC -print-multi-os-directory` - case $multi_os_directory in - .) ;; # Avoid trailing /. - *) toolexeclibdir=${toolexeclibdir}/${multi_os_directory} ;; - esac + # Calculate libphobos_toolexecdir, libphobos_toolexeclibdir + # Install a library built with a cross compiler in tooldir, not libdir. + if test -n "$with_cross_host" && test x"$with_cross_host" != x"no"; then + libphobos_toolexecdir='${exec_prefix}/${host_alias}' + libphobos_toolexeclibdir='${toolexecdir}/lib' + else + libphobos_toolexecdir='${libdir}/gcc/${host_alias}' + libphobos_toolexeclibdir='${libdir}' + fi + multi_os_directory=`$GDC -print-multi-os-directory` + case $multi_os_directory in + .) ;; # Avoid trailing /. + *) libphobos_toolexeclibdir=${libphobos_toolexeclibdir}/${multi_os_directory} ;; + esac fi @@ -14870,7 +14900,7 @@ fi -ac_config_files="$ac_config_files Makefile src/Makefile libdruntime/Makefile testsuite/Makefile" +ac_config_files="$ac_config_files Makefile" ac_config_files="$ac_config_files libdruntime/gcc/config.d libdruntime/gcc/libbacktrace.d" @@ -14880,8 +14910,15 @@ ac_config_files="$ac_config_files src/libgphobos.spec" ac_config_files="$ac_config_files testsuite/testsuite_flags" -# We need multilib support, but only if configuring for the target. -ac_config_commands="$ac_config_commands default" +# Multilibs need MULTISUBDIR defined correctly in certain makefiles so +# that multilib installs will end up installed in the correct place. +# The testsuite needs it for multilib-aware ABI baseline files. +# To work around this not being passed down from config-ml.in -> +# srcdir/Makefile.am -> srcdir/{src,libdruntime,...}/Makefile.am, manually +# append it here. Only modify Makefiles that have just been created. +# +# Also, get rid of this simulated-VPATH thing that automake does. +ac_config_files="$ac_config_files libdruntime/Makefile src/Makefile testsuite/Makefile" cat >confcache <<\_ACEOF @@ -16010,11 +16047,6 @@ fi -# Variables needed in config.status (file generation) which aren't already -# passed by autoconf. -SUBDIRS="$SUBDIRS" - - _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 @@ -16027,14 +16059,13 @@ do "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; - "libdruntime/Makefile") CONFIG_FILES="$CONFIG_FILES libdruntime/Makefile" ;; - "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;; "libdruntime/gcc/config.d") CONFIG_FILES="$CONFIG_FILES libdruntime/gcc/config.d" ;; "libdruntime/gcc/libbacktrace.d") CONFIG_FILES="$CONFIG_FILES libdruntime/gcc/libbacktrace.d" ;; "src/libgphobos.spec") CONFIG_FILES="$CONFIG_FILES src/libgphobos.spec" ;; "testsuite/testsuite_flags") CONFIG_FILES="$CONFIG_FILES testsuite/testsuite_flags" ;; - "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; + "libdruntime/Makefile") CONFIG_FILES="$CONFIG_FILES libdruntime/Makefile" ;; + "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac @@ -17421,32 +17452,38 @@ _LT_EOF ;; "testsuite/testsuite_flags":F) chmod +x testsuite/testsuite_flags ;; - "default":C) if test -n "$CONFIG_FILES"; then - if test -n "${with_target_subdir}"; then - # Multilibs need MULTISUBDIR defined correctly in certain makefiles so - # that multilib installs will end up installed in the correct place. - # The testsuite needs it for multilib-aware ABI baseline files. - # To work around this not being passed down from config-ml.in -> - # srcdir/Makefile.am -> srcdir/{src,libdruntime,...}/Makefile.am, manually - # append it here. Only modify Makefiles that have just been created. - # - # Also, get rid of this simulated-VPATH thing that automake does. - cat > vpsed << \_EOF - s!`test -f '$<' || echo '$(srcdir)/'`!! + "libdruntime/Makefile":F) cat > vpsed$$ << \_EOF +s!`test -f '$<' || echo '$(srcdir)/'`!! _EOF - for i in $SUBDIRS; do - case $CONFIG_FILES in - *${i}/Makefile*) - #echo "Adding MULTISUBDIR to $i/Makefile" - sed -f vpsed $i/Makefile > tmp - grep '^MULTISUBDIR =' Makefile >> tmp - mv tmp $i/Makefile - ;; - esac - done - rm vpsed - fi - fi + sed -f vpsed$$ $ac_file > tmp$$ + mv tmp$$ $ac_file + rm vpsed$$ + echo 'MULTISUBDIR =' >> $ac_file + ml_norecursion=yes + . ${multi_basedir}/config-ml.in + { ml_norecursion=; unset ml_norecursion;} + ;; + "src/Makefile":F) cat > vpsed$$ << \_EOF +s!`test -f '$<' || echo '$(srcdir)/'`!! +_EOF + sed -f vpsed$$ $ac_file > tmp$$ + mv tmp$$ $ac_file + rm vpsed$$ + echo 'MULTISUBDIR =' >> $ac_file + ml_norecursion=yes + . ${multi_basedir}/config-ml.in + { ml_norecursion=; unset ml_norecursion;} + ;; + "testsuite/Makefile":F) cat > vpsed$$ << \_EOF +s!`test -f '$<' || echo '$(srcdir)/'`!! +_EOF + sed -f vpsed$$ $ac_file > tmp$$ + mv tmp$$ $ac_file + rm vpsed$$ + echo 'MULTISUBDIR =' >> $ac_file + ml_norecursion=yes + . ${multi_basedir}/config-ml.in + { ml_norecursion=; unset ml_norecursion;} ;; esac diff --git a/libphobos/configure.ac b/libphobos/configure.ac index fbd61868336..1e931d4395f 100644 --- a/libphobos/configure.ac +++ b/libphobos/configure.ac @@ -168,45 +168,31 @@ AC_SUBST(GDCFLAGSX) AC_CHECK_HEADER(stdio.h,:, [AC_MSG_ERROR([cannot find stdio.h.])]) -AC_CONFIG_FILES(Makefile src/Makefile libdruntime/Makefile testsuite/Makefile) +AC_CONFIG_FILES(Makefile) AC_CONFIG_FILES(libdruntime/gcc/config.d libdruntime/gcc/libbacktrace.d) AC_CONFIG_FILES(src/libgphobos.spec) AC_CONFIG_FILES([testsuite/testsuite_flags],[chmod +x testsuite/testsuite_flags]) -# We need multilib support, but only if configuring for the target. -AC_CONFIG_COMMANDS([default], -[if test -n "$CONFIG_FILES"; then - if test -n "${with_target_subdir}"; then - # Multilibs need MULTISUBDIR defined correctly in certain makefiles so - # that multilib installs will end up installed in the correct place. - # The testsuite needs it for multilib-aware ABI baseline files. - # To work around this not being passed down from config-ml.in -> - # srcdir/Makefile.am -> srcdir/{src,libdruntime,...}/Makefile.am, manually - # append it here. Only modify Makefiles that have just been created. - # - # Also, get rid of this simulated-VPATH thing that automake does. - cat > vpsed << \_EOF - s!`test -f '$<' || echo '$(srcdir)/'`!! +# Multilibs need MULTISUBDIR defined correctly in certain makefiles so +# that multilib installs will end up installed in the correct place. +# The testsuite needs it for multilib-aware ABI baseline files. +# To work around this not being passed down from config-ml.in -> +# srcdir/Makefile.am -> srcdir/{src,libdruntime,...}/Makefile.am, manually +# append it here. Only modify Makefiles that have just been created. +# +# Also, get rid of this simulated-VPATH thing that automake does. +AC_CONFIG_FILES(AC_FOREACH([DIR], [libdruntime src testsuite], [DIR/Makefile ]), + [cat > vpsed$$ << \_EOF +s!`test -f '$<' || echo '$(srcdir)/'`!! _EOF - for i in $SUBDIRS; do - case $CONFIG_FILES in - *${i}/Makefile*) - #echo "Adding MULTISUBDIR to $i/Makefile" - sed -f vpsed $i/Makefile > tmp - grep '^MULTISUBDIR =' Makefile >> tmp - mv tmp $i/Makefile - ;; - esac - done - rm vpsed - fi - fi -], -[ -# Variables needed in config.status (file generation) which aren't already -# passed by autoconf. -SUBDIRS="$SUBDIRS" + sed -f vpsed$$ $ac_file > tmp$$ + mv tmp$$ $ac_file + rm vpsed$$ + echo 'MULTISUBDIR =' >> $ac_file + ml_norecursion=yes + . ${multi_basedir}/config-ml.in + AS_UNSET([ml_norecursion]) ]) AC_OUTPUT diff --git a/libphobos/d_rules.am b/libphobos/d_rules.am index 958b7c1209b..6566230c301 100644 --- a/libphobos/d_rules.am +++ b/libphobos/d_rules.am @@ -19,6 +19,9 @@ # automake forgets to set this CCLD = $(CC) +toolexecdir = $(libphobos_toolexecdir) +toolexeclibdir = $(libphobos_toolexeclibdir) + # Compile D into normal object files .d.o: $(GDC) $(GDCFLAGS) $(MULTIFLAGS) $(D_EXTRA_DFLAGS) -c -o $@ $< diff --git a/libphobos/libdruntime/Makefile.in b/libphobos/libdruntime/Makefile.in index d81f92827b6..eaa7664c8f1 100644 --- a/libphobos/libdruntime/Makefile.in +++ b/libphobos/libdruntime/Makefile.in @@ -643,6 +643,8 @@ libdir = @libdir@ libexecdir = @libexecdir@ libphobos_builddir = @libphobos_builddir@ libphobos_srcdir = @libphobos_srcdir@ +libphobos_toolexecdir = @libphobos_toolexecdir@ +libphobos_toolexeclibdir = @libphobos_toolexeclibdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ @@ -655,6 +657,7 @@ phobos_compiler_shared_flag = @phobos_compiler_shared_flag@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -664,8 +667,6 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexecdir = @toolexecdir@ -toolexeclibdir = @toolexeclibdir@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ @@ -673,6 +674,8 @@ top_srcdir = @top_srcdir@ # If there are no sources with known extension (i.e. only D sources) # automake forgets to set this CCLD = $(CC) +toolexecdir = $(libphobos_toolexecdir) +toolexeclibdir = $(libphobos_toolexeclibdir) LTDCOMPILE = $(LIBTOOL) --tag=D $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(GDC) $(AM_DFLAGS) diff --git a/libphobos/m4/druntime.m4 b/libphobos/m4/druntime.m4 index ee9b8ed7a05..978c5fe92d2 100644 --- a/libphobos/m4/druntime.m4 +++ b/libphobos/m4/druntime.m4 @@ -50,8 +50,8 @@ AC_DEFUN([DRUNTIME_MULTILIB], # DRUNTIME_INSTALL_DIRECTORIES # ---------------------------- # Setup various install directories for headers. -# Add the cross-host option and substitute the toolexecdir -# toolexeclibdir and gdc_include_dir variables. +# Add the cross-host option and substitute the libphobos_toolexecdir +# libphobos_toolexeclibdir and gdc_include_dir variables. AC_DEFUN([DRUNTIME_INSTALL_DIRECTORIES], [ AC_REQUIRE([AC_PROG_GDC]) @@ -65,33 +65,43 @@ AC_DEFUN([DRUNTIME_INSTALL_DIRECTORIES], AC_HELP_STRING([--with-cross-host=HOST], [configuring with a cross compiler])) - toolexecdir=no - toolexeclibdir=no - - version_specific_libs=no + libphobos_toolexecdir=no + libphobos_toolexeclibdir=no + + AC_MSG_CHECKING([for --enable-version-specific-runtime-libs]) + AC_ARG_ENABLE([version-specific-runtime-libs], + AC_HELP_STRING([--enable-version-specific-runtime-libs], + [Specify that runtime libraries should be installed in a compiler-specific directory]), + [case "$enableval" in + yes) version_specific_libs=yes ;; + no) version_specific_libs=no ;; + *) AC_MSG_ERROR([Unknown argument to enable/disable version-specific libs]);; + esac], + [version_specific_libs=no]) + AC_MSG_RESULT($version_specific_libs) # Version-specific runtime libs processing. if test $version_specific_libs = yes; then - toolexecdir='${libdir}/gcc/${host_alias}' - toolexeclibdir='${toolexecdir}/${gcc_version}$(MULTISUBDIR)' + libphobos_toolexecdir='${libdir}/gcc/${host_alias}' + libphobos_toolexeclibdir='${toolexecdir}/${gcc_version}$(MULTISUBDIR)' else - # Calculate toolexecdir, toolexeclibdir - # Install a library built with a cross compiler in tooldir, not libdir. - if test -n "$with_cross_host" && test x"$with_cross_host" != x"no"; then - toolexecdir='${exec_prefix}/${host_alias}' - toolexeclibdir='${toolexecdir}/lib' - else - toolexecdir='${libdir}/gcc/${host_alias}' - toolexeclibdir='${libdir}' - fi - multi_os_directory=`$GDC -print-multi-os-directory` - case $multi_os_directory in - .) ;; # Avoid trailing /. - *) toolexeclibdir=${toolexeclibdir}/${multi_os_directory} ;; - esac + # Calculate libphobos_toolexecdir, libphobos_toolexeclibdir + # Install a library built with a cross compiler in tooldir, not libdir. + if test -n "$with_cross_host" && test x"$with_cross_host" != x"no"; then + libphobos_toolexecdir='${exec_prefix}/${host_alias}' + libphobos_toolexeclibdir='${toolexecdir}/lib' + else + libphobos_toolexecdir='${libdir}/gcc/${host_alias}' + libphobos_toolexeclibdir='${libdir}' + fi + multi_os_directory=`$GDC -print-multi-os-directory` + case $multi_os_directory in + .) ;; # Avoid trailing /. + *) libphobos_toolexeclibdir=${libphobos_toolexeclibdir}/${multi_os_directory} ;; + esac fi - AC_SUBST(toolexecdir) - AC_SUBST(toolexeclibdir) + AC_SUBST(libphobos_toolexecdir) + AC_SUBST(libphobos_toolexeclibdir) # Default case for install directory for D sources files. gdc_include_dir='$(libdir)/gcc/${target_alias}/${gcc_version}/include/d' diff --git a/libphobos/src/Makefile.in b/libphobos/src/Makefile.in index 23ba19a1123..1e2003436eb 100644 --- a/libphobos/src/Makefile.in +++ b/libphobos/src/Makefile.in @@ -603,6 +603,8 @@ libdir = @libdir@ libexecdir = @libexecdir@ libphobos_builddir = @libphobos_builddir@ libphobos_srcdir = @libphobos_srcdir@ +libphobos_toolexecdir = @libphobos_toolexecdir@ +libphobos_toolexeclibdir = @libphobos_toolexeclibdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ @@ -615,6 +617,7 @@ phobos_compiler_shared_flag = @phobos_compiler_shared_flag@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -624,8 +627,6 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexecdir = @toolexecdir@ -toolexeclibdir = @toolexeclibdir@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ @@ -633,6 +634,8 @@ top_srcdir = @top_srcdir@ # If there are no sources with known extension (i.e. only D sources) # automake forgets to set this CCLD = $(CC) +toolexecdir = $(libphobos_toolexecdir) +toolexeclibdir = $(libphobos_toolexeclibdir) LTDCOMPILE = $(LIBTOOL) --tag=D $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(GDC) $(AM_DFLAGS) diff --git a/libphobos/testsuite/Makefile.in b/libphobos/testsuite/Makefile.in index f22f1f2481e..e3fd03b848a 100644 --- a/libphobos/testsuite/Makefile.in +++ b/libphobos/testsuite/Makefile.in @@ -252,6 +252,8 @@ libdir = @libdir@ libexecdir = @libexecdir@ libphobos_builddir = @libphobos_builddir@ libphobos_srcdir = @libphobos_srcdir@ +libphobos_toolexecdir = @libphobos_toolexecdir@ +libphobos_toolexeclibdir = @libphobos_toolexeclibdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ @@ -264,6 +266,7 @@ phobos_compiler_shared_flag = @phobos_compiler_shared_flag@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -273,8 +276,6 @@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ -toolexecdir = @toolexecdir@ -toolexeclibdir = @toolexeclibdir@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@