From 45329a2cbd7ae061d2824cfd1d66356e36278ec6 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Tue, 8 Nov 1994 02:16:18 +0000 Subject: [PATCH] Various changes to support building shared lib{g,stdc}++ --- config/.Sanitize | 6 ++++++ config/mh-papic | 2 ++ config/mh-sparcpic | 2 ++ config/mh-x86pic | 2 ++ config/mt-papic | 2 ++ config/mt-sparcpic | 2 ++ config/mt-x86pic | 2 ++ configure.in | 32 ++++++++++++++++++++++++++++++++ 8 files changed, 50 insertions(+) create mode 100644 config/mh-papic create mode 100644 config/mh-sparcpic create mode 100644 config/mh-x86pic create mode 100644 config/mt-papic create mode 100644 config/mt-sparcpic create mode 100644 config/mt-x86pic diff --git a/config/.Sanitize b/config/.Sanitize index 28343912c69..a3b9ce7f085 100644 --- a/config/.Sanitize +++ b/config/.Sanitize @@ -59,6 +59,12 @@ mh-sysv mh-sysv4 mh-vaxult2 mt-v810 +mt-x86pic +mt-papic +mt-sparcpic +mh-papic +mh-x86pic +mh-sparcpic Things-to-lose: diff --git a/config/mh-papic b/config/mh-papic new file mode 100644 index 00000000000..2a977f95f61 --- /dev/null +++ b/config/mh-papic @@ -0,0 +1,2 @@ +LIBCFLAGS=$(CFLAGS) -fPIC +LIBCXXFLAGS=$(CXXFLAGS) -fPIC diff --git a/config/mh-sparcpic b/config/mh-sparcpic new file mode 100644 index 00000000000..872d0fdeb14 --- /dev/null +++ b/config/mh-sparcpic @@ -0,0 +1,2 @@ +LIBCFLAGS=$(CFLAGS) -fpic +LIBCXXFLAGS=$(CXXFLAGS) -fpic diff --git a/config/mh-x86pic b/config/mh-x86pic new file mode 100644 index 00000000000..872d0fdeb14 --- /dev/null +++ b/config/mh-x86pic @@ -0,0 +1,2 @@ +LIBCFLAGS=$(CFLAGS) -fpic +LIBCXXFLAGS=$(CXXFLAGS) -fpic diff --git a/config/mt-papic b/config/mt-papic new file mode 100644 index 00000000000..958f78e8277 --- /dev/null +++ b/config/mt-papic @@ -0,0 +1,2 @@ +LIBCFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET) -fPIC +LIBCXXFLAGS_FOR_TARGET=$(CXXFLAGS_FOR_TARGET) -fPIC diff --git a/config/mt-sparcpic b/config/mt-sparcpic new file mode 100644 index 00000000000..72af3166d39 --- /dev/null +++ b/config/mt-sparcpic @@ -0,0 +1,2 @@ +LIBCFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET) -fpic +LIBCXXFLAGS_FOR_TARGET=$(CXXFLAGS_FOR_TARGET) -fpic diff --git a/config/mt-x86pic b/config/mt-x86pic new file mode 100644 index 00000000000..72af3166d39 --- /dev/null +++ b/config/mt-x86pic @@ -0,0 +1,2 @@ +LIBCFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET) -fpic +LIBCXXFLAGS_FOR_TARGET=$(CXXFLAGS_FOR_TARGET) -fpic diff --git a/configure.in b/configure.in index 7fd40e886dd..dcc98f744db 100644 --- a/configure.in +++ b/configure.in @@ -153,6 +153,30 @@ case "${host}" in ;; esac +# We default to --with-shared on platforms where -fpic is meaningless. +# Well, we don't yet, but we will. +if false && [ "${host}" = "${target}" ] && [ x${enable_shared} = x ]; then + case "${target}" in + alpha-dec-osf*) enable_shared=yes ;; + mips-sgi-irix5*) enable_shared=yes ;; + *) enable_shared=no ;; + esac +fi + +if [ x${enable_shared} = xyes ]; then + waugh= + case "${host}" in + hppa*-*-*) waugh=config/mh-papic ;; + i[345]86-*-*) waugh=config/mh-x86pic ;; + *-*-*) waugh=config/mh-${target_cpu}pic ;; + esac + if [ -n "${host_makefile_frag}" ] && [ -f ${srcdir}/${waugh} ]; then + cat ${srcdir}/${host_makefile_frag} > mh-frag + cat ${srcdir}/${waugh} >> mh-frag + host_makefile_frag=mh-frag + fi +fi + # per-target: case "${target}" in @@ -498,6 +522,14 @@ if [ x${use_gnu_ld} = x ] ; then fi fi +if [ x${enable_shared} = xyes ]; then + case "${target}" in + hppa*-*-*) target_makefile_frag=config/mt-papic ;; + i[345]86-*-*) target_makefile_frag=config/mt-x86pic ;; + *-*-*) target_makefile_frag=config/mt-${target_cpu}pic ;; + esac +fi + # # Local Variables: # fill-column: 131 -- 2.30.2