diff options
author | Emil Velikov <[email protected]> | 2014-03-12 18:13:02 +0000 |
---|---|---|
committer | Emil Velikov <[email protected]> | 2014-03-31 12:18:17 +0100 |
commit | 4d8267ef209f29cbfe0075500083a2721a9aa885 (patch) | |
tree | 4744b3824255873ee0afcc01df952d5f65400118 /configure.ac | |
parent | 23740ed031f4a5fb308e03a4d239ab3db31fffd9 (diff) |
Partially revert "automake: allow only shared builds"
Evidently at least static OSMesa is still used as shared one
causes substantial increase in the load time for some programs
that use it (from seconds up-to ~30min).
Rather than forcing everyone to use shared mesa, revert commit
a6efbac9fb502c4f0166e7a0680b6828e1f6926c and default to shared
build when both shared and static are disabled.
v2: Whitespace cleanup, drop silly comment.
Reported-by: Burlen Loring <[email protected]>
Reviewed-by: Matt Turner <[email protected]>
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 29 |
1 files changed, 22 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) |