[Mesa-dev] [PATCH 2/4] makefile: Add Haiku makefile build support

Alexander von Gluck kallisti5 at unixzen.com
Sat Dec 24 09:12:12 PST 2011


On 24.12.2011 07:30, Brian Paul wrote:
> 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.

I left it in there as it seems the GLUT package gets extracted into
the Mesa tree when you need it... is this correct?

That line can be cut, it doesn't seem to effect the build though
when glut is not present in the source tree.

>> +
>> +# 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)?

I could migrate to autoconf/automake, for the moment though while this
platform support is in it's early stages, could we leave the makefile?
I'm still hammering out our build process for Mesa on the Haiku side.

Do you think this transition will occur after 7.12?

  -- Alex


More information about the mesa-dev mailing list