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" GLX_SYS_LIBS="$GLX_SYS_LIBS -lpthread"
fi fi
AC_SUBST([GLX_DEFINES]) AC_SUBST([GLX_DEFINES])
AC_SUBST([GLX_SYS_LIBS])
AM_CONDITIONAL(DRI, test "x$DRI" = xyes) AM_CONDITIONAL(DRI, test "x$DRI" = xyes)
if test "x$DRI" = xyes; then 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 # Some platforms require extra flags to do this. libtool should set the
# necessary flags for each platform when -export-dynamic is passed to it. # necessary flags for each platform when -export-dynamic is passed to it.
LD_EXPORT_SYMBOLS_FLAG="-export-dynamic" LD_EXPORT_SYMBOLS_FLAG="-export-dynamic"
LD_NO_UNDEFINED_FLAG=
AC_SUBST([LD_EXPORT_SYMBOLS_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 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 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)/miext/shadow \
-I$(top_srcdir)/glx -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_LIBADD = $(top_builddir)/dbe/libdbe.la
libdbe_la_SOURCES = dbemodule.c 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_LIBADD = $(top_builddir)/fb/libfb.la
libfb_la_SOURCES = $(top_builddir)/fb/fbcmap_mi.c fbmodule.c libfb_la_SOURCES = $(top_builddir)/fb/fbcmap_mi.c fbmodule.c
libfb_la_CFLAGS = $(AM_CFLAGS) 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_LIBADD = $(top_builddir)/fb/libwfb.la
libwfb_la_SOURCES = $(top_builddir)/fb/fbcmap_mi.c fbmodule.c libwfb_la_SOURCES = $(top_builddir)/fb/fbcmap_mi.c fbmodule.c
libwfb_la_CFLAGS = $(AM_CFLAGS) -DFB_ACCESS_WRAPPER 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 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 endif
libglx_la_LIBADD = \
$(top_builddir)/glx/libglx.la \
$(GLXDRI_LIBRARY)
libglx_la_SOURCES = glxmodule.c 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_LIBADD = $(top_builddir)/record/librecord.la
librecord_la_SOURCES = recordmod.c 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 libshadow_la_LIBADD = $(top_builddir)/miext/shadow/libshadow.la
if NO_UNDEFINED
libshadow_la_LIBADD += libfb.la
endif
libshadow_la_SOURCES = shmodule.c libshadow_la_SOURCES = shmodule.c
libdixmods_la_SOURCES = $(top_srcdir)/mi/miinitext.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)/hw/xfree86/loader \
-I$(top_srcdir)/miext/shadow -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 \ libextmod_la_SOURCES = modinit.c \
modinit.h \ modinit.h \
$(DGA_SRCS) \ $(DGA_SRCS) \

View File

@ -12,7 +12,8 @@ libdri_la_CFLAGS = -I$(top_srcdir)/hw/xfree86/common \
@DIX_CFLAGS@ @XORG_CFLAGS@ @DRIPROTO_CFLAGS@ \ @DIX_CFLAGS@ @XORG_CFLAGS@ @DRIPROTO_CFLAGS@ \
@LIBDRM_CFLAGS@ \ @LIBDRM_CFLAGS@ \
@DRI_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_ladir = $(moduledir)/extensions
libdri_la_SOURCES = \ libdri_la_SOURCES = \
dri.c \ dri.c \

View File

@ -6,7 +6,8 @@ libdri2_la_CFLAGS = \
-I$(top_srcdir)/hw/xfree86/common \ -I$(top_srcdir)/hw/xfree86/common \
-I$(top_srcdir)/hw/xfree86/os-support/bus -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_ladir = $(moduledir)/extensions
libdri2_la_SOURCES = \ libdri2_la_SOURCES = \
dri2.c \ dri2.c \

View File

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

View File

@ -2,7 +2,7 @@ SUBDIRS = man
module_LTLIBRARIES = libfbdevhw.la module_LTLIBRARIES = libfbdevhw.la
libfbdevhw_la_LDFLAGS = -module -avoid-version libfbdevhw_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG)
if FBDEVHW if FBDEVHW
libfbdevhw_la_SOURCES = fbdevhw.c 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 # 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 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 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 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 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 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 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 uda1380_drv_la_SOURCES = uda1380.c uda1380.h uda1380_module.c

View File

@ -1,6 +1,7 @@
module_LTLIBRARIES = libshadowfb.la 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_SOURCES = sfbmodule.c shadow.c
libshadowfb_la_LIBADD = $(PIXMAN_LIBS)
sdk_HEADERS = shadowfb.h sdk_HEADERS = shadowfb.h

View File

@ -1,6 +1,9 @@
module_LTLIBRARIES = libvbe.la 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 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 sdk_HEADERS = vbe.h vbeModes.h

View File

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