xfree86: allow modules to be built without undefined symbols

This will be necessary to port Xorg to Cygwin, but other platforms may
find this useful as well.

Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
This commit is contained in:
Yaakov Selkowitz 2012-03-29 02:13:27 -05:00
parent 12cd7ca83c
commit fd115ee114
11 changed files with 43 additions and 26 deletions

View File

@ -1070,6 +1070,7 @@ if test "x$GLX_USE_TLS" = xyes ; then
GLX_SYS_LIBS="$GLX_SYS_LIBS -lpthread"
fi
AC_SUBST([GLX_DEFINES])
AC_SUBST([GLX_SYS_LIBS])
AM_CONDITIONAL(DRI, test "x$DRI" = xyes)
if test "x$DRI" = xyes; then
@ -1471,7 +1472,10 @@ AC_SUBST([UTILS_SYS_LIBS])
# Some platforms require extra flags to do this. libtool should set the
# necessary flags for each platform when -export-dynamic is passed to it.
LD_EXPORT_SYMBOLS_FLAG="-export-dynamic"
LD_NO_UNDEFINED_FLAG=
AC_SUBST([LD_EXPORT_SYMBOLS_FLAG])
AC_SUBST([LD_NO_UNDEFINED_FLAG])
AM_CONDITIONAL([NO_UNDEFINED], [test x"$LD_NO_UNDEFINED_FLAG" != x])
dnl Imake defines SVR4 on SVR4 systems, and many files check for it, so
dnl we need to replicate that here until those can all be fixed

View File

@ -30,35 +30,39 @@ INCLUDES = @XORG_INCS@ \
-I$(top_srcdir)/miext/shadow \
-I$(top_srcdir)/glx
libdbe_la_LDFLAGS = -module -avoid-version
libdbe_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG)
libdbe_la_LIBADD = $(top_builddir)/dbe/libdbe.la
libdbe_la_SOURCES = dbemodule.c
libfb_la_LDFLAGS = -module -avoid-version
libfb_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG)
libfb_la_LIBADD = $(top_builddir)/fb/libfb.la
libfb_la_SOURCES = $(top_builddir)/fb/fbcmap_mi.c fbmodule.c
libfb_la_CFLAGS = $(AM_CFLAGS)
libwfb_la_LDFLAGS = -module -avoid-version
libwfb_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG)
libwfb_la_LIBADD = $(top_builddir)/fb/libwfb.la
libwfb_la_SOURCES = $(top_builddir)/fb/fbcmap_mi.c fbmodule.c
libwfb_la_CFLAGS = $(AM_CFLAGS) -DFB_ACCESS_WRAPPER
libglx_la_LDFLAGS = -module -avoid-version
libglx_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG)
libglx_la_LIBADD = $(top_builddir)/glx/libglx.la $(GLX_SYS_LIBS)
if AIGLX_DRI_LOADER
GLXDRI_LIBRARY = $(top_builddir)/glx/libglxdri.la
libglx_la_LIBADD += $(top_builddir)/glx/libglxdri.la
if NO_UNDEFINED
libglx_la_LIBADD += ../dri/libdri.la ../dri2/libdri2.la
endif
endif
libglx_la_LIBADD = \
$(top_builddir)/glx/libglx.la \
$(GLXDRI_LIBRARY)
libglx_la_SOURCES = glxmodule.c
librecord_la_LDFLAGS = -module -avoid-version
librecord_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG)
librecord_la_LIBADD = $(top_builddir)/record/librecord.la
librecord_la_SOURCES = recordmod.c
libshadow_la_LDFLAGS = -module -avoid-version
libshadow_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG)
libshadow_la_LIBADD = $(top_builddir)/miext/shadow/libshadow.la
if NO_UNDEFINED
libshadow_la_LIBADD += libfb.la
endif
libshadow_la_SOURCES = shmodule.c
libdixmods_la_SOURCES = $(top_srcdir)/mi/miinitext.c

View File

@ -21,7 +21,7 @@ INCLUDES = @XORG_INCS@ \
-I$(top_srcdir)/hw/xfree86/loader \
-I$(top_srcdir)/miext/shadow
libextmod_la_LDFLAGS = -module -avoid-version
libextmod_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG)
libextmod_la_SOURCES = modinit.c \
modinit.h \
$(DGA_SRCS) \

View File

