Files
gcc/libphobos/testsuite/libphobos.druntime_shared/druntime_shared.exp
T
Iain Buclaw fdfcb5353c libphobos: Build all modules with -fversion=Shared when configured with --enable-shared
The libgdruntime_convenience library was built with `-fversion=Shared',
but the libphobos part wasn't when creating the static library.

As there are no issues compiling in Shared code into the static library,
to avoid mismatches the flag is now always present when --enable-shared
is turned on.  Libtool's compiler PIC D flag is now the combination of
compiler PIC and D Shared flags, and AM_DFLAGS passes `-prefer-pic' to
libtool unless --enable-shared is turned off.

libphobos/ChangeLog:

	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* configure.ac: Substitute enable_shared, enable_static, and
	phobos_lt_pic_flag.
	* libdruntime/Makefile.am (AM_DFLAGS): Replace
	  phobos_compiler_pic_flag with phobos_lt_pic_flags, and
	  phobos_compiler_shared_flag.
	* libdruntime/Makefile.in: Regenerate.
	* src/Makefile.am (AM_DFLAGS): Replace phobos_compiler_pic_flag
	  with phobos_lt_pic_flag, and phobos_compiler_shared_flag.
	* src/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.
	* testsuite/libphobos.druntime_shared/druntime_shared.exp: Remove
	-fversion=Shared and -fno-moduleinfo from default extra test flags.
	* testsuite/libphobos.phobos_shared/phobos_shared.exp: Likewise.
	* testsuite/testsuite_flags.in: Add phobos_compiler_shared_flag to
	--gdcflags.
2021-03-26 16:14:32 +01:00

44 lines
1.3 KiB
Plaintext

# Copyright (C) 2019-2021 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
# Immediately exit if we can't run target executables.
if { ![isnative] || ![is-effective-target shared] } {
return
}
# Gather a list of all tests.
set tests [lsort [filter_libphobos_unittests [find $srcdir/../libdruntime "*.d"]]]
set version_flags ""
if { [is-effective-target linux_pre_2639] } {
lappend version_flags "-fversion=Linux_Pre_2639"
}
# Initialize dg.
dg-init
# Main loop.
foreach test $tests {
set libphobos_test_name "$subdir/[dg-trim-dirname $srcdir/../libdruntime $test]"
dg-runtest $test "-shared-libphobos" \
"-fmain -fbuilding-libphobos-tests $version_flags"
set libphobos_test_name ""
}
# All done.
dg-finish