[Mesa-dev] [PATCH 2/4] makefile: Add Haiku makefile build support
Brian Paul
brian.e.paul at gmail.com
Sat Dec 24 05:30:49 PST 2011
On Fri, Dec 23, 2011 at 4:24 PM, Alexander von Gluck
<kallisti5 at unixzen.com> wrote:
>
> ---
> Makefile | 1 +
> acinclude.m4 | 2 +-
> configs/haiku | 66
> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 68 insertions(+), 1 deletions(-)
> create mode 100644 configs/haiku
>
> diff --git a/Makefile b/Makefile
> index cf6555c..4caa8ce 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -90,6 +90,7 @@ freebsd \
> freebsd-dri \
> freebsd-dri-amd64 \
> freebsd-dri-x86 \
> +haiku \
> hpux10 \
> hpux10-gcc \
> hpux10-static \
> diff --git a/acinclude.m4 b/acinclude.m4
> index a5b389d..1ff61c2 100644
> --- a/acinclude.m4
> +++ b/acinclude.m4
> @@ -34,7 +34,7 @@ if test "$enable_pic" != no; then
> # see if we're using GCC
> if test "x$GCC" = xyes; then
> case "$host_os" in
> - aix*|beos*|cygwin*|irix5*|irix6*|osf3*|osf4*|osf5*)
> + aix*|haiku*|cygwin*|irix5*|irix6*|osf3*|osf4*|osf5*)
> # PIC is the default for these OSes.
> ;;
> mingw*|os2*|pw32*)
> diff --git a/configs/haiku b/configs/haiku
> new file mode 100644
> index 0000000..12f958e
> --- /dev/null
> +++ b/configs/haiku
> @@ -0,0 +1,66 @@
> +# Configuration for Haiku
> +# Written by Alexander von Gluck IV
> +#
> +# Based on the BeOS config
> +# written by Philippe Houdoin
> +
> +include $(TOP)/configs/default
> +
> +CONFIG_NAME = haiku
> +
> +# Haiku settings
> +
> +DEFINES = \
> + -DBEOS_THREADS \
> + -DGNU_ASSEMBLER \
> + -DUSE_X86_ASM \
> + -DUSE_MMX_ASM \
> + -DUSE_3DNOW_ASM \
> + -DUSE_SSE_ASM
> +
> +MESA_ASM_SOURCES = $(X86_SOURCES)
> +GLAPI_ASM_SOURCES = $(X86_API)
> +
> +CC = gcc
> +CXX = g++
> +LD = gcc
> +
> +CFLAGS = -Wall -Wno-multichar $(DEFINES)
> +CXXFLAGS = $(CFLAGS)
> +LDFLAGS += -Xlinker
> +
> +# Work around aliasing bugs - developers should comment this out
> +CFLAGS += -fno-strict-aliasing -std=c99
> +CXXFLAGS += -fno-strict-aliasing
> +
> +# No makedepend on Haiku, this will solve it
> +MKDEP = true
> +
> +# Debug defines
> +ifdef DEBUG
> + CFLAGS += -g -O0
> + LDFLAGS += -g
> + DEFINES += -DDEBUG
> +else
> + CFLAGS += -O3
> +endif
> +
> +# Glut setings
> +GLUT_CFLAGS = -fexceptions
GLUT is no longer in the Mesa tree (it's in a separate repo now) so
this could be removed.
> +
> +# Gallium settings
> +GALLIUM_DRIVERS_DIRS = trace softpipe i915 r300
> +GALLIUM_STATE_TRACKERS_DIRS =
> +
> +# Directories
> +SRC_DIRS = gallium glsl mapi/glapi mesa/x86 mesa glu
> +SRC_DIRS += glut/beos
> +GLU_DIRS = sgi
> +DRIVER_DIRS =
> +
> +# Library/program dependencies
> +GL_LIB_DEPS =
> +OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
> +GLU_LIB_DEPS =
> +GLUT_LIB_DEPS = -lgame -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
> +APP_LIB_DEPS = -lbe -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -l$(GLUT_LIB)
BTW, there's talk of removing the old Mesa Makefile system in favor of
autoconf/automake. Will you be able to adapt to the later (or scons)?
-Brian
More information about the mesa-dev
mailing list