@ -12,7 +12,8 @@ libdri_la_CFLAGS = -I$(top_srcdir)/hw/xfree86/common \
@DIX_CFLAGS@ @XORG_CFLAGS@ @DRIPROTO_CFLAGS@ \
@LIBDRM_CFLAGS@ \
@DRI_CFLAGS@
libdri_la_LDFLAGS = -module -avoid-version @LIBDRM_LIBS@
libdri_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG)
libdri_la_LIBADD = @LIBDRM_LIBS@
libdri_ladir = $(moduledir)/extensions
libdri_la_SOURCES = \
dri.c \

View File

@ -6,7 +6,8 @@ libdri2_la_CFLAGS = \
-I$(top_srcdir)/hw/xfree86/common \
-I$(top_srcdir)/hw/xfree86/os-support/bus
libdri2_la_LDFLAGS = -module -avoid-version @LIBDRM_LIBS@
libdri2_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG)
libdri2_la_LIBADD = @LIBDRM_LIBS@
libdri2_ladir = $(moduledir)/extensions
libdri2_la_SOURCES = \
dri2.c \

View File

@ -2,7 +2,7 @@ SUBDIRS = man
module_LTLIBRARIES = libexa.la
libexa_la_LDFLAGS = -module -avoid-version
libexa_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG)
INCLUDES = \
$(XORG_INCS) \
@ -15,4 +15,4 @@ libexa_la_SOURCES = \
examodule.c
libexa_la_LIBADD = \
../../../exa/libexa.la
../../../exa/libexa.la $(PIXMAN_LIBS)

View File

@ -2,7 +2,7 @@ SUBDIRS = man
module_LTLIBRARIES = libfbdevhw.la
libfbdevhw_la_LDFLAGS = -module -avoid-version
libfbdevhw_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG)
if FBDEVHW
libfbdevhw_la_SOURCES = fbdevhw.c

View File

@ -21,23 +21,26 @@ sdk_HEADERS = xf86i2c.h bt829.h fi1236.h msp3430.h tda8425.h tda9850.h tda9885.h
#
# i2c drivers
#
bt829_drv_la_LDFLAGS = -module -avoid-version
bt829_drv_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG)
bt829_drv_la_SOURCES = bt829.c bt829.h bt829_module.c
fi1236_drv_la_LDFLAGS = -module -avoid-version
fi1236_drv_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG)
fi1236_drv_la_SOURCES = fi1236.c fi1236.h fi1236_module.c
if NO_UNDEFINED
fi1236_drv_la_LIBADD = tda9885_drv.la
endif
msp3430_drv_la_LDFLAGS = -module -avoid-version
msp3430_drv_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG)
msp3430_drv_la_SOURCES = msp3430.c msp3430.h msp3430_module.c
tda8425_drv_la_LDFLAGS = -module -avoid-version
tda8425_drv_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG)
tda8425_drv_la_SOURCES = tda8425.c tda8425.h tda8425_module.c
tda9850_drv_la_LDFLAGS = -module -avoid-version
tda9850_drv_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG)
tda9850_drv_la_SOURCES = tda9850.c tda9850.h tda9850_module.c
tda9885_drv_la_LDFLAGS = -module -avoid-version
tda9885_drv_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG)
tda9885_drv_la_SOURCES = tda9885.c tda9885.h tda9885_module.c
uda1380_drv_la_LDFLAGS = -module -avoid-version
uda1380_drv_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG)
uda1380_drv_la_SOURCES = uda1380.c uda1380.h uda1380_module.c

View File

@ -1,6 +1,7 @@
module_LTLIBRARIES = libshadowfb.la
libshadowfb_la_LDFLAGS = -module -avoid-version
libshadowfb_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG)
libshadowfb_la_SOURCES = sfbmodule.c shadow.c
libshadowfb_la_LIBADD = $(PIXMAN_LIBS)
sdk_HEADERS = shadowfb.h

View File

@ -1,6 +1,9 @@
module_LTLIBRARIES = libvbe.la
libvbe_la_LDFLAGS = -module -avoid-version
libvbe_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG)
libvbe_la_SOURCES = vbe.c vbeModes.c vbe_module.c
if NO_UNDEFINED
libvbe_la_LIBADD = ../int10/libint10.la
endif
sdk_HEADERS = vbe.h vbeModes.h

View File

@ -10,7 +10,7 @@ POLYSEG = s-xaaLine.c s-xaaDashLine.c
if XAA
libxaa_la_LDFLAGS = -module -avoid-version
libxaa_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG)
if COMPOSITE
libxaa_la_LIBADD = $(top_builddir)/miext/cw/libcw.la
endif