aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/.Sanitize6
-rw-r--r--config/mh-papic2
-rw-r--r--config/mh-sparcpic2
-rw-r--r--config/mh-x86pic2
-rw-r--r--config/mt-papic2
-rw-r--r--config/mt-sparcpic2
-rw-r--r--config/mt-x86pic2
-rw-r--r--configure.in32
8 files changed, 50 insertions, 0 deletions
diff --git a/config/.Sanitize b/config/.Sanitize
index 2834391..a3b9ce7 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 0000000..2a977f9
--- /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 0000000..872d0fd
--- /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 0000000..872d0fd
--- /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 0000000..958f78e
--- /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 0000000..72af316
--- /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 0000000..72af316
--- /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 7fd40e8..dcc98f7 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