summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore6
-rw-r--r--Makefile.am2
-rw-r--r--assembler/AUTHORS1
-rw-r--r--assembler/COPYING22
-rw-r--r--assembler/INSTALL236
-rw-r--r--assembler/Makefile.am34
-rwxr-xr-xassembler/autogen.sh12
-rw-r--r--assembler/brw_defines.h (renamed from assembler/src/brw_defines.h)0
-rw-r--r--assembler/brw_structs.h (renamed from assembler/src/brw_structs.h)0
-rw-r--r--assembler/configure.ac41
-rw-r--r--assembler/disasm-main.c (renamed from assembler/src/disasm-main.c)0
-rw-r--r--assembler/disasm.c (renamed from assembler/src/disasm.c)0
-rw-r--r--assembler/gen4asm.h (renamed from assembler/src/gen4asm.h)0
-rw-r--r--assembler/gram.y (renamed from assembler/src/gram.y)0
-rw-r--r--assembler/lex.l (renamed from assembler/src/lex.l)0
-rw-r--r--assembler/main.c (renamed from assembler/src/main.c)0
-rw-r--r--assembler/src/Makefile.am23
-rw-r--r--configure.ac19
18 files changed, 52 insertions, 344 deletions
diff --git a/.gitignore b/.gitignore
index 063aeec0..611ab061 100644
--- a/.gitignore
+++ b/.gitignore
@@ -79,3 +79,9 @@ core
*.swo
*.swp
cscope.*
+
+/assembler/gram.c
+/assembler/gram.h
+/assembler/intel-gen4asm
+/assembler/intel-gen4disasm
+/assembler/lex.c
diff --git a/Makefile.am b/Makefile.am
index 20bca79d..a8062329 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -21,7 +21,7 @@
ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} -I m4
-SUBDIRS = lib man tools scripts benchmarks demos
+SUBDIRS = lib man tools scripts benchmarks demos assembler
if BUILD_SHADER_DEBUGGER
SUBDIRS += debugger
diff --git a/assembler/AUTHORS b/assembler/AUTHORS
deleted file mode 100644
index 1ae4aff2..00000000
--- a/assembler/AUTHORS
+++ /dev/null
@@ -1 +0,0 @@
-Written in 2006 by Eric Anholt.
diff --git a/assembler/COPYING b/assembler/COPYING
deleted file mode 100644
index 8dfc33d6..00000000
--- a/assembler/COPYING
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright © 2006 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
diff --git a/assembler/INSTALL b/assembler/INSTALL
deleted file mode 100644
index 23e5f25d..00000000
--- a/assembler/INSTALL
+++ /dev/null
@@ -1,236 +0,0 @@
-Installation Instructions
-*************************
-
-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
-Software Foundation, Inc.
-
-This file is free documentation; the Free Software Foundation gives
-unlimited permission to copy, distribute and modify it.
-
-Basic Installation
-==================
-
-These are generic installation instructions.
-
- The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation. It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions. Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, and a
-file `config.log' containing compiler output (useful mainly for
-debugging `configure').
-
- It can also use an optional file (typically called `config.cache'
-and enabled with `--cache-file=config.cache' or simply `-C') that saves
-the results of its tests to speed up reconfiguring. (Caching is
-disabled by default to prevent problems with accidental use of stale
-cache files.)
-
- If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release. If you are using the cache, and at
-some point `config.cache' contains results you don't want to keep, you
-may remove or edit it.
-
- The file `configure.ac' (or `configure.in') is used to create
-`configure' by a program called `autoconf'. You only need
-`configure.ac' if you want to change it or regenerate `configure' using
-a newer version of `autoconf'.
-
-The simplest way to compile this package is:
-
- 1. `cd' to the directory containing the package's source code and type
- `./configure' to configure the package for your system. If you're
- using `csh' on an old version of System V, you might need to type
- `sh ./configure' instead to prevent `csh' from trying to execute
- `configure' itself.
-
- Running `configure' takes awhile. While running, it prints some
- messages telling which features it is checking for.
-
- 2. Type `make' to compile the package.
-
- 3. Optionally, type `make check' to run any self-tests that come with
- the package.
-
- 4. Type `make install' to install the programs and any data files and
- documentation.
-
- 5. You can remove the program binaries and object files from the
- source code directory by typing `make clean'. To also remove the
- files that `configure' created (so you can compile the package for
- a different kind of computer), type `make distclean'. There is
- also a `make maintainer-clean' target, but that is intended mainly
- for the package's developers. If you use it, you may have to get
- all sorts of other programs in order to regenerate files that came
- with the distribution.
-
-Compilers and Options
-=====================
-
-Some systems require unusual options for compilation or linking that the
-`configure' script does not know about. Run `./configure --help' for
-details on some of the pertinent environment variables.
-
- You can give `configure' initial values for configuration parameters
-by setting variables in the command line or in the environment. Here
-is an example:
-
- ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
-
- *Note Defining Variables::, for more details.
-
-Compiling For Multiple Architectures
-====================================
-
-You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory. To do this, you must use a version of `make' that
-supports the `VPATH' variable, such as GNU `make'. `cd' to the
-directory where you want the object files and executables to go and run
-the `configure' script. `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.
-
- If you have to use a `make' that does not support the `VPATH'
-variable, you have to compile the package for one architecture at a
-time in the source code directory. After you have installed the
-package for one architecture, use `make distclean' before reconfiguring
-for another architecture.
-
-Installation Names
-==================
-
-By default, `make install' installs the package's commands under
-`/usr/local/bin', include files under `/usr/local/include', etc. You
-can specify an installation prefix other than `/usr/local' by giving
-`configure' the option `--prefix=PREFIX'.
-
- You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files. If you
-pass the option `--exec-prefix=PREFIX' to `configure', the package uses
-PREFIX as the prefix for installing programs and libraries.
-Documentation and other data files still use the regular prefix.
-
- In addition, if you use an unusual directory layout you can give
-options like `--bindir=DIR' to specify different values for particular
-kinds of files. Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.
-
- If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-Optional Features
-=================
-
-Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System). The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
- For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
-Specifying the System Type
-==========================
-
-There may be some features `configure' cannot figure out automatically,
-but needs to determine by the type of machine the package will run on.
-Usually, assuming the package is built to be run on the _same_
-architectures, `configure' can figure that out, but if it prints a
-message saying it cannot guess the machine type, give it the
-`--build=TYPE' option. TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name which has the form:
-
- CPU-COMPANY-SYSTEM
-
-where SYSTEM can have one of these forms:
-
- OS KERNEL-OS
-
- See the file `config.sub' for the possible values of each field. If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the machine type.
-
- If you are _building_ compiler tools for cross-compiling, you should
-use the option `--target=TYPE' to select the type of system they will
-produce code for.
-
- If you want to _use_ a cross compiler, that generates code for a
-platform different from the build platform, you should specify the
-"host" platform (i.e., that on which the generated programs will
-eventually be run) with `--host=TYPE'.
-
-Sharing Defaults
-================
-
-If you want to set default values for `configure' scripts to share, you
-can create a site shell script called `config.site' that gives default
-values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists. Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-Defining Variables
-==================
-
-Variables not defined in a site shell script can be set in the
-environment passed to `configure'. However, some packages may run
-configure again during the build, and the customized values of these
-variables may be lost. In order to avoid this problem, you should set
-them in the `configure' command line, using `VAR=value'. For example:
-
- ./configure CC=/usr/local2/bin/gcc
-
-causes the specified `gcc' to be used as the C compiler (unless it is
-overridden in the site shell script). Here is a another example:
-
- /bin/bash ./configure CONFIG_SHELL=/bin/bash
-
-Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent
-configuration-related scripts to be executed by `/bin/bash'.
-
-`configure' Invocation
-======================
-
-`configure' recognizes the following options to control how it operates.
-
-`--help'
-`-h'
- Print a summary of the options to `configure', and exit.
-
-`--version'
-`-V'
- Print the version of Autoconf used to generate the `configure'
- script, and exit.
-
-`--cache-file=FILE'
- Enable the cache: use and save the results of the tests in FILE,
- traditionally `config.cache'. FILE defaults to `/dev/null' to
- disable caching.
-
-`--config-cache'
-`-C'
- Alias for `--cache-file=config.cache'.
-
-`--quiet'
-`--silent'
-`-q'
- Do not print messages saying which checks are being made. To
- suppress all normal output, redirect it to `/dev/null' (any error
- messages will still be shown).
-
-`--srcdir=DIR'
- Look for the package's source code in directory DIR. Usually
- `configure' can determine that directory automatically.
-
-`configure' also accepts some other, not widely useful, options. Run
-`configure --help' for more details.
-
diff --git a/assembler/Makefile.am b/assembler/Makefile.am
index 9e6147dd..59143560 100644
--- a/assembler/Makefile.am
+++ b/assembler/Makefile.am
@@ -1,13 +1,31 @@
-SUBDIRS = doc src test
+SUBDIRS = doc test
+bin_PROGRAMS = intel-gen4asm intel-gen4disasm
+
+AM_YFLAGS = -d --warnings=all
+AM_CFLAGS= $(ASSEMBLER_WARN_CFLAGS)
+
+LEX = flex -i
+BUILT_SOURCES = gram.h gram.c lex.c
+gram.h: gram.c
+
+intel_gen4asm_SOURCES = \
+ brw_defines.h \
+ brw_structs.h \
+ gen4asm.h \
+ gram.y \
+ lex.l \
+ main.c \
+ $(NULL)
+
+intel_gen4disasm_SOURCES = \
+ disasm.c disasm-main.c
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = intel-gen4asm.pc
+
+MAINTAINERCLEANFILES = $(BUILT_SOURCES)
EXTRA_DIST = \
- AUTHORS \
- COPYING \
- INSTALL \
README \
TODO \
- autogen.sh \
intel-gen4asm.pc.in
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = intel-gen4asm.pc
diff --git a/assembler/autogen.sh b/assembler/autogen.sh
deleted file mode 100755
index 904cd674..00000000
--- a/assembler/autogen.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#! /bin/sh
-
-srcdir=`dirname $0`
-test -z "$srcdir" && srcdir=.
-
-ORIGDIR=`pwd`
-cd $srcdir
-
-autoreconf -v --install || exit 1
-cd $ORIGDIR || exit $?
-
-$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/assembler/src/brw_defines.h b/assembler/brw_defines.h
index 2ec8050c..2ec8050c 100644
--- a/assembler/src/brw_defines.h
+++ b/assembler/brw_defines.h
diff --git a/assembler/src/brw_structs.h b/assembler/brw_structs.h
index 3a3b1601..3a3b1601 100644
--- a/assembler/src/brw_structs.h
+++ b/assembler/brw_structs.h
diff --git a/assembler/configure.ac b/assembler/configure.ac
deleted file mode 100644
index 0b4427c3..00000000
--- a/assembler/configure.ac
+++ /dev/null
@@ -1,41 +0,0 @@
-# -*- Autoconf -*-
-# Process this file with autoconf to produce a configure script.
-
-AC_PREREQ(2.57)
-AC_INIT([intel-gen4asm],
- 1.3,
- [eric@anholt.net],
- intel-gen4asm)
-
-AC_CONFIG_SRCDIR([Makefile.am])
-AM_INIT_AUTOMAKE([dist-bzip2 foreign])
-
-AM_MAINTAINER_MODE
-
-# Checks for programs.
-AC_PROG_CC
-AM_PROG_LEX
-AC_PROG_YACC
-
-WARN_CFLAGS=""
-if test "x$GCC" = "xyes"; then
- WARN_CFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes \
- -Wmissing-prototypes -Wmissing-declarations \
- -Wnested-externs -fno-strict-aliasing"
- AC_DEFINE_UNQUOTED(HAVE_WARNING_CPP_DIRECTIVE,1,
- [Can use #warning in C files])
-fi
-AC_SUBST(WARN_CFLAGS)
-
-# Checks for libraries.
-
-# Checks for header files.
-AC_HEADER_STDC
-
-AC_OUTPUT([
- Makefile
- doc/Makefile
- src/Makefile
- test/Makefile
- intel-gen4asm.pc
-])
diff --git a/assembler/src/disasm-main.c b/assembler/disasm-main.c
index 5cc1e7d1..5cc1e7d1 100644
--- a/assembler/src/disasm-main.c
+++ b/assembler/disasm-main.c
diff --git a/assembler/src/disasm.c b/assembler/disasm.c
index 1ec6ae59..1ec6ae59 100644
--- a/assembler/src/disasm.c
+++ b/assembler/disasm.c
diff --git a/assembler/src/gen4asm.h b/assembler/gen4asm.h
index f9ed161d..f9ed161d 100644
--- a/assembler/src/gen4asm.h
+++ b/assembler/gen4asm.h
diff --git a/assembler/src/gram.y b/assembler/gram.y
index 2ed79c13..2ed79c13 100644
--- a/assembler/src/gram.y
+++ b/assembler/gram.y
diff --git a/assembler/src/lex.l b/assembler/lex.l
index 626042f6..626042f6 100644
--- a/assembler/src/lex.l
+++ b/assembler/lex.l
diff --git a/assembler/src/main.c b/assembler/main.c
index 15ed5179..15ed5179 100644
--- a/assembler/src/main.c
+++ b/assembler/main.c
diff --git a/assembler/src/Makefile.am b/assembler/src/Makefile.am
deleted file mode 100644
index 09ad400c..00000000
--- a/assembler/src/Makefile.am
+++ /dev/null
@@ -1,23 +0,0 @@
-AM_YFLAGS = -d --warnings=all
-
-AM_CFLAGS= $(WARN_CFLAGS)
-bin_PROGRAMS = intel-gen4asm intel-gen4disasm
-
-intel_gen4asm_SOURCES = \
- brw_defines.h \
- brw_structs.h \
- gen4asm.h \
- gram.y \
- lex.l \
- main.c
-
-intel_gen4disasm_SOURCES = \
- disasm.c disasm-main.c
-
-gram.h: gram.c
-
-BUILT_SOURCES = gram.h gram.c lex.c
-MAINTAINERCLEANFILES = $(BUILT_SOURCES)
-LEX = flex -i
-
-# man_MANS = intel-gen4asm.1
diff --git a/configure.ac b/configure.ac
index 5e2dbed7..832da27e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -38,7 +38,12 @@ AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_PATH_PYTHON([3],, [:])
AM_MAINTAINER_MODE
+AC_PROG_CC
+AM_PROG_LEX
+AC_PROG_YACC
+
# Checks for functions, headers, structures, etc.
+AC_HEADER_STDC
AC_CHECK_HEADERS([termios.h])
AC_CHECK_MEMBERS([struct sysinfo.totalram],[],[],[AC_INCLUDES_DEFAULT
#include <sys/sysinfo.h>
@@ -56,6 +61,16 @@ m4_ifndef([XORG_MACROS_VERSION],
XORG_MACROS_VERSION(1.16)
XORG_DEFAULT_OPTIONS
+# warning flags for the assembler. We can't quite use CWARNFLAGS for it yet as
+# it generates waaaay to many warnings.
+ASSEMBLER_WARN_CFLAGS=""
+if test "x$GCC" = "xyes"; then
+ ASSEMBLER_WARN_CFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes \
+ -Wmissing-prototypes -Wmissing-declarations \
+ -Wnested-externs -fno-strict-aliasing"
+fi
+AC_SUBST(ASSEMBLER_WARN_CFLAGS)
+
PKG_CHECK_MODULES(DRM, [libdrm_intel >= 2.4.38 libdrm])
PKG_CHECK_MODULES(PCIACCESS, [pciaccess >= 0.10])
@@ -157,6 +172,10 @@ AC_CONFIG_FILES([
tools/quick_dump/Makefile
debugger/Makefile
debugger/system_routine/Makefile
+ assembler/Makefile
+ assembler/doc/Makefile
+ assembler/test/Makefile
+ assembler/intel-gen4asm.pc
])
AC_OUTPUT