xserver: Branch 'master' - 4 commits

Keith Packard keithp at kemper.freedesktop.org
Wed Feb 2 14:41:49 PST 2011


 configure.ac                  |    9 +++--
 hw/xfree86/parser/Makefile.am |    7 ++-
 m4/ax_tls.m4                  |   74 ++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 85 insertions(+), 5 deletions(-)

New commits:
commit 3a91c2d21c3231e2a011d95c3cfc01785430c1cf
Merge: ac0a00a... 82b1eaa...
Author: Keith Packard <keithp at keithp.com>
Date:   Wed Feb 2 14:37:00 2011 -0800

    Merge remote branch 'dbn/build-fixes'

commit 82b1eaa6cad20f39dbf15573bdb3d62acbcd91f9
Author: Tom Fogal <tfogal at alumni.unh.edu>
Date:   Wed Dec 22 14:39:48 2010 -0700

    Autodetect TLS support instead of defaulting to disabled.
    
    Uses the AX_TLS macro to figure out if the current platform
    supports TLS.  If it does, enable TLS automagically.  Still
    respects --enable option, regardless.
    
    Signed-off-by: Tom Fogal <tfogal at alumni.unh.edu>
    Reviewed-by: Dan Nicholson <dbn.lists at gmail.com>

diff --git a/configure.ac b/configure.ac
index 1ceffe7..e6ada8d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -597,9 +597,14 @@ dnl GLX build options
 AC_ARG_ENABLE(aiglx,          AS_HELP_STRING([--enable-aiglx], [Build accelerated indirect GLX (default: enabled)]),
                                 [AIGLX=$enableval],
                                 [AIGLX=yes])
-AC_ARG_ENABLE(glx-tls,        AS_HELP_STRING([--enable-glx-tls], [Build GLX with TLS support (default: disabled)]),
+AX_TLS
+AC_ARG_ENABLE(glx-tls,        AS_HELP_STRING([--enable-glx-tls], [Build GLX with TLS support (default: auto)]),
                                 [GLX_USE_TLS=$enableval],
-                                [GLX_USE_TLS=no])
+                                [GLX_USE_TLS=no
+                                 if test "${ac_cv_tls}" != "none" ; then
+                                   GLX_USE_TLS=yes
+                                 fi])
+AC_SUBST(GLX_TLS, ${GLX_USE_TLS})
 
 dnl Extensions.
 AC_ARG_ENABLE(registry,       AS_HELP_STRING([--disable-registry], [Build string registry module (default: enabled)]), [XREGISTRY=$enableval], [XREGISTRY=yes])
commit 93393411e39fbb0f72cf6c2f79ebde177aa86932
Author: Tom Fogal <tfogal at alumni.unh.edu>
Date:   Wed Dec 22 16:03:03 2010 -0700

    Add macro for detecting thread local storage support.
    
    This adds an AX_TLS macro which attempts to identify if the
    underlying compiler/platform supports thread local storage (TLS).
    The macro comes from the autoconf macro archive.
    
    Signed-off-by: Tom Fogal <tfogal at alumni.unh.edu>
    Reviewed-by: Dan Nicholson <dbn.lists at gmail.com>

diff --git a/m4/ax_tls.m4 b/m4/ax_tls.m4
new file mode 100644
index 0000000..481c3d0
--- /dev/null
+++ b/m4/ax_tls.m4
@@ -0,0 +1,74 @@
+# ===========================================================================
+#             http://www.nongnu.org/autoconf-archive/ax_tls.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_TLS
+#
+# DESCRIPTION
+#
+#   Provides a test for the compiler support of thread local storage (TLS)
+#   extensions. Defines TLS if it is found. Currently only knows about GCC
+#   and MSVC. I think SunPro uses the same as GCC, and Borland apparently
+#   supports either.
+#
+# LICENSE
+#
+#   Copyright (c) 2008 Alan Woodland <ajw05 at aber.ac.uk>
+#
+#   This program is free software: you can redistribute it and/or modify it
+#   under the terms of the GNU General Public License as published by the
+#   Free Software Foundation, either version 3 of the License, or (at your
+#   option) any later version.
+#
+#   This program is distributed in the hope that it will be useful, but
+#   WITHOUT ANY WARRANTY; without even the implied warranty of
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+#   Public License for more details.
+#
+#   You should have received a copy of the GNU General Public License along
+#   with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+#   As a special exception, the respective Autoconf Macro's copyright owner
+#   gives unlimited permission to copy, distribute and modify the configure
+#   scripts that are the output of Autoconf when processing the Macro. You
+#   need not follow the terms of the GNU General Public License when using
+#   or distributing such scripts, even though portions of the text of the
+#   Macro appear in them. The GNU General Public License (GPL) does govern
+#   all other use of the material that constitutes the Autoconf Macro.
+#
+#   This special exception to the GPL applies to versions of the Autoconf
+#   Macro released by the Autoconf Archive. When you make and distribute a
+#   modified version of the Autoconf Macro, you may extend this special
+#   exception to the GPL to apply to your modified version as well.
+
+AC_DEFUN([AX_TLS], [
+  AC_MSG_CHECKING(for thread local storage (TLS) class)
+  AC_CACHE_VAL(ac_cv_tls, [
+    ax_tls_keywords="__thread __declspec(thread) none"
+    for ax_tls_keyword in $ax_tls_keywords; do
+       case $ax_tls_keyword in
+          none) ac_cv_tls=none ; break ;;
+          *)
+             AC_TRY_COMPILE(
+                [#include <stdlib.h>
+                 static void
+                 foo(void) {
+                 static ] $ax_tls_keyword [ int bar;
+                 exit(1);
+                 }],
+                 [],
+                 [ac_cv_tls=$ax_tls_keyword ; break],
+                 ac_cv_tls=none
+             )
+       esac
+    done
+])
+
+  if test "$ac_cv_tls" != "none"; then
+    dnl AC_DEFINE([TLS], [], [If the compiler supports a TLS storage class define it to that here])
+    AC_DEFINE_UNQUOTED([TLS], $ac_cv_tls, [If the compiler supports a TLS storage class define it to that here])
+  fi
+  AC_MSG_RESULT($ac_cv_tls)
+])
commit 60801ff8703ec36995139a6dd7b1fc26ae8854a6
Author: Dan Nicholson <dbn.lists at gmail.com>
Date:   Tue Nov 23 11:38:50 2010 -0800

    xfree86: Convert libxf86config to static libtool library
    
    In order to use libxf86config in a shared library, all the code must be
    compiled with -fPIC. Add proper PIC support for libxf86config by turning
    it into a libtool library. However, since we don't want to guarantee API
    or ABI stability, make sure it's only built static.
    
    Signed-off-by: Dan Nicholson <dbn.lists at gmail.com>
    Acked-by: Gaetan Nadon <memsize at videotron.ca>

diff --git a/hw/xfree86/parser/Makefile.am b/hw/xfree86/parser/Makefile.am
index fb5d49e..1cd70e7 100644
--- a/hw/xfree86/parser/Makefile.am
+++ b/hw/xfree86/parser/Makefile.am
@@ -1,6 +1,6 @@
 if INSTALL_LIBXF86CONFIG
 noinst_LTLIBRARIES = libxf86config_internal.la
-lib_LIBRARIES = libxf86config.a
+lib_LTLIBRARIES = libxf86config.la
 LIBHEADERS = \
 	xf86Optrec.h \
 	xf86Parser.h
@@ -30,10 +30,11 @@ INTERNAL_SOURCES= \
 libxf86config_internal_la_SOURCES = \
 	$(INTERNAL_SOURCES)
 
-libxf86config_a_SOURCES = \
+libxf86config_la_SOURCES = \
 	$(top_srcdir)/os/xprintf.c \
 	$(INTERNAL_SOURCES)
-libxf86config_a_CFLAGS = $(AM_CFLAGS)
+libxf86config_la_CFLAGS = $(AM_CFLAGS)
+libxf86config_la_LDFLAGS = -static
 
 AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) \
 	-DSYSCONFDIR=\"$(sysconfdir)\" \


More information about the xorg-commit mailing list