summaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorAlan Coopersmith <Alan.Coopersmith@sun.com>2005-08-04 02:39:56 +0000
committerAlan Coopersmith <Alan.Coopersmith@sun.com>2005-08-04 02:39:56 +0000
commit13bec87f45509452c643e20745e12878584d606a (patch)
treef3eb2c2c2e60b447f93086d2eadabfcfc695b0ba /hw
parent9802106864a6b2c24df8e9fcb3c3471033abd5c6 (diff)
Fix inline assembly versions of in*/out* for Sun compilers Add check for
ancient USL console code on Solaris to allow building on old Solaris x86 versions
Diffstat (limited to 'hw')
-rw-r--r--hw/xfree86/Makefile.am11
-rw-r--r--hw/xfree86/os-support/solaris/Makefile.am44
2 files changed, 24 insertions, 31 deletions
diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
index a5d2f3b69..730051196 100644
--- a/hw/xfree86/Makefile.am
+++ b/hw/xfree86/Makefile.am
@@ -49,3 +49,14 @@ Xorg_LDADD = $(XORG_LIBS) \
-ldl
Xorg_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
+
+
+if SOLARIS_ASM_INLINE
+# Needs to be built before any files are compiled when using Sun compilers
+# so in*/out* inline definitions are properly processed.
+
+BUILT_SOURCES = os-support/solaris/solaris-$(SOLARIS_INOUT_ARCH).il
+
+os-support/solaris/solaris-$(SOLARIS_INOUT_ARCH).il:
+ cd os-support/solaris ; make solaris-$(SOLARIS_INOUT_ARCH).il
+endif
diff --git a/hw/xfree86/os-support/solaris/Makefile.am b/hw/xfree86/os-support/solaris/Makefile.am
index 7f40b03df..d78f1b711 100644
--- a/hw/xfree86/os-support/solaris/Makefile.am
+++ b/hw/xfree86/os-support/solaris/Makefile.am
@@ -1,13 +1,12 @@
-# TODO: Fix VT support for pre-Solaris 8
-#if defined(i386Architecture) && (OSMinorVersion < 8)
-#IO_SRC = $(srcdir)/../sysv/sysv_io.c
-#KBD_SRCS = $(srcdir)/../sysv/sysv_kbd.c $(srcdir)/../shared/std_kbdEv.c
-#VTSW_SRC = $(srcdir)/../shared/VTsw_usl.c
-#else
+if SOLARIS_USL_CONSOLE
+IO_SRC = $(srcdir)/../sysv/sysv_io.c
+KBD_SRCS = $(srcdir)/../sysv/sysv_kbd.c $(srcdir)/../shared/std_kbdEv.c
+VTSW_SRC = $(srcdir)/../shared/VTsw_usl.c
+else
IO_SRC = sun_io.c
KBD_SRCS = sun_kbd.c sun_kbdEv.c
VTSW_SRC = $(srcdir)/../shared/VTsw_noop.c
-#endif
+endif
# TODO: Don't build agpgart on SPARC
#if defined(i386Architecture) || defined(AMD64Architecture)
@@ -16,28 +15,11 @@ AGP_SRC = sun_agp.c
#AGP_SRC = $(srcdir)/../shared/agp_noop.c
#endif
-# TODO: Support AMD64 & SPARC, and generate inline assembly .il files
-# if defined(AMD64Architecture)
-#PROWORKS_ASM_ARCH = amd64
-#PROWORKS_ASM_FLAGS = -xarch=amd64
-# elif defined(i386Architecture)
-PROWORKS_ASM_ARCH = ia32
-PROWORKS_ASM_FLAGS =
-# elif defined(SparcArchitecture) && !defined(Sparc64Architecture)
-#PROWORKS_ASM_ARCH = sparcv8plus
-#PROWORKS_ASM_FLAGS = -xarch=v8plus
-# else
-# error "Unsupported Architecture for building with Sun Compilers"
-# endif
-PROWORKS_INOUT_SRC = solaris-$(PROWORKS_ASM_ARCH).S
-
-#all:: $(PROWORKS_ASM_ARCH).il
-#includes:: $(PROWORKS_ASM_ARCH).il
-
-#CppFileTarget($(PROWORKS_ASM_ARCH).il,solaris-$(PROWORKS_ASM_ARCH).S,-DINLINE_ASM,NullParameter)
-
-$(PROWORKS_INOUT_OBJ): $(PROWORKS_INOUT_SRC)
- $(AS) -P -o $@ $(PROWORKS_ASM_FLAGS) $(PROWORKS_INOUT_SRC)
+SOLARIS_INOUT_SRC = solaris-$(SOLARIS_INOUT_ARCH).S
+DISTCLEANFILES = solaris-$(SOLARIS_INOUT_ARCH).il
+
+solaris-$(SOLARIS_INOUT_ARCH).il: solaris-${SOLARIS_INOUT_ARCH}.S
+ $(CPP) -P -DINLINE_ASM solaris-${SOLARIS_INOUT_ARCH}.S > $@
noinst_LTLIBRARIES = libsolaris.la
libsolaris_la_SOURCES = sun_bios.c sun_init.c $(IO_SRC) $(KBD_SRCS) \
@@ -46,9 +28,9 @@ libsolaris_la_SOURCES = sun_bios.c sun_init.c $(IO_SRC) $(KBD_SRCS) \
$(srcdir)/../shared/kmod_noop.c $(srcdir)/../shared/pm_noop.c \
$(srcdir)/../shared/posix_tty.c $(srcdir)/../shared/sigiostubs.c \
$(srcdir)/../shared/stdPci.c $(srcdir)/../shared/stdResource.c \
- $(VTSW_SRC) $(PROWORKS_INOUT_SRC)
+ $(VTSW_SRC) $(SOLARIS_INOUT_SRC)
-sdk_HEADERS = agpgart.h
+sdk_HEADERS = agpgart.h solaris-$(SOLARIS_INOUT_ARCH).il
AM_CFLAGS = -DUSESTDRES -DHAVE_SYSV_IPC $(XORG_CFLAGS)