sync code with last improvements from OpenBSD
This commit is contained in:
commit
88965415ff
26235 changed files with 29195616 additions and 0 deletions
19
xserver/hw/xfree86/fbdevhw/Makefile.am
Normal file
19
xserver/hw/xfree86/fbdevhw/Makefile.am
Normal file
|
@ -0,0 +1,19 @@
|
|||
SUBDIRS = man
|
||||
|
||||
module_LTLIBRARIES = libfbdevhw.la
|
||||
|
||||
libfbdevhw_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG)
|
||||
|
||||
if FBDEVHW
|
||||
libfbdevhw_la_SOURCES = fbdevhw.c
|
||||
else
|
||||
libfbdevhw_la_SOURCES = fbdevhwstub.c
|
||||
endif
|
||||
|
||||
AM_CPPFLAGS = $(XORG_INCS) -I$(srcdir)/../i2c -I$(srcdir)/../modes -I$(srcdir)/../ddc -I$(srcdir)/../parser
|
||||
|
||||
AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS)
|
||||
|
||||
sdk_HEADERS = fbdevhw.h
|
||||
|
||||
EXTRA_DIST = fbpriv.h README
|
976
xserver/hw/xfree86/fbdevhw/Makefile.in
Normal file
976
xserver/hw/xfree86/fbdevhw/Makefile.in
Normal file
|
@ -0,0 +1,976 @@
|
|||
# Makefile.in generated by automake 1.12.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
|
||||
VPATH = @srcdir@
|
||||
am__make_dryrun = \
|
||||
{ \
|
||||
am__dry=no; \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
|
||||
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
|
||||
*) \
|
||||
for am__flg in $$MAKEFLAGS; do \
|
||||
case $$am__flg in \
|
||||
*=*|--*) ;; \
|
||||
*n*) am__dry=yes; break;; \
|
||||
esac; \
|
||||
done;; \
|
||||
esac; \
|
||||
test $$am__dry = yes; \
|
||||
}
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
subdir = hw/xfree86/fbdevhw
|
||||
DIST_COMMON = README $(sdk_HEADERS) $(srcdir)/Makefile.am \
|
||||
$(srcdir)/Makefile.in $(top_srcdir)/depcomp
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/m4/ac_define_dir.m4 \
|
||||
$(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
|
||||
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
|
||||
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
|
||||
$(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \
|
||||
$(top_builddir)/include/xorg-server.h \
|
||||
$(top_builddir)/include/dix-config.h \
|
||||
$(top_builddir)/include/xorg-config.h \
|
||||
$(top_builddir)/include/xkb-config.h \
|
||||
$(top_builddir)/include/xwin-config.h \
|
||||
$(top_builddir)/include/version-config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
*) f=$$p;; \
|
||||
esac;
|
||||
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
|
||||
am__install_max = 40
|
||||
am__nobase_strip_setup = \
|
||||
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
|
||||
am__nobase_strip = \
|
||||
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
|
||||
am__nobase_list = $(am__nobase_strip_setup); \
|
||||
for p in $$list; do echo "$$p $$p"; done | \
|
||||
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
|
||||
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
|
||||
if (++n[$$2] == $(am__install_max)) \
|
||||
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
|
||||
END { for (dir in files) print dir, files[dir] }'
|
||||
am__base_list = \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
||||
am__uninstall_files_from_dir = { \
|
||||
test -z "$$files" \
|
||||
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|
||||
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|
||||
$(am__cd) "$$dir" && rm -f $$files; }; \
|
||||
}
|
||||
am__installdirs = "$(DESTDIR)$(moduledir)" "$(DESTDIR)$(sdkdir)"
|
||||
LTLIBRARIES = $(module_LTLIBRARIES)
|
||||
libfbdevhw_la_LIBADD =
|
||||
am__libfbdevhw_la_SOURCES_DIST = fbdevhwstub.c fbdevhw.c
|
||||
@FBDEVHW_FALSE@am_libfbdevhw_la_OBJECTS = fbdevhwstub.lo
|
||||
@FBDEVHW_TRUE@am_libfbdevhw_la_OBJECTS = fbdevhw.lo
|
||||
libfbdevhw_la_OBJECTS = $(am_libfbdevhw_la_OBJECTS)
|
||||
AM_V_lt = $(am__v_lt_@AM_V@)
|
||||
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
|
||||
am__v_lt_0 = --silent
|
||||
am__v_lt_1 =
|
||||
libfbdevhw_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
$(libfbdevhw_la_LDFLAGS) $(LDFLAGS) -o $@
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_@AM_V@)
|
||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
am__mv = mv -f
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
|
||||
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
||||
$(AM_CFLAGS) $(CFLAGS)
|
||||
AM_V_CC = $(am__v_CC_@AM_V@)
|
||||
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
|
||||
am__v_CC_0 = @echo " CC " $@;
|
||||
am__v_CC_1 =
|
||||
CCLD = $(CC)
|
||||
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
|
||||
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
|
||||
am__v_CCLD_0 = @echo " CCLD " $@;
|
||||
am__v_CCLD_1 =
|
||||
SOURCES = $(libfbdevhw_la_SOURCES)
|
||||
DIST_SOURCES = $(am__libfbdevhw_la_SOURCES_DIST)
|
||||
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
|
||||
html-recursive info-recursive install-data-recursive \
|
||||
install-dvi-recursive install-exec-recursive \
|
||||
install-html-recursive install-info-recursive \
|
||||
install-pdf-recursive install-ps-recursive install-recursive \
|
||||
installcheck-recursive installdirs-recursive pdf-recursive \
|
||||
ps-recursive uninstall-recursive
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
HEADERS = $(sdk_HEADERS)
|
||||
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
|
||||
distclean-recursive maintainer-clean-recursive
|
||||
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
|
||||
$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
|
||||
distdir
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DIST_SUBDIRS = $(SUBDIRS)
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
am__relativize = \
|
||||
dir0=`pwd`; \
|
||||
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
|
||||
sed_rest='s,^[^/]*/*,,'; \
|
||||
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
|
||||
sed_butlast='s,/*[^/]*$$,,'; \
|
||||
while test -n "$$dir1"; do \
|
||||
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
|
||||
if test "$$first" != "."; then \
|
||||
if test "$$first" = ".."; then \
|
||||
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
|
||||
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
|
||||
else \
|
||||
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
|
||||
if test "$$first2" = "$$first"; then \
|
||||
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
|
||||
else \
|
||||
dir2="../$$dir2"; \
|
||||
fi; \
|
||||
dir0="$$dir0"/"$$first"; \
|
||||
fi; \
|
||||
fi; \
|
||||
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
|
||||
done; \
|
||||
reldir="$$dir2"
|
||||
ACLOCAL = @ACLOCAL@
|
||||
ADMIN_MAN_DIR = @ADMIN_MAN_DIR@
|
||||
ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@
|
||||
APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@
|
||||
APP_MAN_DIR = @APP_MAN_DIR@
|
||||
APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BASE_CFLAGS = @BASE_CFLAGS@
|
||||
BASE_FONT_PATH = @BASE_FONT_PATH@
|
||||
BUNDLE_ID_PREFIX = @BUNDLE_ID_PREFIX@
|
||||
BUNDLE_VERSION = @BUNDLE_VERSION@
|
||||
BUNDLE_VERSION_STRING = @BUNDLE_VERSION_STRING@
|
||||
CC = @CC@
|
||||
CCAS = @CCAS@
|
||||
CCASDEPMODE = @CCASDEPMODE@
|
||||
CCASFLAGS = @CCASFLAGS@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CHANGELOG_CMD = @CHANGELOG_CMD@
|
||||
COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CWARNFLAGS = @CWARNFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DBUS_CFLAGS = @DBUS_CFLAGS@
|
||||
DBUS_LIBS = @DBUS_LIBS@
|
||||
DEFAULT_LIBRARY_PATH = @DEFAULT_LIBRARY_PATH@
|
||||
DEFAULT_LOGDIR = @DEFAULT_LOGDIR@
|
||||
DEFAULT_LOGPREFIX = @DEFAULT_LOGPREFIX@
|
||||
DEFAULT_MODULE_PATH = @DEFAULT_MODULE_PATH@
|
||||
DEFAULT_XDG_DATA_HOME = @DEFAULT_XDG_DATA_HOME@
|
||||
DEFAULT_XDG_DATA_HOME_LOGDIR = @DEFAULT_XDG_DATA_HOME_LOGDIR@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DGA_CFLAGS = @DGA_CFLAGS@
|
||||
DGA_LIBS = @DGA_LIBS@
|
||||
DIX_CFLAGS = @DIX_CFLAGS@
|
||||
DIX_LIB = @DIX_LIB@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DLOPEN_LIBS = @DLOPEN_LIBS@
|
||||
DOT = @DOT@
|
||||
DOXYGEN = @DOXYGEN@
|
||||
DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@
|
||||
DRI2PROTO_LIBS = @DRI2PROTO_LIBS@
|
||||
DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@
|
||||
DRI3PROTO_LIBS = @DRI3PROTO_LIBS@
|
||||
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
|
||||
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
|
||||
DRI_DRIVER_PATH = @DRI_DRIVER_PATH@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DTRACE = @DTRACE@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
FILE_MAN_DIR = @FILE_MAN_DIR@
|
||||
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
|
||||
FONT100DPIDIR = @FONT100DPIDIR@
|
||||
FONT75DPIDIR = @FONT75DPIDIR@
|
||||
FONTMISCDIR = @FONTMISCDIR@
|
||||
FONTOTFDIR = @FONTOTFDIR@
|
||||
FONTROOTDIR = @FONTROOTDIR@
|
||||
FONTTTFDIR = @FONTTTFDIR@
|
||||
FONTTYPE1DIR = @FONTTYPE1DIR@
|
||||
FOP = @FOP@
|
||||
GBM_CFLAGS = @GBM_CFLAGS@
|
||||
GBM_LIBS = @GBM_LIBS@
|
||||
GLAMOR_CFLAGS = @GLAMOR_CFLAGS@
|
||||
GLAMOR_LIBS = @GLAMOR_LIBS@
|
||||
GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@
|
||||
GLX_DEFINES = @GLX_DEFINES@
|
||||
GLX_SYS_LIBS = @GLX_SYS_LIBS@
|
||||
GL_CFLAGS = @GL_CFLAGS@
|
||||
GL_LIBS = @GL_LIBS@
|
||||
GREP = @GREP@
|
||||
HAL_CFLAGS = @HAL_CFLAGS@
|
||||
HAL_LIBS = @HAL_LIBS@
|
||||
HAVE_DOT = @HAVE_DOT@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_CMD = @INSTALL_CMD@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
KDRIVE_CFLAGS = @KDRIVE_CFLAGS@
|
||||
KDRIVE_INCS = @KDRIVE_INCS@
|
||||
KDRIVE_LIBS = @KDRIVE_LIBS@
|
||||
KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@
|
||||
KDRIVE_MAIN_LIB = @KDRIVE_MAIN_LIB@
|
||||
KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@
|
||||
KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@
|
||||
KHRONOS_OPENGL_REGISTRY_CFLAGS = @KHRONOS_OPENGL_REGISTRY_CFLAGS@
|
||||
KHRONOS_OPENGL_REGISTRY_LIBS = @KHRONOS_OPENGL_REGISTRY_LIBS@
|
||||
KHRONOS_SPEC_DIR = @KHRONOS_SPEC_DIR@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@
|
||||
LD_NO_UNDEFINED_FLAG = @LD_NO_UNDEFINED_FLAG@
|
||||
LEX = @LEX@
|
||||
LEXLIB = @LEXLIB@
|
||||
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
|
||||
LIBDRM_CFLAGS = @LIBDRM_CFLAGS@
|
||||
LIBDRM_LIBS = @LIBDRM_LIBS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@
|
||||
LIBSHA1_LIBS = @LIBSHA1_LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@
|
||||
LIBUNWIND_LIBS = @LIBUNWIND_LIBS@
|
||||
LIBXCVT_CFLAGS = @LIBXCVT_CFLAGS@
|
||||
LIBXCVT_LIBS = @LIBXCVT_LIBS@
|
||||
LIB_MAN_DIR = @LIB_MAN_DIR@
|
||||
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAINT = @MAINT@
|
||||
MAIN_LIB = @MAIN_LIB@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||
MAN_SUBSTS = @MAN_SUBSTS@
|
||||
MISC_MAN_DIR = @MISC_MAN_DIR@
|
||||
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJC = @OBJC@
|
||||
OBJCCLD = @OBJCCLD@
|
||||
OBJCDEPMODE = @OBJCDEPMODE@
|
||||
OBJCFLAGS = @OBJCFLAGS@
|
||||
OBJCLINK = @OBJCLINK@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OPENSSL_CFLAGS = @OPENSSL_CFLAGS@
|
||||
OPENSSL_LIBS = @OPENSSL_LIBS@
|
||||
OS_LIB = @OS_LIB@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@
|
||||
PCIACCESS_LIBS = @PCIACCESS_LIBS@
|
||||
PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@
|
||||
PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
|
||||
PIXMAN_LIBS = @PIXMAN_LIBS@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
|
||||
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
|
||||
PROJECTROOT = @PROJECTROOT@
|
||||
PTHREAD_CC = @PTHREAD_CC@
|
||||
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
|
||||
PTHREAD_LIBS = @PTHREAD_LIBS@
|
||||
PYTHON3 = @PYTHON3@
|
||||
RANLIB = @RANLIB@
|
||||
RAWCPP = @RAWCPP@
|
||||
RAWCPPFLAGS = @RAWCPPFLAGS@
|
||||
RELEASE_DATE = @RELEASE_DATE@
|
||||
SDK_REQUIRED_MODULES = @SDK_REQUIRED_MODULES@
|
||||
SED = @SED@
|
||||
SELINUX_CFLAGS = @SELINUX_CFLAGS@
|
||||
SELINUX_LIBS = @SELINUX_LIBS@
|
||||
SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHA1_CFLAGS = @SHA1_CFLAGS@
|
||||
SHA1_LIBS = @SHA1_LIBS@
|
||||
SHELL = @SHELL@
|
||||
SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@
|
||||
STRICT_CFLAGS = @STRICT_CFLAGS@
|
||||
STRIP = @STRIP@
|
||||
STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@
|
||||
SUID_WRAPPER_DIR = @SUID_WRAPPER_DIR@
|
||||
SYSCONFDIR = @SYSCONFDIR@
|
||||
SYSTEMD_DAEMON_CFLAGS = @SYSTEMD_DAEMON_CFLAGS@
|
||||
SYSTEMD_DAEMON_LIBS = @SYSTEMD_DAEMON_LIBS@
|
||||
TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@
|
||||
UDEV_CFLAGS = @UDEV_CFLAGS@
|
||||
UDEV_LIBS = @UDEV_LIBS@
|
||||
UTILS_SYS_LIBS = @UTILS_SYS_LIBS@
|
||||
VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@
|
||||
VERSION = @VERSION@
|
||||
WINDOWSDRI_CFLAGS = @WINDOWSDRI_CFLAGS@
|
||||
WINDOWSDRI_LIBS = @WINDOWSDRI_LIBS@
|
||||
WINDRES = @WINDRES@
|
||||
XCONFIGDIR = @XCONFIGDIR@
|
||||
XCONFIGFILE = @XCONFIGFILE@
|
||||
XDMCP_CFLAGS = @XDMCP_CFLAGS@
|
||||
XDMCP_LIBS = @XDMCP_LIBS@
|
||||
XEPHYR_CFLAGS = @XEPHYR_CFLAGS@
|
||||
XEPHYR_INCS = @XEPHYR_INCS@
|
||||
XEPHYR_LIBS = @XEPHYR_LIBS@
|
||||
XF86CONFIGDIR = @XF86CONFIGDIR@
|
||||
XF86CONFIGFILE = @XF86CONFIGFILE@
|
||||
XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@
|
||||
XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@
|
||||
XKB_COMPILED_DIR = @XKB_COMPILED_DIR@
|
||||
XKB_DFLT_LAYOUT = @XKB_DFLT_LAYOUT@
|
||||
XKB_DFLT_MODEL = @XKB_DFLT_MODEL@
|
||||
XKB_DFLT_OPTIONS = @XKB_DFLT_OPTIONS@
|
||||
XKB_DFLT_RULES = @XKB_DFLT_RULES@
|
||||
XKB_DFLT_VARIANT = @XKB_DFLT_VARIANT@
|
||||
XKM_OUTPUT_DIR = @XKM_OUTPUT_DIR@
|
||||
XLIB_CFLAGS = @XLIB_CFLAGS@
|
||||
XLIB_LIBS = @XLIB_LIBS@
|
||||
XMLTO = @XMLTO@
|
||||
XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@
|
||||
XNESTMODULES_LIBS = @XNESTMODULES_LIBS@
|
||||
XNEST_LIBS = @XNEST_LIBS@
|
||||
XNEST_SYS_LIBS = @XNEST_SYS_LIBS@
|
||||
XORG_CFLAGS = @XORG_CFLAGS@
|
||||
XORG_DRIVER_LIBS = @XORG_DRIVER_LIBS@
|
||||
XORG_INCS = @XORG_INCS@
|
||||
XORG_LIBS = @XORG_LIBS@
|
||||
XORG_MALLOC_DEBUG_ENV = @XORG_MALLOC_DEBUG_ENV@
|
||||
XORG_MAN_PAGE = @XORG_MAN_PAGE@
|
||||
XORG_MODULES_CFLAGS = @XORG_MODULES_CFLAGS@
|
||||
XORG_MODULES_LIBS = @XORG_MODULES_LIBS@
|
||||
XORG_OS_SUBDIR = @XORG_OS_SUBDIR@
|
||||
XORG_SGML_PATH = @XORG_SGML_PATH@
|
||||
XORG_SYS_LIBS = @XORG_SYS_LIBS@
|
||||
XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@
|
||||
XPBPROXY_LIBS = @XPBPROXY_LIBS@
|
||||
XQUARTZ_LIBS = @XQUARTZ_LIBS@
|
||||
XQUARTZ_SPARKLE = @XQUARTZ_SPARKLE@
|
||||
XQUARTZ_SPARKLE_FEED_URL = @XQUARTZ_SPARKLE_FEED_URL@
|
||||
XSERVERCFLAGS_CFLAGS = @XSERVERCFLAGS_CFLAGS@
|
||||
XSERVERCFLAGS_LIBS = @XSERVERCFLAGS_LIBS@
|
||||
XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@
|
||||
XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@
|
||||
XSERVER_LIBS = @XSERVER_LIBS@
|
||||
XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@
|
||||
XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@
|
||||
XSHMFENCE_LIBS = @XSHMFENCE_LIBS@
|
||||
XSLTPROC = @XSLTPROC@
|
||||
XSL_STYLESHEET = @XSL_STYLESHEET@
|
||||
XVFB_LIBS = @XVFB_LIBS@
|
||||
XVFB_SYS_LIBS = @XVFB_SYS_LIBS@
|
||||
XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@
|
||||
XWINMODULES_LIBS = @XWINMODULES_LIBS@
|
||||
XWIN_LIBS = @XWIN_LIBS@
|
||||
XWIN_SERVER_NAME = @XWIN_SERVER_NAME@
|
||||
XWIN_SYS_LIBS = @XWIN_SYS_LIBS@
|
||||
YACC = @YACC@
|
||||
YFLAGS = @YFLAGS@
|
||||
abi_ansic = @abi_ansic@
|
||||
abi_extension = @abi_extension@
|
||||
abi_videodrv = @abi_videodrv@
|
||||
abi_xinput = @abi_xinput@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
ax_pthread_config = @ax_pthread_config@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
driverdir = @driverdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
extdir = @extdir@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
logdir = @logdir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
moduledir = @moduledir@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
runstatedir = @runstatedir@
|
||||
sbindir = @sbindir@
|
||||
sdkdir = @sdkdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
symbol_visibility = @symbol_visibility@
|
||||
sysconfdir = @sysconfdir@
|
||||
sysconfigdir = @sysconfigdir@
|
||||
target_alias = @target_alias@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
SUBDIRS = man
|
||||
module_LTLIBRARIES = libfbdevhw.la
|
||||
libfbdevhw_la_LDFLAGS = -module -avoid-version $(LD_NO_UNDEFINED_FLAG)
|
||||
@FBDEVHW_FALSE@libfbdevhw_la_SOURCES = fbdevhwstub.c
|
||||
@FBDEVHW_TRUE@libfbdevhw_la_SOURCES = fbdevhw.c
|
||||
AM_CPPFLAGS = $(XORG_INCS) -I$(srcdir)/../i2c -I$(srcdir)/../modes -I$(srcdir)/../ddc -I$(srcdir)/../parser
|
||||
AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS)
|
||||
sdk_HEADERS = fbdevhw.h
|
||||
EXTRA_DIST = fbpriv.h README
|
||||
all: all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .lo .o .obj
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign hw/xfree86/fbdevhw/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign hw/xfree86/fbdevhw/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
install-moduleLTLIBRARIES: $(module_LTLIBRARIES)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(module_LTLIBRARIES)'; test -n "$(moduledir)" || list=; \
|
||||
list2=; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
list2="$$list2 $$p"; \
|
||||
else :; fi; \
|
||||
done; \
|
||||
test -z "$$list2" || { \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(moduledir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(moduledir)" || exit 1; \
|
||||
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(moduledir)'"; \
|
||||
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(moduledir)"; \
|
||||
}
|
||||
|
||||
uninstall-moduleLTLIBRARIES:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(module_LTLIBRARIES)'; test -n "$(moduledir)" || list=; \
|
||||
for p in $$list; do \
|
||||
$(am__strip_dir) \
|
||||
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$f'"; \
|
||||
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$f"; \
|
||||
done
|
||||
|
||||
clean-moduleLTLIBRARIES:
|
||||
-test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES)
|
||||
@list='$(module_LTLIBRARIES)'; \
|
||||
locs=`for p in $$list; do echo $$p; done | \
|
||||
sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
|
||||
sort -u`; \
|
||||
test -z "$$locs" || { \
|
||||
echo rm -f $${locs}; \
|
||||
rm -f $${locs}; \
|
||||
}
|
||||
libfbdevhw.la: $(libfbdevhw_la_OBJECTS) $(libfbdevhw_la_DEPENDENCIES) $(EXTRA_libfbdevhw_la_DEPENDENCIES)
|
||||
$(AM_V_CCLD)$(libfbdevhw_la_LINK) -rpath $(moduledir) $(libfbdevhw_la_OBJECTS) $(libfbdevhw_la_LIBADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fbdevhw.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fbdevhwstub.Plo@am__quote@
|
||||
|
||||
.c.o:
|
||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
|
||||
|
||||
.c.obj:
|
||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
|
||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
|
||||
|
||||
.c.lo:
|
||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
install-sdkHEADERS: $(sdk_HEADERS)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(sdk_HEADERS)'; test -n "$(sdkdir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(sdkdir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(sdkdir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; \
|
||||
done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(sdkdir)'"; \
|
||||
$(INSTALL_HEADER) $$files "$(DESTDIR)$(sdkdir)" || exit $$?; \
|
||||
done
|
||||
|
||||
uninstall-sdkHEADERS:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(sdk_HEADERS)'; test -n "$(sdkdir)" || list=; \
|
||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
dir='$(DESTDIR)$(sdkdir)'; $(am__uninstall_files_from_dir)
|
||||
|
||||
# This directory's subdirectories are mostly independent; you can cd
|
||||
# into them and run 'make' without going through this Makefile.
|
||||
# To change the values of 'make' variables: instead of editing Makefiles,
|
||||
# (1) if the variable is set in 'config.status', edit 'config.status'
|
||||
# (which will cause the Makefiles to be regenerated when you run 'make');
|
||||
# (2) otherwise, pass the desired values on the 'make' command line.
|
||||
$(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS):
|
||||
@fail= failcom='exit 1'; \
|
||||
for f in x $$MAKEFLAGS; do \
|
||||
case $$f in \
|
||||
*=* | --[!k]*);; \
|
||||
*k*) failcom='fail=yes';; \
|
||||
esac; \
|
||||
done; \
|
||||
dot_seen=no; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
case "$@" in \
|
||||
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
|
||||
*) list='$(SUBDIRS)' ;; \
|
||||
esac; \
|
||||
for subdir in $$list; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
dot_seen=yes; \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| eval $$failcom; \
|
||||
done; \
|
||||
if test "$$dot_seen" = "no"; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
||||
fi; test -z "$$fail"
|
||||
tags-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
||||
done
|
||||
ctags-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
|
||||
done
|
||||
cscopelist-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
|
||||
done
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
||||
mkid -fID $$unique
|
||||
tags: TAGS
|
||||
|
||||
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
set x; \
|
||||
here=`pwd`; \
|
||||
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
||||
include_option=--etags-include; \
|
||||
empty_fix=.; \
|
||||
else \
|
||||
include_option=--include; \
|
||||
empty_fix=; \
|
||||
fi; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test ! -f $$subdir/TAGS || \
|
||||
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
|
||||
fi; \
|
||||
done; \
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: CTAGS
|
||||
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
|
||||
cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
|
||||
list='$(SOURCES) $(HEADERS) $(LISP)'; \
|
||||
case "$(srcdir)" in \
|
||||
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||
esac; \
|
||||
for i in $$list; do \
|
||||
if test -f "$$i"; then \
|
||||
echo "$(subdir)/$$i"; \
|
||||
else \
|
||||
echo "$$sdir/$$i"; \
|
||||
fi; \
|
||||
done >> $(top_builddir)/cscope.files
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
$(am__make_dryrun) \
|
||||
|| test -d "$(distdir)/$$subdir" \
|
||||
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|
||||
|| exit 1; \
|
||||
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
|
||||
$(am__relativize); \
|
||||
new_distdir=$$reldir; \
|
||||
dir1=$$subdir; dir2="$(top_distdir)"; \
|
||||
$(am__relativize); \
|
||||
new_top_distdir=$$reldir; \
|
||||
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
|
||||
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
|
||||
($(am__cd) $$subdir && \
|
||||
$(MAKE) $(AM_MAKEFLAGS) \
|
||||
top_distdir="$$new_top_distdir" \
|
||||
distdir="$$new_distdir" \
|
||||
am__remove_distdir=: \
|
||||
am__skip_length_check=: \
|
||||
am__skip_mode_fix=: \
|
||||
distdir) \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-recursive
|
||||
all-am: Makefile $(LTLIBRARIES) $(HEADERS)
|
||||
installdirs: installdirs-recursive
|
||||
installdirs-am:
|
||||
for dir in "$(DESTDIR)$(moduledir)" "$(DESTDIR)$(sdkdir)"; do \
|
||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||
done
|
||||
install: install-recursive
|
||||
install-exec: install-exec-recursive
|
||||
install-data: install-data-recursive
|
||||
uninstall: uninstall-recursive
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-recursive
|
||||
install-strip:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-recursive
|
||||
|
||||
clean-am: clean-generic clean-libtool clean-moduleLTLIBRARIES \
|
||||
mostlyclean-am
|
||||
|
||||
distclean: distclean-recursive
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-tags
|
||||
|
||||
dvi: dvi-recursive
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-recursive
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-recursive
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-moduleLTLIBRARIES install-sdkHEADERS
|
||||
|
||||
install-dvi: install-dvi-recursive
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-recursive
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-recursive
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-recursive
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-recursive
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-recursive
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
||||
mostlyclean-libtool
|
||||
|
||||
pdf: pdf-recursive
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-recursive
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-moduleLTLIBRARIES uninstall-sdkHEADERS
|
||||
|
||||
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) \
|
||||
cscopelist-recursive ctags-recursive install-am install-strip \
|
||||
tags-recursive
|
||||
|
||||
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
|
||||
all all-am check check-am clean clean-generic clean-libtool \
|
||||
clean-moduleLTLIBRARIES cscopelist cscopelist-recursive ctags \
|
||||
ctags-recursive distclean distclean-compile distclean-generic \
|
||||
distclean-libtool distclean-tags distdir dvi dvi-am html \
|
||||
html-am info info-am install install-am install-data \
|
||||
install-data-am install-dvi install-dvi-am install-exec \
|
||||
install-exec-am install-html install-html-am install-info \
|
||||
install-info-am install-man install-moduleLTLIBRARIES \
|
||||
install-pdf install-pdf-am install-ps install-ps-am \
|
||||
install-sdkHEADERS install-strip installcheck installcheck-am \
|
||||
installdirs installdirs-am maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
||||
tags tags-recursive uninstall uninstall-am \
|
||||
uninstall-moduleLTLIBRARIES uninstall-sdkHEADERS
|
||||
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
16
xserver/hw/xfree86/fbdevhw/README
Normal file
16
xserver/hw/xfree86/fbdevhw/README
Normal file
|
@ -0,0 +1,16 @@
|
|||
|
||||
This is a submodule to access linux framebuffer devices.
|
||||
It is supported to work as helper module (like vgahw)
|
||||
for the chipset drivers. There are functions for
|
||||
saving/restoring/setting video modes, set palette entries,
|
||||
and a few more helper functions. Some of them can be
|
||||
hooked directly into ScrnInfoRec.
|
||||
|
||||
In ../drivers/fbdev is a "chipset" driver. It is a simple,
|
||||
non-accelerated and hardware-independent driver which works
|
||||
on top of this fbdevhw submodule.
|
||||
|
||||
Gerd
|
||||
|
||||
--
|
||||
Gerd Knorr <kraxel@goldbach.in-berlin.de>
|
978
xserver/hw/xfree86/fbdevhw/fbdevhw.c
Normal file
978
xserver/hw/xfree86/fbdevhw/fbdevhw.c
Normal file
|
@ -0,0 +1,978 @@
|
|||
/* all drivers need this */
|
||||
#ifdef HAVE_XORG_CONFIG_H
|
||||
#include <xorg-config.h>
|
||||
#endif
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include "xf86.h"
|
||||
#include "xf86Modes.h"
|
||||
#include "xf86_OSproc.h"
|
||||
|
||||
/* pci stuff */
|
||||
#include "xf86Pci.h"
|
||||
|
||||
#include "xf86cmap.h"
|
||||
|
||||
#include "fbdevhw.h"
|
||||
#include "fbpriv.h"
|
||||
#include "globals.h"
|
||||
#include <X11/extensions/dpmsconst.h>
|
||||
|
||||
#define PAGE_MASK (~(getpagesize() - 1))
|
||||
|
||||
static XF86ModuleVersionInfo fbdevHWVersRec = {
|
||||
"fbdevhw",
|
||||
MODULEVENDORSTRING,
|
||||
MODINFOSTRING1,
|
||||
MODINFOSTRING2,
|
||||
XORG_VERSION_CURRENT,
|
||||
0, 0, 2,
|
||||
ABI_CLASS_VIDEODRV,
|
||||
ABI_VIDEODRV_VERSION,
|
||||
MOD_CLASS_NONE,
|
||||
{0, 0, 0, 0}
|
||||
};
|
||||
|
||||
_X_EXPORT XF86ModuleData fbdevhwModuleData = {
|
||||
&fbdevHWVersRec,
|
||||
NULL,
|
||||
NULL
|
||||
};
|
||||
|
||||
#include <fcntl.h>
|
||||
#include <errno.h>
|
||||
#include <sys/mman.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* our private data, and two functions to allocate/free this */
|
||||
|
||||
#define FBDEVHWPTRLVAL(p) (p)->privates[fbdevHWPrivateIndex].ptr
|
||||
#define FBDEVHWPTR(p) ((fbdevHWPtr)(FBDEVHWPTRLVAL(p)))
|
||||
|
||||
static int fbdevHWPrivateIndex = -1;
|
||||
|
||||
typedef struct {
|
||||
/* framebuffer device: filename (/dev/fb*), handle, more */
|
||||
char *device;
|
||||
int fd;
|
||||
void *fbmem;
|
||||
unsigned int fbmem_len;
|
||||
unsigned int fboff;
|
||||
char *mmio;
|
||||
unsigned int mmio_len;
|
||||
|
||||
/* current hardware state */
|
||||
struct fb_fix_screeninfo fix;
|
||||
struct fb_var_screeninfo var;
|
||||
|
||||
/* saved video mode */
|
||||
struct fb_var_screeninfo saved_var;
|
||||
|
||||
/* buildin video mode */
|
||||
DisplayModeRec buildin;
|
||||
|
||||
/* disable non-fatal unsupported ioctls */
|
||||
CARD32 unsupported_ioctls;
|
||||
} fbdevHWRec, *fbdevHWPtr;
|
||||
|
||||
enum {
|
||||
FBIOBLANK_UNSUPPORTED = 0,
|
||||
};
|
||||
|
||||
Bool
|
||||
fbdevHWGetRec(ScrnInfoPtr pScrn)
|
||||
{
|
||||
if (fbdevHWPrivateIndex < 0)
|
||||
fbdevHWPrivateIndex = xf86AllocateScrnInfoPrivateIndex();
|
||||
|
||||
if (FBDEVHWPTR(pScrn) != NULL)
|
||||
return TRUE;
|
||||
|
||||
FBDEVHWPTRLVAL(pScrn) = xnfcalloc(sizeof(fbdevHWRec), 1);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void
|
||||
fbdevHWFreeRec(ScrnInfoPtr pScrn)
|
||||
{
|
||||
if (fbdevHWPrivateIndex < 0)
|
||||
return;
|
||||
free(FBDEVHWPTR(pScrn));
|
||||
FBDEVHWPTRLVAL(pScrn) = NULL;
|
||||
}
|
||||
|
||||
int
|
||||
fbdevHWGetFD(ScrnInfoPtr pScrn)
|
||||
{
|
||||
fbdevHWPtr fPtr;
|
||||
|
||||
fbdevHWGetRec(pScrn);
|
||||
fPtr = FBDEVHWPTR(pScrn);
|
||||
|
||||
return fPtr->fd;
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* some helpers for printing debug information */
|
||||
|
||||
#ifdef DEBUG
|
||||
static void
|
||||
print_fbdev_mode(const char *txt, struct fb_var_screeninfo *var)
|
||||
{
|
||||
ErrorF("fbdev %s mode:\t%d %d %d %d %d %d %d %d %d %d %d:%d:%d\n",
|
||||
txt, var->pixclock,
|
||||
var->xres, var->right_margin, var->hsync_len, var->left_margin,
|
||||
var->yres, var->lower_margin, var->vsync_len, var->upper_margin,
|
||||
var->bits_per_pixel,
|
||||
var->red.length, var->green.length, var->blue.length);
|
||||
}
|
||||
|
||||
static void
|
||||
print_xfree_mode(const char *txt, DisplayModePtr mode)
|
||||
{
|
||||
ErrorF("xfree %s mode:\t%d %d %d %d %d %d %d %d %d\n",
|
||||
txt, mode->Clock,
|
||||
mode->HDisplay, mode->HSyncStart, mode->HSyncEnd, mode->HTotal,
|
||||
mode->VDisplay, mode->VSyncStart, mode->VSyncEnd, mode->VTotal);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Convert timings between the XFree and the Frame Buffer Device */
|
||||
|
||||
static void
|
||||
xfree2fbdev_fblayout(ScrnInfoPtr pScrn, struct fb_var_screeninfo *var)
|
||||
{
|
||||
var->xres_virtual = pScrn->displayWidth ? pScrn->displayWidth :
|
||||
pScrn->virtualX;
|
||||
var->yres_virtual = pScrn->virtualY;
|
||||
var->bits_per_pixel = pScrn->bitsPerPixel;
|
||||
if (pScrn->defaultVisual == TrueColor ||
|
||||
pScrn->defaultVisual == DirectColor) {
|
||||
var->red.length = pScrn->weight.red;
|
||||
var->green.length = pScrn->weight.green;
|
||||
var->blue.length = pScrn->weight.blue;
|
||||
}
|
||||
else {
|
||||
var->red.length = 8;
|
||||
var->green.length = 8;
|
||||
var->blue.length = 8;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
xfree2fbdev_timing(DisplayModePtr mode, struct fb_var_screeninfo *var)
|
||||
{
|
||||
var->xres = mode->HDisplay;
|
||||
var->yres = mode->VDisplay;
|
||||
if (var->xres_virtual < var->xres)
|
||||
var->xres_virtual = var->xres;
|
||||
if (var->yres_virtual < var->yres)
|
||||
var->yres_virtual = var->yres;
|
||||
var->xoffset = var->yoffset = 0;
|
||||
var->pixclock = mode->Clock ? 1000000000 / mode->Clock : 0;
|
||||
var->right_margin = mode->HSyncStart - mode->HDisplay;
|
||||
var->hsync_len = mode->HSyncEnd - mode->HSyncStart;
|
||||
var->left_margin = mode->HTotal - mode->HSyncEnd;
|
||||
var->lower_margin = mode->VSyncStart - mode->VDisplay;
|
||||
var->vsync_len = mode->VSyncEnd - mode->VSyncStart;
|
||||
var->upper_margin = mode->VTotal - mode->VSyncEnd;
|
||||
var->sync = 0;
|
||||
if (mode->Flags & V_PHSYNC)
|
||||
var->sync |= FB_SYNC_HOR_HIGH_ACT;
|
||||
if (mode->Flags & V_PVSYNC)
|
||||
var->sync |= FB_SYNC_VERT_HIGH_ACT;
|
||||
if (mode->Flags & V_PCSYNC)
|
||||
var->sync |= FB_SYNC_COMP_HIGH_ACT;
|
||||
if (mode->Flags & V_BCAST)
|
||||
var->sync |= FB_SYNC_BROADCAST;
|
||||
if (mode->Flags & V_INTERLACE)
|
||||
var->vmode = FB_VMODE_INTERLACED;
|
||||
else if (mode->Flags & V_DBLSCAN)
|
||||
var->vmode = FB_VMODE_DOUBLE;
|
||||
else
|
||||
var->vmode = FB_VMODE_NONINTERLACED;
|
||||
}
|
||||
|
||||
static Bool
|
||||
fbdev_modes_equal(struct fb_var_screeninfo *set, struct fb_var_screeninfo *req)
|
||||
{
|
||||
return (set->xres_virtual >= req->xres_virtual &&
|
||||
set->yres_virtual >= req->yres_virtual &&
|
||||
set->bits_per_pixel == req->bits_per_pixel &&
|
||||
set->red.length == req->red.length &&
|
||||
set->green.length == req->green.length &&
|
||||
set->blue.length == req->blue.length &&
|
||||
set->xres == req->xres && set->yres == req->yres &&
|
||||
set->right_margin == req->right_margin &&
|
||||
set->hsync_len == req->hsync_len &&
|
||||
set->left_margin == req->left_margin &&
|
||||
set->lower_margin == req->lower_margin &&
|
||||
set->vsync_len == req->vsync_len &&
|
||||
set->upper_margin == req->upper_margin &&
|
||||
set->sync == req->sync && set->vmode == req->vmode);
|
||||
}
|
||||
|
||||
static void
|
||||
fbdev2xfree_timing(struct fb_var_screeninfo *var, DisplayModePtr mode)
|
||||
{
|
||||
mode->Clock = var->pixclock ? 1000000000 / var->pixclock : 0;
|
||||
mode->HDisplay = var->xres;
|
||||
mode->HSyncStart = mode->HDisplay + var->right_margin;
|
||||
mode->HSyncEnd = mode->HSyncStart + var->hsync_len;
|
||||
mode->HTotal = mode->HSyncEnd + var->left_margin;
|
||||
mode->VDisplay = var->yres;
|
||||
mode->VSyncStart = mode->VDisplay + var->lower_margin;
|
||||
mode->VSyncEnd = mode->VSyncStart + var->vsync_len;
|
||||
mode->VTotal = mode->VSyncEnd + var->upper_margin;
|
||||
mode->Flags = 0;
|
||||
mode->Flags |= var->sync & FB_SYNC_HOR_HIGH_ACT ? V_PHSYNC : V_NHSYNC;
|
||||
mode->Flags |= var->sync & FB_SYNC_VERT_HIGH_ACT ? V_PVSYNC : V_NVSYNC;
|
||||
mode->Flags |= var->sync & FB_SYNC_COMP_HIGH_ACT ? V_PCSYNC : V_NCSYNC;
|
||||
if (var->sync & FB_SYNC_BROADCAST)
|
||||
mode->Flags |= V_BCAST;
|
||||
if ((var->vmode & FB_VMODE_MASK) == FB_VMODE_INTERLACED)
|
||||
mode->Flags |= V_INTERLACE;
|
||||
else if ((var->vmode & FB_VMODE_MASK) == FB_VMODE_DOUBLE)
|
||||
mode->Flags |= V_DBLSCAN;
|
||||
mode->SynthClock = mode->Clock;
|
||||
mode->CrtcHDisplay = mode->HDisplay;
|
||||
mode->CrtcHSyncStart = mode->HSyncStart;
|
||||
mode->CrtcHSyncEnd = mode->HSyncEnd;
|
||||
mode->CrtcHTotal = mode->HTotal;
|
||||
mode->CrtcVDisplay = mode->VDisplay;
|
||||
mode->CrtcVSyncStart = mode->VSyncStart;
|
||||
mode->CrtcVSyncEnd = mode->VSyncEnd;
|
||||
mode->CrtcVTotal = mode->VTotal;
|
||||
mode->CrtcHAdjusted = FALSE;
|
||||
mode->CrtcVAdjusted = FALSE;
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* open correct framebuffer device */
|
||||
|
||||
/**
|
||||
* Try to find the framebuffer device for a given PCI device
|
||||
*/
|
||||
static int
|
||||
fbdev_open_pci(struct pci_device *pPci, char **namep)
|
||||
{
|
||||
struct fb_fix_screeninfo fix;
|
||||
char filename[256];
|
||||
int fd, i;
|
||||
|
||||
for (i = 0; i < 8; i++) {
|
||||
snprintf(filename, sizeof(filename),
|
||||
"/sys/bus/pci/devices/%04x:%02x:%02x.%d/graphics/fb%d",
|
||||
pPci->domain, pPci->bus, pPci->dev, pPci->func, i);
|
||||
|
||||
fd = open(filename, O_RDONLY, 0);
|
||||
if (fd < 0) {
|
||||
snprintf(filename, sizeof(filename),
|
||||
"/sys/bus/pci/devices/%04x:%02x:%02x.%d/graphics:fb%d",
|
||||
pPci->domain, pPci->bus, pPci->dev, pPci->func, i);
|
||||
fd = open(filename, O_RDONLY, 0);
|
||||
}
|
||||
if (fd >= 0) {
|
||||
close(fd);
|
||||
snprintf(filename, sizeof(filename), "/dev/fb%d", i);
|
||||
|
||||
fd = open(filename, O_RDWR, 0);
|
||||
if (fd != -1) {
|
||||
if (ioctl(fd, FBIOGET_FSCREENINFO, (void *) &fix) != -1) {
|
||||
if (namep) {
|
||||
*namep = xnfalloc(16);
|
||||
strncpy(*namep, fix.id, 16);
|
||||
}
|
||||
|
||||
return fd;
|
||||
}
|
||||
close(fd);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (namep)
|
||||
*namep = NULL;
|
||||
|
||||
xf86DrvMsg(-1, X_ERROR, "Unable to find a valid framebuffer device\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
static int
|
||||
fbdev_open(int scrnIndex, const char *dev, char **namep)
|
||||
{
|
||||
struct fb_fix_screeninfo fix;
|
||||
int fd;
|
||||
|
||||
/* try argument (from XF86Config) first */
|
||||
if (dev) {
|
||||
fd = open(dev, O_RDWR, 0);
|
||||
}
|
||||
else {
|
||||
/* second: environment variable */
|
||||
dev = getenv("FRAMEBUFFER");
|
||||
if ((NULL == dev) || ((fd = open(dev, O_RDWR, 0)) == -1)) {
|
||||
/* last try: default device */
|
||||
dev = "/dev/fb0";
|
||||
fd = open(dev, O_RDWR, 0);
|
||||
}
|
||||
}
|
||||
|
||||
if (fd == -1) {
|
||||
xf86DrvMsg(scrnIndex, X_ERROR, "open %s: %s\n", dev, strerror(errno));
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* only touch non-PCI devices on this path */
|
||||
{
|
||||
char buf[PATH_MAX] = {0};
|
||||
char *sysfs_path = NULL;
|
||||
char *node = strrchr(dev, '/') + 1;
|
||||
|
||||
if (asprintf(&sysfs_path, "/sys/class/graphics/%s", node) < 0 ||
|
||||
readlink(sysfs_path, buf, sizeof(buf) - 1) < 0 ||
|
||||
strstr(buf, "devices/pci")) {
|
||||
free(sysfs_path);
|
||||
close(fd);
|
||||
return -1;
|
||||
}
|
||||
free(sysfs_path);
|
||||
}
|
||||
|
||||
if (namep) {
|
||||
if (-1 == ioctl(fd, FBIOGET_FSCREENINFO, (void *) (&fix))) {
|
||||
*namep = NULL;
|
||||
xf86DrvMsg(scrnIndex, X_ERROR,
|
||||
"FBIOGET_FSCREENINFO: %s\n", strerror(errno));
|
||||
return -1;
|
||||
}
|
||||
else {
|
||||
*namep = xnfalloc(16);
|
||||
strncpy(*namep, fix.id, 16);
|
||||
}
|
||||
}
|
||||
return fd;
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
|
||||
Bool
|
||||
fbdevHWProbe(struct pci_device *pPci, char *device, char **namep)
|
||||
{
|
||||
int fd;
|
||||
|
||||
if (pPci)
|
||||
fd = fbdev_open_pci(pPci, namep);
|
||||
else
|
||||
fd = fbdev_open(-1, device, namep);
|
||||
|
||||
if (-1 == fd)
|
||||
return FALSE;
|
||||
close(fd);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
Bool
|
||||
fbdevHWInit(ScrnInfoPtr pScrn, struct pci_device *pPci, char *device)
|
||||
{
|
||||
fbdevHWPtr fPtr;
|
||||
|
||||
fbdevHWGetRec(pScrn);
|
||||
fPtr = FBDEVHWPTR(pScrn);
|
||||
|
||||
/* open device */
|
||||
if (pPci)
|
||||
fPtr->fd = fbdev_open_pci(pPci, NULL);
|
||||
else
|
||||
fPtr->fd = fbdev_open(pScrn->scrnIndex, device, NULL);
|
||||
if (-1 == fPtr->fd) {
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
|
||||
"Failed to open framebuffer device, consult warnings"
|
||||
" and/or errors above for possible reasons\n"
|
||||
"\t(you may have to look at the server log to see"
|
||||
" warnings)\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* get current fb device settings */
|
||||
if (-1 == ioctl(fPtr->fd, FBIOGET_FSCREENINFO, (void *) (&fPtr->fix))) {
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
|
||||
"ioctl FBIOGET_FSCREENINFO: %s\n", strerror(errno));
|
||||
return FALSE;
|
||||
}
|
||||
if (-1 == ioctl(fPtr->fd, FBIOGET_VSCREENINFO, (void *) (&fPtr->var))) {
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
|
||||
"ioctl FBIOGET_VSCREENINFO: %s\n", strerror(errno));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* we can use the current settings as "buildin mode" */
|
||||
fbdev2xfree_timing(&fPtr->var, &fPtr->buildin);
|
||||
fPtr->buildin.name = "current";
|
||||
fPtr->buildin.next = &fPtr->buildin;
|
||||
fPtr->buildin.prev = &fPtr->buildin;
|
||||
fPtr->buildin.type |= M_T_BUILTIN;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
char *
|
||||
fbdevHWGetName(ScrnInfoPtr pScrn)
|
||||
{
|
||||
fbdevHWPtr fPtr = FBDEVHWPTR(pScrn);
|
||||
|
||||
return fPtr->fix.id;
|
||||
}
|
||||
|
||||
int
|
||||
fbdevHWGetDepth(ScrnInfoPtr pScrn, int *fbbpp)
|
||||
{
|
||||
fbdevHWPtr fPtr = FBDEVHWPTR(pScrn);
|
||||
|
||||
if (fbbpp)
|
||||
*fbbpp = fPtr->var.bits_per_pixel;
|
||||
|
||||
if (fPtr->fix.visual == FB_VISUAL_TRUECOLOR ||
|
||||
fPtr->fix.visual == FB_VISUAL_DIRECTCOLOR)
|
||||
return fPtr->var.red.length + fPtr->var.green.length +
|
||||
fPtr->var.blue.length;
|
||||
else
|
||||
return fPtr->var.bits_per_pixel;
|
||||
}
|
||||
|
||||
int
|
||||
fbdevHWGetLineLength(ScrnInfoPtr pScrn)
|
||||
{
|
||||
fbdevHWPtr fPtr = FBDEVHWPTR(pScrn);
|
||||
|
||||
if (fPtr->fix.line_length)
|
||||
return fPtr->fix.line_length;
|
||||
else
|
||||
return fPtr->var.xres_virtual * fPtr->var.bits_per_pixel / 8;
|
||||
}
|
||||
|
||||
int
|
||||
fbdevHWGetType(ScrnInfoPtr pScrn)
|
||||
{
|
||||
fbdevHWPtr fPtr = FBDEVHWPTR(pScrn);
|
||||
|
||||
return fPtr->fix.type;
|
||||
}
|
||||
|
||||
int
|
||||
fbdevHWGetVidmem(ScrnInfoPtr pScrn)
|
||||
{
|
||||
fbdevHWPtr fPtr = FBDEVHWPTR(pScrn);
|
||||
|
||||
return fPtr->fix.smem_len;
|
||||
}
|
||||
|
||||
static Bool
|
||||
fbdevHWSetMode(ScrnInfoPtr pScrn, DisplayModePtr mode, Bool check)
|
||||
{
|
||||
fbdevHWPtr fPtr = FBDEVHWPTR(pScrn);
|
||||
struct fb_var_screeninfo req_var = fPtr->var, set_var;
|
||||
|
||||
xfree2fbdev_fblayout(pScrn, &req_var);
|
||||
xfree2fbdev_timing(mode, &req_var);
|
||||
|
||||
#ifdef DEBUG
|
||||
print_xfree_mode("init", mode);
|
||||
print_fbdev_mode("init", &req_var);
|
||||
#endif
|
||||
|
||||
set_var = req_var;
|
||||
|
||||
if (check)
|
||||
set_var.activate = FB_ACTIVATE_TEST;
|
||||
|
||||
if (0 != ioctl(fPtr->fd, FBIOPUT_VSCREENINFO, (void *) (&set_var))) {
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
|
||||
"FBIOPUT_VSCREENINFO: %s\n", strerror(errno));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!fbdev_modes_equal(&set_var, &req_var)) {
|
||||
if (!check)
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
|
||||
"FBIOPUT_VSCREENINFO succeeded but modified " "mode\n");
|
||||
#ifdef DEBUG
|
||||
print_fbdev_mode("returned", &set_var);
|
||||
#endif
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!check)
|
||||
fPtr->var = set_var;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void
|
||||
fbdevHWSetVideoModes(ScrnInfoPtr pScrn)
|
||||
{
|
||||
const char **modename;
|
||||
DisplayModePtr mode, this, last = pScrn->modes;
|
||||
|
||||
if (NULL == pScrn->display->modes)
|
||||
return;
|
||||
|
||||
pScrn->virtualX = pScrn->display->virtualX;
|
||||
pScrn->virtualY = pScrn->display->virtualY;
|
||||
|
||||
for (modename = pScrn->display->modes; *modename != NULL; modename++) {
|
||||
for (mode = pScrn->monitor->Modes; mode != NULL; mode = mode->next) {
|
||||
if (0 == strcmp(mode->name, *modename)) {
|
||||
if (fbdevHWSetMode(pScrn, mode, TRUE))
|
||||
break;
|
||||
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
|
||||
"\tmode \"%s\" test failed\n", *modename);
|
||||
}
|
||||
}
|
||||
|
||||
if (NULL == mode) {
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
|
||||
"\tmode \"%s\" not found\n", *modename);
|
||||
continue;
|
||||
}
|
||||
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "\tmode \"%s\" ok\n", *modename);
|
||||
|
||||
if (pScrn->virtualX < mode->HDisplay)
|
||||
pScrn->virtualX = mode->HDisplay;
|
||||
if (pScrn->virtualY < mode->VDisplay)
|
||||
pScrn->virtualY = mode->VDisplay;
|
||||
|
||||
if (NULL == pScrn->modes) {
|
||||
this = pScrn->modes = xf86DuplicateMode(mode);
|
||||
this->next = this;
|
||||
this->prev = this;
|
||||
}
|
||||
else {
|
||||
this = xf86DuplicateMode(mode);
|
||||
this->next = pScrn->modes;
|
||||
this->prev = last;
|
||||
last->next = this;
|
||||
pScrn->modes->prev = this;
|
||||
}
|
||||
last = this;
|
||||
}
|
||||
}
|
||||
|
||||
DisplayModePtr
|
||||
fbdevHWGetBuildinMode(ScrnInfoPtr pScrn)
|
||||
{
|
||||
fbdevHWPtr fPtr = FBDEVHWPTR(pScrn);
|
||||
|
||||
return &fPtr->buildin;
|
||||
}
|
||||
|
||||
void
|
||||
fbdevHWUseBuildinMode(ScrnInfoPtr pScrn)
|
||||
{
|
||||
fbdevHWPtr fPtr = FBDEVHWPTR(pScrn);
|
||||
|
||||
pScrn->modes = &fPtr->buildin;
|
||||
pScrn->virtualX = pScrn->display->virtualX;
|
||||
pScrn->virtualY = pScrn->display->virtualY;
|
||||
if (pScrn->virtualX < fPtr->buildin.HDisplay)
|
||||
pScrn->virtualX = fPtr->buildin.HDisplay;
|
||||
if (pScrn->virtualY < fPtr->buildin.VDisplay)
|
||||
pScrn->virtualY = fPtr->buildin.VDisplay;
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
|
||||
static void
|
||||
calculateFbmem_len(fbdevHWPtr fPtr)
|
||||
{
|
||||
fPtr->fboff = (unsigned long) fPtr->fix.smem_start & ~PAGE_MASK;
|
||||
fPtr->fbmem_len = (fPtr->fboff + fPtr->fix.smem_len + ~PAGE_MASK) &
|
||||
PAGE_MASK;
|
||||
}
|
||||
|
||||
void *
|
||||
fbdevHWMapVidmem(ScrnInfoPtr pScrn)
|
||||
{
|
||||
fbdevHWPtr fPtr = FBDEVHWPTR(pScrn);
|
||||
|
||||
if (NULL == fPtr->fbmem) {
|
||||
calculateFbmem_len(fPtr);
|
||||
fPtr->fbmem = mmap(NULL, fPtr->fbmem_len, PROT_READ | PROT_WRITE,
|
||||
MAP_SHARED, fPtr->fd, 0);
|
||||
if (-1 == (long) fPtr->fbmem) {
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
|
||||
"mmap fbmem: %s\n", strerror(errno));
|
||||
fPtr->fbmem = NULL;
|
||||
}
|
||||
else {
|
||||
/* Perhaps we'd better add fboff to fbmem and return 0 in
|
||||
fbdevHWLinearOffset()? Of course we then need to mask
|
||||
fPtr->fbmem with PAGE_MASK in fbdevHWUnmapVidmem() as
|
||||
well. [geert] */
|
||||
}
|
||||
}
|
||||
pScrn->memPhysBase =
|
||||
(unsigned long) fPtr->fix.smem_start & (unsigned long) (PAGE_MASK);
|
||||
pScrn->fbOffset =
|
||||
(unsigned long) fPtr->fix.smem_start & (unsigned long) (~PAGE_MASK);
|
||||
return fPtr->fbmem;
|
||||
}
|
||||
|
||||
int
|
||||
fbdevHWLinearOffset(ScrnInfoPtr pScrn)
|
||||
{
|
||||
fbdevHWPtr fPtr = FBDEVHWPTR(pScrn);
|
||||
|
||||
return fPtr->fboff;
|
||||
}
|
||||
|
||||
Bool
|
||||
fbdevHWUnmapVidmem(ScrnInfoPtr pScrn)
|
||||
{
|
||||
fbdevHWPtr fPtr = FBDEVHWPTR(pScrn);
|
||||
|
||||
if (NULL != fPtr->fbmem) {
|
||||
if (-1 == munmap(fPtr->fbmem, fPtr->fbmem_len))
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
|
||||
"munmap fbmem: %s\n", strerror(errno));
|
||||
fPtr->fbmem = NULL;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void *
|
||||
fbdevHWMapMMIO(ScrnInfoPtr pScrn)
|
||||
{
|
||||
unsigned int mmio_off;
|
||||
|
||||
fbdevHWPtr fPtr = FBDEVHWPTR(pScrn);
|
||||
|
||||
if (NULL == fPtr->mmio) {
|
||||
/* tell the kernel not to use accels to speed up console scrolling */
|
||||
fPtr->var.accel_flags = 0;
|
||||
if (0 != ioctl(fPtr->fd, FBIOPUT_VSCREENINFO, (void *) (&fPtr->var))) {
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
|
||||
"FBIOPUT_VSCREENINFO: %s\n", strerror(errno));
|
||||
return FALSE;
|
||||
}
|
||||
mmio_off = (unsigned long) fPtr->fix.mmio_start & ~PAGE_MASK;
|
||||
fPtr->mmio_len = (mmio_off + fPtr->fix.mmio_len + ~PAGE_MASK) &
|
||||
PAGE_MASK;
|
||||
if (NULL == fPtr->fbmem)
|
||||
calculateFbmem_len(fPtr);
|
||||
fPtr->mmio = mmap(NULL, fPtr->mmio_len, PROT_READ | PROT_WRITE,
|
||||
MAP_SHARED, fPtr->fd, fPtr->fbmem_len);
|
||||
if (-1 == (long) fPtr->mmio) {
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
|
||||
"mmap mmio: %s\n", strerror(errno));
|
||||
fPtr->mmio = NULL;
|
||||
}
|
||||
else
|
||||
fPtr->mmio += mmio_off;
|
||||
}
|
||||
return fPtr->mmio;
|
||||
}
|
||||
|
||||
Bool
|
||||
fbdevHWUnmapMMIO(ScrnInfoPtr pScrn)
|
||||
{
|
||||
fbdevHWPtr fPtr = FBDEVHWPTR(pScrn);
|
||||
|
||||
if (NULL != fPtr->mmio) {
|
||||
if (-1 ==
|
||||
munmap((void *) ((unsigned long) fPtr->mmio & PAGE_MASK),
|
||||
fPtr->mmio_len))
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "munmap mmio: %s\n",
|
||||
strerror(errno));
|
||||
fPtr->mmio = NULL;
|
||||
/* FIXME: restore var.accel_flags [geert] */
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
|
||||
Bool
|
||||
fbdevHWModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode)
|
||||
{
|
||||
fbdevHWPtr fPtr = FBDEVHWPTR(pScrn);
|
||||
|
||||
pScrn->vtSema = TRUE;
|
||||
|
||||
/* set */
|
||||
if (!fbdevHWSetMode(pScrn, mode, FALSE))
|
||||
return FALSE;
|
||||
|
||||
/* read back */
|
||||
if (0 != ioctl(fPtr->fd, FBIOGET_FSCREENINFO, (void *) (&fPtr->fix))) {
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
|
||||
"FBIOGET_FSCREENINFO: %s\n", strerror(errno));
|
||||
return FALSE;
|
||||
}
|
||||
if (0 != ioctl(fPtr->fd, FBIOGET_VSCREENINFO, (void *) (&fPtr->var))) {
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
|
||||
"FBIOGET_VSCREENINFO: %s\n", strerror(errno));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (pScrn->defaultVisual == TrueColor ||
|
||||
pScrn->defaultVisual == DirectColor) {
|
||||
/* XXX: This is a hack, but it should be a NOP for all the setups that
|
||||
* worked before and actually seems to fix some others...
|
||||
*/
|
||||
pScrn->offset.red = fPtr->var.red.offset;
|
||||
pScrn->offset.green = fPtr->var.green.offset;
|
||||
pScrn->offset.blue = fPtr->var.blue.offset;
|
||||
pScrn->mask.red =
|
||||
((1 << fPtr->var.red.length) - 1) << fPtr->var.red.offset;
|
||||
pScrn->mask.green =
|
||||
((1 << fPtr->var.green.length) - 1) << fPtr->var.green.offset;
|
||||
pScrn->mask.blue =
|
||||
((1 << fPtr->var.blue.length) - 1) << fPtr->var.blue.offset;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* video mode save/restore */
|
||||
void
|
||||
fbdevHWSave(ScrnInfoPtr pScrn)
|
||||
{
|
||||
fbdevHWPtr fPtr = FBDEVHWPTR(pScrn);
|
||||
|
||||
if (0 != ioctl(fPtr->fd, FBIOGET_VSCREENINFO, (void *) (&fPtr->saved_var)))
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
|
||||
"FBIOGET_VSCREENINFO: %s\n", strerror(errno));
|
||||
}
|
||||
|
||||
void
|
||||
fbdevHWRestore(ScrnInfoPtr pScrn)
|
||||
{
|
||||
fbdevHWPtr fPtr = FBDEVHWPTR(pScrn);
|
||||
|
||||
if (0 != ioctl(fPtr->fd, FBIOPUT_VSCREENINFO, (void *) (&fPtr->saved_var)))
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
|
||||
"FBIOPUT_VSCREENINFO: %s\n", strerror(errno));
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* callback for xf86HandleColormaps */
|
||||
|
||||
void
|
||||
fbdevHWLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices,
|
||||
LOCO * colors, VisualPtr pVisual)
|
||||
{
|
||||
fbdevHWPtr fPtr = FBDEVHWPTR(pScrn);
|
||||
struct fb_cmap cmap;
|
||||
unsigned short red, green, blue;
|
||||
int i;
|
||||
|
||||
cmap.len = 1;
|
||||
cmap.red = &red;
|
||||
cmap.green = &green;
|
||||
cmap.blue = &blue;
|
||||
cmap.transp = NULL;
|
||||
for (i = 0; i < numColors; i++) {
|
||||
cmap.start = indices[i];
|
||||
red = (colors[indices[i]].red << 8) | colors[indices[i]].red;
|
||||
green = (colors[indices[i]].green << 8) | colors[indices[i]].green;
|
||||
blue = (colors[indices[i]].blue << 8) | colors[indices[i]].blue;
|
||||
if (-1 == ioctl(fPtr->fd, FBIOPUTCMAP, (void *) &cmap))
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
|
||||
"FBIOPUTCMAP: %s\n", strerror(errno));
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* these can be hooked directly into ScrnInfoRec */
|
||||
|
||||
ModeStatus
|
||||
fbdevHWValidMode(ScrnInfoPtr pScrn, DisplayModePtr mode, Bool verbose, int flags)
|
||||
{
|
||||
if (!fbdevHWSetMode(pScrn, mode, TRUE))
|
||||
return MODE_BAD;
|
||||
|
||||
return MODE_OK;
|
||||
}
|
||||
|
||||
Bool
|
||||
fbdevHWSwitchMode(ScrnInfoPtr pScrn, DisplayModePtr mode)
|
||||
{
|
||||
if (!fbdevHWSetMode(pScrn, mode, FALSE))
|
||||
return FALSE;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void
|
||||
fbdevHWAdjustFrame(ScrnInfoPtr pScrn, int x, int y)
|
||||
{
|
||||
fbdevHWPtr fPtr = FBDEVHWPTR(pScrn);
|
||||
|
||||
if (x < 0 || x + fPtr->var.xres > fPtr->var.xres_virtual ||
|
||||
y < 0 || y + fPtr->var.yres > fPtr->var.yres_virtual)
|
||||
return;
|
||||
|
||||
fPtr->var.xoffset = x;
|
||||
fPtr->var.yoffset = y;
|
||||
if (-1 == ioctl(fPtr->fd, FBIOPAN_DISPLAY, (void *) &fPtr->var))
|
||||
xf86DrvMsgVerb(pScrn->scrnIndex, X_WARNING, 5,
|
||||
"FBIOPAN_DISPLAY: %s\n", strerror(errno));
|
||||
}
|
||||
|
||||
Bool
|
||||
fbdevHWEnterVT(ScrnInfoPtr pScrn)
|
||||
{
|
||||
if (!fbdevHWModeInit(pScrn, pScrn->currentMode))
|
||||
return FALSE;
|
||||
fbdevHWAdjustFrame(pScrn, pScrn->frameX0, pScrn->frameY0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void
|
||||
fbdevHWLeaveVT(ScrnInfoPtr pScrn)
|
||||
{
|
||||
fbdevHWRestore(pScrn);
|
||||
}
|
||||
|
||||
void
|
||||
fbdevHWDPMSSet(ScrnInfoPtr pScrn, int mode, int flags)
|
||||
{
|
||||
fbdevHWPtr fPtr = FBDEVHWPTR(pScrn);
|
||||
unsigned long fbmode;
|
||||
|
||||
if (!pScrn->vtSema)
|
||||
return;
|
||||
|
||||
if (fPtr->unsupported_ioctls & (1 << FBIOBLANK_UNSUPPORTED))
|
||||
return;
|
||||
|
||||
switch (mode) {
|
||||
case DPMSModeOn:
|
||||
fbmode = 0;
|
||||
break;
|
||||
case DPMSModeStandby:
|
||||
fbmode = 2;
|
||||
break;
|
||||
case DPMSModeSuspend:
|
||||
fbmode = 3;
|
||||
break;
|
||||
case DPMSModeOff:
|
||||
fbmode = 4;
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
||||
RETRY:
|
||||
if (-1 == ioctl(fPtr->fd, FBIOBLANK, (void *) fbmode)) {
|
||||
switch (errno) {
|
||||
case EAGAIN:
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
|
||||
"FBIOBLANK: %s\n", strerror(errno));
|
||||
break;
|
||||
case EINTR:
|
||||
case ERESTART:
|
||||
goto RETRY;
|
||||
default:
|
||||
fPtr->unsupported_ioctls |= (1 << FBIOBLANK_UNSUPPORTED);
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
|
||||
"FBIOBLANK: %s (Screen blanking not supported "
|
||||
"by kernel - disabling)\n", strerror(errno));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Bool
|
||||
fbdevHWSaveScreen(ScreenPtr pScreen, int mode)
|
||||
{
|
||||
ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
|
||||
fbdevHWPtr fPtr = FBDEVHWPTR(pScrn);
|
||||
unsigned long unblank;
|
||||
|
||||
if (!pScrn->vtSema)
|
||||
return TRUE;
|
||||
|
||||
if (fPtr->unsupported_ioctls & (1 << FBIOBLANK_UNSUPPORTED))
|
||||
return FALSE;
|
||||
|
||||
unblank = xf86IsUnblank(mode);
|
||||
|
||||
RETRY:
|
||||
if (-1 == ioctl(fPtr->fd, FBIOBLANK, (void *) (1 - unblank))) {
|
||||
switch (errno) {
|
||||
case EAGAIN:
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
|
||||
"FBIOBLANK: %s\n", strerror(errno));
|
||||
break;
|
||||
case EINTR:
|
||||
case ERESTART:
|
||||
goto RETRY;
|
||||
default:
|
||||
fPtr->unsupported_ioctls |= (1 << FBIOBLANK_UNSUPPORTED);
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
|
||||
"FBIOBLANK: %s (Screen blanking not supported "
|
||||
"by kernel - disabling)\n", strerror(errno));
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
xf86SwitchModeProc *
|
||||
fbdevHWSwitchModeWeak(void)
|
||||
{
|
||||
return fbdevHWSwitchMode;
|
||||
}
|
||||
|
||||
xf86AdjustFrameProc *
|
||||
fbdevHWAdjustFrameWeak(void)
|
||||
{
|
||||
return fbdevHWAdjustFrame;
|
||||
}
|
||||
|
||||
xf86EnterVTProc *
|
||||
fbdevHWEnterVTWeak(void)
|
||||
{
|
||||
return fbdevHWEnterVT;
|
||||
}
|
||||
|
||||
xf86LeaveVTProc *
|
||||
fbdevHWLeaveVTWeak(void)
|
||||
{
|
||||
return fbdevHWLeaveVT;
|
||||
}
|
||||
|
||||
xf86ValidModeProc *
|
||||
fbdevHWValidModeWeak(void)
|
||||
{
|
||||
return fbdevHWValidMode;
|
||||
}
|
||||
|
||||
xf86DPMSSetProc *
|
||||
fbdevHWDPMSSetWeak(void)
|
||||
{
|
||||
return fbdevHWDPMSSet;
|
||||
}
|
||||
|
||||
xf86LoadPaletteProc *
|
||||
fbdevHWLoadPaletteWeak(void)
|
||||
{
|
||||
return fbdevHWLoadPalette;
|
||||
}
|
||||
|
||||
SaveScreenProcPtr
|
||||
fbdevHWSaveScreenWeak(void)
|
||||
{
|
||||
return fbdevHWSaveScreen;
|
||||
}
|
66
xserver/hw/xfree86/fbdevhw/fbdevhw.h
Normal file
66
xserver/hw/xfree86/fbdevhw/fbdevhw.h
Normal file
|
@ -0,0 +1,66 @@
|
|||
|
||||
#ifndef _FBDEVHW_H_
|
||||
#define _FBDEVHW_H_
|
||||
|
||||
#include "xf86str.h"
|
||||
#include "colormapst.h"
|
||||
|
||||
#define FBDEVHW_PACKED_PIXELS 0 /* Packed Pixels */
|
||||
#define FBDEVHW_PLANES 1 /* Non interleaved planes */
|
||||
#define FBDEVHW_INTERLEAVED_PLANES 2 /* Interleaved planes */
|
||||
#define FBDEVHW_TEXT 3 /* Text/attributes */
|
||||
#define FBDEVHW_VGA_PLANES 4 /* EGA/VGA planes */
|
||||
|
||||
extern _X_EXPORT Bool fbdevHWGetRec(ScrnInfoPtr pScrn);
|
||||
extern _X_EXPORT void fbdevHWFreeRec(ScrnInfoPtr pScrn);
|
||||
|
||||
extern _X_EXPORT int fbdevHWGetFD(ScrnInfoPtr pScrn);
|
||||
|
||||
extern _X_EXPORT Bool fbdevHWProbe(struct pci_device *pPci, char *device,
|
||||
char **namep);
|
||||
extern _X_EXPORT Bool fbdevHWInit(ScrnInfoPtr pScrn, struct pci_device *pPci,
|
||||
char *device);
|
||||
|
||||
extern _X_EXPORT char *fbdevHWGetName(ScrnInfoPtr pScrn);
|
||||
extern _X_EXPORT int fbdevHWGetDepth(ScrnInfoPtr pScrn, int *fbbpp);
|
||||
extern _X_EXPORT int fbdevHWGetLineLength(ScrnInfoPtr pScrn);
|
||||
extern _X_EXPORT int fbdevHWGetType(ScrnInfoPtr pScrn);
|
||||
extern _X_EXPORT int fbdevHWGetVidmem(ScrnInfoPtr pScrn);
|
||||
|
||||
extern _X_EXPORT void *fbdevHWMapVidmem(ScrnInfoPtr pScrn);
|
||||
extern _X_EXPORT int fbdevHWLinearOffset(ScrnInfoPtr pScrn);
|
||||
extern _X_EXPORT Bool fbdevHWUnmapVidmem(ScrnInfoPtr pScrn);
|
||||
extern _X_EXPORT void *fbdevHWMapMMIO(ScrnInfoPtr pScrn);
|
||||
extern _X_EXPORT Bool fbdevHWUnmapMMIO(ScrnInfoPtr pScrn);
|
||||
|
||||
extern _X_EXPORT void fbdevHWSetVideoModes(ScrnInfoPtr pScrn);
|
||||
extern _X_EXPORT DisplayModePtr fbdevHWGetBuildinMode(ScrnInfoPtr pScrn);
|
||||
extern _X_EXPORT void fbdevHWUseBuildinMode(ScrnInfoPtr pScrn);
|
||||
extern _X_EXPORT Bool fbdevHWModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode);
|
||||
extern _X_EXPORT void fbdevHWSave(ScrnInfoPtr pScrn);
|
||||
extern _X_EXPORT void fbdevHWRestore(ScrnInfoPtr pScrn);
|
||||
|
||||
extern _X_EXPORT void fbdevHWLoadPalette(ScrnInfoPtr pScrn, int numColors,
|
||||
int *indices, LOCO * colors,
|
||||
VisualPtr pVisual);
|
||||
|
||||
extern _X_EXPORT ModeStatus fbdevHWValidMode(ScrnInfoPtr pScrn, DisplayModePtr mode,
|
||||
Bool verbose, int flags);
|
||||
extern _X_EXPORT Bool fbdevHWSwitchMode(ScrnInfoPtr pScrn, DisplayModePtr mode);
|
||||
extern _X_EXPORT void fbdevHWAdjustFrame(ScrnInfoPtr pScrn, int x, int y);
|
||||
extern _X_EXPORT Bool fbdevHWEnterVT(ScrnInfoPtr pScrn);
|
||||
extern _X_EXPORT void fbdevHWLeaveVT(ScrnInfoPtr pScrn);
|
||||
extern _X_EXPORT void fbdevHWDPMSSet(ScrnInfoPtr pScrn, int mode, int flags);
|
||||
|
||||
extern _X_EXPORT Bool fbdevHWSaveScreen(ScreenPtr pScreen, int mode);
|
||||
|
||||
extern _X_EXPORT xf86SwitchModeProc *fbdevHWSwitchModeWeak(void);
|
||||
extern _X_EXPORT xf86AdjustFrameProc *fbdevHWAdjustFrameWeak(void);
|
||||
extern _X_EXPORT xf86EnterVTProc *fbdevHWEnterVTWeak(void);
|
||||
extern _X_EXPORT xf86LeaveVTProc *fbdevHWLeaveVTWeak(void);
|
||||
extern _X_EXPORT xf86ValidModeProc *fbdevHWValidModeWeak(void);
|
||||
extern _X_EXPORT xf86DPMSSetProc *fbdevHWDPMSSetWeak(void);
|
||||
extern _X_EXPORT xf86LoadPaletteProc *fbdevHWLoadPaletteWeak(void);
|
||||
extern _X_EXPORT SaveScreenProcPtr fbdevHWSaveScreenWeak(void);
|
||||
|
||||
#endif
|
218
xserver/hw/xfree86/fbdevhw/fbdevhwstub.c
Normal file
218
xserver/hw/xfree86/fbdevhw/fbdevhwstub.c
Normal file
|
@ -0,0 +1,218 @@
|
|||
#ifdef HAVE_XORG_CONFIG_H
|
||||
#include <xorg-config.h>
|
||||
#endif
|
||||
|
||||
#include "xf86.h"
|
||||
#include "xf86cmap.h"
|
||||
#include "fbdevhw.h"
|
||||
|
||||
/* Stubs for the static server on platforms that don't support fbdev */
|
||||
|
||||
Bool
|
||||
fbdevHWGetRec(ScrnInfoPtr pScrn)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void
|
||||
fbdevHWFreeRec(ScrnInfoPtr pScrn)
|
||||
{
|
||||
}
|
||||
|
||||
Bool
|
||||
fbdevHWProbe(struct pci_device *pPci, char *device, char **namep)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
Bool
|
||||
fbdevHWInit(ScrnInfoPtr pScrn, struct pci_device *pPci, char *device)
|
||||
{
|
||||
xf86Msg(X_ERROR, "fbdevhw is not available on this platform\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
char *
|
||||
fbdevHWGetName(ScrnInfoPtr pScrn)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int
|
||||
fbdevHWGetDepth(ScrnInfoPtr pScrn, int *fbbpp)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
fbdevHWGetLineLength(ScrnInfoPtr pScrn)
|
||||
{
|
||||
return -1; /* Should cause something spectacular... */
|
||||
}
|
||||
|
||||
int
|
||||
fbdevHWGetType(ScrnInfoPtr pScrn)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
fbdevHWGetVidmem(ScrnInfoPtr pScrn)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
void
|
||||
fbdevHWSetVideoModes(ScrnInfoPtr pScrn)
|
||||
{
|
||||
}
|
||||
|
||||
DisplayModePtr
|
||||
fbdevHWGetBuildinMode(ScrnInfoPtr pScrn)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void
|
||||
fbdevHWUseBuildinMode(ScrnInfoPtr pScrn)
|
||||
{
|
||||
}
|
||||
|
||||
void *
|
||||
fbdevHWMapVidmem(ScrnInfoPtr pScrn)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int
|
||||
fbdevHWLinearOffset(ScrnInfoPtr pScrn)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
Bool
|
||||
fbdevHWUnmapVidmem(ScrnInfoPtr pScrn)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void *
|
||||
fbdevHWMapMMIO(ScrnInfoPtr pScrn)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Bool
|
||||
fbdevHWUnmapMMIO(ScrnInfoPtr pScrn)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
Bool
|
||||
fbdevHWModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void
|
||||
fbdevHWSave(ScrnInfoPtr pScrn)
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
fbdevHWRestore(ScrnInfoPtr pScrn)
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
fbdevHWLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices,
|
||||
LOCO * colors, VisualPtr pVisual)
|
||||
{
|
||||
}
|
||||
|
||||
ModeStatus
|
||||
fbdevHWValidMode(ScrnInfoPtr pScrn, DisplayModePtr mode, Bool verbose, int flags)
|
||||
{
|
||||
return MODE_ERROR;
|
||||
}
|
||||
|
||||
Bool
|
||||
fbdevHWSwitchMode(ScrnInfoPtr pScrn, DisplayModePtr mode)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void
|
||||
fbdevHWAdjustFrame(ScrnInfoPtr pScrn, int x, int y)
|
||||
{
|
||||
}
|
||||
|
||||
Bool
|
||||
fbdevHWEnterVT(ScrnInfoPtr pScrn)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void
|
||||
fbdevHWLeaveVT(ScrnInfoPtr pScrn)
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
fbdevHWDPMSSet(ScrnInfoPtr pScrn, int mode, int flags)
|
||||
{
|
||||
}
|
||||
|
||||
Bool
|
||||
fbdevHWSaveScreen(ScreenPtr pScreen, int mode)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
xf86SwitchModeProc *
|
||||
fbdevHWSwitchModeWeak(void)
|
||||
{
|
||||
return fbdevHWSwitchMode;
|
||||
}
|
||||
|
||||
xf86AdjustFrameProc *
|
||||
fbdevHWAdjustFrameWeak(void)
|
||||
{
|
||||
return fbdevHWAdjustFrame;
|
||||
}
|
||||
|
||||
xf86EnterVTProc *
|
||||
fbdevHWEnterVTWeak(void)
|
||||
{
|
||||
return fbdevHWEnterVT;
|
||||
}
|
||||
|
||||
xf86LeaveVTProc *
|
||||
fbdevHWLeaveVTWeak(void)
|
||||
{
|
||||
return fbdevHWLeaveVT;
|
||||
}
|
||||
|
||||
xf86ValidModeProc *
|
||||
fbdevHWValidModeWeak(void)
|
||||
{
|
||||
return fbdevHWValidMode;
|
||||
}
|
||||
|
||||
xf86DPMSSetProc *
|
||||
fbdevHWDPMSSetWeak(void)
|
||||
{
|
||||
return fbdevHWDPMSSet;
|
||||
}
|
||||
|
||||
xf86LoadPaletteProc *
|
||||
fbdevHWLoadPaletteWeak(void)
|
||||
{
|
||||
return fbdevHWLoadPalette;
|
||||
}
|
||||
|
||||
SaveScreenProcPtr
|
||||
fbdevHWSaveScreenWeak(void)
|
||||
{
|
||||
return fbdevHWSaveScreen;
|
||||
}
|
263
xserver/hw/xfree86/fbdevhw/fbpriv.h
Normal file
263
xserver/hw/xfree86/fbdevhw/fbpriv.h
Normal file
|
@ -0,0 +1,263 @@
|
|||
/*
|
||||
* copied from from linux kernel 2.2.4
|
||||
* removed internal stuff (#ifdef __KERNEL__)
|
||||
*/
|
||||
|
||||
#ifdef HAVE_XORG_CONFIG_H
|
||||
#include <xorg-config.h>
|
||||
#endif
|
||||
|
||||
#ifndef _LINUX_FB_H
|
||||
#define _LINUX_FB_H
|
||||
|
||||
#include <asm/types.h>
|
||||
|
||||
/* Definitions of frame buffers */
|
||||
|
||||
#define FB_MAJOR 29
|
||||
|
||||
#define FB_MODES_SHIFT 5 /* 32 modes per framebuffer */
|
||||
#define FB_NUM_MINORS 256 /* 256 Minors */
|
||||
#define FB_MAX (FB_NUM_MINORS / (1 << FB_MODES_SHIFT))
|
||||
#define GET_FB_IDX(node) (MINOR(node) >> FB_MODES_SHIFT)
|
||||
|
||||
/* ioctls
|
||||
0x46 is 'F' */
|
||||
#define FBIOGET_VSCREENINFO 0x4600
|
||||
#define FBIOPUT_VSCREENINFO 0x4601
|
||||
#define FBIOGET_FSCREENINFO 0x4602
|
||||
#define FBIOGETCMAP 0x4604
|
||||
#define FBIOPUTCMAP 0x4605
|
||||
#define FBIOPAN_DISPLAY 0x4606
|
||||
/* 0x4607-0x460B are defined below */
|
||||
/* #define FBIOGET_MONITORSPEC 0x460C */
|
||||
/* #define FBIOPUT_MONITORSPEC 0x460D */
|
||||
/* #define FBIOSWITCH_MONIBIT 0x460E */
|
||||
#define FBIOGET_CON2FBMAP 0x460F
|
||||
#define FBIOPUT_CON2FBMAP 0x4610
|
||||
#define FBIOBLANK 0x4611
|
||||
|
||||
#define FB_TYPE_PACKED_PIXELS 0 /* Packed Pixels */
|
||||
#define FB_TYPE_PLANES 1 /* Non interleaved planes */
|
||||
#define FB_TYPE_INTERLEAVED_PLANES 2 /* Interleaved planes */
|
||||
#define FB_TYPE_TEXT 3 /* Text/attributes */
|
||||
|
||||
#define FB_AUX_TEXT_MDA 0 /* Monochrome text */
|
||||
#define FB_AUX_TEXT_CGA 1 /* CGA/EGA/VGA Color text */
|
||||
#define FB_AUX_TEXT_S3_MMIO 2 /* S3 MMIO fasttext */
|
||||
#define FB_AUX_TEXT_MGA_STEP16 3 /* MGA Millenium I: text, attr, 14 reserved bytes */
|
||||
#define FB_AUX_TEXT_MGA_STEP8 4 /* other MGAs: text, attr, 6 reserved bytes */
|
||||
|
||||
#define FB_VISUAL_MONO01 0 /* Monochr. 1=Black 0=White */
|
||||
#define FB_VISUAL_MONO10 1 /* Monochr. 1=White 0=Black */
|
||||
#define FB_VISUAL_TRUECOLOR 2 /* True color */
|
||||
#define FB_VISUAL_PSEUDOCOLOR 3 /* Pseudo color (like atari) */
|
||||
#define FB_VISUAL_DIRECTCOLOR 4 /* Direct color */
|
||||
#define FB_VISUAL_STATIC_PSEUDOCOLOR 5 /* Pseudo color readonly */
|
||||
|
||||
#define FB_ACCEL_NONE 0 /* no hardware accelerator */
|
||||
#define FB_ACCEL_ATARIBLITT 1 /* Atari Blitter */
|
||||
#define FB_ACCEL_AMIGABLITT 2 /* Amiga Blitter */
|
||||
#define FB_ACCEL_S3_TRIO64 3 /* Cybervision64 (S3 Trio64) */
|
||||
#define FB_ACCEL_NCR_77C32BLT 4 /* RetinaZ3 (NCR 77C32BLT) */
|
||||
#define FB_ACCEL_S3_VIRGE 5 /* Cybervision64/3D (S3 ViRGE) */
|
||||
#define FB_ACCEL_ATI_MACH64GX 6 /* ATI Mach 64GX family */
|
||||
#define FB_ACCEL_DEC_TGA 7 /* DEC 21030 TGA */
|
||||
#define FB_ACCEL_ATI_MACH64CT 8 /* ATI Mach 64CT family */
|
||||
#define FB_ACCEL_ATI_MACH64VT 9 /* ATI Mach 64CT family VT class */
|
||||
#define FB_ACCEL_ATI_MACH64GT 10 /* ATI Mach 64CT family GT class */
|
||||
#define FB_ACCEL_SUN_CREATOR 11 /* Sun Creator/Creator3D */
|
||||
#define FB_ACCEL_SUN_CGSIX 12 /* Sun cg6 */
|
||||
#define FB_ACCEL_SUN_LEO 13 /* Sun leo/zx */
|
||||
#define FB_ACCEL_IMS_TWINTURBO 14 /* IMS Twin Turbo */
|
||||
#define FB_ACCEL_3DLABS_PERMEDIA2 15 /* 3Dlabs Permedia 2 */
|
||||
#define FB_ACCEL_MATROX_MGA2064W 16 /* Matrox MGA2064W (Millenium) */
|
||||
#define FB_ACCEL_MATROX_MGA1064SG 17 /* Matrox MGA1064SG (Mystique) */
|
||||
#define FB_ACCEL_MATROX_MGA2164W 18 /* Matrox MGA2164W (Millenium II) */
|
||||
#define FB_ACCEL_MATROX_MGA2164W_AGP 19 /* Matrox MGA2164W (Millenium II) */
|
||||
#define FB_ACCEL_MATROX_MGAG100 20 /* Matrox G100 (Productiva G100) */
|
||||
#define FB_ACCEL_MATROX_MGAG200 21 /* Matrox G200 (Myst, Mill, ...) */
|
||||
#define FB_ACCEL_SUN_CG14 22 /* Sun cgfourteen */
|
||||
#define FB_ACCEL_SUN_BWTWO 23 /* Sun bwtwo */
|
||||
#define FB_ACCEL_SUN_CGTHREE 24 /* Sun cgthree */
|
||||
#define FB_ACCEL_SUN_TCX 25 /* Sun tcx */
|
||||
#define FB_ACCEL_MATROX_MGAG400 26 /* Matrox G400 */
|
||||
#define FB_ACCEL_NV3 27 /* nVidia RIVA 128 */
|
||||
#define FB_ACCEL_NV4 28 /* nVidia RIVA TNT */
|
||||
#define FB_ACCEL_NV5 29 /* nVidia RIVA TNT2 */
|
||||
#define FB_ACCEL_CT_6555x 30 /* C&T 6555x */
|
||||
#define FB_ACCEL_3DFX_BANSHEE 31 /* 3Dfx Banshee */
|
||||
#define FB_ACCEL_ATI_RAGE128 32 /* ATI Rage128 family */
|
||||
|
||||
struct fb_fix_screeninfo {
|
||||
char id[16]; /* identification string eg "TT Builtin" */
|
||||
char *smem_start; /* Start of frame buffer mem */
|
||||
/* (physical address) */
|
||||
__u32 smem_len; /* Length of frame buffer mem */
|
||||
__u32 type; /* see FB_TYPE_* */
|
||||
__u32 type_aux; /* Interleave for interleaved Planes */
|
||||
__u32 visual; /* see FB_VISUAL_* */
|
||||
__u16 xpanstep; /* zero if no hardware panning */
|
||||
__u16 ypanstep; /* zero if no hardware panning */
|
||||
__u16 ywrapstep; /* zero if no hardware ywrap */
|
||||
__u32 line_length; /* length of a line in bytes */
|
||||
char *mmio_start; /* Start of Memory Mapped I/O */
|
||||
/* (physical address) */
|
||||
__u32 mmio_len; /* Length of Memory Mapped I/O */
|
||||
__u32 accel; /* Type of acceleration available */
|
||||
__u16 reserved[3]; /* Reserved for future compatibility */
|
||||
};
|
||||
|
||||
/* Interpretation of offset for color fields: All offsets are from the right,
|
||||
* inside a "pixel" value, which is exactly 'bits_per_pixel' wide (means: you
|
||||
* can use the offset as right argument to <<). A pixel afterwards is a bit
|
||||
* stream and is written to video memory as that unmodified. This implies
|
||||
* big-endian byte order if bits_per_pixel is greater than 8.
|
||||
*/
|
||||
struct fb_bitfield {
|
||||
__u32 offset; /* beginning of bitfield */
|
||||
__u32 length; /* length of bitfield */
|
||||
__u32 msb_right; /* != 0 : Most significant bit is */
|
||||
/* right */
|
||||
};
|
||||
|
||||
#define FB_NONSTD_HAM 1 /* Hold-And-Modify (HAM) */
|
||||
|
||||
#define FB_ACTIVATE_NOW 0 /* set values immediately (or vbl) */
|
||||
#define FB_ACTIVATE_NXTOPEN 1 /* activate on next open */
|
||||
#define FB_ACTIVATE_TEST 2 /* don't set, round up impossible */
|
||||
#define FB_ACTIVATE_MASK 15
|
||||
/* values */
|
||||
#define FB_ACTIVATE_VBL 16 /* activate values on next vbl */
|
||||
#define FB_CHANGE_CMAP_VBL 32 /* change colormap on vbl */
|
||||
#define FB_ACTIVATE_ALL 64 /* change all VCs on this fb */
|
||||
|
||||
#define FB_ACCELF_TEXT 1 /* text mode acceleration */
|
||||
|
||||
#define FB_SYNC_HOR_HIGH_ACT 1 /* horizontal sync high active */
|
||||
#define FB_SYNC_VERT_HIGH_ACT 2 /* vertical sync high active */
|
||||
#define FB_SYNC_EXT 4 /* external sync */
|
||||
#define FB_SYNC_COMP_HIGH_ACT 8 /* composite sync high active */
|
||||
#define FB_SYNC_BROADCAST 16 /* broadcast video timings */
|
||||
/* vtotal = 144d/288n/576i => PAL */
|
||||
/* vtotal = 121d/242n/484i => NTSC */
|
||||
#define FB_SYNC_ON_GREEN 32 /* sync on green */
|
||||
|
||||
#define FB_VMODE_NONINTERLACED 0 /* non interlaced */
|
||||
#define FB_VMODE_INTERLACED 1 /* interlaced */
|
||||
#define FB_VMODE_DOUBLE 2 /* double scan */
|
||||
#define FB_VMODE_MASK 255
|
||||
|
||||
#define FB_VMODE_YWRAP 256 /* ywrap instead of panning */
|
||||
#define FB_VMODE_SMOOTH_XPAN 512 /* smooth xpan possible (internally used) */
|
||||
#define FB_VMODE_CONUPDATE 512 /* don't update x/yoffset */
|
||||
|
||||
struct fb_var_screeninfo {
|
||||
__u32 xres; /* visible resolution */
|
||||
__u32 yres;
|
||||
__u32 xres_virtual; /* virtual resolution */
|
||||
__u32 yres_virtual;
|
||||
__u32 xoffset; /* offset from virtual to visible */
|
||||
__u32 yoffset; /* resolution */
|
||||
|
||||
__u32 bits_per_pixel; /* guess what */
|
||||
__u32 grayscale; /* != 0 Graylevels instead of colors */
|
||||
|
||||
struct fb_bitfield red; /* bitfield in fb mem if true color, */
|
||||
struct fb_bitfield green; /* else only length is significant */
|
||||
struct fb_bitfield blue;
|
||||
struct fb_bitfield transp; /* transparency */
|
||||
|
||||
__u32 nonstd; /* != 0 Non standard pixel format */
|
||||
|
||||
__u32 activate; /* see FB_ACTIVATE_* */
|
||||
|
||||
__u32 height; /* height of picture in mm */
|
||||
__u32 width; /* width of picture in mm */
|
||||
|
||||
__u32 accel_flags; /* acceleration flags (hints) */
|
||||
|
||||
/* Timing: All values in pixclocks, except pixclock (of course) */
|
||||
__u32 pixclock; /* pixel clock in ps (pico seconds) */
|
||||
__u32 left_margin; /* time from sync to picture */
|
||||
__u32 right_margin; /* time from picture to sync */
|
||||
__u32 upper_margin; /* time from sync to picture */
|
||||
__u32 lower_margin;
|
||||
__u32 hsync_len; /* length of horizontal sync */
|
||||
__u32 vsync_len; /* length of vertical sync */
|
||||
__u32 sync; /* see FB_SYNC_* */
|
||||
__u32 vmode; /* see FB_VMODE_* */
|
||||
__u32 reserved[6]; /* Reserved for future compatibility */
|
||||
};
|
||||
|
||||
struct fb_cmap {
|
||||
__u32 start; /* First entry */
|
||||
__u32 len; /* Number of entries */
|
||||
__u16 *red; /* Red values */
|
||||
__u16 *green;
|
||||
__u16 *blue;
|
||||
__u16 *transp; /* transparency, can be NULL */
|
||||
};
|
||||
|
||||
struct fb_con2fbmap {
|
||||
__u32 console;
|
||||
__u32 framebuffer;
|
||||
};
|
||||
|
||||
struct fb_monspecs {
|
||||
__u32 hfmin; /* hfreq lower limit (Hz) */
|
||||
__u32 hfmax; /* hfreq upper limit (Hz) */
|
||||
__u16 vfmin; /* vfreq lower limit (Hz) */
|
||||
__u16 vfmax; /* vfreq upper limit (Hz) */
|
||||
unsigned dpms:1; /* supports DPMS */
|
||||
};
|
||||
|
||||
#if 1
|
||||
|
||||
#define FBCMD_GET_CURRENTPAR 0xDEAD0005
|
||||
#define FBCMD_SET_CURRENTPAR 0xDEAD8005
|
||||
|
||||
#endif
|
||||
|
||||
#if 1 /* Preliminary */
|
||||
|
||||
/*
|
||||
* Hardware Cursor
|
||||
*/
|
||||
|
||||
#define FBIOGET_FCURSORINFO 0x4607
|
||||
#define FBIOGET_VCURSORINFO 0x4608
|
||||
#define FBIOPUT_VCURSORINFO 0x4609
|
||||
#define FBIOGET_CURSORSTATE 0x460A
|
||||
#define FBIOPUT_CURSORSTATE 0x460B
|
||||
|
||||
struct fb_fix_cursorinfo {
|
||||
__u16 crsr_width; /* width and height of the cursor in */
|
||||
__u16 crsr_height; /* pixels (zero if no cursor) */
|
||||
__u16 crsr_xsize; /* cursor size in display pixels */
|
||||
__u16 crsr_ysize;
|
||||
__u16 crsr_color1; /* colormap entry for cursor color1 */
|
||||
__u16 crsr_color2; /* colormap entry for cursor color2 */
|
||||
};
|
||||
|
||||
struct fb_var_cursorinfo {
|
||||
__u16 width;
|
||||
__u16 height;
|
||||
__u16 xspot;
|
||||
__u16 yspot;
|
||||
__u8 data[1]; /* field with [height][width] */
|
||||
};
|
||||
|
||||
struct fb_cursorstate {
|
||||
__s16 xoffset;
|
||||
__s16 yoffset;
|
||||
__u16 mode;
|
||||
};
|
||||
|
||||
#define FB_CURSOR_OFF 0
|
||||
#define FB_CURSOR_ON 1
|
||||
#define FB_CURSOR_FLASH 2
|
||||
|
||||
#endif /* Preliminary */
|
||||
|
||||
#endif /* _LINUX_FB_H */
|
2
xserver/hw/xfree86/fbdevhw/man/Makefile.am
Normal file
2
xserver/hw/xfree86/fbdevhw/man/Makefile.am
Normal file
|
@ -0,0 +1,2 @@
|
|||
include $(top_srcdir)/manpages.am
|
||||
driverman_PRE = fbdevhw.man
|
772
xserver/hw/xfree86/fbdevhw/man/Makefile.in
Normal file
772
xserver/hw/xfree86/fbdevhw/man/Makefile.in
Normal file
|
@ -0,0 +1,772 @@
|
|||
# Makefile.in generated by automake 1.12.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
VPATH = @srcdir@
|
||||
am__make_dryrun = \
|
||||
{ \
|
||||
am__dry=no; \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
|
||||
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
|
||||
*) \
|
||||
for am__flg in $$MAKEFLAGS; do \
|
||||
case $$am__flg in \
|
||||
*=*|--*) ;; \
|
||||
*n*) am__dry=yes; break;; \
|
||||
esac; \
|
||||
done;; \
|
||||
esac; \
|
||||
test $$am__dry = yes; \
|
||||
}
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
|
||||
$(top_srcdir)/manpages.am
|
||||
subdir = hw/xfree86/fbdevhw/man
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/m4/ac_define_dir.m4 \
|
||||
$(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
|
||||
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
|
||||
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
|
||||
$(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \
|
||||
$(top_builddir)/include/xorg-server.h \
|
||||
$(top_builddir)/include/dix-config.h \
|
||||
$(top_builddir)/include/xorg-config.h \
|
||||
$(top_builddir)/include/xkb-config.h \
|
||||
$(top_builddir)/include/xwin-config.h \
|
||||
$(top_builddir)/include/version-config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_@AM_V@)
|
||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
*) f=$$p;; \
|
||||
esac;
|
||||
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
|
||||
am__install_max = 40
|
||||
am__nobase_strip_setup = \
|
||||
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
|
||||
am__nobase_strip = \
|
||||
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
|
||||
am__nobase_list = $(am__nobase_strip_setup); \
|
||||
for p in $$list; do echo "$$p $$p"; done | \
|
||||
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
|
||||
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
|
||||
if (++n[$$2] == $(am__install_max)) \
|
||||
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
|
||||
END { for (dir in files) print dir, files[dir] }'
|
||||
am__base_list = \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
||||
am__uninstall_files_from_dir = { \
|
||||
test -z "$$files" \
|
||||
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|
||||
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|
||||
$(am__cd) "$$dir" && rm -f $$files; }; \
|
||||
}
|
||||
am__installdirs = "$(DESTDIR)$(appmandir)" "$(DESTDIR)$(drivermandir)" \
|
||||
"$(DESTDIR)$(filemandir)"
|
||||
DATA = $(appman_DATA) $(driverman_DATA) $(fileman_DATA)
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
ADMIN_MAN_DIR = @ADMIN_MAN_DIR@
|
||||
ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@
|
||||
APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@
|
||||
APP_MAN_DIR = @APP_MAN_DIR@
|
||||
APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BASE_CFLAGS = @BASE_CFLAGS@
|
||||
BASE_FONT_PATH = @BASE_FONT_PATH@
|
||||
BUNDLE_ID_PREFIX = @BUNDLE_ID_PREFIX@
|
||||
BUNDLE_VERSION = @BUNDLE_VERSION@
|
||||
BUNDLE_VERSION_STRING = @BUNDLE_VERSION_STRING@
|
||||
CC = @CC@
|
||||
CCAS = @CCAS@
|
||||
CCASDEPMODE = @CCASDEPMODE@
|
||||
CCASFLAGS = @CCASFLAGS@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CHANGELOG_CMD = @CHANGELOG_CMD@
|
||||
COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CWARNFLAGS = @CWARNFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DBUS_CFLAGS = @DBUS_CFLAGS@
|
||||
DBUS_LIBS = @DBUS_LIBS@
|
||||
DEFAULT_LIBRARY_PATH = @DEFAULT_LIBRARY_PATH@
|
||||
DEFAULT_LOGDIR = @DEFAULT_LOGDIR@
|
||||
DEFAULT_LOGPREFIX = @DEFAULT_LOGPREFIX@
|
||||
DEFAULT_MODULE_PATH = @DEFAULT_MODULE_PATH@
|
||||
DEFAULT_XDG_DATA_HOME = @DEFAULT_XDG_DATA_HOME@
|
||||
DEFAULT_XDG_DATA_HOME_LOGDIR = @DEFAULT_XDG_DATA_HOME_LOGDIR@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DGA_CFLAGS = @DGA_CFLAGS@
|
||||
DGA_LIBS = @DGA_LIBS@
|
||||
DIX_CFLAGS = @DIX_CFLAGS@
|
||||
DIX_LIB = @DIX_LIB@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DLOPEN_LIBS = @DLOPEN_LIBS@
|
||||
DOT = @DOT@
|
||||
DOXYGEN = @DOXYGEN@
|
||||
DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@
|
||||
DRI2PROTO_LIBS = @DRI2PROTO_LIBS@
|
||||
DRI3PROTO_CFLAGS = @DRI3PROTO_CFLAGS@
|
||||
DRI3PROTO_LIBS = @DRI3PROTO_LIBS@
|
||||
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
|
||||
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
|
||||
DRI_DRIVER_PATH = @DRI_DRIVER_PATH@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DTRACE = @DTRACE@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
FILE_MAN_DIR = @FILE_MAN_DIR@
|
||||
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
|
||||
FONT100DPIDIR = @FONT100DPIDIR@
|
||||
FONT75DPIDIR = @FONT75DPIDIR@
|
||||
FONTMISCDIR = @FONTMISCDIR@
|
||||
FONTOTFDIR = @FONTOTFDIR@
|
||||
FONTROOTDIR = @FONTROOTDIR@
|
||||
FONTTTFDIR = @FONTTTFDIR@
|
||||
FONTTYPE1DIR = @FONTTYPE1DIR@
|
||||
FOP = @FOP@
|
||||
GBM_CFLAGS = @GBM_CFLAGS@
|
||||
GBM_LIBS = @GBM_LIBS@
|
||||
GLAMOR_CFLAGS = @GLAMOR_CFLAGS@
|
||||
GLAMOR_LIBS = @GLAMOR_LIBS@
|
||||
GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@
|
||||
GLX_DEFINES = @GLX_DEFINES@
|
||||
GLX_SYS_LIBS = @GLX_SYS_LIBS@
|
||||
GL_CFLAGS = @GL_CFLAGS@
|
||||
GL_LIBS = @GL_LIBS@
|
||||
GREP = @GREP@
|
||||
HAL_CFLAGS = @HAL_CFLAGS@
|
||||
HAL_LIBS = @HAL_LIBS@
|
||||
HAVE_DOT = @HAVE_DOT@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_CMD = @INSTALL_CMD@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
KDRIVE_CFLAGS = @KDRIVE_CFLAGS@
|
||||
KDRIVE_INCS = @KDRIVE_INCS@
|
||||
KDRIVE_LIBS = @KDRIVE_LIBS@
|
||||
KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@
|
||||
KDRIVE_MAIN_LIB = @KDRIVE_MAIN_LIB@
|
||||
KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@
|
||||
KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@
|
||||
KHRONOS_OPENGL_REGISTRY_CFLAGS = @KHRONOS_OPENGL_REGISTRY_CFLAGS@
|
||||
KHRONOS_OPENGL_REGISTRY_LIBS = @KHRONOS_OPENGL_REGISTRY_LIBS@
|
||||
KHRONOS_SPEC_DIR = @KHRONOS_SPEC_DIR@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@
|
||||
LD_NO_UNDEFINED_FLAG = @LD_NO_UNDEFINED_FLAG@
|
||||
LEX = @LEX@
|
||||
LEXLIB = @LEXLIB@
|
||||
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
|
||||
LIBDRM_CFLAGS = @LIBDRM_CFLAGS@
|
||||
LIBDRM_LIBS = @LIBDRM_LIBS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBSHA1_CFLAGS = @LIBSHA1_CFLAGS@
|
||||
LIBSHA1_LIBS = @LIBSHA1_LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@
|
||||
LIBUNWIND_LIBS = @LIBUNWIND_LIBS@
|
||||
LIBXCVT_CFLAGS = @LIBXCVT_CFLAGS@
|
||||
LIBXCVT_LIBS = @LIBXCVT_LIBS@
|
||||
LIB_MAN_DIR = @LIB_MAN_DIR@
|
||||
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAINT = @MAINT@
|
||||
MAIN_LIB = @MAIN_LIB@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||
|
||||
# xorg-macros.m4 has these bracketed by double underscores, but meson
|
||||
# wants ats.
|
||||
|
||||
# Add server specific man pages string substitution from XORG_MANPAGE_SECTIONS
|
||||
# 's|/,|/, |g' will add a space to help font path formatting
|
||||
MAN_SUBSTS = @MAN_SUBSTS@ -e 's|@vendorversion@|"$(PACKAGE_STRING)" \
|
||||
"$(XORG_MAN_PAGE)"|' -e 's|@xorgversion@|"$(PACKAGE_STRING)" \
|
||||
"$(XORG_MAN_PAGE)"|' -e 's|@xservername@|Xorg|g' -e \
|
||||
's|@xconfigfile@|xorg.conf|g' -e 's|@projectroot@|$(prefix)|g' \
|
||||
-e 's|@apploaddir@|$(appdefaultdir)|g' -e \
|
||||
's|@appmansuffix@|$(APP_MAN_SUFFIX)|g' -e \
|
||||
's|@drivermansuffix@|$(DRIVER_MAN_SUFFIX)|g' -e \
|
||||
's|@adminmansuffix@|$(ADMIN_MAN_SUFFIX)|g' -e \
|
||||
's|@libmansuffix@|$(LIB_MAN_SUFFIX)|g' -e \
|
||||
's|@miscmansuffix@|$(MISC_MAN_SUFFIX)|g' -e \
|
||||
's|@filemansuffix@|$(FILE_MAN_SUFFIX)|g' -e \
|
||||
's|[@]logdir[@]|$(logdir)|g' -e 's|[@]datadir[@]|$(datadir)|g' \
|
||||
-e 's|[@]mandir[@]|$(mandir)|g' -e \
|
||||
's|[@]sysconfdir[@]|$(sysconfdir)|g' -e \
|
||||
's|[@]xconfigdir[@]|$(XCONFIGDIR)|g' -e \
|
||||
's|[@]xkbdir[@]|$(XKB_BASE_DIRECTORY)|g' -e \
|
||||
's|[@]XKB_DFLT_RULES[@]|$(XKB_DFLT_RULES)|g' -e \
|
||||
's|[@]XKB_DFLT_MODEL[@]|$(XKB_DFLT_MODEL)|g' -e \
|
||||
's|[@]XKB_DFLT_LAYOUT[@]|$(XKB_DFLT_LAYOUT)|g' -e \
|
||||
's|[@]XKB_DFLT_VARIANT[@]|$(XKB_DFLT_VARIANT)|g' -e \
|
||||
's|[@]XKB_DFLT_OPTIONS[@]|$(XKB_DFLT_OPTIONS)|g' -e \
|
||||
's|[@]bundle_id_prefix[@]|$(BUNDLE_ID_PREFIX)|g' -e \
|
||||
's|[@]modulepath[@]|$(DEFAULT_MODULE_PATH)|g' -e \
|
||||
's|[@]suid_wrapper_dir[@]|$(SUID_WRAPPER_DIR)|g' -e \
|
||||
's|[@]default_font_path[@]|$(COMPILEDDEFAULTFONTPATH)|g' -e \
|
||||
'\|$(COMPILEDDEFAULTFONTPATH)| s|/,|/, |g'
|
||||
MISC_MAN_DIR = @MISC_MAN_DIR@
|
||||
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJC = @OBJC@
|
||||
OBJCCLD = @OBJCCLD@
|
||||
OBJCDEPMODE = @OBJCDEPMODE@
|
||||
OBJCFLAGS = @OBJCFLAGS@
|
||||
OBJCLINK = @OBJCLINK@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OPENSSL_CFLAGS = @OPENSSL_CFLAGS@
|
||||
OPENSSL_LIBS = @OPENSSL_LIBS@
|
||||
OS_LIB = @OS_LIB@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@
|
||||
PCIACCESS_LIBS = @PCIACCESS_LIBS@
|
||||
PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@
|
||||
PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
|
||||
PIXMAN_LIBS = @PIXMAN_LIBS@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
|
||||
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
|
||||
PROJECTROOT = @PROJECTROOT@
|
||||
PTHREAD_CC = @PTHREAD_CC@
|
||||
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
|
||||
PTHREAD_LIBS = @PTHREAD_LIBS@
|
||||
PYTHON3 = @PYTHON3@
|
||||
RANLIB = @RANLIB@
|
||||
RAWCPP = @RAWCPP@
|
||||
RAWCPPFLAGS = @RAWCPPFLAGS@
|
||||
RELEASE_DATE = @RELEASE_DATE@
|
||||
SDK_REQUIRED_MODULES = @SDK_REQUIRED_MODULES@
|
||||
SED = @SED@
|
||||
SELINUX_CFLAGS = @SELINUX_CFLAGS@
|
||||
SELINUX_LIBS = @SELINUX_LIBS@
|
||||
SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHA1_CFLAGS = @SHA1_CFLAGS@
|
||||
SHA1_LIBS = @SHA1_LIBS@
|
||||
SHELL = @SHELL@
|
||||
SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@
|
||||
STRICT_CFLAGS = @STRICT_CFLAGS@
|
||||
STRIP = @STRIP@
|
||||
STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@
|
||||
SUID_WRAPPER_DIR = @SUID_WRAPPER_DIR@
|
||||
SYSCONFDIR = @SYSCONFDIR@
|
||||
SYSTEMD_DAEMON_CFLAGS = @SYSTEMD_DAEMON_CFLAGS@
|
||||
SYSTEMD_DAEMON_LIBS = @SYSTEMD_DAEMON_LIBS@
|
||||
TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@
|
||||
UDEV_CFLAGS = @UDEV_CFLAGS@
|
||||
UDEV_LIBS = @UDEV_LIBS@
|
||||
UTILS_SYS_LIBS = @UTILS_SYS_LIBS@
|
||||
VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@
|
||||
VERSION = @VERSION@
|
||||
WINDOWSDRI_CFLAGS = @WINDOWSDRI_CFLAGS@
|
||||
WINDOWSDRI_LIBS = @WINDOWSDRI_LIBS@
|
||||
WINDRES = @WINDRES@
|
||||
XCONFIGDIR = @XCONFIGDIR@
|
||||
XCONFIGFILE = @XCONFIGFILE@
|
||||
XDMCP_CFLAGS = @XDMCP_CFLAGS@
|
||||
XDMCP_LIBS = @XDMCP_LIBS@
|
||||
XEPHYR_CFLAGS = @XEPHYR_CFLAGS@
|
||||
XEPHYR_INCS = @XEPHYR_INCS@
|
||||
XEPHYR_LIBS = @XEPHYR_LIBS@
|
||||
XF86CONFIGDIR = @XF86CONFIGDIR@
|
||||
XF86CONFIGFILE = @XF86CONFIGFILE@
|
||||
XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@
|
||||
XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@
|
||||
XKB_COMPILED_DIR = @XKB_COMPILED_DIR@
|
||||
XKB_DFLT_LAYOUT = @XKB_DFLT_LAYOUT@
|
||||
XKB_DFLT_MODEL = @XKB_DFLT_MODEL@
|
||||
XKB_DFLT_OPTIONS = @XKB_DFLT_OPTIONS@
|
||||
XKB_DFLT_RULES = @XKB_DFLT_RULES@
|
||||
XKB_DFLT_VARIANT = @XKB_DFLT_VARIANT@
|
||||
XKM_OUTPUT_DIR = @XKM_OUTPUT_DIR@
|
||||
XLIB_CFLAGS = @XLIB_CFLAGS@
|
||||
XLIB_LIBS = @XLIB_LIBS@
|
||||
XMLTO = @XMLTO@
|
||||
XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@
|
||||
XNESTMODULES_LIBS = @XNESTMODULES_LIBS@
|
||||
XNEST_LIBS = @XNEST_LIBS@
|
||||
XNEST_SYS_LIBS = @XNEST_SYS_LIBS@
|
||||
XORG_CFLAGS = @XORG_CFLAGS@
|
||||
XORG_DRIVER_LIBS = @XORG_DRIVER_LIBS@
|
||||
XORG_INCS = @XORG_INCS@
|
||||
XORG_LIBS = @XORG_LIBS@
|
||||
XORG_MALLOC_DEBUG_ENV = @XORG_MALLOC_DEBUG_ENV@
|
||||
XORG_MAN_PAGE = @XORG_MAN_PAGE@
|
||||
XORG_MODULES_CFLAGS = @XORG_MODULES_CFLAGS@
|
||||
XORG_MODULES_LIBS = @XORG_MODULES_LIBS@
|
||||
XORG_OS_SUBDIR = @XORG_OS_SUBDIR@
|
||||
XORG_SGML_PATH = @XORG_SGML_PATH@
|
||||
XORG_SYS_LIBS = @XORG_SYS_LIBS@
|
||||
XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@
|
||||
XPBPROXY_LIBS = @XPBPROXY_LIBS@
|
||||
XQUARTZ_LIBS = @XQUARTZ_LIBS@
|
||||
XQUARTZ_SPARKLE = @XQUARTZ_SPARKLE@
|
||||
XQUARTZ_SPARKLE_FEED_URL = @XQUARTZ_SPARKLE_FEED_URL@
|
||||
XSERVERCFLAGS_CFLAGS = @XSERVERCFLAGS_CFLAGS@
|
||||
XSERVERCFLAGS_LIBS = @XSERVERCFLAGS_LIBS@
|
||||
XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@
|
||||
XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@
|
||||
XSERVER_LIBS = @XSERVER_LIBS@
|
||||
XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@
|
||||
XSHMFENCE_CFLAGS = @XSHMFENCE_CFLAGS@
|
||||
XSHMFENCE_LIBS = @XSHMFENCE_LIBS@
|
||||
XSLTPROC = @XSLTPROC@
|
||||
XSL_STYLESHEET = @XSL_STYLESHEET@
|
||||
XVFB_LIBS = @XVFB_LIBS@
|
||||
XVFB_SYS_LIBS = @XVFB_SYS_LIBS@
|
||||
XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@
|
||||
XWINMODULES_LIBS = @XWINMODULES_LIBS@
|
||||
XWIN_LIBS = @XWIN_LIBS@
|
||||
XWIN_SERVER_NAME = @XWIN_SERVER_NAME@
|
||||
XWIN_SYS_LIBS = @XWIN_SYS_LIBS@
|
||||
YACC = @YACC@
|
||||
YFLAGS = @YFLAGS@
|
||||
abi_ansic = @abi_ansic@
|
||||
abi_extension = @abi_extension@
|
||||
abi_videodrv = @abi_videodrv@
|
||||
abi_xinput = @abi_xinput@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
ax_pthread_config = @ax_pthread_config@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
driverdir = @driverdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
extdir = @extdir@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
logdir = @logdir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
moduledir = @moduledir@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
runstatedir = @runstatedir@
|
||||
sbindir = @sbindir@
|
||||
sdkdir = @sdkdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
symbol_visibility = @symbol_visibility@
|
||||
sysconfdir = @sysconfdir@
|
||||
sysconfigdir = @sysconfigdir@
|
||||
target_alias = @target_alias@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
appmandir = $(APP_MAN_DIR)
|
||||
#appman_PRE = list of application man page files set by calling Makefile.am
|
||||
appman_DATA = $(appman_PRE:man=$(APP_MAN_SUFFIX))
|
||||
drivermandir = $(DRIVER_MAN_DIR)
|
||||
#driverman_PRE = list of driver man page files set by calling Makefile.am
|
||||
driverman_DATA = $(driverman_PRE:man=$(DRIVER_MAN_SUFFIX))
|
||||
filemandir = $(FILE_MAN_DIR)
|
||||
#fileman_PRE = list of file man page files set by calling Makefile.am
|
||||
fileman_DATA = $(fileman_PRE:man=$(FILE_MAN_SUFFIX))
|
||||
|
||||
# The calling Makefile should only contain man page targets
|
||||
# Otherwise the following three global variables may conflict
|
||||
EXTRA_DIST = $(appman_PRE) $(driverman_PRE) $(fileman_PRE)
|
||||
CLEANFILES = $(appman_DATA) $(driverman_DATA) $(fileman_DATA)
|
||||
SUFFIXES = .$(APP_MAN_SUFFIX) .$(DRIVER_MAN_SUFFIX) .$(FILE_MAN_SUFFIX) .man
|
||||
driverman_PRE = fbdevhw.man
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .$(APP_MAN_SUFFIX) .$(DRIVER_MAN_SUFFIX) .$(FILE_MAN_SUFFIX) .man
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/manpages.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign hw/xfree86/fbdevhw/man/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign hw/xfree86/fbdevhw/man/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
$(top_srcdir)/manpages.am:
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
install-appmanDATA: $(appman_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(appman_DATA)'; test -n "$(appmandir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(appmandir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(appmandir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; \
|
||||
done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(appmandir)'"; \
|
||||
$(INSTALL_DATA) $$files "$(DESTDIR)$(appmandir)" || exit $$?; \
|
||||
done
|
||||
|
||||
uninstall-appmanDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(appman_DATA)'; test -n "$(appmandir)" || list=; \
|
||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
dir='$(DESTDIR)$(appmandir)'; $(am__uninstall_files_from_dir)
|
||||
install-drivermanDATA: $(driverman_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(driverman_DATA)'; test -n "$(drivermandir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(drivermandir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(drivermandir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; \
|
||||
done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(drivermandir)'"; \
|
||||
$(INSTALL_DATA) $$files "$(DESTDIR)$(drivermandir)" || exit $$?; \
|
||||
done
|
||||
|
||||
uninstall-drivermanDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(driverman_DATA)'; test -n "$(drivermandir)" || list=; \
|
||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
dir='$(DESTDIR)$(drivermandir)'; $(am__uninstall_files_from_dir)
|
||||
install-filemanDATA: $(fileman_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(fileman_DATA)'; test -n "$(filemandir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(filemandir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(filemandir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; \
|
||||
done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(filemandir)'"; \
|
||||
$(INSTALL_DATA) $$files "$(DESTDIR)$(filemandir)" || exit $$?; \
|
||||
done
|
||||
|
||||
uninstall-filemanDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(fileman_DATA)'; test -n "$(filemandir)" || list=; \
|
||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
dir='$(DESTDIR)$(filemandir)'; $(am__uninstall_files_from_dir)
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
||||
ctags: CTAGS
|
||||
CTAGS:
|
||||
|
||||
cscope cscopelist:
|
||||
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(DATA)
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(appmandir)" "$(DESTDIR)$(drivermandir)" "$(DESTDIR)$(filemandir)"; do \
|
||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||
done
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-appmanDATA install-drivermanDATA \
|
||||
install-filemanDATA
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-appmanDATA uninstall-drivermanDATA \
|
||||
uninstall-filemanDATA
|
||||
|
||||
.MAKE: install-am install-strip
|
||||
|
||||
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
|
||||
distclean distclean-generic distclean-libtool distdir dvi \
|
||||
dvi-am html html-am info info-am install install-am \
|
||||
install-appmanDATA install-data install-data-am \
|
||||
install-drivermanDATA install-dvi install-dvi-am install-exec \
|
||||
install-exec-am install-filemanDATA install-html \
|
||||
install-html-am install-info install-info-am install-man \
|
||||
install-pdf install-pdf-am install-ps install-ps-am \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
||||
uninstall uninstall-am uninstall-appmanDATA \
|
||||
uninstall-drivermanDATA uninstall-filemanDATA
|
||||
|
||||
|
||||
.man.$(APP_MAN_SUFFIX):
|
||||
$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
|
||||
.man.$(DRIVER_MAN_SUFFIX):
|
||||
$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
|
||||
.man.$(FILE_MAN_SUFFIX):
|
||||
$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
22
xserver/hw/xfree86/fbdevhw/man/fbdevhw.man
Normal file
22
xserver/hw/xfree86/fbdevhw/man/fbdevhw.man
Normal file
|
@ -0,0 +1,22 @@
|
|||
.\" $XFree86: xc/programs/Xserver/hw/xfree86/fbdevhw/fbdevhw.man,v 1.1 2001/01/24 00:06:34 dawes Exp $
|
||||
.TH FBDEVHW @drivermansuffix@ @vendorversion@
|
||||
.SH NAME
|
||||
fbdevhw \- os-specific submodule for framebuffer device access
|
||||
.SH DESCRIPTION
|
||||
.B fbdevhw
|
||||
provides functions for talking to a framebuffer device. It is
|
||||
os-specific. It is a submodule used by other video drivers.
|
||||
A
|
||||
.B fbdevhw
|
||||
module is currently available for linux framebuffer devices.
|
||||
.PP
|
||||
fbdev(@drivermansuffix@) is a non-accelerated driver which runs on top of the
|
||||
fbdevhw module. fbdevhw can be used by other drivers too, this
|
||||
is usually activated with `Option "UseFBDev"' in the device section.
|
||||
.SH "SEE ALSO"
|
||||
Xorg(@appmansuffix@), xorg.conf(@filemansuffix@),
|
||||
xorgconfig(@appmansuffix@), Xserver(@appmansuffix@), X(@miscmansuffix@),
|
||||
fbdev(@drivermansuffix@)
|
||||
.SH AUTHORS
|
||||
Authors include: Gerd Knorr, based on the XF68_FBDev Server code
|
||||
(Martin Schaller, Geert Uytterhoeven).
|
23
xserver/hw/xfree86/fbdevhw/meson.build
Normal file
23
xserver/hw/xfree86/fbdevhw/meson.build
Normal file
|
@ -0,0 +1,23 @@
|
|||
if host_machine.system() == 'linux'
|
||||
srcs_fbdevhw = 'fbdevhw.c'
|
||||
else
|
||||
srcs_fbdevhw = 'fbdevhwstub.c'
|
||||
endif
|
||||
|
||||
shared_module('fbdevhw',
|
||||
srcs_fbdevhw,
|
||||
include_directories: [ inc, xorg_inc ],
|
||||
dependencies: common_dep,
|
||||
c_args: xorg_c_args,
|
||||
install: true,
|
||||
install_dir: module_dir,
|
||||
link_with: e,
|
||||
)
|
||||
|
||||
install_data('fbdevhw.h', install_dir: xorgsdkdir)
|
||||
|
||||
install_man(configure_file(
|
||||
input: 'man/fbdevhw.man',
|
||||
output: 'fbdevhw.4',
|
||||
configuration: manpage_config,
|
||||
))
|
Loading…
Add table
Add a link
Reference in a new issue