Commit graph

564 commits

Author SHA1 Message Date
Ben Skeggs
73e0e567de nouveau: fix build 2008-02-22 12:36:48 +11:00
Ian Romanick
d119931002 Cell: Add missing "gallium/winsys" to SRC_DIRS to fix build. 2008-02-19 09:43:47 -08:00
Jeremy Huddleston
9993ccce69 Apple: Pulled in changes from Apple's patchset to allow mesa to build on darwin again
(cherry picked from commit e70609b7b8)
2008-02-19 00:55:11 -08:00
José Fonseca
90b2beb661 Simplify makefile boilerplate code.
Don't define ASM_SOURCES variable globally -- reserve that variable to be defined
locally by makefiles, together with C_SOURCES and CPP_SOURCES.
2008-02-19 14:06:11 +09:00
José Fonseca
df8ab3140c Bring rtasm from mesa to gallium. 2008-02-19 14:01:49 +09:00
José Fonseca
0448dbd64a Update for llvm -> gallivm rename. 2008-02-18 12:33:34 +00:00
José Fonseca
1f2d011786 Build glx/x11. 2008-02-18 15:45:29 +09:00
José Fonseca
bfd5916eaf Code reorganization: split gallium and mesa makefiles.
In other words, don't build src/gallium source code from within src/mesa/Makefile.

