summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.ac29
-rw-r--r--install-gallium-links.mk2
-rw-r--r--install-lib-links.mk2
3 files changed, 26 insertions, 7 deletions
diff --git a/configure.ac b/configure.ac
index ecf66a3ecd6..cad4b05242a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -284,15 +284,18 @@ dnl Can't have static and shared libraries, default to static if user
dnl explicitly requested. If both disabled, set to static since shared
dnl was explicitly requested.
case "x$enable_static$enable_shared" in
-xnoyes )
+xyesyes)
+ AC_MSG_WARN([Cannot build static and shared libraries, disabling shared])
+ enable_shared=no
;;
-* )
- AC_MSG_WARN([Messa build supports only shared libraries, enabling shared])
+xnono)
+ AC_MSG_WARN([Cannot disable both static and shared libraries, enabling shared])
enable_shared=yes
- enable_static=no
;;
esac
+AM_CONDITIONAL(BUILD_SHARED, test "x$enable_shared" = xyes)
+
dnl
dnl other compiler options
dnl
@@ -782,6 +785,10 @@ PKG_CHECK_MODULES([LIBUDEV], [libudev >= $LIBUDEV_REQUIRED],
have_libudev=yes, have_libudev=no)
if test "x$enable_dri" = xyes; then
+ if test "$enable_static" = yes; then
+ AC_MSG_ERROR([Cannot use static libraries for DRI drivers])
+ fi
+
# not a hard requirement as swrast does not depend on it
if test "x$have_libdrm" = xyes; then
DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
@@ -1110,7 +1117,12 @@ x16|x32)
esac
if test "x$enable_osmesa" = xyes -o "x$enable_gallium_osmesa" = xyes; then
- OSMESA_LIB_DEPS="-lm $PTHREAD_LIBS $SELINUX_LIBS $DLOPEN_LIBS"
+ # only link libraries with osmesa if shared
+ if test "$enable_static" = no; then
+ OSMESA_LIB_DEPS="-lm $PTHREAD_LIBS $SELINUX_LIBS $DLOPEN_LIBS"
+ else
+ OSMESA_LIB_DEPS=""
+ fi
OSMESA_MESA_DEPS=""
OSMESA_PC_LIB_PRIV="-lm $PTHREAD_LIBS $SELINUX_LIBS $DLOPEN_LIBS"
fi
@@ -1159,8 +1171,11 @@ if test "x$enable_egl" = xyes; then
AC_CHECK_FUNC(mincore, [DEFINES="$DEFINES -DHAVE_MINCORE"])
- if test "x$enable_dri" = xyes; then
- HAVE_EGL_DRIVER_DRI2=1
+ if test "$enable_static" != yes; then
+ if test "x$enable_dri" = xyes; then
+ HAVE_EGL_DRIVER_DRI2=1
+ fi
+
fi
fi
AM_CONDITIONAL(HAVE_EGL, test "x$enable_egl" = xyes)
diff --git a/install-gallium-links.mk b/install-gallium-links.mk
index 5ee923b25df..6ed8a24a707 100644
--- a/install-gallium-links.mk
+++ b/install-gallium-links.mk
@@ -1,6 +1,7 @@
# Provide compatibility with scripts for the old Mesa build system for
# a while by putting a link to the driver into /lib of the build tree.
+if BUILD_SHARED
if HAVE_COMPAT_SYMLINKS
all-local : .libs/install-gallium-links
@@ -23,3 +24,4 @@ all-local : .libs/install-gallium-links
fi; \
done && touch $@
endif
+endif
diff --git a/install-lib-links.mk b/install-lib-links.mk
index 0e137198722..09fb86a0b45 100644
--- a/install-lib-links.mk
+++ b/install-lib-links.mk
@@ -1,6 +1,7 @@
# Provide compatibility with scripts for the old Mesa build system for
# a while by putting a link to the driver into /lib of the build tree.
+if BUILD_SHARED
if HAVE_COMPAT_SYMLINKS
all-local : .libs/install-mesa-links
@@ -14,3 +15,4 @@ all-local : .libs/install-mesa-links
fi; \
done && touch $@
endif
+endif