diff --git a/configure.ac b/configure.ac index 383dd2fbe..fa454faca 100644 --- a/configure.ac +++ b/configure.ac @@ -32,10 +32,9 @@ AC_CONFIG_SRCDIR([Makefile.am]) AM_INIT_AUTOMAKE([dist-bzip2 foreign]) AM_MAINTAINER_MODE -# Require xorg-macros version 1.2.0 or newer for XORG_CHANGELOG and -# XORG_CWARNFLAGS -m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.2 or later before running autoconf/autogen])]) -XORG_MACROS_VERSION(1.2) +# Require xorg-macros version 1.3.0 or newer for XORG_DEFAULT_OPTIONS +m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.3 or later before running autoconf/autogen])]) +XORG_MACROS_VERSION(1.3) dnl this gets generated by autoheader, and thus contains all the defines. we dnl don't ever actually use it, internally. @@ -74,6 +73,11 @@ AC_SYS_LARGEFILE XORG_PROG_RAWCPP AC_PATH_PROG(SED,sed) +XORG_DEFAULT_OPTIONS +# Quoted so that make will expand $(CWARNFLAGS) in makefiles to allow +# easier overrides at build time. +XSERVER_CFLAGS='$(CWARNFLAGS)' + dnl Check for dtrace program (needed to build Xserver dtrace probes) dnl Also checks for , since some Linux distros have an dnl ISDN trace program named dtrace @@ -97,8 +101,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 @@ -407,7 +423,6 @@ case $host_os in ;; esac -XORG_RELEASE_VERSION dnl augment XORG_RELEASE_VERSION for our snapshot number and to expose the dnl major number PVMAJOR=`echo $PACKAGE_VERSION | cut -d . -f 1` @@ -427,8 +442,9 @@ m4_ifdef([AS_HELP_STRING], , [m4_define([AS_HELP_STRING], m4_defn([AC_HELP_STRIN dnl Build options. AC_ARG_ENABLE(werror, AS_HELP_STRING([--enable-werror], - [Treat warnings as errors (default: disabled)]), - [WERROR=$enableval], [WERROR=no]) + [Obsolete - use --enable-strict-compilation instead]), + AC_MSG_ERROR([--enable-werror has been replaced by --enable-strict-compilation])) + AC_ARG_ENABLE(debug, AS_HELP_STRING([--enable-debug], [Enable debugging (default: disabled)]), [DEBUGGING=$enableval], [DEBUGGING=no]) @@ -696,6 +712,7 @@ case $host_os in XF86VIDMODE=no fi ;; + *) XQUARTZ=no ;; esac dnl --------------------------------------------------------------------------- @@ -1241,7 +1258,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 @@ -1302,7 +1319,7 @@ PKG_CHECK_MODULES([XSERVERLIBS], [$REQUIRED_LIBS]) # XSERVER_SYS_LIBS is the set of out-of-tree libraries which all servers # require. # -XSERVER_CFLAGS="${XSERVERCFLAGS_CFLAGS} ${SHA1_CFLAGS}" +XSERVER_CFLAGS="${XSERVER_CFLAGS} ${XSERVERCFLAGS_CFLAGS} ${SHA1_CFLAGS}" XSERVER_LIBS="$DIX_LIB $CONFIG_LIB $MI_LIB $OS_LIB" XSERVER_SYS_LIBS="${XSERVERLIBS_LIBS} ${SYS_LIBS} ${LIBS} ${SHA1_LIB}" AC_SUBST([XSERVER_LIBS]) @@ -1315,14 +1332,9 @@ AC_SUBST([UTILS_SYS_LIBS]) # Some platforms require extra flags to do this. gcc should set these flags # when -rdynamic is passed to it, other compilers/linkers may need to be added # here. -XORG_CWARNFLAGS if test "x$GCC" = "xyes"; then - if test "x$WERROR" = "xyes"; then - CWARNFLAGS="${CWARNFLAGS} -Werror" - fi LD_EXPORT_SYMBOLS_FLAG="-rdynamic" fi -XSERVER_CFLAGS="$CWARNFLAGS $XSERVER_CFLAGS" case $host_os in openbsd*) LD_EXPORT_SYMBOLS_FLAG="-Wl,--export-dynamic" @@ -1983,10 +1995,6 @@ AC_SUBST([libdir]) AC_SUBST([exec_prefix]) AC_SUBST([prefix]) -# Man page sections - used in config utils & generating man pages -XORG_MANPAGE_SECTIONS -XORG_CHANGELOG - AC_OUTPUT([ Makefile glx/Makefile diff --git a/cpprules.in b/cpprules.in index 755620005..7fcb9bd6f 100644 --- a/cpprules.in +++ b/cpprules.in @@ -42,7 +42,7 @@ MANDEFS = \ -D__xlogfile__=$(XLOGFILE) -D__xservername__=$(XSERVERNAME) .pre: - $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@ + $(AM_V_GEN)$(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@ .man.pre.man: - $(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@ + $(AM_V_GEN)$(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@ diff --git a/dix/Makefile.am b/dix/Makefile.am index 85a8767d2..ae47dc472 100644 --- a/dix/Makefile.am +++ b/dix/Makefile.am @@ -51,18 +51,18 @@ if XSERVER_DTRACE BUILT_SOURCES = Xserver-dtrace.h Xserver-dtrace.h: $(srcdir)/Xserver.d - $(DTRACE) -C -h -o $@ -s $(srcdir)/Xserver.d \ + $(AM_V_GEN)$(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) + $(AM_V_GEN)$(DTRACE) -G -C -o $@ -s $(top_srcdir)/dix/Xserver.d $(am_libdix_la_OBJECTS:%.lo=.libs/%.o) noinst_PROGRAMS = dix.O dix.O: dtrace-dix.o $(am_libdix_la_OBJECTS) - ld -r -o $@ $(am_libdix_la_OBJECTS:%.lo=.libs/%.o) + $(AM_V_GEN)ld -r -o $@ $(am_libdix_la_OBJECTS:%.lo=.libs/%.o) endif endif diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am index 48db5a14c..159b935cf 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/hw/xfree86/doc/sgml/Makefile.am b/hw/xfree86/doc/sgml/Makefile.am index d2c821c03..09b64f7b0 100644 --- a/hw/xfree86/doc/sgml/Makefile.am +++ b/hw/xfree86/doc/sgml/Makefile.am @@ -33,19 +33,19 @@ SUFFIXES = .sgml .txt .html .ps .pdf .sgml.txt: @rm -f $@ - $(MAKE_TEXT) $< + $(AM_V_GEN)$(MAKE_TEXT) $< .sgml.ps: @rm -f $@ - $(MAKE_PS) $< + $(AM_V_GEN)$(MAKE_PS) $< .ps.pdf: @rm -f $@ - $(MAKE_PDF) $< + $(AM_V_GEN)$(MAKE_PDF) $< .sgml.html: @rm -f $@ - $(MAKE_HTML) $< + $(AM_V_GEN)$(MAKE_HTML) $< noinst_DATA = $(TXT_FILES) $(PS_FILES) $(PDF_FILES) $(HTML_FILES) CLEANFILES = $(TXT_FILES) $(PS_FILES) $(PDF_FILES) $(HTML_FILES) diff --git a/os/Makefile.am b/os/Makefile.am index 9ce8ff274..a7f34a5b8 100644 --- a/os/Makefile.am +++ b/os/Makefile.am @@ -41,17 +41,15 @@ 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 + $(AM_V_GEN)$(DTRACE) -G -C -o $@ -s $(top_srcdir)/dix/Xserver.d .libs/*.o ../dix/.libs/*.o noinst_PROGRAMS = os.O os.O: dtrace.o $(am_libos_la_OBJECTS) - ld -r -o $@ dtrace.o .libs/*.o -endif + $(AM_V_GEN)ld -r -o $@ dtrace.o .libs/*.o endif os.c: diff --git a/test/Makefile.am b/test/Makefile.am index 1bd76f587..7c4467161 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 ef6d0f0ab..0e2de6b47 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