Also, allow to customize which gallium auxiliary dirs, driver driver, winsys
dirs get built from the config/* files.
2008-02-18 14:25:04 +09:00
Ian Romanick
71071b7a9e Cell: Add missing back-slash in linux-cell config file 2008-02-15 10:36:48 -08:00
Ian Romanick
eb3f7aa6f8 Cell: Add INCLUDE_DIRS to SPU_CFLAGS to fix build. 2008-02-15 10:33:12 -08:00
José Fonseca
6acd63a498 Code reorganization: update build.
Update the Makefiles and includes for the new paths.

Note that there hasn't been no separation of the Makefiles yet, and make is
jumping all over the place. That will be taken care shortly. But for now, make
should work. It was tested with linux and linux-dri. Linux-cell and linux-llvm
might require some minor tweaks.
2008-02-15 17:50:12 +09:00
Dan Nicholson
817af9bec2 glapi: Use variable for indent and flags
Put the path to indent and the flags to call it with in configs/default
rather than in the Makefile. This makes it easier to change the values
globally.
2008-02-12 06:43:23 -08:00
Brian
59e7bfd5ac Cell: add OPT_FLAGS var 2008-01-28 18:18:46 -07:00
Brian
7d0421d6cd Cell: s/-W/-Wall/ in linux-cell 2008-01-24 17:04:54 -07:00
Ian Romanick
b3492a2052 Use HOST_CC for programs that will run on the build host 2008-01-23 15:25:52 -08:00
Ian Romanick
ffcb4d8498 Use EXTRA_LIB_PATH with *_LIB_DEPS
Make sure EXTRA_LIB_PATH is used with all the LIB_DEPS.  Re-order some
of the options and tweak the whitespace to make the various LIB_DEPS
more readable.  This makes building for Cell on x86 a bit easier and
doesn't seem to effect other builds.
2008-01-23 15:25:52 -08:00
Ian Romanick
eb4a7382dc Remove unnecessary paths
Removing the paths on certain commands (e.g., ppu32-gcc) and removing
-I/usr/include makes it possible to build for Cell on both PowerPC and
x86 hosts.
2008-01-23 15:25:52 -08:00
Zack Rusin
9789c301b4 llvm: we need custom rules so had to redo the build a little bit
also don't use sse when llvm is enabled
2008-01-04 09:27:42 -05:00
Brian
1613c49c98 Cell: added -Wmissing-prototypes to SPU_CFLAGS 2008-01-03 09:57:12 -07:00
Dan Nicholson
2b440d5461 Merge branch 'master' into autoconf2 2007-12-26 15:41:24 -06:00
Dan Nicholson
da693b7c89 Don't try to build nonexistent i915tex driver on linux-x86-64 2007-12-18 22:20:37 -08:00
Ian Romanick
9a0fe23d49 Port to libspe2
libspe is deprecated in Cell SDK 2.1, and it is removed in Cell SDK 3.0.
This patch ports the existing libspe-based code to libspe2.  Some error
checking (eh-hem) would be nice.
2007-12-11 12:43:50 -08:00
Ian Romanick
bfb43e8e79 Remove '-include altivec.h'.
Including altivec.h caused problems in some places that use "pixel" as a
variable name.
2007-12-11 12:41:12 -08:00
Zack Rusin
63a9d835ce Redo the fragment program examples to match vp's
we just load text files instead of compiling tons of small
binaries
2007-12-11 09:49:34 -05:00
Brian
36ef54deae remove -Wall, add -DGALLIUM_CELL 2007-12-10 14:10:29 -07:00
Dan Nicholson
88586332d3 autoconf: Allow static library builds
Allow the user to specify that they want static libraries through the
--{enable,disable}-{static,shared} switches like libtool. The mesa build
only allows for one at a time, so static will be chosen if someone has
passed --enable-static or --disable-shared.

This also allows the mklib options to be set at build time. This allows
-static to be set for mklib, but any platform specific settings are
allowed by setting MKLIB_OPTIONS for configure.

Handling of the program libraries through the APP_LIB_DEPS variable is
pretty ugly, but it seems to work.
2007-12-07 14:34:27 -08:00
Dan Nicholson
6689f9ebcb autoconf: Configure the osmesa channel size for OSMesa16 and OSMesa32
Allow the user to specify channel bits of 16 or 32 to enable OSMesa16 or
OSMesa32 instead of the default OSMesa. This option is controlled
through the option --with-osmesa-bits=BITS and is only honored when the
driver is osmesa.

The osdemos are not enabled in the 16 or 32 bit case because the
Makefile is currently hardcoded to link to -lOSMesa.
2007-12-07 14:34:27 -08:00
Dan Nicholson
44d9914b29 autoconf: Add support for shared DRI build on linux and freebsd
Added autoconf bits to allow using DRI as the driver through the option
--with-dri-driver=DRIVER. The options are x11 (default) and dri. Three
DRI specific options for controlling the driver directory, direct
rendering and TLS are also added.

The DRI will probably not work for platforms besides linux and freebsd.
2007-12-07 14:34:27 -08:00
Dan Nicholson
dca1b796b7 autoconf: Initial support for an autoconf configuration
This adds the initial support for using autoconf configuration. Support
is available for shared Xlib driver builds. Later this will be extended
to dri and osmesa-only builds and possibly targetting non-X backends.
Support for static library builds will also be added.

The configure script fills in the autoconf config. This is then used by
running `make autoconf' after ./configure.

Testing has been done on Linux/GNU. The configure script tries to
faithfully reproduce the current configs/linux* and configs/freebsd*.
Other platforms can be handled later by adding similar statements and
feature tests.

Pkg-config is used to search for packages when possible. This makes the
build much more flexible and robust to the user's configuration. This
requires that the pkg-config autoconf macros pkg.m4 are included in
aclocal.m4. This requires autoconf and aclocal from autoconf and
automake, respectively.
2007-12-07 14:34:27 -08:00
Dan Nicholson
f1efacb92b Make osdemos linking like other programs
Most of the programs list their dependencies on the Mesa libraries in
their Makefiles. This works with the default configuration where
APP_LIB_DEPS only lists external libraries. This changes the
linux-osmesa configs and the osdemos Makefile to follow that convention.

Some cleanup of the Makefile is also added to refer to the GL libraries
through the existing variables rather than hardcoding their names.
2007-12-07 14:10:27 -08:00
Dan Nicholson
6aaf9bdd41 configs: Fix linking with static libGL and --as-needed
Linking of the programs breaks when using a static libGL and the GNU ld
option --as-needed. This is because libXext is needed for the XShm
functions.
2007-12-07 11:49:40 -08:00
Brian
5935626818 Add dependency checking for Cell driver sources. 2007-12-05 14:57:19 -07:00
Brian
ce98779571 glut doesn't need -lXt 2007-12-03 12:00:28 -07:00
Brian
91692fce20 added -fPIC 2007-12-02 15:34:27 -07:00
Brian
c27082995d don't build libglw 2007-12-02 15:34:14 -07:00
Brian
88b715b049 Initial Cell driver infrastructure.
No real code yet.  Just stand-ins and make/build infrastructure.
2007-12-02 15:23:51 -07:00
Brian
233c374d02 glut doesn't need -lXt 2007-12-02 15:20:13 -07:00
Dan Nicholson
01b18abf93 Add -fno-strict-aliasing workaround for all GCC targets
Use a GCC option to work around aliasing bugs. See commit 013dbcd for
more details.
2007-11-01 06:03:31 -07:00
Dan Nicholson
dbcd20f1c2 configs: Set -fexceptions for GLUT on linux-dri like other targets
Quite a while ago, the GCC option -fexceptions was added for building
libglut. See here:

  http://article.gmane.org/gmane.comp.video.mesa3d.devel/9499

This was missing in the linux-dri targets.
2007-10-31 16:18:29 -07:00
Dan Nicholson
c3b5adaa9a configs: Always use -fPIC for shared libraries, never for static
Mesa currently disables -fPIC for DRI on x86, but most Linux distros are
re-enabling -fPIC for all DRI arches. Let's just do that here since
that's normally what's wanted for shared libraries. Some justification:

http://bugs.gentoo.org/show_bug.cgi?id=110840#c9

On the other hand, position-independent code is only necessary when
building shared libraries, so disable it for the static cases.
2007-10-31 14:19:20 -07:00
Dan Nicholson
013dbcd611 Add -fno-strict-aliasing workaround for Linux GCC targets
Most Linux distros work around aliasing problems in Mesa by compiling
with the GCC option -fno-strict-aliasing. Two examples:

  https://bugs.freedesktop.org/show_bug.cgi?id=6046
  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=394311

This makes -fno-strict-aliasing the default with a comment that
developers should consider commenting it out. There is a already a note
about these bugs in docs/helpwanted.html.
2007-10-31 09:47:39 -07:00
Dan Nicholson
06ca14543e Build xdemos programs by default on linux-dri
Since libglut is no longer hardcoded, we can build the xdemos programs
so long as a GLX enabled libGL and libGLU have been built.
2007-10-29 11:43:20 -07:00
Dan Nicholson
3b9e28d507 linux-dri-xcb: Fix undefined refs when linking with libGL
GL_LIB_DEPS was missing -lXdamage and -lXfixes, which was causing
linker errors when trying to build the programs.
2007-10-29 11:17:04 -07:00
Dan Nicholson
162914675a update APP_LIB_DEPS for static library configs (patch 3/3) 2007-10-29 09:05:13 -06:00
Dan Nicholson
9ef1d9f03a simplify APP_LIB_DEPS (patch 2/3) 2007-10-29 09:04:30 -06:00
Dan Nicholson
9514209593 configs: Fix linux-static to link correctly
The linux-static target was missing necessary libraries and hardcoding
their location to /usr/X11R6/lib. This makes it comparable to the x86
and x86-64 static targets.
2007-10-26 15:46:37 -07:00
José Fonseca
1d2ff452d4 Expand pkg-config flags before invoking the compiler.
This allows IDEs such as Eclipse to get the correct c-preprocessor flags used
from the build output.
2007-10-25 23:37:25 +01:00
Michel Dänzer
8568fadaf2 LLVM requires linking with the C++ compiler.
It's basically luck if it works with the C compiler on some platforms...
2007-10-25 18:26:26 +02:00
Alex Neundorf
cae5b7f1e3 added catamount-osmesa-pgi config 2007-10-24 16:31:22 -06:00
Zack Rusin
d76a7b61bb Cleanup some code. 2007-10-24 11:21:05 -04:00