build: Integrate the merged gen assembler in the build system
authorDamien Lespiau <damien.lespiau@intel.com>
Mon, 14 Jan 2013 23:21:21 +0000 (23:21 +0000)
committerDamien Lespiau <damien.lespiau@intel.com>
Mon, 4 Mar 2013 15:54:35 +0000 (15:54 +0000)
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
18 files changed:
.gitignore
Makefile.am
assembler/AUTHORS [deleted file]
assembler/COPYING [deleted file]
assembler/INSTALL [deleted file]
assembler/Makefile.am
assembler/autogen.sh [deleted file]
assembler/brw_defines.h [moved from assembler/src/brw_defines.h with 100% similarity]
assembler/brw_structs.h [moved from assembler/src/brw_structs.h with 100% similarity]
assembler/configure.ac [deleted file]
assembler/disasm-main.c [moved from assembler/src/disasm-main.c with 100% similarity]
assembler/disasm.c [moved from assembler/src/disasm.c with 100% similarity]
assembler/gen4asm.h [moved from assembler/src/gen4asm.h with 100% similarity]
assembler/gram.y [moved from assembler/src/gram.y with 100% similarity]
assembler/lex.l [moved from assembler/src/lex.l with 100% similarity]
assembler/main.c [moved from assembler/src/main.c with 100% similarity]
assembler/src/Makefile.am [deleted file]
configure.ac

index 063aeec..611ab06 100644 (file)
@@ -79,3 +79,9 @@ core
 *.swo
 *.swp
 cscope.*
+
+/assembler/gram.c
+/assembler/gram.h
+/assembler/intel-gen4asm
+/assembler/intel-gen4disasm
+/assembler/lex.c
index 20bca79..a806232 100644 (file)
@@ -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 (file)
index 1ae4aff..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Written in 2006 by Eric Anholt.
diff --git a/assembler/COPYING b/assembler/COPYING
deleted file mode 100644 (file)
index 8dfc33d..0000000
+++ /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 (file)
index 23e5f25..0000000
+++ /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.
-
index 9e6147d..5914356 100644 (file)
@@ -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 (executable)
index 904cd67..0000000
+++ /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/configure.ac b/assembler/configure.ac
deleted file mode 100644 (file)
index 0b4427c..0000000
+++ /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
-])
similarity index 100%
rename from assembler/src/disasm.c
rename to assembler/disasm.c
similarity index 100%
rename from assembler/src/gen4asm.h
rename to assembler/gen4asm.h
similarity index 100%
rename from assembler/src/gram.y
rename to assembler/gram.y
similarity index 100%
rename from assembler/src/lex.l
rename to assembler/lex.l
similarity index 100%
rename from assembler/src/main.c
rename to assembler/main.c
diff --git a/assembler/src/Makefile.am b/assembler/src/Makefile.am
deleted file mode 100644 (file)
index 09ad400..0000000
+++ /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
index 5e2dbed..832da27 100644 (file)
@@ -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