Static and shared builds were possible in the good old days of static makefiles. Currently the build system does not distinguish nor does anything special when one requests a static build.
Print a warning message for the packager that static builds are not supported and continue building shared libs. Currently only Debian and derivatives use static build, and they use it for building a Xlib powered libGL. This patch will only change the warning message they are seeing but the binaries produced will be identical. Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com> --- configure.ac | 56 +++++++++++----------------------- src/gallium/targets/osmesa/Makefile.am | 3 -- src/mesa/drivers/osmesa/Makefile.am | 2 -- src/mesa/drivers/x11/Makefile.am | 2 -- 4 files changed, 18 insertions(+), 45 deletions(-) diff --git a/configure.ac b/configure.ac index 7130f6d..83c36b5 100644 --- a/configure.ac +++ b/configure.ac @@ -285,18 +285,15 @@ 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 -xyesyes ) - AC_MSG_WARN([Cannot build static and shared libraries, disabling shared]) - enable_shared=no +xnoyes ) ;; -xnono ) - AC_MSG_WARN([Cannot disable both static and shared libraries, enabling static]) - enable_static=yes +* ) + AC_MSG_WARN([Messa build supports only 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 @@ -331,20 +328,16 @@ AM_CONDITIONAL(HAVE_COMPAT_SYMLINKS, test x$HAVE_COMPAT_SYMLINKS = xyes) dnl dnl library names dnl -if test "$enable_static" = yes; then - LIB_EXT='a' -else - case "$host_os" in - darwin* ) - LIB_EXT='dylib' ;; - cygwin* ) - LIB_EXT='dll' ;; - aix* ) - LIB_EXT='a' ;; - * ) - LIB_EXT='so' ;; - esac -fi +case "$host_os" in +darwin* ) + LIB_EXT='dylib' ;; +cygwin* ) + LIB_EXT='dll' ;; +aix* ) + LIB_EXT='a' ;; +* ) + LIB_EXT='so' ;; +esac AC_SUBST([LIB_EXT]) @@ -781,11 +774,6 @@ PKG_CHECK_MODULES([LIBUDEV], [libudev >= $LIBUDEV_REQUIRED], have_libudev=yes, have_libudev=no) if test "x$enable_dri" = xyes; then - # DRI must be shared, I think - 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" @@ -1113,12 +1101,7 @@ x16|x32) esac if test "x$enable_osmesa" = xyes -o "x$enable_gallium_osmesa" = xyes; then - # 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_LIB_DEPS="-lm $PTHREAD_LIBS $SELINUX_LIBS $DLOPEN_LIBS" OSMESA_MESA_DEPS="" OSMESA_PC_LIB_PRIV="-lm $PTHREAD_LIBS $SELINUX_LIBS $DLOPEN_LIBS" fi @@ -1167,11 +1150,8 @@ if test "x$enable_egl" = xyes; then AC_CHECK_FUNC(mincore, [DEFINES="$DEFINES -DHAVE_MINCORE"]) - if test "$enable_static" != yes; then - if test "x$enable_dri" = xyes; then - HAVE_EGL_DRIVER_DRI2=1 - fi - + if test "x$enable_dri" = xyes; then + HAVE_EGL_DRIVER_DRI2=1 fi fi AM_CONDITIONAL(HAVE_EGL, test "x$enable_egl" = xyes) diff --git a/src/gallium/targets/osmesa/Makefile.am b/src/gallium/targets/osmesa/Makefile.am index c065773..775abd9 100644 --- a/src/gallium/targets/osmesa/Makefile.am +++ b/src/gallium/targets/osmesa/Makefile.am @@ -66,12 +66,9 @@ lib@OSMESA_LIB@_la_LIBADD += $(top_builddir)/src/gallium/drivers/llvmpipe/libllv endif - -if BUILD_SHARED if HAVE_COMPAT_SYMLINKS include $(top_srcdir)/install-gallium-links.mk endif -endif pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = osmesa.pc diff --git a/src/mesa/drivers/osmesa/Makefile.am b/src/mesa/drivers/osmesa/Makefile.am index 9ab6820..4d61b14 100644 --- a/src/mesa/drivers/osmesa/Makefile.am +++ b/src/mesa/drivers/osmesa/Makefile.am @@ -47,11 +47,9 @@ lib@OSMESA_LIB@_la_LIBADD = \ $(SHARED_GLAPI_LIB) \ $(OSMESA_LIB_DEPS) -if BUILD_SHARED if HAVE_COMPAT_SYMLINKS include $(top_srcdir)/install-lib-links.mk endif -endif pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = osmesa.pc diff --git a/src/mesa/drivers/x11/Makefile.am b/src/mesa/drivers/x11/Makefile.am index cc83793..63321be 100644 --- a/src/mesa/drivers/x11/Makefile.am +++ b/src/mesa/drivers/x11/Makefile.am @@ -64,8 +64,6 @@ lib@GL_LIB@_la_LDFLAGS = \ -no-undefined \ $(GL_LIB_DEPS) -if BUILD_SHARED if HAVE_COMPAT_SYMLINKS include $(top_srcdir)/install-lib-links.mk endif -endif -- 1.9.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev