Yeah, that looks cleaner.

Reviewed-by: Jeremy Huddleston <[email protected]>

On Oct 5, 2009, at 17:18, Alan Coopersmith wrote:

Replaces special handling for Xquartz DDX and scales better to handling the multiple platforms that now have some level of Dtrace support available.

Signed-off-by: Alan Coopersmith <[email protected]>
---
configure.ac           |   14 +++++++++++++-
dix/Makefile.am        |    2 +-
hw/xfree86/Makefile.am |    2 +-
os/Makefile.am         |    4 +---
test/Makefile.am       |    2 +-
test/xi2/Makefile.am   |    2 +-
6 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/configure.ac b/configure.ac
index ba52329..eab315d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -102,8 +102,20 @@ fi
if test "x$WDTRACE" != "xno" ; then
  AC_DEFINE(XSERVER_DTRACE, 1,
[Define to 1 if the DTrace Xserver provider probes should be built in.])
+
+# Solaris/OpenSolaris require dtrace -G to build dtrace probe information into +# object files, and require linking with those as relocatable objects, not .a +# archives. MacOS X handles all this in the normal compiler toolchain, and on +# some releases (like Tiger), will error out on dtrace -G. For now, other +# platforms with Dtrace ports are assumed to support -G (the FreeBSD and Linux +# ports appear to, based on my web searches, but have not yet been tested).
+       case $host_os in
+               darwin*)        SPECIAL_DTRACE_OBJECTS=no ;;
+               *)              SPECIAL_DTRACE_OBJECTS=yes ;;
+       esac
fi
AM_CONDITIONAL(XSERVER_DTRACE, [test "x$WDTRACE" != "xno"])
+AM_CONDITIONAL(SPECIAL_DTRACE_OBJECTS, [test "x $SPECIAL_DTRACE_OBJECTS" = "xyes"])

AC_HEADER_DIRENT
AC_HEADER_STDC
@@ -1245,7 +1257,7 @@ AC_DEFINE(XSYNC, 1, [Support XSync extension])
AC_DEFINE(XCMISC, 1, [Support XCMisc extension])
AC_DEFINE(BIGREQS, 1, [Support BigRequests extension])

-if test "x$WDTRACE" != "xno" && test "x$XQUARTZ" = "xno"; then
+if test "x$SPECIAL_DTRACE_OBJECTS" = "xyes" ; then
  DIX_LIB='$(top_builddir)/dix/dix.O'
  OS_LIB='$(top_builddir)/os/os.O'
else
diff --git a/dix/Makefile.am b/dix/Makefile.am
index 85a8767..0996cff 100644
--- a/dix/Makefile.am
+++ b/dix/Makefile.am
@@ -54,7 +54,7 @@ Xserver-dtrace.h: $(srcdir)/Xserver.d
        $(DTRACE) -C -h -o $@ -s $(srcdir)/Xserver.d \
                || cp Xserver-dtrace.h.in $@

-if !XQUARTZ    
+if SPECIAL_DTRACE_OBJECTS
# Generate dtrace object code for probes in libdix
dtrace-dix.o: $(top_srcdir)/dix/Xserver.d $(am_libdix_la_OBJECTS)
$(DTRACE) -G -C -o $@ -s $(top_srcdir)/dix/Xserver.d $ (am_libdix_la_OBJECTS:%.lo=.libs/%.o)
diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
index 48db5a1..159b935 100644
--- a/hw/xfree86/Makefile.am
+++ b/hw/xfree86/Makefile.am
@@ -80,7 +80,7 @@ BUILT_SOURCES = xorg.conf.example
DISTCLEANFILES += xorg.conf.example xorg.conf.example.pre
EXTRA_DIST = xorgconf.cpp

-if XSERVER_DTRACE
+if SPECIAL_DTRACE_OBJECTS
# Re-add dtrace object code that gets lost when building static libraries
Xorg_LDADD += $(XSERVER_LIBS)
endif
diff --git a/os/Makefile.am b/os/Makefile.am
index 9ce8ff2..22ed194 100644
--- a/os/Makefile.am
+++ b/os/Makefile.am
@@ -41,8 +41,7 @@ endif
EXTRA_DIST = $(SECURERPC_SRCS) $(INTERNALMALLOC_SRCS) \
     $(XDMCP_SRCS) $(STRLCAT_SRCS)

-if !XQUARTZ
-if XSERVER_DTRACE
+if SPECIAL_DTRACE_OBJECTS
# Generate dtrace object code for probes in libos & libdix
dtrace.o: $(top_srcdir)/dix/Xserver.d $(am_libos_la_OBJECTS)
$(DTRACE) -G -C -o $@ -s $(top_srcdir)/dix/Xserver.d .libs/*.o ../ dix/.libs/*.o
@@ -52,7 +51,6 @@ noinst_PROGRAMS = os.O
os.O: dtrace.o $(am_libos_la_OBJECTS)
        ld -r -o $@ dtrace.o .libs/*.o
endif
-endif

os.c:
        touch $@
diff --git a/test/Makefile.am b/test/Makefile.am
index 1bd76f5..7c44671 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -9,7 +9,7 @@ AM_CFLAGS = $(DIX_CFLAGS) $(GLIB_CFLAGS) @XORG_CFLAGS@
INCLUDES = @XORG_INCS@
TEST_LDADD=libxservertest.la $(XORG_SYS_LIBS) $(XSERVER_SYS_LIBS) $ (GLIB_LIBS)

-if XSERVER_DTRACE
+if SPECIAL_DTRACE_OBJECTS
TEST_LDADD += $(OS_LIB) $(DIX_LIB)
endif

diff --git a/test/xi2/Makefile.am b/test/xi2/Makefile.am
index ef6d0f0..0e2de6b 100644
--- a/test/xi2/Makefile.am
+++ b/test/xi2/Makefile.am
@@ -17,7 +17,7 @@ INCLUDES = @XORG_INCS@
TEST_LDADD=../libxservertest.la $(XORG_SYS_LIBS) $(XSERVER_SYS_LIBS) $(GLIB_LIBS)
COMMON_SOURCES=protocol-common.h protocol-common.c

-if XSERVER_DTRACE
+if SPECIAL_DTRACE_OBJECTS
TEST_LDADD += $(OS_LIB) $(DIX_LIB)
endif

--
1.5.6.5

_______________________________________________
xorg-devel mailing list
[email protected]
http://lists.x.org/mailman/listinfo/xorg-devel

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
xorg-devel mailing list
[email protected]
http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to