Compare commits
	
		
			1 Commits
		
	
	
		
			mesa-8.0.2
			...
			mesa_7_6_1
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					42d9409873 | 
							
								
								
									
										8
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -4,18 +4,12 @@
 | 
			
		||||
*.ilk
 | 
			
		||||
*.o
 | 
			
		||||
*.obj
 | 
			
		||||
*.os
 | 
			
		||||
*.pc
 | 
			
		||||
*.pdb
 | 
			
		||||
*.pyc
 | 
			
		||||
*.pyo
 | 
			
		||||
*.so
 | 
			
		||||
*.so.*
 | 
			
		||||
*.sw[a-z]
 | 
			
		||||
*.tar
 | 
			
		||||
*.tar.bz2
 | 
			
		||||
*.tar.gz
 | 
			
		||||
*.zip
 | 
			
		||||
*~
 | 
			
		||||
depend
 | 
			
		||||
depend.bak
 | 
			
		||||
@@ -30,5 +24,3 @@ cscope*
 | 
			
		||||
.scon*
 | 
			
		||||
config.py
 | 
			
		||||
build
 | 
			
		||||
manifest.txt
 | 
			
		||||
.dir-locals.el
 | 
			
		||||
 
 | 
			
		||||
@@ -1,63 +0,0 @@
 | 
			
		||||
# Mesa 3-D graphics library
 | 
			
		||||
#
 | 
			
		||||
# Copyright (C) 2010-2011 Chia-I Wu <olvaffe@gmail.com>
 | 
			
		||||
# Copyright (C) 2010-2011 LunarG Inc.
 | 
			
		||||
#
 | 
			
		||||
# 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 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.
 | 
			
		||||
 | 
			
		||||
# use c99 compiler by default
 | 
			
		||||
ifeq ($(LOCAL_CC),)
 | 
			
		||||
ifeq ($(LOCAL_IS_HOST_MODULE),true)
 | 
			
		||||
LOCAL_CC := $(HOST_CC) -std=c99
 | 
			
		||||
else
 | 
			
		||||
LOCAL_CC := $(TARGET_CC) -std=c99
 | 
			
		||||
endif
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
LOCAL_C_INCLUDES += \
 | 
			
		||||
	$(MESA_TOP)/include
 | 
			
		||||
 | 
			
		||||
# define ANDROID_VERSION (e.g., 4.0.x => 0x0400)
 | 
			
		||||
major := $(word 1, $(subst ., , $(PLATFORM_VERSION)))
 | 
			
		||||
minor := $(word 2, $(subst ., , $(PLATFORM_VERSION)))
 | 
			
		||||
LOCAL_CFLAGS += \
 | 
			
		||||
	-DANDROID_VERSION=0x0$(major)0$(minor)
 | 
			
		||||
 | 
			
		||||
LOCAL_CFLAGS += \
 | 
			
		||||
	-DPTHREADS \
 | 
			
		||||
	-fvisibility=hidden \
 | 
			
		||||
	-Wno-sign-compare
 | 
			
		||||
 | 
			
		||||
ifeq ($(strip $(MESA_ENABLE_ASM)),true)
 | 
			
		||||
ifeq ($(TARGET_ARCH),x86)
 | 
			
		||||
LOCAL_CFLAGS += \
 | 
			
		||||
	-DUSE_X86_ASM
 | 
			
		||||
endif
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
LOCAL_CPPFLAGS += \
 | 
			
		||||
	-Wno-error=non-virtual-dtor \
 | 
			
		||||
	-Wno-non-virtual-dtor
 | 
			
		||||
 | 
			
		||||
# uncomment to keep the debug symbols
 | 
			
		||||
#LOCAL_STRIP_MODULE := false
 | 
			
		||||
 | 
			
		||||
ifeq ($(strip $(LOCAL_MODULE_TAGS)),)
 | 
			
		||||
LOCAL_MODULE_TAGS := optional
 | 
			
		||||
endif
 | 
			
		||||
							
								
								
									
										94
									
								
								Android.mk
									
									
									
									
									
								
							
							
						
						
									
										94
									
								
								Android.mk
									
									
									
									
									
								
							@@ -1,94 +0,0 @@
 | 
			
		||||
# Mesa 3-D graphics library
 | 
			
		||||
#
 | 
			
		||||
# Copyright (C) 2010-2011 Chia-I Wu <olvaffe@gmail.com>
 | 
			
		||||
# Copyright (C) 2010-2011 LunarG Inc.
 | 
			
		||||
#
 | 
			
		||||
# 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 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.
 | 
			
		||||
 | 
			
		||||
# BOARD_GPU_DRIVERS should be defined.  The valid values are
 | 
			
		||||
#
 | 
			
		||||
#   classic drivers: i915 i965
 | 
			
		||||
#   gallium drivers: swrast i915g nouveau r300g r600g vmwgfx
 | 
			
		||||
#
 | 
			
		||||
# The main target is libGLES_mesa.  For each classic driver enabled, a DRI
 | 
			
		||||
# module will also be built.  DRI modules will be loaded by libGLES_mesa.
 | 
			
		||||
 | 
			
		||||
MESA_TOP := $(call my-dir)
 | 
			
		||||
MESA_COMMON_MK := $(MESA_TOP)/Android.common.mk
 | 
			
		||||
MESA_PYTHON2 := python
 | 
			
		||||
 | 
			
		||||
DRM_TOP := external/drm
 | 
			
		||||
DRM_GRALLOC_TOP := hardware/drm_gralloc
 | 
			
		||||
 | 
			
		||||
classic_drivers := i915 i965
 | 
			
		||||
gallium_drivers := swrast i915g nouveau r300g r600g vmwgfx
 | 
			
		||||
 | 
			
		||||
MESA_GPU_DRIVERS := $(strip $(BOARD_GPU_DRIVERS))
 | 
			
		||||
 | 
			
		||||
# warn about invalid drivers
 | 
			
		||||
invalid_drivers := $(filter-out \
 | 
			
		||||
	$(classic_drivers) $(gallium_drivers), $(MESA_GPU_DRIVERS))
 | 
			
		||||
ifneq ($(invalid_drivers),)
 | 
			
		||||
$(warning invalid GPU drivers: $(invalid_drivers))
 | 
			
		||||
# tidy up
 | 
			
		||||
MESA_GPU_DRIVERS := $(filter-out $(invalid_drivers), $(MESA_GPU_DRIVERS))
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# host and target must be the same arch to generate matypes.h
 | 
			
		||||
ifeq ($(TARGET_ARCH),$(HOST_ARCH))
 | 
			
		||||
MESA_ENABLE_ASM := true
 | 
			
		||||
else
 | 
			
		||||
MESA_ENABLE_ASM := false
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifneq ($(filter $(classic_drivers), $(MESA_GPU_DRIVERS)),)
 | 
			
		||||
MESA_BUILD_CLASSIC := true
 | 
			
		||||
else
 | 
			
		||||
MESA_BUILD_CLASSIC := false
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifneq ($(filter $(gallium_drivers), $(MESA_GPU_DRIVERS)),)
 | 
			
		||||
MESA_BUILD_GALLIUM := true
 | 
			
		||||
else
 | 
			
		||||
MESA_BUILD_GALLIUM := false
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# add subdirectories
 | 
			
		||||
ifneq ($(strip $(MESA_GPU_DRIVERS)),)
 | 
			
		||||
 | 
			
		||||
SUBDIRS := \
 | 
			
		||||
	src/mapi \
 | 
			
		||||
	src/glsl \
 | 
			
		||||
	src/mesa \
 | 
			
		||||
	src/egl/main
 | 
			
		||||
 | 
			
		||||
ifeq ($(strip $(MESA_BUILD_CLASSIC)),true)
 | 
			
		||||
SUBDIRS += \
 | 
			
		||||
	src/egl/drivers/dri2 \
 | 
			
		||||
	src/mesa/drivers/dri
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifeq ($(strip $(MESA_BUILD_GALLIUM)),true)
 | 
			
		||||
SUBDIRS += src/gallium
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
mkfiles := $(patsubst %,$(MESA_TOP)/%/Android.mk,$(SUBDIRS))
 | 
			
		||||
include $(mkfiles)
 | 
			
		||||
 | 
			
		||||
endif
 | 
			
		||||
							
								
								
									
										462
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										462
									
								
								Makefile
									
									
									
									
									
								
							@@ -2,13 +2,10 @@
 | 
			
		||||
 | 
			
		||||
TOP = .
 | 
			
		||||
 | 
			
		||||
SUBDIRS = src
 | 
			
		||||
SUBDIRS = src progs
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# The git command below generates an empty string when we're not
 | 
			
		||||
# building in a GIT tree (i.e., building from a release tarball).
 | 
			
		||||
default: $(TOP)/configs/current
 | 
			
		||||
	@$(TOP)/bin/extract_git_sha1
 | 
			
		||||
	@for dir in $(SUBDIRS) ; do \
 | 
			
		||||
		if [ -d $$dir ] ; then \
 | 
			
		||||
			(cd $$dir && $(MAKE)) || exit 1 ; \
 | 
			
		||||
@@ -21,10 +18,6 @@ all: default
 | 
			
		||||
doxygen:
 | 
			
		||||
	cd doxygen && $(MAKE)
 | 
			
		||||
 | 
			
		||||
check:
 | 
			
		||||
	cd src/glsl/tests/ && ./optimization-test
 | 
			
		||||
	make -C tests check
 | 
			
		||||
 | 
			
		||||
clean:
 | 
			
		||||
	-@touch $(TOP)/configs/current
 | 
			
		||||
	-@for dir in $(SUBDIRS) ; do \
 | 
			
		||||
@@ -55,7 +48,7 @@ install:
 | 
			
		||||
	done
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
.PHONY: default doxygen clean realclean distclean install check
 | 
			
		||||
.PHONY: default doxygen clean realclean distclean install linux-directfb-install
 | 
			
		||||
 | 
			
		||||
# If there's no current configuration file
 | 
			
		||||
$(TOP)/configs/current:
 | 
			
		||||
@@ -82,10 +75,13 @@ aix-static \
 | 
			
		||||
autoconf \
 | 
			
		||||
bluegene-osmesa \
 | 
			
		||||
bluegene-xlc-osmesa \
 | 
			
		||||
beos \
 | 
			
		||||
catamount-osmesa-pgi \
 | 
			
		||||
darwin \
 | 
			
		||||
darwin-fat-32bit \
 | 
			
		||||
darwin-fat-all \
 | 
			
		||||
darwin-static \
 | 
			
		||||
darwin-static-x86ppc \
 | 
			
		||||
freebsd \
 | 
			
		||||
freebsd-dri \
 | 
			
		||||
freebsd-dri-amd64 \
 | 
			
		||||
@@ -109,10 +105,12 @@ irix6-n32-static \
 | 
			
		||||
irix6-o32 \
 | 
			
		||||
irix6-o32-static \
 | 
			
		||||
linux \
 | 
			
		||||
linux-i965 \
 | 
			
		||||
linux-alpha \
 | 
			
		||||
linux-alpha-static \
 | 
			
		||||
linux-cell \
 | 
			
		||||
linux-cell-debug \
 | 
			
		||||
linux-debug \
 | 
			
		||||
linux-directfb \
 | 
			
		||||
linux-dri \
 | 
			
		||||
linux-dri-debug \
 | 
			
		||||
linux-dri-x86 \
 | 
			
		||||
@@ -122,13 +120,12 @@ linux-dri-xcb \
 | 
			
		||||
linux-egl \
 | 
			
		||||
linux-indirect \
 | 
			
		||||
linux-fbdev \
 | 
			
		||||
linux-glide \
 | 
			
		||||
linux-ia64-icc \
 | 
			
		||||
linux-ia64-icc-static \
 | 
			
		||||
linux-icc \
 | 
			
		||||
linux-icc-static \
 | 
			
		||||
linux-llvm \
 | 
			
		||||
linux-llvm-debug \
 | 
			
		||||
linux-opengl-es \
 | 
			
		||||
linux-osmesa \
 | 
			
		||||
linux-osmesa-static \
 | 
			
		||||
linux-osmesa16 \
 | 
			
		||||
@@ -137,6 +134,9 @@ linux-osmesa32 \
 | 
			
		||||
linux-ppc \
 | 
			
		||||
linux-ppc-static \
 | 
			
		||||
linux-profile \
 | 
			
		||||
linux-solo \
 | 
			
		||||
linux-solo-x86 \
 | 
			
		||||
linux-solo-ia64 \
 | 
			
		||||
linux-sparc \
 | 
			
		||||
linux-sparc5 \
 | 
			
		||||
linux-static \
 | 
			
		||||
@@ -149,6 +149,7 @@ linux-x86-64 \
 | 
			
		||||
linux-x86-64-debug \
 | 
			
		||||
linux-x86-64-profile \
 | 
			
		||||
linux-x86-64-static \
 | 
			
		||||
linux-x86-glide \
 | 
			
		||||
linux-x86-profile \
 | 
			
		||||
linux-x86-static \
 | 
			
		||||
netbsd \
 | 
			
		||||
@@ -171,61 +172,313 @@ sunos5-v9 \
 | 
			
		||||
sunos5-v9-static \
 | 
			
		||||
sunos5-v9-cc-g++ \
 | 
			
		||||
ultrix-gcc:
 | 
			
		||||
	@ if test -f configs/current -o -L configs/current; then \
 | 
			
		||||
		if ! cmp configs/$@ configs/current > /dev/null; then \
 | 
			
		||||
			echo "Please run 'make realclean' before changing configs" ; \
 | 
			
		||||
			exit 1 ; \
 | 
			
		||||
		fi ; \
 | 
			
		||||
	else \
 | 
			
		||||
		cd configs && rm -f current && ln -s $@ current ; \
 | 
			
		||||
	@ if test -f configs/current || test -L configs/current ; then \
 | 
			
		||||
		echo "Please run 'make realclean' before changing configs" ; \
 | 
			
		||||
		exit 1 ; \
 | 
			
		||||
	fi
 | 
			
		||||
	(cd configs && rm -f current && ln -s $@ current)
 | 
			
		||||
	$(MAKE) default
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Rules for making release tarballs
 | 
			
		||||
 | 
			
		||||
PACKAGE_VERSION=8.0.2
 | 
			
		||||
PACKAGE_DIR = Mesa-$(PACKAGE_VERSION)
 | 
			
		||||
PACKAGE_NAME = MesaLib-$(PACKAGE_VERSION)
 | 
			
		||||
VERSION=7.6.1
 | 
			
		||||
DIRECTORY = Mesa-$(VERSION)
 | 
			
		||||
LIB_NAME = MesaLib-$(VERSION)
 | 
			
		||||
DEMO_NAME = MesaDemos-$(VERSION)
 | 
			
		||||
GLUT_NAME = MesaGLUT-$(VERSION)
 | 
			
		||||
 | 
			
		||||
EXTRA_FILES = \
 | 
			
		||||
	aclocal.m4					\
 | 
			
		||||
	configure					\
 | 
			
		||||
	tests/Makefile.in				\
 | 
			
		||||
	tests/glx/Makefile.in				\
 | 
			
		||||
	src/glsl/glsl_parser.cpp			\
 | 
			
		||||
	src/glsl/glsl_parser.h				\
 | 
			
		||||
	src/glsl/glsl_lexer.cpp				\
 | 
			
		||||
	src/glsl/glcpp/glcpp-lex.c			\
 | 
			
		||||
	src/glsl/glcpp/glcpp-parse.c			\
 | 
			
		||||
	src/glsl/glcpp/glcpp-parse.h			\
 | 
			
		||||
	src/mesa/main/api_exec_es1.c			\
 | 
			
		||||
	src/mesa/main/api_exec_es1_dispatch.h		\
 | 
			
		||||
	src/mesa/main/api_exec_es1_remap_helper.h	\
 | 
			
		||||
	src/mesa/main/api_exec_es2.c			\
 | 
			
		||||
	src/mesa/main/api_exec_es2_dispatch.h		\
 | 
			
		||||
	src/mesa/main/api_exec_es2_remap_helper.h	\
 | 
			
		||||
	src/mesa/program/lex.yy.c			\
 | 
			
		||||
	src/mesa/program/program_parse.tab.c		\
 | 
			
		||||
	src/mesa/program/program_parse.tab.h
 | 
			
		||||
MAIN_FILES = \
 | 
			
		||||
	$(DIRECTORY)/Makefile*						\
 | 
			
		||||
	$(DIRECTORY)/configure						\
 | 
			
		||||
	$(DIRECTORY)/configure.ac					\
 | 
			
		||||
	$(DIRECTORY)/acinclude.m4					\
 | 
			
		||||
	$(DIRECTORY)/aclocal.m4						\
 | 
			
		||||
	$(DIRECTORY)/bin/config.guess					\
 | 
			
		||||
	$(DIRECTORY)/bin/config.sub					\
 | 
			
		||||
	$(DIRECTORY)/bin/install-sh					\
 | 
			
		||||
	$(DIRECTORY)/bin/mklib						\
 | 
			
		||||
	$(DIRECTORY)/bin/minstall					\
 | 
			
		||||
	$(DIRECTORY)/bin/version.mk					\
 | 
			
		||||
	$(DIRECTORY)/configs/[a-z]*					\
 | 
			
		||||
	$(DIRECTORY)/docs/*.html					\
 | 
			
		||||
	$(DIRECTORY)/docs/COPYING					\
 | 
			
		||||
	$(DIRECTORY)/docs/README.*					\
 | 
			
		||||
	$(DIRECTORY)/docs/RELNOTES*					\
 | 
			
		||||
	$(DIRECTORY)/docs/*.spec					\
 | 
			
		||||
	$(DIRECTORY)/include/GL/internal/glcore.h			\
 | 
			
		||||
	$(DIRECTORY)/include/GL/dmesa.h					\
 | 
			
		||||
	$(DIRECTORY)/include/GL/ggimesa.h				\
 | 
			
		||||
	$(DIRECTORY)/include/GL/gl.h					\
 | 
			
		||||
	$(DIRECTORY)/include/GL/glext.h					\
 | 
			
		||||
	$(DIRECTORY)/include/GL/gl_mangle.h				\
 | 
			
		||||
	$(DIRECTORY)/include/GL/glu.h					\
 | 
			
		||||
	$(DIRECTORY)/include/GL/glu_mangle.h				\
 | 
			
		||||
	$(DIRECTORY)/include/GL/glx.h					\
 | 
			
		||||
	$(DIRECTORY)/include/GL/glxext.h				\
 | 
			
		||||
	$(DIRECTORY)/include/GL/glx_mangle.h				\
 | 
			
		||||
	$(DIRECTORY)/include/GL/glfbdev.h				\
 | 
			
		||||
	$(DIRECTORY)/include/GL/mesa_wgl.h				\
 | 
			
		||||
	$(DIRECTORY)/include/GL/mglmesa.h				\
 | 
			
		||||
	$(DIRECTORY)/include/GL/osmesa.h				\
 | 
			
		||||
	$(DIRECTORY)/include/GL/svgamesa.h				\
 | 
			
		||||
	$(DIRECTORY)/include/GL/vms_x_fix.h				\
 | 
			
		||||
	$(DIRECTORY)/include/GL/wglext.h				\
 | 
			
		||||
	$(DIRECTORY)/include/GL/wmesa.h					\
 | 
			
		||||
	$(DIRECTORY)/src/Makefile					\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/Makefile*					\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/sources.mak				\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/descrip.mms				\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/gl.pc.in					\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/osmesa.pc.in				\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/depend					\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/main/*.[chS]				\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/main/descrip.mms				\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/glapi/*.[chS]				\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/math/*.[ch]				\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/math/descrip.mms				\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/shader/*.[chly]				\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/shader/Makefile				\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/shader/descrip.mms			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/shader/grammar/*.[ch]			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/shader/slang/*.[ch]			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/shader/slang/descrip.mms			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/shader/slang/library/*.[ch]		\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/shader/slang/library/*.gc			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/shader/slang/library/*.syn		\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/shader/slang/library/Makefile		\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/swrast/*.[ch]				\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/swrast/descrip.mms			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/swrast_setup/*.[ch]			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/swrast_setup/descrip.mms			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/vbo/*.[chS]				\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/vbo/descrip.mms				\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/tnl/*.[chS]				\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/tnl/descrip.mms				\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/tnl_dd/*.[ch]				\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/tnl_dd/imm/*.[ch]				\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/tnl_dd/imm/NOTES.imm			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/Makefile				\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/beos/*.cpp			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/beos/Makefile			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/common/*.[ch]			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/common/descrip.mms		\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/directfb/*.[ch]			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/directfb/Makefile			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/dos/*.[chS]			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/fbdev/Makefile			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/fbdev/glfbdev.c			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/glide/*.[ch]			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/ggi/*.[ch]			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/ggi/ggimesa.conf.in		\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/ggi/default/*.c			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/ggi/default/genkgi.conf.in	\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/ggi/display/*.c			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/ggi/display/fbdev.conf.in		\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/ggi/include/ggi/mesa/*.h		\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/osmesa/Makefile			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/osmesa/Makefile.win		\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/osmesa/descrip.mms		\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/osmesa/osmesa.def			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/osmesa/*.[ch]			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/svga/*.[ch]			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/windows/*/*.[ch]			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/windows/*/*.def			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/x11/Makefile			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/x11/descrip.mms			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/x11/*.[ch]			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/glslcompiler/Makefile		\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/glslcompiler/glslcompiler.c	\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/ppc/*.[ch]				\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/sparc/*.[chS]				\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/x86/Makefile				\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/x86/*.[ch]				\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/x86/*.S					\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/x86/rtasm/*.[ch]				\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/x86-64/*.[chS]				\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/x86-64/Makefile				\
 | 
			
		||||
	$(DIRECTORY)/progs/Makefile					\
 | 
			
		||||
	$(DIRECTORY)/progs/util/README					\
 | 
			
		||||
	$(DIRECTORY)/progs/util/*.[ch]					\
 | 
			
		||||
	$(DIRECTORY)/progs/util/sampleMakefile				\
 | 
			
		||||
	$(DIRECTORY)/windows/VC8/
 | 
			
		||||
 | 
			
		||||
IGNORE_FILES = \
 | 
			
		||||
	-x autogen.sh
 | 
			
		||||
EGL_FILES = \
 | 
			
		||||
	$(DIRECTORY)/include/EGL/*.h					\
 | 
			
		||||
	$(DIRECTORY)/include/GLES/*.h					\
 | 
			
		||||
	$(DIRECTORY)/include/GLES2/*.h					\
 | 
			
		||||
	$(DIRECTORY)/src/egl/Makefile					\
 | 
			
		||||
	$(DIRECTORY)/src/egl/*/Makefile					\
 | 
			
		||||
	$(DIRECTORY)/src/egl/*/*.[ch]					\
 | 
			
		||||
	$(DIRECTORY)/src/egl/*/*/Makefile				\
 | 
			
		||||
	$(DIRECTORY)/src/egl/*/*/*.[ch]					\
 | 
			
		||||
 | 
			
		||||
GALLIUM_FILES = \
 | 
			
		||||
	$(DIRECTORY)/src/mesa/state_tracker/*[ch]			\
 | 
			
		||||
	$(DIRECTORY)/src/gallium/Makefile				\
 | 
			
		||||
	$(DIRECTORY)/src/gallium/Makefile.template			\
 | 
			
		||||
	$(DIRECTORY)/src/gallium/SConscript				\
 | 
			
		||||
	$(DIRECTORY)/src/gallium/*/Makefile				\
 | 
			
		||||
	$(DIRECTORY)/src/gallium/*/SConscript				\
 | 
			
		||||
	$(DIRECTORY)/src/gallium/*/*/Makefile				\
 | 
			
		||||
	$(DIRECTORY)/src/gallium/*/*/Makefile.template			\
 | 
			
		||||
	$(DIRECTORY)/src/gallium/*/*/SConscript				\
 | 
			
		||||
	$(DIRECTORY)/src/gallium/*/*/*.[ch]				\
 | 
			
		||||
	$(DIRECTORY)/src/gallium/*/*/*.py				\
 | 
			
		||||
	$(DIRECTORY)/src/gallium/*/*/*.csv				\
 | 
			
		||||
	$(DIRECTORY)/src/gallium/*/*/*/Makefile				\
 | 
			
		||||
	$(DIRECTORY)/src/gallium/*/*/*/SConscript			\
 | 
			
		||||
	$(DIRECTORY)/src/gallium/*/*/*/*.[ch]				\
 | 
			
		||||
	$(DIRECTORY)/src/gallium/*/*/*/*.py				\
 | 
			
		||||
	$(DIRECTORY)/src/gallium/*/*/*/*/Makefile			\
 | 
			
		||||
	$(DIRECTORY)/src/gallium/*/*/*/*/*.[ch]				\
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
parsers: configure
 | 
			
		||||
	-@touch $(TOP)/configs/current
 | 
			
		||||
	$(MAKE) -C src/glsl glsl_parser.cpp glsl_parser.h glsl_lexer.cpp
 | 
			
		||||
	$(MAKE) -C src/glsl/glcpp glcpp-lex.c glcpp-parse.c glcpp-parse.h
 | 
			
		||||
	$(MAKE) -C src/mesa program/lex.yy.c program/program_parse.tab.c program/program_parse.tab.h
 | 
			
		||||
DRI_FILES = \
 | 
			
		||||
	$(DIRECTORY)/include/GL/internal/dri_interface.h		\
 | 
			
		||||
	$(DIRECTORY)/include/GL/internal/glcore.h			\
 | 
			
		||||
	$(DIRECTORY)/include/GL/internal/sarea.h			\
 | 
			
		||||
	$(DIRECTORY)/src/glx/Makefile					\
 | 
			
		||||
	$(DIRECTORY)/src/glx/x11/Makefile				\
 | 
			
		||||
	$(DIRECTORY)/src/glx/x11/*.[ch]					\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/dri/Makefile			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/dri/Makefile.template		\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/dri/dri.pc.in			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/dri/common/xmlpool/*.[ch]		\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/dri/common/xmlpool/*.po		\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/dri/*/*.[chS]			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/dri/*/*/*.[chS]			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/dri/*/Makefile			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/dri/*/*/Makefile			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/dri/*/Doxyfile			\
 | 
			
		||||
	$(DIRECTORY)/src/mesa/drivers/dri/*/server/*.[ch]
 | 
			
		||||
 | 
			
		||||
SGI_GLU_FILES = \
 | 
			
		||||
	$(DIRECTORY)/src/glu/Makefile					\
 | 
			
		||||
	$(DIRECTORY)/src/glu/glu.pc.in					\
 | 
			
		||||
	$(DIRECTORY)/src/glu/sgi/Makefile				\
 | 
			
		||||
	$(DIRECTORY)/src/glu/sgi/Makefile.mgw				\
 | 
			
		||||
	$(DIRECTORY)/src/glu/sgi/Makefile.win				\
 | 
			
		||||
	$(DIRECTORY)/src/glu/sgi/glu.def				\
 | 
			
		||||
	$(DIRECTORY)/src/glu/sgi/dummy.cc				\
 | 
			
		||||
	$(DIRECTORY)/src/glu/sgi/glu.exports				\
 | 
			
		||||
	$(DIRECTORY)/src/glu/sgi/glu.exports.darwin			\
 | 
			
		||||
	$(DIRECTORY)/src/glu/sgi/mesaglu.opt				\
 | 
			
		||||
	$(DIRECTORY)/src/glu/sgi/include/gluos.h			\
 | 
			
		||||
	$(DIRECTORY)/src/glu/sgi/libnurbs/interface/*.h			\
 | 
			
		||||
	$(DIRECTORY)/src/glu/sgi/libnurbs/interface/*.cc		\
 | 
			
		||||
	$(DIRECTORY)/src/glu/sgi/libnurbs/internals/*.h			\
 | 
			
		||||
	$(DIRECTORY)/src/glu/sgi/libnurbs/internals/*.cc		\
 | 
			
		||||
	$(DIRECTORY)/src/glu/sgi/libnurbs/nurbtess/*.h			\
 | 
			
		||||
	$(DIRECTORY)/src/glu/sgi/libnurbs/nurbtess/*.cc			\
 | 
			
		||||
	$(DIRECTORY)/src/glu/sgi/libtess/README				\
 | 
			
		||||
	$(DIRECTORY)/src/glu/sgi/libtess/alg-outline			\
 | 
			
		||||
	$(DIRECTORY)/src/glu/sgi/libtess/*.[ch]				\
 | 
			
		||||
	$(DIRECTORY)/src/glu/sgi/libutil/*.[ch]
 | 
			
		||||
 | 
			
		||||
MESA_GLU_FILES = \
 | 
			
		||||
	$(DIRECTORY)/src/glu/mesa/README[12]		\
 | 
			
		||||
	$(DIRECTORY)/src/glu/mesa/Makefile*		\
 | 
			
		||||
	$(DIRECTORY)/src/glu/mesa/descrip.mms		\
 | 
			
		||||
	$(DIRECTORY)/src/glu/mesa/mms_depend		\
 | 
			
		||||
	$(DIRECTORY)/src/glu/mesa/*.def			\
 | 
			
		||||
	$(DIRECTORY)/src/glu/mesa/depend		\
 | 
			
		||||
	$(DIRECTORY)/src/glu/mesa/*.[ch]
 | 
			
		||||
 | 
			
		||||
GLW_FILES = \
 | 
			
		||||
	$(DIRECTORY)/src/glw/*.[ch]			\
 | 
			
		||||
	$(DIRECTORY)/src/glw/Makefile*			\
 | 
			
		||||
	$(DIRECTORY)/src/glw/README			\
 | 
			
		||||
	$(DIRECTORY)/src/glw/glw.pc.in			\
 | 
			
		||||
	$(DIRECTORY)/src/glw/depend
 | 
			
		||||
 | 
			
		||||
GLEW_FILES = \
 | 
			
		||||
	$(DIRECTORY)/include/GL/glew.h			\
 | 
			
		||||
	$(DIRECTORY)/include/GL/glxew.h			\
 | 
			
		||||
	$(DIRECTORY)/include/GL/wglew.h			\
 | 
			
		||||
	$(DIRECTORY)/src/glew/*.c			\
 | 
			
		||||
	$(DIRECTORY)/src/glew/Makefile			\
 | 
			
		||||
	$(DIRECTORY)/src/glew/SConscript		\
 | 
			
		||||
	$(DIRECTORY)/src/glew/LICENSE.txt
 | 
			
		||||
 | 
			
		||||
DEMO_FILES = \
 | 
			
		||||
	$(GLEW_FILES)					\
 | 
			
		||||
	$(DIRECTORY)/progs/beos/*.cpp			\
 | 
			
		||||
	$(DIRECTORY)/progs/beos/Makefile		\
 | 
			
		||||
	$(DIRECTORY)/progs/images/*.rgb			\
 | 
			
		||||
	$(DIRECTORY)/progs/images/*.rgba		\
 | 
			
		||||
	$(DIRECTORY)/progs/demos/Makefile*		\
 | 
			
		||||
	$(DIRECTORY)/progs/demos/descrip.mms		\
 | 
			
		||||
	$(DIRECTORY)/progs/demos/*.[ch]			\
 | 
			
		||||
	$(DIRECTORY)/progs/demos/*.cxx			\
 | 
			
		||||
	$(DIRECTORY)/progs/demos/*.dat			\
 | 
			
		||||
	$(DIRECTORY)/progs/demos/README			\
 | 
			
		||||
	$(DIRECTORY)/progs/fbdev/Makefile		\
 | 
			
		||||
	$(DIRECTORY)/progs/fbdev/glfbdevtest.c		\
 | 
			
		||||
	$(DIRECTORY)/progs/osdemos/Makefile		\
 | 
			
		||||
	$(DIRECTORY)/progs/osdemos/*.c			\
 | 
			
		||||
	$(DIRECTORY)/progs/xdemos/Makefile*		\
 | 
			
		||||
	$(DIRECTORY)/progs/xdemos/*.[chf]		\
 | 
			
		||||
	$(DIRECTORY)/progs/redbook/Makefile*		\
 | 
			
		||||
	$(DIRECTORY)/progs/redbook/README		\
 | 
			
		||||
	$(DIRECTORY)/progs/redbook/*.[ch]		\
 | 
			
		||||
	$(DIRECTORY)/progs/samples/Makefile*		\
 | 
			
		||||
	$(DIRECTORY)/progs/samples/README		\
 | 
			
		||||
	$(DIRECTORY)/progs/samples/*.c			\
 | 
			
		||||
	$(DIRECTORY)/progs/glsl/Makefile*		\
 | 
			
		||||
	$(DIRECTORY)/progs/glsl/*.c			\
 | 
			
		||||
	$(DIRECTORY)/progs/glsl/*.frag			\
 | 
			
		||||
	$(DIRECTORY)/progs/glsl/*.vert			\
 | 
			
		||||
	$(DIRECTORY)/progs/glsl/*.shtest		\
 | 
			
		||||
	$(DIRECTORY)/progs/windml/Makefile.ugl		\
 | 
			
		||||
	$(DIRECTORY)/progs/windml/*.c			\
 | 
			
		||||
	$(DIRECTORY)/progs/windml/*.bmp			\
 | 
			
		||||
	$(DIRECTORY)/progs/ggi/*.c
 | 
			
		||||
 | 
			
		||||
GLUT_FILES = \
 | 
			
		||||
	$(DIRECTORY)/include/GL/glut.h			\
 | 
			
		||||
	$(DIRECTORY)/include/GL/glutf90.h		\
 | 
			
		||||
	$(DIRECTORY)/src/glut/glx/Makefile*		\
 | 
			
		||||
	$(DIRECTORY)/src/glut/glx/depend		\
 | 
			
		||||
	$(DIRECTORY)/src/glut/glx/glut.pc.in		\
 | 
			
		||||
	$(DIRECTORY)/src/glut/glx/*def			\
 | 
			
		||||
	$(DIRECTORY)/src/glut/glx/*.[ch]		\
 | 
			
		||||
	$(DIRECTORY)/src/glut/beos/*.[ch]		\
 | 
			
		||||
	$(DIRECTORY)/src/glut/beos/*.cpp		\
 | 
			
		||||
	$(DIRECTORY)/src/glut/beos/Makefile		\
 | 
			
		||||
	$(DIRECTORY)/src/glut/dos/*.[ch]		\
 | 
			
		||||
	$(DIRECTORY)/src/glut/dos/PC_HW/*.[chS]		\
 | 
			
		||||
	$(DIRECTORY)/src/glut/ggi/*.[ch]		\
 | 
			
		||||
	$(DIRECTORY)/src/glut/ggi/Makefile		\
 | 
			
		||||
	$(DIRECTORY)/src/glut/fbdev/Makefile		\
 | 
			
		||||
	$(DIRECTORY)/src/glut/fbdev/*[ch]		\
 | 
			
		||||
	$(DIRECTORY)/src/glut/mini/*[ch]		\
 | 
			
		||||
	$(DIRECTORY)/src/glut/mini/glut.pc.in		\
 | 
			
		||||
	$(DIRECTORY)/src/glut/directfb/Makefile		\
 | 
			
		||||
	$(DIRECTORY)/src/glut/directfb/NOTES		\
 | 
			
		||||
	$(DIRECTORY)/src/glut/directfb/*[ch]
 | 
			
		||||
 | 
			
		||||
DEPEND_FILES = \
 | 
			
		||||
	$(TOP)/src/mesa/depend		\
 | 
			
		||||
	$(TOP)/src/glx/x11/depend	\
 | 
			
		||||
	$(TOP)/src/glw/depend		\
 | 
			
		||||
	$(TOP)/src/glut/glx/depend	\
 | 
			
		||||
	$(TOP)/src/glu/sgi/depend
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
LIB_FILES = \
 | 
			
		||||
	$(MAIN_FILES)		\
 | 
			
		||||
	$(EGL_FILES)		\
 | 
			
		||||
	$(GALLIUM_FILES)	\
 | 
			
		||||
	$(DRI_FILES)		\
 | 
			
		||||
	$(SGI_GLU_FILES)	\
 | 
			
		||||
	$(GLW_FILES)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Everything for new a Mesa release:
 | 
			
		||||
ARCHIVES = $(PACKAGE_NAME).tar.gz \
 | 
			
		||||
	$(PACKAGE_NAME).tar.bz2 \
 | 
			
		||||
	$(PACKAGE_NAME).zip \
 | 
			
		||||
tarballs: rm_depend configure aclocal.m4 lib_gz demo_gz glut_gz \
 | 
			
		||||
	lib_bz2 demo_bz2 glut_bz2 lib_zip demo_zip glut_zip md5
 | 
			
		||||
 | 
			
		||||
tarballs: md5
 | 
			
		||||
	rm -f ../$(PACKAGE_DIR) $(PACKAGE_NAME).tar
 | 
			
		||||
 | 
			
		||||
# Helper for autoconf builds
 | 
			
		||||
ACLOCAL = aclocal
 | 
			
		||||
@@ -237,33 +490,82 @@ aclocal.m4: configure.ac acinclude.m4
 | 
			
		||||
configure: configure.ac aclocal.m4 acinclude.m4
 | 
			
		||||
	$(AUTOCONF) $(AC_FLAGS)
 | 
			
		||||
 | 
			
		||||
manifest.txt: .git
 | 
			
		||||
	( \
 | 
			
		||||
		ls -1 $(EXTRA_FILES) ; \
 | 
			
		||||
		git ls-files $(IGNORE_FILES) \
 | 
			
		||||
	) | sed -e '/^\(.*\/\)\?\./d' -e "s@^@$(PACKAGE_DIR)/@" > $@
 | 
			
		||||
rm_depend:
 | 
			
		||||
	@for dep in $(DEPEND_FILES) ; do \
 | 
			
		||||
		rm -f $$dep ; \
 | 
			
		||||
		touch $$dep ; \
 | 
			
		||||
	done
 | 
			
		||||
 | 
			
		||||
../$(PACKAGE_DIR):
 | 
			
		||||
	ln -s $(PWD) $@
 | 
			
		||||
 | 
			
		||||
$(PACKAGE_NAME).tar: parsers ../$(PACKAGE_DIR) manifest.txt
 | 
			
		||||
	cd .. ; tar -cf $(PACKAGE_DIR)/$(PACKAGE_NAME).tar -T $(PACKAGE_DIR)/manifest.txt
 | 
			
		||||
 | 
			
		||||
$(PACKAGE_NAME).tar.gz: $(PACKAGE_NAME).tar ../$(PACKAGE_DIR)
 | 
			
		||||
	gzip --stdout --best $(PACKAGE_NAME).tar > $(PACKAGE_NAME).tar.gz
 | 
			
		||||
 | 
			
		||||
$(PACKAGE_NAME).tar.bz2: $(PACKAGE_NAME).tar
 | 
			
		||||
	bzip2 --stdout --best $(PACKAGE_NAME).tar > $(PACKAGE_NAME).tar.bz2
 | 
			
		||||
 | 
			
		||||
$(PACKAGE_NAME).zip: parsers ../$(PACKAGE_DIR) manifest.txt
 | 
			
		||||
	rm -f $(PACKAGE_NAME).zip ; \
 | 
			
		||||
lib_gz:
 | 
			
		||||
	rm -f configs/current ; \
 | 
			
		||||
	rm -f configs/autoconf ; \
 | 
			
		||||
	cd .. ; \
 | 
			
		||||
	zip -q -@ $(PACKAGE_NAME).zip < $(PACKAGE_DIR)/manifest.txt ; \
 | 
			
		||||
	mv $(PACKAGE_NAME).zip $(PACKAGE_DIR)
 | 
			
		||||
	tar -cf $(LIB_NAME).tar $(LIB_FILES) ; \
 | 
			
		||||
	gzip $(LIB_NAME).tar ; \
 | 
			
		||||
	mv $(LIB_NAME).tar.gz $(DIRECTORY)
 | 
			
		||||
 | 
			
		||||
md5: $(ARCHIVES)
 | 
			
		||||
	@-md5sum $(PACKAGE_NAME).tar.gz
 | 
			
		||||
	@-md5sum $(PACKAGE_NAME).tar.bz2
 | 
			
		||||
	@-md5sum $(PACKAGE_NAME).zip
 | 
			
		||||
demo_gz:
 | 
			
		||||
	cd .. ; \
 | 
			
		||||
	tar -cf $(DEMO_NAME).tar $(DEMO_FILES) ; \
 | 
			
		||||
	gzip $(DEMO_NAME).tar ; \
 | 
			
		||||
	mv $(DEMO_NAME).tar.gz $(DIRECTORY)
 | 
			
		||||
 | 
			
		||||
.PHONY: tarballs md5
 | 
			
		||||
glut_gz:
 | 
			
		||||
	cd .. ; \
 | 
			
		||||
	tar -cf $(GLUT_NAME).tar $(GLUT_FILES) ; \
 | 
			
		||||
	gzip $(GLUT_NAME).tar ; \
 | 
			
		||||
	mv $(GLUT_NAME).tar.gz $(DIRECTORY)
 | 
			
		||||
 | 
			
		||||
lib_bz2:
 | 
			
		||||
	rm -f configs/current ; \
 | 
			
		||||
	rm -f configs/autoconf ; \
 | 
			
		||||
	cd .. ; \
 | 
			
		||||
	tar -cf $(LIB_NAME).tar $(LIB_FILES) ; \
 | 
			
		||||
	bzip2 $(LIB_NAME).tar ; \
 | 
			
		||||
	mv $(LIB_NAME).tar.bz2 $(DIRECTORY)
 | 
			
		||||
 | 
			
		||||
demo_bz2:
 | 
			
		||||
	cd .. ; \
 | 
			
		||||
	tar -cf $(DEMO_NAME).tar $(DEMO_FILES) ; \
 | 
			
		||||
	bzip2 $(DEMO_NAME).tar ; \
 | 
			
		||||
	mv $(DEMO_NAME).tar.bz2 $(DIRECTORY)
 | 
			
		||||
 | 
			
		||||
glut_bz2:
 | 
			
		||||
	cd .. ; \
 | 
			
		||||
	tar -cf $(GLUT_NAME).tar $(GLUT_FILES) ; \
 | 
			
		||||
	bzip2 $(GLUT_NAME).tar ; \
 | 
			
		||||
	mv $(GLUT_NAME).tar.bz2 $(DIRECTORY)
 | 
			
		||||
 | 
			
		||||
lib_zip:
 | 
			
		||||
	rm -f configs/current ; \
 | 
			
		||||
	rm -f configs/autoconf ; \
 | 
			
		||||
	rm -f $(LIB_NAME).zip ; \
 | 
			
		||||
	cd .. ; \
 | 
			
		||||
	zip -qr $(LIB_NAME).zip $(LIB_FILES) ; \
 | 
			
		||||
	mv $(LIB_NAME).zip $(DIRECTORY)
 | 
			
		||||
 | 
			
		||||
demo_zip:
 | 
			
		||||
	rm -f $(DEMO_NAME).zip ; \
 | 
			
		||||
	cd .. ; \
 | 
			
		||||
	zip -qr $(DEMO_NAME).zip $(DEMO_FILES) ; \
 | 
			
		||||
	mv $(DEMO_NAME).zip $(DIRECTORY)
 | 
			
		||||
 | 
			
		||||
glut_zip:
 | 
			
		||||
	rm -f $(GLUT_NAME).zip ; \
 | 
			
		||||
	cd .. ; \
 | 
			
		||||
	zip -qr $(GLUT_NAME).zip $(GLUT_FILES) ; \
 | 
			
		||||
	mv $(GLUT_NAME).zip $(DIRECTORY)
 | 
			
		||||
 | 
			
		||||
md5:
 | 
			
		||||
	@-md5sum $(LIB_NAME).tar.gz
 | 
			
		||||
	@-md5sum $(LIB_NAME).tar.bz2
 | 
			
		||||
	@-md5sum $(LIB_NAME).zip
 | 
			
		||||
	@-md5sum $(DEMO_NAME).tar.gz
 | 
			
		||||
	@-md5sum $(DEMO_NAME).tar.bz2
 | 
			
		||||
	@-md5sum $(DEMO_NAME).zip
 | 
			
		||||
	@-md5sum $(GLUT_NAME).tar.gz
 | 
			
		||||
	@-md5sum $(GLUT_NAME).tar.bz2
 | 
			
		||||
	@-md5sum $(GLUT_NAME).zip
 | 
			
		||||
 | 
			
		||||
.PHONY: tarballs rm_depend lib_gz demo_gz glut_gz lib_bz2 demo_bz2 \
 | 
			
		||||
	glut_bz2 lib_zip demo_zip glut_zip md5
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										194
									
								
								SConstruct
									
									
									
									
									
								
							
							
						
						
									
										194
									
								
								SConstruct
									
									
									
									
									
								
							@@ -3,14 +3,14 @@
 | 
			
		||||
#
 | 
			
		||||
# For example, invoke scons as 
 | 
			
		||||
#
 | 
			
		||||
#   scons build=debug llvm=yes machine=x86
 | 
			
		||||
#   scons debug=1 dri=0 machine=x86
 | 
			
		||||
#
 | 
			
		||||
# to set configuration variables. Or you can write those options to a file
 | 
			
		||||
# named config.py:
 | 
			
		||||
#
 | 
			
		||||
#   # config.py
 | 
			
		||||
#   build='debug'
 | 
			
		||||
#   llvm=True
 | 
			
		||||
#   debug=1
 | 
			
		||||
#   dri=0
 | 
			
		||||
#   machine='x86'
 | 
			
		||||
# 
 | 
			
		||||
# Invoke
 | 
			
		||||
@@ -23,15 +23,34 @@
 | 
			
		||||
import os
 | 
			
		||||
import os.path
 | 
			
		||||
import sys
 | 
			
		||||
import SCons.Util
 | 
			
		||||
 | 
			
		||||
import common
 | 
			
		||||
 | 
			
		||||
#######################################################################
 | 
			
		||||
# Configuration options
 | 
			
		||||
 | 
			
		||||
default_statetrackers = 'mesa'
 | 
			
		||||
 | 
			
		||||
if common.default_platform in ('linux', 'freebsd', 'darwin'):
 | 
			
		||||
	default_drivers = 'softpipe,failover,i915simple,trace,identity,llvmpipe'
 | 
			
		||||
	default_winsys = 'xlib'
 | 
			
		||||
elif common.default_platform in ('winddk',):
 | 
			
		||||
	default_drivers = 'softpipe,i915simple,trace,identity'
 | 
			
		||||
	default_winsys = 'all'
 | 
			
		||||
else:
 | 
			
		||||
	default_drivers = 'all'
 | 
			
		||||
	default_winsys = 'all'
 | 
			
		||||
 | 
			
		||||
opts = Variables('config.py')
 | 
			
		||||
common.AddOptions(opts)
 | 
			
		||||
opts.Add(ListVariable('statetrackers', 'state trackers to build', default_statetrackers,
 | 
			
		||||
                     ['mesa', 'python', 'xorg']))
 | 
			
		||||
opts.Add(ListVariable('drivers', 'pipe drivers to build', default_drivers,
 | 
			
		||||
                     ['softpipe', 'failover', 'i915simple', 'i965simple', 'cell', 'trace', 'r300', 'identity', 'llvmpipe']))
 | 
			
		||||
opts.Add(ListVariable('winsys', 'winsys drivers to build', default_winsys,
 | 
			
		||||
                     ['xlib', 'intel', 'gdi', 'radeon']))
 | 
			
		||||
 | 
			
		||||
opts.Add(EnumVariable('MSVS_VERSION', 'MS Visual C++ version', None, allowed_values=('7.1', '8.0', '9.0')))
 | 
			
		||||
 | 
			
		||||
env = Environment(
 | 
			
		||||
	options = opts,
 | 
			
		||||
@@ -40,98 +59,101 @@ env = Environment(
 | 
			
		||||
	ENV = os.environ,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
# XXX: This creates a many problems as it saves...
 | 
			
		||||
#opts.Save('config.py', env)
 | 
			
		||||
 | 
			
		||||
# Backwards compatability with old target configuration variable
 | 
			
		||||
try:
 | 
			
		||||
    targets = ARGUMENTS['targets']
 | 
			
		||||
except KeyError:
 | 
			
		||||
    pass
 | 
			
		||||
else:
 | 
			
		||||
    targets = targets.split(',')
 | 
			
		||||
    print 'scons: warning: targets option is deprecated; pass the targets on their own such as'
 | 
			
		||||
    print
 | 
			
		||||
    print '  scons %s' % ' '.join(targets)
 | 
			
		||||
    print 
 | 
			
		||||
    COMMAND_LINE_TARGETS.append(targets)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Help(opts.GenerateHelpText(env))
 | 
			
		||||
 | 
			
		||||
# fail early for a common error on windows
 | 
			
		||||
if env['gles']:
 | 
			
		||||
    try:
 | 
			
		||||
        import libxml2
 | 
			
		||||
    except ImportError:
 | 
			
		||||
        raise SCons.Errors.UserError, "GLES requires libxml2-python to build"
 | 
			
		||||
# replicate options values in local variables
 | 
			
		||||
debug = env['debug']
 | 
			
		||||
dri = env['dri']
 | 
			
		||||
llvm = env['llvm']
 | 
			
		||||
machine = env['machine']
 | 
			
		||||
platform = env['platform']
 | 
			
		||||
 | 
			
		||||
# derived options
 | 
			
		||||
x86 = machine == 'x86'
 | 
			
		||||
ppc = machine == 'ppc'
 | 
			
		||||
gcc = platform in ('linux', 'freebsd', 'darwin')
 | 
			
		||||
msvc = platform in ('windows', 'winddk')
 | 
			
		||||
 | 
			
		||||
Export([
 | 
			
		||||
	'debug', 
 | 
			
		||||
	'x86', 
 | 
			
		||||
	'ppc', 
 | 
			
		||||
	'dri', 
 | 
			
		||||
	'llvm',
 | 
			
		||||
	'platform',
 | 
			
		||||
	'gcc',
 | 
			
		||||
	'msvc',
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#######################################################################
 | 
			
		||||
# Environment setup
 | 
			
		||||
 | 
			
		||||
# Includes
 | 
			
		||||
env.Prepend(CPPPATH = [
 | 
			
		||||
	'#/include',
 | 
			
		||||
])
 | 
			
		||||
env.Append(CPPPATH = [
 | 
			
		||||
	'#/include',
 | 
			
		||||
	'#/src/gallium/include',
 | 
			
		||||
	'#/src/gallium/auxiliary',
 | 
			
		||||
	'#/src/gallium/drivers',
 | 
			
		||||
	'#/src/gallium/winsys',
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
if env['msvc']:
 | 
			
		||||
    env.Append(CPPPATH = ['#include/c99'])
 | 
			
		||||
 | 
			
		||||
# Posix
 | 
			
		||||
if platform in ('posix', 'linux', 'freebsd', 'darwin'):
 | 
			
		||||
	env.Append(CPPDEFINES = [
 | 
			
		||||
		'_POSIX_SOURCE',
 | 
			
		||||
		('_POSIX_C_SOURCE', '199309L'), 
 | 
			
		||||
		'_SVID_SOURCE',
 | 
			
		||||
		'_BSD_SOURCE', 
 | 
			
		||||
		'_GNU_SOURCE',
 | 
			
		||||
		
 | 
			
		||||
		'PTHREADS',
 | 
			
		||||
		'HAVE_POSIX_MEMALIGN',
 | 
			
		||||
	])
 | 
			
		||||
	env.Append(CPPPATH = ['/usr/X11R6/include'])
 | 
			
		||||
	env.Append(LIBPATH = ['/usr/X11R6/lib'])
 | 
			
		||||
	env.Append(LIBS = [
 | 
			
		||||
		'm',
 | 
			
		||||
		'pthread',
 | 
			
		||||
		'expat',
 | 
			
		||||
		'dl',
 | 
			
		||||
	])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# DRI
 | 
			
		||||
if dri:
 | 
			
		||||
	env.ParseConfig('pkg-config --cflags --libs libdrm')
 | 
			
		||||
	env.Append(CPPDEFINES = [
 | 
			
		||||
		('USE_EXTERNAL_DXTN_LIB', '1'), 
 | 
			
		||||
		'IN_DRI_DRIVER',
 | 
			
		||||
		'GLX_DIRECT_RENDERING',
 | 
			
		||||
		'GLX_INDIRECT_RENDERING',
 | 
			
		||||
	])
 | 
			
		||||
 | 
			
		||||
# LLVM
 | 
			
		||||
if llvm:
 | 
			
		||||
	# See also http://www.scons.org/wiki/UsingPkgConfig
 | 
			
		||||
	env.ParseConfig('llvm-config --cflags --ldflags --libs backend bitreader engine instrumentation interpreter ipo')
 | 
			
		||||
	env.Append(CPPDEFINES = ['MESA_LLVM'])
 | 
			
		||||
        # Force C++ linkage
 | 
			
		||||
	env['LINK'] = env['CXX']
 | 
			
		||||
 | 
			
		||||
# libGL
 | 
			
		||||
if platform in ('linux', 'freebsd', 'darwin'):
 | 
			
		||||
	env.Append(LIBS = [
 | 
			
		||||
		'X11',
 | 
			
		||||
		'Xext',
 | 
			
		||||
		'Xxf86vm',
 | 
			
		||||
		'Xdamage',
 | 
			
		||||
		'Xfixes',
 | 
			
		||||
	])
 | 
			
		||||
 | 
			
		||||
# for debugging
 | 
			
		||||
#print env.Dump()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#######################################################################
 | 
			
		||||
# Invoke host SConscripts 
 | 
			
		||||
# 
 | 
			
		||||
# For things that are meant to be run on the native host build machine, instead
 | 
			
		||||
# of the target machine.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# Create host environent
 | 
			
		||||
if env['crosscompile'] and not env['embedded']:
 | 
			
		||||
    host_env = Environment(
 | 
			
		||||
        options = opts,
 | 
			
		||||
        # no tool used
 | 
			
		||||
        tools = [],
 | 
			
		||||
        toolpath = ['#scons'],
 | 
			
		||||
        ENV = os.environ,
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    # Override options
 | 
			
		||||
    host_env['platform'] = common.host_platform
 | 
			
		||||
    host_env['machine'] = common.host_machine
 | 
			
		||||
    host_env['toolchain'] = 'default'
 | 
			
		||||
    host_env['llvm'] = False
 | 
			
		||||
 | 
			
		||||
    host_env.Tool('gallium')
 | 
			
		||||
 | 
			
		||||
    host_env['hostonly'] = True
 | 
			
		||||
    assert host_env['crosscompile'] == False
 | 
			
		||||
 | 
			
		||||
    if host_env['msvc']:
 | 
			
		||||
        host_env.Append(CPPPATH = ['#include/c99'])
 | 
			
		||||
 | 
			
		||||
    target_env = env
 | 
			
		||||
    env = host_env
 | 
			
		||||
    Export('env')
 | 
			
		||||
 | 
			
		||||
    SConscript(
 | 
			
		||||
        'src/SConscript',
 | 
			
		||||
        variant_dir = host_env['build_dir'],
 | 
			
		||||
        duplicate = 0, # http://www.scons.org/doc/0.97/HTML/scons-user/x2261.html
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    env = target_env
 | 
			
		||||
 | 
			
		||||
Export('env')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#######################################################################
 | 
			
		||||
# Invoke SConscripts
 | 
			
		||||
 | 
			
		||||
@@ -140,22 +162,6 @@ Export('env')
 | 
			
		||||
 | 
			
		||||
SConscript(
 | 
			
		||||
	'src/SConscript',
 | 
			
		||||
	variant_dir = env['build_dir'],
 | 
			
		||||
	variant_dir = env['build'],
 | 
			
		||||
	duplicate = 0 # http://www.scons.org/doc/0.97/HTML/scons-user/x2261.html
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
########################################################################
 | 
			
		||||
# List all aliases
 | 
			
		||||
 | 
			
		||||
try:
 | 
			
		||||
    from SCons.Node.Alias import default_ans
 | 
			
		||||
except ImportError:
 | 
			
		||||
    pass
 | 
			
		||||
else:
 | 
			
		||||
    aliases = default_ans.keys()
 | 
			
		||||
    aliases.sort()
 | 
			
		||||
    env.Help('\n')
 | 
			
		||||
    env.Help('Recognized targets:\n')
 | 
			
		||||
    for alias in aliases:
 | 
			
		||||
        env.Help('    %s\n' % alias)
 | 
			
		||||
 
 | 
			
		||||
@@ -15,6 +15,4 @@ MAKEFLAGS=""
 | 
			
		||||
 | 
			
		||||
autoreconf -v --install || exit 1
 | 
			
		||||
 | 
			
		||||
if test -z "$NOCONFIGURE"; then
 | 
			
		||||
    "$srcdir"/configure "$@"
 | 
			
		||||
fi
 | 
			
		||||
"$srcdir"/configure "$@"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								bin/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								bin/.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -1,2 +0,0 @@
 | 
			
		||||
/depcomp
 | 
			
		||||
/missing
 | 
			
		||||
@@ -1,20 +0,0 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
if [ ! -f src/mesa/main/git_sha1.h ]; then
 | 
			
		||||
	touch src/mesa/main/git_sha1.h
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ ! -d .git ]; then
 | 
			
		||||
	exit
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if which git > /dev/null; then
 | 
			
		||||
    # Extract the 7-digit "short" SHA1 for the current HEAD, convert
 | 
			
		||||
    # it to a string, and wrap it in a #define.  This is used in
 | 
			
		||||
    # src/mesa/main/version.c to put the GIT SHA1 in the GL_VERSION string.
 | 
			
		||||
    git log -n 1 --oneline |\
 | 
			
		||||
	sed 's/^\([^ ]*\) .*/#define MESA_GIT_SHA1 "git-\1"/' \
 | 
			
		||||
	> src/mesa/main/git_sha1.h.tmp
 | 
			
		||||
    if ! cmp -s src/mesa/main/git_sha1.h.tmp src/mesa/main/git_sha1.h; then
 | 
			
		||||
    	mv src/mesa/main/git_sha1.h.tmp src/mesa/main/git_sha1.h
 | 
			
		||||
    fi
 | 
			
		||||
fi
 | 
			
		||||
							
								
								
									
										21
									
								
								bin/minstall
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								bin/minstall
									
									
									
									
									
								
							@@ -31,7 +31,7 @@ if [ $# -ge 2 ] ; then
 | 
			
		||||
 | 
			
		||||
	# Last cmd line arg is the dest dir
 | 
			
		||||
	for FILE in $@ ; do
 | 
			
		||||
		DESTDIR="$FILE"
 | 
			
		||||
		DEST="$FILE"
 | 
			
		||||
	done
 | 
			
		||||
 | 
			
		||||
	# Loop over args, moving them to DEST directory
 | 
			
		||||
@@ -42,25 +42,6 @@ if [ $# -ge 2 ] ; then
 | 
			
		||||
			exit 0
 | 
			
		||||
		fi
 | 
			
		||||
 | 
			
		||||
                DEST=$DESTDIR
 | 
			
		||||
 | 
			
		||||
                # On CYGWIN, because DLLs are loaded by the native Win32 loader,
 | 
			
		||||
                # they are installed in the executable path.  Stub libraries used
 | 
			
		||||
                # only for linking are installed in the library path
 | 
			
		||||
                case `uname` in
 | 
			
		||||
                    CYGWIN*)
 | 
			
		||||
                        case $FILE in
 | 
			
		||||
                            *.dll)
 | 
			
		||||
                                DEST="$DEST/../bin"
 | 
			
		||||
                                ;;
 | 
			
		||||
                            *)
 | 
			
		||||
                                ;;
 | 
			
		||||
                        esac
 | 
			
		||||
	                ;;
 | 
			
		||||
                    *)
 | 
			
		||||
                        ;;
 | 
			
		||||
                esac
 | 
			
		||||
 | 
			
		||||
		PWDSAVE=`pwd`
 | 
			
		||||
 | 
			
		||||
		# determine file's type
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										389
									
								
								bin/mklib
									
									
									
									
									
								
							
							
						
						
									
										389
									
								
								bin/mklib
									
									
									
									
									
								
							@@ -25,109 +25,6 @@
 | 
			
		||||
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Clear CDPATH as the 'cd' command will echo stuff
 | 
			
		||||
# to stdout if it is set
 | 
			
		||||
unset CDPATH
 | 
			
		||||
 | 
			
		||||
# Given a list of files, look for .a archives and unpack them.
 | 
			
		||||
# Return the original list of files minus the .a files plus the unpacked files.
 | 
			
		||||
# first param:  name of a temp directory (to be deleted when finished)
 | 
			
		||||
# remaining params:  list of .o and .a files
 | 
			
		||||
expand_archives() {
 | 
			
		||||
    DIR=$1
 | 
			
		||||
    shift
 | 
			
		||||
    FILES=$@
 | 
			
		||||
    NEWFILES=""
 | 
			
		||||
    ORIG_DIR=`pwd`
 | 
			
		||||
    mkdir -p "$DIR"
 | 
			
		||||
    cd "$DIR"
 | 
			
		||||
    for FILE in $FILES ; do
 | 
			
		||||
        case $FILE in
 | 
			
		||||
            *.a)
 | 
			
		||||
                # extract the .o files from this .a archive
 | 
			
		||||
                case $FILE in
 | 
			
		||||
                    /*) ;;
 | 
			
		||||
                    *)  FILE="$ORIG_DIR/$FILE" ;;
 | 
			
		||||
                esac
 | 
			
		||||
                MEMBERS=`ar t $FILE`
 | 
			
		||||
                ar x $FILE
 | 
			
		||||
                for MEMBER in $MEMBERS ; do
 | 
			
		||||
                    NEWFILES="$NEWFILES $DIR/$MEMBER"
 | 
			
		||||
                done
 | 
			
		||||
                ;;
 | 
			
		||||
            *)
 | 
			
		||||
                # other file type, just add to list
 | 
			
		||||
                NEWFILES="$NEWFILES $FILE"
 | 
			
		||||
                ;;
 | 
			
		||||
        esac
 | 
			
		||||
    done
 | 
			
		||||
    cd "$ORIG_DIR"
 | 
			
		||||
    echo $NEWFILES
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Make static library with 'ar'
 | 
			
		||||
# params:
 | 
			
		||||
#    options to ar
 | 
			
		||||
#    1 or 0 to indicate if ranlib should be run
 | 
			
		||||
#    libname to make
 | 
			
		||||
#    list of object files
 | 
			
		||||
# Return name of library we made
 | 
			
		||||
# Example: "make_ar_static_lib -ru 1 libfoo.a foo.o bar.o"
 | 
			
		||||
make_ar_static_lib() {
 | 
			
		||||
    OPTS=$1
 | 
			
		||||
    shift;
 | 
			
		||||
    RANLIB=$1
 | 
			
		||||
    shift;
 | 
			
		||||
    LIBNAME=$1
 | 
			
		||||
    shift;
 | 
			
		||||
    OBJECTS=$@
 | 
			
		||||
 | 
			
		||||
    # remove existing lib, if present
 | 
			
		||||
    rm -f ${LIBNAME}
 | 
			
		||||
 | 
			
		||||
    # make static lib
 | 
			
		||||
    ar ${OPTS} ${LIBNAME} ${OBJECTS}
 | 
			
		||||
 | 
			
		||||
    # run ranlib
 | 
			
		||||
    if [ ${RANLIB} = 1 ] ; then
 | 
			
		||||
        ranlib ${LIBNAME}
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    echo ${LIBNAME}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Print usage info.
 | 
			
		||||
usage() {
 | 
			
		||||
    echo 'Usage: mklib [options] objects'
 | 
			
		||||
    echo 'Create a shared library from object files.'
 | 
			
		||||
    echo '  -o LIBRARY    specifies the name of the resulting library, without'
 | 
			
		||||
    echo '                the leading "lib" or any suffix.'
 | 
			
		||||
    echo '                (eg: "-o GL" might result in "libGL.so" being made)'
 | 
			
		||||
    echo '  -major N      specifies major version number (default is 1)'
 | 
			
		||||
    echo '  -minor N      specifies minor version number (default is 0)'
 | 
			
		||||
    echo '  -patch N      specifies patch version number (default is 0)'
 | 
			
		||||
    echo '  -lLIBRARY     specifies a dependency on LIBRARY'
 | 
			
		||||
    echo '  -LDIR         search in DIR for library dependencies at build time'
 | 
			
		||||
    echo '  -RDIR         search in DIR for library dependencies at run time'
 | 
			
		||||
    echo '  -linker L     explicity specify the linker program to use (eg: gcc, g++)'
 | 
			
		||||
    echo '                Not observed on all systems at this time.'
 | 
			
		||||
    echo '  -ldflags OPT  specify any additional linker flags in OPT'
 | 
			
		||||
    echo '  -cplusplus    link with C++ runtime'
 | 
			
		||||
    echo '  -static       make a static library (default is dynamic/shared)'
 | 
			
		||||
    echo '  -dlopen       make a shared library suitable for dynamic loading'
 | 
			
		||||
    echo '  -install DIR  put resulting library file(s) in DIR'
 | 
			
		||||
    echo '  -arch ARCH    override using `uname` to determine host system'
 | 
			
		||||
    echo '  -archopt OPT  specify an extra achitecture-specific option OPT'
 | 
			
		||||
    echo '  -altopts OPTS alternate options to override all others'
 | 
			
		||||
    echo "  -noprefix     don't prefix library name with 'lib' nor add any suffix"
 | 
			
		||||
    echo '  -exports FILE only export the symbols listed in FILE'
 | 
			
		||||
    echo '  -id NAME      Sets the id of the dylib (Darwin)'
 | 
			
		||||
    echo '  -h, --help    display this information and exit'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Option defaults
 | 
			
		||||
#
 | 
			
		||||
@@ -155,7 +52,31 @@ while true
 | 
			
		||||
do
 | 
			
		||||
    case $1 in
 | 
			
		||||
	'-h' | '--help')
 | 
			
		||||
	    usage
 | 
			
		||||
	    echo 'Usage: mklib [options] objects'
 | 
			
		||||
	    echo 'Create a shared library from object files.'
 | 
			
		||||
	    echo '  -o LIBRARY    specifies the name of the resulting library, without'
 | 
			
		||||
	    echo '                the leading "lib" or any suffix.'
 | 
			
		||||
	    echo '                (eg: "-o GL" might result in "libGL.so" being made)'
 | 
			
		||||
	    echo '  -major N      specifies major version number (default is 1)'
 | 
			
		||||
	    echo '  -minor N      specifies minor version number (default is 0)'
 | 
			
		||||
	    echo '  -patch N      specifies patch version number (default is 0)'
 | 
			
		||||
	    echo '  -lLIBRARY     specifies a dependency on LIBRARY'
 | 
			
		||||
	    echo '  -LDIR         search in DIR for library dependencies at build time'
 | 
			
		||||
	    echo '  -RDIR         search in DIR for library dependencies at run time'
 | 
			
		||||
	    echo '  -linker L     explicity specify the linker program to use (eg: gcc, g++)'
 | 
			
		||||
	    echo '                Not observed on all systems at this time.'
 | 
			
		||||
	    echo '  -ldflags OPT  specify any additional linker flags in OPT'
 | 
			
		||||
	    echo '  -cplusplus    link with C++ runtime'
 | 
			
		||||
	    echo '  -static       make a static library (default is dynamic/shared)'
 | 
			
		||||
	    echo '  -dlopen       make a shared library suitable for dynamic loading'
 | 
			
		||||
	    echo '  -install DIR  put resulting library file(s) in DIR'
 | 
			
		||||
	    echo '  -arch ARCH    override using `uname` to determine host system'
 | 
			
		||||
	    echo '  -archopt OPT  specify an extra achitecture-specific option OPT'
 | 
			
		||||
	    echo '  -altopts OPTS alternate options to override all others'
 | 
			
		||||
	    echo "  -noprefix     don't prefix library name with 'lib' nor add any suffix"
 | 
			
		||||
	    echo '  -exports FILE only export the symbols listed in FILE'
 | 
			
		||||
	    echo '  -id NAME      Sets the id of the dylib (Darwin)'
 | 
			
		||||
	    echo '  -h, --help    display this information and exit'
 | 
			
		||||
	    exit 1
 | 
			
		||||
	    ;;
 | 
			
		||||
	'-o')
 | 
			
		||||
@@ -260,7 +181,7 @@ if [ $STATIC = 1 ]; then
 | 
			
		||||
    NEWOBJECTS=""
 | 
			
		||||
    for OBJ in $OBJECTS ; do
 | 
			
		||||
	case $OBJ in
 | 
			
		||||
	    -Wl,*|-L*|-l*)
 | 
			
		||||
	    -Wl,*)
 | 
			
		||||
		echo "mklib: warning: ignoring $OBJ for static library"
 | 
			
		||||
		;;
 | 
			
		||||
	    *)
 | 
			
		||||
@@ -276,11 +197,11 @@ fi
 | 
			
		||||
# Error checking
 | 
			
		||||
#
 | 
			
		||||
if [ "x${LIBNAME}" = "x" ] ; then
 | 
			
		||||
    echo "mklib: Error: no library name specified (-h for help)"
 | 
			
		||||
    echo "mklib: Error: no library name specified"
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
if [ "x${OBJECTS}" = "x" ] ; then
 | 
			
		||||
    echo "mklib: Error: no object files specified (-h for help)"
 | 
			
		||||
    echo "mklib: Error: no object files specified"
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
@@ -307,7 +228,7 @@ fi
 | 
			
		||||
#
 | 
			
		||||
case $ARCH in
 | 
			
		||||
 | 
			
		||||
    'Linux' | 'OpenBSD' | 'DragonFly' | 'GNU' | GNU/* | 'NetBSD')
 | 
			
		||||
    'Linux' | 'OpenBSD' | 'DragonFly' | 'GNU' | GNU/*)
 | 
			
		||||
	# we assume gcc
 | 
			
		||||
 | 
			
		||||
	if [ "x$LINK" = "x" ] ; then
 | 
			
		||||
@@ -348,24 +269,45 @@ case $ARCH in
 | 
			
		||||
            # finish up
 | 
			
		||||
            FINAL_LIBS="${LIBNAME}"
 | 
			
		||||
        elif [ $STATIC = 1 ] ; then
 | 
			
		||||
	    # make a static .a library
 | 
			
		||||
            LIBNAME="lib${LIBNAME}.a"     # prefix with "lib", suffix with ".a"
 | 
			
		||||
            echo "mklib: Making" $ARCH "static library: " ${LIBNAME}
 | 
			
		||||
            LINK="ar"
 | 
			
		||||
            OPTS="-ru"
 | 
			
		||||
            if [ "${ALTOPTS}" ] ; then
 | 
			
		||||
                OPTS=${ALTOPTS}
 | 
			
		||||
            fi
 | 
			
		||||
            rm -f ${LIBNAME}
 | 
			
		||||
 | 
			
		||||
	    # expand .a into .o files
 | 
			
		||||
	    NEW_OBJECTS=`expand_archives ${LIBNAME}.obj $OBJECTS`
 | 
			
		||||
	    # expand any .a objects into constituent .o files.
 | 
			
		||||
	    NEWOBJECTS=""
 | 
			
		||||
	    DELETIA=""
 | 
			
		||||
	    for OBJ in $OBJECTS ; do
 | 
			
		||||
		case $OBJ in
 | 
			
		||||
		    *.a)
 | 
			
		||||
			# extract the .o files from this .a archive
 | 
			
		||||
			FILES=`ar t $OBJ`
 | 
			
		||||
			ar x $OBJ
 | 
			
		||||
			NEWOBJECTS="$NEWOBJECTS $FILES"
 | 
			
		||||
			# keep track of temporary .o files and delete them below
 | 
			
		||||
			DELETIA="$DELETIA $FILES"
 | 
			
		||||
			;;
 | 
			
		||||
		    *)
 | 
			
		||||
			# ordinary .o file
 | 
			
		||||
			NEWOBJECTS="$NEWOBJECTS $OBJ"
 | 
			
		||||
			;;
 | 
			
		||||
		esac
 | 
			
		||||
	    done
 | 
			
		||||
 | 
			
		||||
            # make static lib
 | 
			
		||||
	    FINAL_LIBS=`make_ar_static_lib ${OPTS} 1 ${LIBNAME} ${NEW_OBJECTS}`
 | 
			
		||||
            # make lib
 | 
			
		||||
            ${LINK} ${OPTS} ${LIBNAME} ${NEWOBJECTS}
 | 
			
		||||
            ranlib ${LIBNAME}
 | 
			
		||||
 | 
			
		||||
	    # remove temporary extracted .o files
 | 
			
		||||
	    rm -rf ${LIBNAME}.obj
 | 
			
		||||
	    rm -f ${DELETIA}
 | 
			
		||||
 | 
			
		||||
            # finish up
 | 
			
		||||
            FINAL_LIBS=${LIBNAME}
 | 
			
		||||
        else
 | 
			
		||||
	    # make dynamic library
 | 
			
		||||
	    LIBNAME="lib${LIBNAME}"     # prefix with "lib"
 | 
			
		||||
	    case $ARCH in 'Linux' | 'GNU' | GNU/*)
 | 
			
		||||
		OPTS="-Xlinker -Bsymbolic -shared -Wl,-soname,${LIBNAME}.so.${MAJOR}"
 | 
			
		||||
@@ -426,7 +368,9 @@ case $ARCH in
 | 
			
		||||
        if [ $STATIC = 1 ] ; then
 | 
			
		||||
	    LIBNAME="lib${LIBNAME}.a"
 | 
			
		||||
	    echo "mklib: Making SunOS static library: " ${LIBNAME}
 | 
			
		||||
	    FINAL_LIBS=`make_ar_static_lib -ruc 0 ${LIBNAME} ${OBJECTS}`
 | 
			
		||||
	    rm -f ${LIBNAME}
 | 
			
		||||
	    ar -ruv ${LIBNAME} ${OBJECTS}
 | 
			
		||||
	    FINAL_LIBS=${LIBNAME}
 | 
			
		||||
	else
 | 
			
		||||
	    if [ $NOPREFIX = 0 ] ; then
 | 
			
		||||
		LIBNAME="lib${LIBNAME}.so"
 | 
			
		||||
@@ -494,16 +438,13 @@ case $ARCH in
 | 
			
		||||
		OPTS="${OPTS} -Wl,-Mmapfile.scope"
 | 
			
		||||
	    fi
 | 
			
		||||
 | 
			
		||||
	    # Check if objects are 64-bit
 | 
			
		||||
	    # Check if objects are SPARC v9
 | 
			
		||||
	    # file says: ELF 64-bit MSB relocatable SPARCV9 Version 1
 | 
			
		||||
	    set ${OBJECTS}
 | 
			
		||||
	    if [ ${LINK} = "cc" -o ${LINK} = "CC" ] ; then
 | 
			
		||||
		ABI64=`file $1 | grep "ELF 64-bit"`
 | 
			
		||||
		if [ "${ABI64}" ] ; then
 | 
			
		||||
		    case `uname -p` in
 | 
			
		||||
			sparc)	    OPTS="${OPTS} -xarch=v9" ;;
 | 
			
		||||
			i386)	    OPTS="${OPTS} -xarch=amd64" ;;
 | 
			
		||||
		    esac
 | 
			
		||||
		SPARCV9=`file $1 | grep SPARCV9`
 | 
			
		||||
		if [ "${SPARCV9}" ] ; then
 | 
			
		||||
		    OPTS="${OPTS} -xarch=v9"
 | 
			
		||||
		fi
 | 
			
		||||
	    fi
 | 
			
		||||
            if [ "${ALTOPTS}" ] ; then
 | 
			
		||||
@@ -548,19 +489,13 @@ case $ARCH in
 | 
			
		||||
	    ${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
 | 
			
		||||
	    FINAL_LIBS=${LIBNAME}
 | 
			
		||||
        elif [ $STATIC = 1 ] ; then
 | 
			
		||||
	    # make a static .a library
 | 
			
		||||
	    STLIB="lib${LIBNAME}.a"
 | 
			
		||||
	    echo "mklib: Making FreeBSD static library: " ${STLIB}
 | 
			
		||||
 | 
			
		||||
	    # expand .a into .o files
 | 
			
		||||
	    NEW_OBJECTS=`expand_archives ${STLIB}.obj $OBJECTS`
 | 
			
		||||
 | 
			
		||||
	    FINAL_LIBS=`make_ar_static_lib cq 1 ${STLIB} ${NEW_OBJECTS}`
 | 
			
		||||
 | 
			
		||||
	    # remove temporary extracted .o files
 | 
			
		||||
	    rm -rf ${STLIB}.obj
 | 
			
		||||
	    rm -f ${STLIB}
 | 
			
		||||
	    ar cq ${STLIB} ${OBJECTS}
 | 
			
		||||
	    ranlib ${STLIB}
 | 
			
		||||
	    FINAL_LIBS=${STLIB}
 | 
			
		||||
	else
 | 
			
		||||
	    # make dynamic library
 | 
			
		||||
	    SHLIB="lib${LIBNAME}.so.${MAJOR}"
 | 
			
		||||
	    OPTS="-shared -Wl,-soname,${SHLIB}"
 | 
			
		||||
            if [ "${ALTOPTS}" ] ; then
 | 
			
		||||
@@ -574,10 +509,29 @@ case $ARCH in
 | 
			
		||||
	fi
 | 
			
		||||
	;;
 | 
			
		||||
 | 
			
		||||
    'NetBSD')
 | 
			
		||||
        if [ $STATIC = 1 ] ; then
 | 
			
		||||
	    LIBNAME="lib${LIBNAME}_pic.a"
 | 
			
		||||
	    echo "mklib: Making NetBSD PIC static library: " ${LIBNAME}
 | 
			
		||||
	    rm -f ${LIBNAME}
 | 
			
		||||
	    ar cq ${LIBNAME} ${OBJECTS}
 | 
			
		||||
	    ranlib ${LIBNAME}
 | 
			
		||||
	    FINAL_LIBS=${LIBNAME}
 | 
			
		||||
	else
 | 
			
		||||
	    LIBNAME="lib${LIBNAME}.so.${MAJOR}.${MINOR}"
 | 
			
		||||
	    echo "mklib: Making NetBSD PIC shared library: " ${LIBNAME}
 | 
			
		||||
	    rm -f ${LIBNAME}
 | 
			
		||||
	    ld -x -Bshareable -Bforcearchive -o ${LIBNAME} ${OBJECTS}
 | 
			
		||||
	    FINAL_LIBS=${LIBNAME}
 | 
			
		||||
	fi
 | 
			
		||||
	;;
 | 
			
		||||
 | 
			
		||||
    'IRIX' | 'IRIX64')
 | 
			
		||||
        if [ $STATIC = 1 ] ; then
 | 
			
		||||
	    LIBNAME="lib${LIBNAME}.a"
 | 
			
		||||
	    FINAL_LIBS=`make_ar_static_lib rc 0 ${LIBNAME} ${OBJECTS}`
 | 
			
		||||
	    rm -f ${LIBNAME}
 | 
			
		||||
	    ar rc ${LIBNAME} ${OBJECTS}
 | 
			
		||||
	    FINAL_LIBS=${LIBNAME}
 | 
			
		||||
	else
 | 
			
		||||
	    LIBNAME="lib${LIBNAME}.so"  # prefix with "lib", suffix with ".so"
 | 
			
		||||
 | 
			
		||||
@@ -628,7 +582,9 @@ case $ARCH in
 | 
			
		||||
        if [ $STATIC = 1 ] ; then
 | 
			
		||||
	    LIBNAME="lib${LIBNAME}.a"
 | 
			
		||||
	    echo "mklib: Making HP-UX static library: " ${LIBNAME}
 | 
			
		||||
    	    FINAL_LIBS=`make_ar_static_lib -ruv 0 ${LIBNAME} ${OBJECTS}`
 | 
			
		||||
	    rm -f ${LIBNAME}
 | 
			
		||||
	    ar -ruv ${LIBNAME} ${OBJECTS}
 | 
			
		||||
	    FINAL_LIBS=${LIBNAME}
 | 
			
		||||
	else
 | 
			
		||||
            # HP uses a .2 for their current GL/GLU libraries
 | 
			
		||||
	    if [ ${LIBNAME} = "GL" -o ${LIBNAME} = "GLU" ] ; then
 | 
			
		||||
@@ -658,7 +614,8 @@ case $ARCH in
 | 
			
		||||
	if [ $STATIC = 1 ] ; then
 | 
			
		||||
	    LIBNAME="lib${LIBNAME}.a"
 | 
			
		||||
	    echo "mklib: Making AIX static library: " ${LIBNAME}
 | 
			
		||||
    	    FINAL_LIBS=`make_ar_static_lib -ruv 0 ${LIBNAME} ${OBJECTS}`
 | 
			
		||||
	    ar -ruv ${X64} ${LIBNAME} ${OBJECTS}
 | 
			
		||||
	    FINAL_LIBS=${LIBNAME}
 | 
			
		||||
	else
 | 
			
		||||
	    EXPFILE="lib${LIBNAME}.exp"
 | 
			
		||||
	    LIBNAME="lib${LIBNAME}.a"  # shared objects are still stored in the .a libraries
 | 
			
		||||
@@ -709,7 +666,9 @@ case $ARCH in
 | 
			
		||||
        if [ $STATIC = 1 ] ; then
 | 
			
		||||
	    LIBNAME="lib${LIBNAME}.a"
 | 
			
		||||
	    echo "mklib: Making OSF/1 static library: " ${LIBNAME}
 | 
			
		||||
    	    FINAL_LIBS=`make_ar_static_lib -ruv 0 ${LIBNAME} ${OBJECTS}`
 | 
			
		||||
	    rm -f ${LIBNAME}
 | 
			
		||||
	    ar -ruv ${LIBNAME} ${OBJECTS}
 | 
			
		||||
	    FINAL_LIBS=${LIBNAME}
 | 
			
		||||
	else
 | 
			
		||||
	    VERSION="${MAJOR}.${MINOR}"
 | 
			
		||||
	    LIBNAME="lib${LIBNAME}.so"
 | 
			
		||||
@@ -732,20 +691,12 @@ case $ARCH in
 | 
			
		||||
        if [ $STATIC = 1 ] ; then
 | 
			
		||||
            LIBNAME="lib${LIBNAME}.a"
 | 
			
		||||
            echo "mklib: Making Darwin static library: " ${LIBNAME}
 | 
			
		||||
            LINK="ar"
 | 
			
		||||
            OPTS="-ruvs"
 | 
			
		||||
            if [ "${ALTOPTS}" ] ; then
 | 
			
		||||
                OPTS=${ALTOPTS}
 | 
			
		||||
            fi
 | 
			
		||||
 | 
			
		||||
            # expand .a into .o files
 | 
			
		||||
            NEW_OBJECTS=`expand_archives ${LIBNAME}.obj $OBJECTS`
 | 
			
		||||
 | 
			
		||||
            # make static lib
 | 
			
		||||
            FINAL_LIBS=`make_ar_static_lib ${OPTS} 1 ${LIBNAME} ${NEW_OBJECTS}`
 | 
			
		||||
 | 
			
		||||
            # remove temporary extracted .o files
 | 
			
		||||
            rm -rf ${LIBNAME}.obj
 | 
			
		||||
 | 
			
		||||
            ${LINK} ${OPTS} ${LIBNAME} ${OBJECTS}
 | 
			
		||||
            FINAL_LIBS=${LIBNAME}
 | 
			
		||||
        else
 | 
			
		||||
            # On Darwin a .bundle is used for a library that you want to dlopen
 | 
			
		||||
@@ -767,20 +718,36 @@ case $ARCH in
 | 
			
		||||
                OPTS="${OPTS} -exported_symbols_list ${EXPORTS}"
 | 
			
		||||
            fi
 | 
			
		||||
 | 
			
		||||
            LINKNAME="lib${LIBNAME}.${LIBSUFFIX}"
 | 
			
		||||
            LIBNAME="lib${LIBNAME}.${MAJOR}.${LIBSUFFIX}"
 | 
			
		||||
            LINKNAME="lib${LIBNAME}.${MAJOR}.${LIBSUFFIX}"
 | 
			
		||||
            LINKNAME2="lib${LIBNAME}.${LIBSUFFIX}"
 | 
			
		||||
            LIBNAME="lib${LIBNAME}.${MAJOR}.${MINOR}.${LIBSUFFIX}"
 | 
			
		||||
 | 
			
		||||
	    # examine first object to determine ABI
 | 
			
		||||
    	    set ${OBJECTS}
 | 
			
		||||
            ABIS=`lipo -info $1 | sed s/.*://`
 | 
			
		||||
            for ABI in $ABIS; do
 | 
			
		||||
                OPTS="${OPTS} -arch ${ABI}"
 | 
			
		||||
            done
 | 
			
		||||
            ABI_PPC=`file $1 | grep ' ppc'`
 | 
			
		||||
            ABI_I386=`file $1 | grep ' i386'`
 | 
			
		||||
            ABI_PPC64=`file $1 | grep ' ppc64'`
 | 
			
		||||
            ABI_X86_64=`file $1 | grep ' x86_64'`
 | 
			
		||||
            if [ "${ABI_PPC}" ] ; then
 | 
			
		||||
                OPTS="${OPTS} -arch ppc"
 | 
			
		||||
            fi
 | 
			
		||||
            if [ "${ABI_I386}" ] ; then
 | 
			
		||||
                OPTS="${OPTS} -arch i386"
 | 
			
		||||
            fi
 | 
			
		||||
            if [ "${ABI_PPC64}" ] ; then
 | 
			
		||||
                OPTS="${OPTS} -arch ppc64"
 | 
			
		||||
            fi
 | 
			
		||||
            if [ "${ABI_X86_64}" ] ; then
 | 
			
		||||
                OPTS="${OPTS} -arch x86_64"
 | 
			
		||||
            fi
 | 
			
		||||
 | 
			
		||||
            if [ "${ALTOPTS}" ] ; then
 | 
			
		||||
                OPTS=${ALTOPTS}
 | 
			
		||||
            fi
 | 
			
		||||
 | 
			
		||||
	    # XXX can we always add -isysroot /Developer/SDKs/MacOSX10.4u.sdk
 | 
			
		||||
	    # to OPTS here?
 | 
			
		||||
 | 
			
		||||
	    # determine linker
 | 
			
		||||
	    if [ $CPLUSPLUS = 1 ] ; then
 | 
			
		||||
		LINK="g++"
 | 
			
		||||
@@ -792,14 +759,33 @@ case $ARCH in
 | 
			
		||||
 | 
			
		||||
            ${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
 | 
			
		||||
            ln -s ${LIBNAME} ${LINKNAME}
 | 
			
		||||
            FINAL_LIBS="${LIBNAME} ${LINKNAME}"
 | 
			
		||||
            ln -s ${LIBNAME} ${LINKNAME2}
 | 
			
		||||
            FINAL_LIBS="${LIBNAME} ${LINKNAME} ${LINKNAME2}"
 | 
			
		||||
        fi
 | 
			
		||||
        ;;
 | 
			
		||||
 | 
			
		||||
    'LynxOS')
 | 
			
		||||
	LIBNAME="lib${LIBNAME}.a"
 | 
			
		||||
	echo "mklib: Making LynxOS static library: " ${LIBNAME}
 | 
			
		||||
        FINAL_LIBS=`make_ar_static_lib -ru 0 ${LIBNAME} ${OBJECTS}`
 | 
			
		||||
	rm -f ${LIBNAME}
 | 
			
		||||
	ar ru ${LIBNAME} ${OBJECTS}
 | 
			
		||||
	FINAL_LIBS=${LIBNAME}
 | 
			
		||||
	;;
 | 
			
		||||
 | 
			
		||||
    'BeOS')
 | 
			
		||||
        if [ $STATIC = 1 ] ; then
 | 
			
		||||
            LIBNAME="lib${LIBNAME}.a"
 | 
			
		||||
            echo "mklib: Making BeOS static library: " ${LIBNAME}
 | 
			
		||||
            ar -cru "${LIBNAME}" ${OBJECTS}
 | 
			
		||||
        else
 | 
			
		||||
	    LIBNAME="lib${LIBNAME}.so"
 | 
			
		||||
	    echo "mklib: Making BeOS shared library: " ${LIBNAME}
 | 
			
		||||
	    gcc -nostart -Xlinker "-soname=${LIBNAME}" -L/Be/develop/lib/x86 -lbe ${DEPS} ${OBJECTS} -o "${LIBNAME}"
 | 
			
		||||
	    mimeset -f "${LIBNAME}"
 | 
			
		||||
	    # XXX remove the Mesa3D stuff here since mklib isn't mesa-specific.
 | 
			
		||||
	    setversion "${LIBNAME}" -app ${MAJOR} ${MINOR} ${PATCH} -short "Powered by Mesa3D!" -long "Powered by Mesa3D!"
 | 
			
		||||
	fi
 | 
			
		||||
	FINAL_LIBS=${LIBNAME}
 | 
			
		||||
	;;
 | 
			
		||||
 | 
			
		||||
    'QNX')
 | 
			
		||||
@@ -869,7 +855,9 @@ case $ARCH in
 | 
			
		||||
        if [ $STATIC = 1 ] ; then
 | 
			
		||||
	    LIBNAME="lib${LIBNAME}.a"
 | 
			
		||||
	    echo "mklib: Making AIX GCC static library: " ${LIBNAME}
 | 
			
		||||
            FINAL_LIBS=`make_ar_static_lib ru 0 ${LIBNAME} ${OBJECTS}`
 | 
			
		||||
	    rm -f ${LIBNAME}
 | 
			
		||||
	    ar ru ${LIBNAME} ${OBJECTS}
 | 
			
		||||
	    FINAL_LIBS=${LIBNAME}
 | 
			
		||||
	else
 | 
			
		||||
	    LIBNAME="lib${LIBNAME}.so"  # prefix with "lib", suffix with ".so"
 | 
			
		||||
	    echo "mklib: Making AIX GCC shared library: " ${LIBNAME}
 | 
			
		||||
@@ -890,21 +878,13 @@ case $ARCH in
 | 
			
		||||
	fi
 | 
			
		||||
	LIBNAME="lib${LIBNAME}.a"
 | 
			
		||||
	echo "mklib: Making static library for Ultrix: " ${LIBNAME}
 | 
			
		||||
        FINAL_LIBS=`make_ar_static_lib ru 0 ${LIBNAME} ${OBJECTS}`
 | 
			
		||||
	rm -f ${LIBNAME}
 | 
			
		||||
	ar ru ${LIBNAME} ${OBJECTS}
 | 
			
		||||
	FINAL_LIBS="${LIBNAME}"
 | 
			
		||||
	;;
 | 
			
		||||
 | 
			
		||||
     CYGWIN*)
 | 
			
		||||
	# GCC-based environment
 | 
			
		||||
 | 
			
		||||
	if [ "x$LINK" = "x" ] ; then
 | 
			
		||||
	    # -linker was not specified so set default link command now
 | 
			
		||||
            if [ $CPLUSPLUS = 1 ] ; then
 | 
			
		||||
                LINK=g++
 | 
			
		||||
            else
 | 
			
		||||
                LINK=gcc
 | 
			
		||||
            fi
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	if [ $NOPREFIX = 1 ] ; then
 | 
			
		||||
	    # No "lib" or ".so" part
 | 
			
		||||
	    echo "mklib: Making CYGWIN shared library: " ${LIBNAME}
 | 
			
		||||
@@ -913,33 +893,36 @@ case $ARCH in
 | 
			
		||||
                OPTS=${ALTOPTS}
 | 
			
		||||
            fi
 | 
			
		||||
	    rm -f ${LIBNAME}
 | 
			
		||||
	    ${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS} || exit $?
 | 
			
		||||
	    ${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
 | 
			
		||||
	    FINAL_LIBS=${LIBNAME}
 | 
			
		||||
        else
 | 
			
		||||
	CYGNAME="cyg${LIBNAME}"     # prefix with "cyg"
 | 
			
		||||
	LIBNAME="lib${LIBNAME}"     # prefix with "lib"
 | 
			
		||||
 | 
			
		||||
        if [ $STATIC = 1 ] ; then
 | 
			
		||||
	    LIBNAME=${LIBNAME}.a
 | 
			
		||||
            echo "mklib: Making CYGWIN static library: " ${LIBNAME}
 | 
			
		||||
            echo "mklib: Making" $ARCH "static library: " ${LIBNAME}.a
 | 
			
		||||
            LINK="ar"
 | 
			
		||||
            OPTS="-ru"
 | 
			
		||||
            if [ "${ALTOPTS}" ] ; then
 | 
			
		||||
                OPTS=${ALTOPTS}
 | 
			
		||||
            fi
 | 
			
		||||
 | 
			
		||||
            # expand .a into .o files
 | 
			
		||||
            NEW_OBJECTS=`expand_archives ${LIBNAME}.obj $OBJECTS`
 | 
			
		||||
 | 
			
		||||
            FINAL_LIBS=`make_ar_static_lib ${OPTS} 1 ${LIBNAME} ${NEW_OBJECTS}`
 | 
			
		||||
 | 
			
		||||
            # remove temporary extracted .o files
 | 
			
		||||
            rm -rf ${LIBNAME}.obj
 | 
			
		||||
            # make lib
 | 
			
		||||
            ${LINK} ${OPTS} ${LIBNAME}.a ${OBJECTS}
 | 
			
		||||
	    ranlib ${LIBNAME}.a
 | 
			
		||||
            # finish up
 | 
			
		||||
            FINAL_LIBS=${LIBNAME}.a
 | 
			
		||||
        else
 | 
			
		||||
	    OPTS="-shared -Wl,--enable-auto-image-base -Wl,-export-all -Wl,--out-implib=${LIBNAME}-${MAJOR}.dll.a"
 | 
			
		||||
            if [ "${ALTOPTS}" ] ; then
 | 
			
		||||
                OPTS=${ALTOPTS}
 | 
			
		||||
            fi
 | 
			
		||||
            echo "mklib: Making CYGWIN shared library: " ${CYGNAME}-${MAJOR}.dll
 | 
			
		||||
            echo "mklib: Making" $ARCH "shared library: " ${CYGNAME}-${MAJOR}.dll
 | 
			
		||||
 | 
			
		||||
            if [ $CPLUSPLUS = 1 ] ; then
 | 
			
		||||
                LINK="g++"
 | 
			
		||||
            else
 | 
			
		||||
                LINK="gcc"
 | 
			
		||||
            fi
 | 
			
		||||
 | 
			
		||||
            # rm any old libs
 | 
			
		||||
            rm -f ${CYGNAME}-${MAJOR}.dll
 | 
			
		||||
@@ -948,7 +931,7 @@ case $ARCH in
 | 
			
		||||
            rm -f ${LIBNAME}.a
 | 
			
		||||
 | 
			
		||||
            # make lib
 | 
			
		||||
            ${LINK} ${OPTS} ${LDFLAGS} -o ${CYGNAME}-${MAJOR}.dll ${OBJECTS} ${DEPS} || exit $?
 | 
			
		||||
            ${LINK} ${OPTS} ${LDFLAGS} -o ${CYGNAME}-${MAJOR}.dll ${OBJECTS} ${DEPS}
 | 
			
		||||
            # make usual symlinks
 | 
			
		||||
            ln -s ${LIBNAME}-${MAJOR}.dll.a ${LIBNAME}.dll.a
 | 
			
		||||
            # finish up
 | 
			
		||||
@@ -959,50 +942,15 @@ case $ARCH in
 | 
			
		||||
        fi
 | 
			
		||||
	;;
 | 
			
		||||
 | 
			
		||||
	'Haiku')
 | 
			
		||||
		if [ $STATIC = 1 ] ; then
 | 
			
		||||
			LIBNAME="lib${LIBNAME}.a"
 | 
			
		||||
			if [ "x$LINK" = "x" ] ; then
 | 
			
		||||
				# -linker was not specified so set default link command now
 | 
			
		||||
				if [ $CPLUSPLUS = 1 ] ; then
 | 
			
		||||
					LINK=g++
 | 
			
		||||
				else
 | 
			
		||||
					LINK=gcc
 | 
			
		||||
				fi
 | 
			
		||||
			fi
 | 
			
		||||
 | 
			
		||||
			OPTS="-ru"
 | 
			
		||||
			if [ "${ALTOPTS}" ] ; then
 | 
			
		||||
				OPTS=${ALTOPTS}
 | 
			
		||||
			fi
 | 
			
		||||
 | 
			
		||||
			echo "mklib: Making static library for Haiku: " ${LIBNAME}
 | 
			
		||||
 | 
			
		||||
			# expand .a into .o files
 | 
			
		||||
			NEW_OBJECTS=`expand_archives ${LIBNAME}.obj $OBJECTS`
 | 
			
		||||
 | 
			
		||||
			# make static lib
 | 
			
		||||
			FINAL_LIBS=`make_ar_static_lib ${OPTS} 1 ${LIBNAME} ${NEW_OBJECTS}`
 | 
			
		||||
 | 
			
		||||
			# remove temporary extracted .o files
 | 
			
		||||
			rm -rf ${LIBNAME}.obj
 | 
			
		||||
		else
 | 
			
		||||
			LIBNAME="lib${LIBNAME}.so"  # prefix with "lib", suffix with ".so"
 | 
			
		||||
			OPTS="-shared"
 | 
			
		||||
 | 
			
		||||
			echo "mklib: Making shared library for Haiku: " ${LIBNAME}
 | 
			
		||||
			${LINK} ${OPTS} ${LDFLAGS} ${OBJECTS} ${DEPS} -o ${LIBNAME}
 | 
			
		||||
			FINAL_LIBS="${LIBNAME}"
 | 
			
		||||
		fi
 | 
			
		||||
	;;
 | 
			
		||||
 | 
			
		||||
    'example')
 | 
			
		||||
	# If you're adding support for a new architecture, you can
 | 
			
		||||
	# start with this:
 | 
			
		||||
        if [ $STATIC = 1 ] ; then
 | 
			
		||||
	    LIBNAME="lib${LIBNAME}.a"
 | 
			
		||||
	    echo "mklib: Making static library for example arch: " ${LIBNAME}
 | 
			
		||||
            FINAL_LIBS=`make_ar_static_lib rv 0 ${LIBNAME} ${OBJECTS}`
 | 
			
		||||
	    rm -f ${LIBNAME}
 | 
			
		||||
	    ar rv ${LIBNAME} ${OBJECTS}
 | 
			
		||||
	    FINAL_LIBS="${LIBNAME}"
 | 
			
		||||
	else
 | 
			
		||||
	    LIBNAME="lib${LIBNAME}.so"  # prefix with "lib", suffix with ".so"
 | 
			
		||||
	    echo "mklib: Making shared library for example arch: " ${LIBNAME}
 | 
			
		||||
@@ -1025,9 +973,4 @@ if [ ${INSTALLDIR} != "." ] ; then
 | 
			
		||||
    echo "mklib: Installing" ${FINAL_LIBS} "in" ${INSTALLDIR}
 | 
			
		||||
    test -d ${INSTALLDIR} || mkdir -p ${INSTALLDIR}
 | 
			
		||||
    mv ${FINAL_LIBS} ${INSTALLDIR}/
 | 
			
		||||
 | 
			
		||||
    if [ "x${FINAL_BINS}" != "x" ] ; then
 | 
			
		||||
        echo "mklib: Installing" ${FINAL_BINS} "in" ${INSTALLDIR}
 | 
			
		||||
        mv ${FINAL_BINS} ${INSTALLDIR}/
 | 
			
		||||
    fi
 | 
			
		||||
fi
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										366
									
								
								bin/raw2png.py
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										366
									
								
								bin/raw2png.py
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,366 @@
 | 
			
		||||
#!/usr/bin/env python
 | 
			
		||||
##########################################################################
 | 
			
		||||
# 
 | 
			
		||||
# Copyright 2008 Tungsten Graphics, Inc., Cedar Park, Texas.
 | 
			
		||||
# All Rights Reserved.
 | 
			
		||||
# 
 | 
			
		||||
# 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, sub license, 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 NON-INFRINGEMENT.
 | 
			
		||||
# IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS 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.
 | 
			
		||||
# 
 | 
			
		||||
##########################################################################
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import os.path
 | 
			
		||||
import sys
 | 
			
		||||
import struct
 | 
			
		||||
import Image # http://www.pythonware.com/products/pil/
 | 
			
		||||
 | 
			
		||||
PIPE_FORMAT_LAYOUT_RGBAZS   = 0
 | 
			
		||||
PIPE_FORMAT_LAYOUT_YCBCR    = 1
 | 
			
		||||
PIPE_FORMAT_LAYOUT_DXT      = 2
 | 
			
		||||
PIPE_FORMAT_LAYOUT_MIXED    = 3
 | 
			
		||||
 | 
			
		||||
PIPE_FORMAT_COMP_R    = 0
 | 
			
		||||
PIPE_FORMAT_COMP_G    = 1
 | 
			
		||||
PIPE_FORMAT_COMP_B    = 2
 | 
			
		||||
PIPE_FORMAT_COMP_A    = 3
 | 
			
		||||
PIPE_FORMAT_COMP_0    = 4
 | 
			
		||||
PIPE_FORMAT_COMP_1    = 5
 | 
			
		||||
PIPE_FORMAT_COMP_Z    = 6
 | 
			
		||||
PIPE_FORMAT_COMP_S    = 7
 | 
			
		||||
 | 
			
		||||
PIPE_FORMAT_TYPE_UNKNOWN = 0
 | 
			
		||||
PIPE_FORMAT_TYPE_FLOAT   = 1
 | 
			
		||||
PIPE_FORMAT_TYPE_UNORM   = 2
 | 
			
		||||
PIPE_FORMAT_TYPE_SNORM   = 3
 | 
			
		||||
PIPE_FORMAT_TYPE_USCALED = 4
 | 
			
		||||
PIPE_FORMAT_TYPE_SSCALED = 5
 | 
			
		||||
PIPE_FORMAT_TYPE_SRGB    = 6
 | 
			
		||||
PIPE_FORMAT_TYPE_FIXED   = 7
 | 
			
		||||
 | 
			
		||||
def _PIPE_FORMAT_RGBAZS( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, EXP2, TYPE ):
 | 
			
		||||
   return ((PIPE_FORMAT_LAYOUT_RGBAZS << 0) |\
 | 
			
		||||
   ((SWZ) << 2) |\
 | 
			
		||||
   ((SIZEX) << 14) |\
 | 
			
		||||
   ((SIZEY) << 17) |\
 | 
			
		||||
   ((SIZEZ) << 20) |\
 | 
			
		||||
   ((SIZEW) << 23) |\
 | 
			
		||||
   ((EXP2) << 26) |\
 | 
			
		||||
   ((TYPE) << 29) )
 | 
			
		||||
 | 
			
		||||
def _PIPE_FORMAT_SWZ( SWZX, SWZY, SWZZ, SWZW ):
 | 
			
		||||
	return (((SWZX) << 0) | ((SWZY) << 3) | ((SWZZ) << 6) | ((SWZW) << 9))
 | 
			
		||||
 | 
			
		||||
def _PIPE_FORMAT_RGBAZS_1( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, TYPE ):
 | 
			
		||||
	return _PIPE_FORMAT_RGBAZS( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, 0, TYPE )
 | 
			
		||||
 | 
			
		||||
def _PIPE_FORMAT_RGBAZS_2( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, TYPE ):
 | 
			
		||||
    _PIPE_FORMAT_RGBAZS( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, 1, TYPE )
 | 
			
		||||
 | 
			
		||||
def _PIPE_FORMAT_RGBAZS_8( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, TYPE ):
 | 
			
		||||
	return _PIPE_FORMAT_RGBAZS( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, 3, TYPE )
 | 
			
		||||
 | 
			
		||||
def _PIPE_FORMAT_RGBAZS_64( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, TYPE ):
 | 
			
		||||
	return _PIPE_FORMAT_RGBAZS( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, 6, TYPE )
 | 
			
		||||
 | 
			
		||||
def _PIPE_FORMAT_MIXED( SWZ, SIZEX, SIZEY, SIZEZ, SIZEW, SIGNX, SIGNY, SIGNZ, SIGNW, NORMALIZED, SCALE8 ):
 | 
			
		||||
    return ((PIPE_FORMAT_LAYOUT_MIXED << 0) |\
 | 
			
		||||
    ((SWZ) << 2) |\
 | 
			
		||||
    ((SIZEX) << 14) |\
 | 
			
		||||
    ((SIZEY) << 17) |\
 | 
			
		||||
    ((SIZEZ) << 20) |\
 | 
			
		||||
    ((SIZEW) << 23) |\
 | 
			
		||||
    ((SIGNX) << 26) |\
 | 
			
		||||
    ((SIGNY) << 27) |\
 | 
			
		||||
    ((SIGNZ) << 28) |\
 | 
			
		||||
    ((SIGNW) << 29) |\
 | 
			
		||||
    ((NORMALIZED) << 30) |\
 | 
			
		||||
    ((SCALE8) << 31) )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
_PIPE_FORMAT_R001 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_1 )
 | 
			
		||||
_PIPE_FORMAT_RG01 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_1 )
 | 
			
		||||
_PIPE_FORMAT_RGB1 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_B, PIPE_FORMAT_COMP_1 )
 | 
			
		||||
_PIPE_FORMAT_RGBA = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_B, PIPE_FORMAT_COMP_A )
 | 
			
		||||
_PIPE_FORMAT_ARGB = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_A, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_B )
 | 
			
		||||
_PIPE_FORMAT_ABGR = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_A, PIPE_FORMAT_COMP_B, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_R )
 | 
			
		||||
_PIPE_FORMAT_BGRA = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_B, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_A )
 | 
			
		||||
_PIPE_FORMAT_1RGB = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_1, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_B )
 | 
			
		||||
_PIPE_FORMAT_1BGR = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_1, PIPE_FORMAT_COMP_B, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_R )
 | 
			
		||||
_PIPE_FORMAT_BGR1 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_B, PIPE_FORMAT_COMP_G, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_1 )
 | 
			
		||||
_PIPE_FORMAT_0000 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0 )
 | 
			
		||||
_PIPE_FORMAT_000R = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_R )
 | 
			
		||||
_PIPE_FORMAT_RRR1 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_1 )
 | 
			
		||||
_PIPE_FORMAT_RRRR = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_R )
 | 
			
		||||
_PIPE_FORMAT_RRRG = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_R, PIPE_FORMAT_COMP_G )
 | 
			
		||||
_PIPE_FORMAT_Z000 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_Z, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0 )
 | 
			
		||||
_PIPE_FORMAT_0Z00 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_Z, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0 )
 | 
			
		||||
_PIPE_FORMAT_SZ00 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_S, PIPE_FORMAT_COMP_Z, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0 )
 | 
			
		||||
_PIPE_FORMAT_ZS00 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_Z, PIPE_FORMAT_COMP_S, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0 )
 | 
			
		||||
_PIPE_FORMAT_S000 = _PIPE_FORMAT_SWZ( PIPE_FORMAT_COMP_S, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0, PIPE_FORMAT_COMP_0 )
 | 
			
		||||
 | 
			
		||||
def _PIPE_FORMAT_YCBCR( REV ):
 | 
			
		||||
   return ((PIPE_FORMAT_LAYOUT_YCBCR << 0) |\
 | 
			
		||||
   ((REV) << 2) )
 | 
			
		||||
 | 
			
		||||
def _PIPE_FORMAT_DXT( LEVEL, RSIZE, GSIZE, BSIZE, ASIZE ):
 | 
			
		||||
    return ((PIPE_FORMAT_LAYOUT_DXT << 0) | \
 | 
			
		||||
    ((LEVEL) << 2) | \
 | 
			
		||||
    ((RSIZE) << 5) | \
 | 
			
		||||
    ((GSIZE) << 8) | \
 | 
			
		||||
    ((BSIZE) << 11) | \
 | 
			
		||||
    ((ASIZE) << 14) )
 | 
			
		||||
 | 
			
		||||
PIPE_FORMAT_NONE                  = _PIPE_FORMAT_RGBAZS_1 ( _PIPE_FORMAT_0000, 0, 0, 0, 0, PIPE_FORMAT_TYPE_UNKNOWN )
 | 
			
		||||
PIPE_FORMAT_A8R8G8B8_UNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_ARGB, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_X8R8G8B8_UNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_1RGB, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_B8G8R8A8_UNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_BGRA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_B8G8R8X8_UNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_BGR1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_A1R5G5B5_UNORM        = _PIPE_FORMAT_RGBAZS_1 ( _PIPE_FORMAT_ARGB, 1, 5, 5, 5, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_A4R4G4B4_UNORM        = _PIPE_FORMAT_RGBAZS_1 ( _PIPE_FORMAT_ARGB, 4, 4, 4, 4, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_R5G6B5_UNORM          = _PIPE_FORMAT_RGBAZS_1 ( _PIPE_FORMAT_RGB1, 5, 6, 5, 0, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_A2B10G10R10_UNORM     = _PIPE_FORMAT_RGBAZS_2 ( _PIPE_FORMAT_ABGR, 1, 5, 5, 5, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_L8_UNORM              = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRR1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_A8_UNORM              = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_000R, 0, 0, 0, 1, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_I8_UNORM              = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRRR, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_A8L8_UNORM            = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRRG, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_L16_UNORM             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRR1, 2, 2, 2, 0, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_YCBCR                 = _PIPE_FORMAT_YCBCR( 0 )
 | 
			
		||||
PIPE_FORMAT_YCBCR_REV             = _PIPE_FORMAT_YCBCR( 1 )
 | 
			
		||||
PIPE_FORMAT_Z16_UNORM             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_Z000, 2, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_Z32_UNORM             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_Z000, 4, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_Z32_FLOAT             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_Z000, 4, 0, 0, 0, PIPE_FORMAT_TYPE_FLOAT )
 | 
			
		||||
PIPE_FORMAT_S8Z24_UNORM           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_SZ00, 1, 3, 0, 0, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_Z24S8_UNORM           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_ZS00, 3, 1, 0, 0, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_X8Z24_UNORM           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_0Z00, 1, 3, 0, 0, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_Z24X8_UNORM           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_Z000, 3, 1, 0, 0, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_S8_UNORM              = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_S000, 1, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_R64_FLOAT             = _PIPE_FORMAT_RGBAZS_64( _PIPE_FORMAT_R001, 1, 0, 0, 0, PIPE_FORMAT_TYPE_FLOAT )
 | 
			
		||||
PIPE_FORMAT_R64G64_FLOAT          = _PIPE_FORMAT_RGBAZS_64( _PIPE_FORMAT_RG01, 1, 1, 0, 0, PIPE_FORMAT_TYPE_FLOAT )
 | 
			
		||||
PIPE_FORMAT_R64G64B64_FLOAT       = _PIPE_FORMAT_RGBAZS_64( _PIPE_FORMAT_RGB1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_FLOAT )
 | 
			
		||||
PIPE_FORMAT_R64G64B64A64_FLOAT    = _PIPE_FORMAT_RGBAZS_64( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_FLOAT )
 | 
			
		||||
PIPE_FORMAT_R32_FLOAT             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 4, 0, 0, 0, PIPE_FORMAT_TYPE_FLOAT )
 | 
			
		||||
PIPE_FORMAT_R32G32_FLOAT          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 4, 4, 0, 0, PIPE_FORMAT_TYPE_FLOAT )
 | 
			
		||||
PIPE_FORMAT_R32G32B32_FLOAT       = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 4, 4, 4, 0, PIPE_FORMAT_TYPE_FLOAT )
 | 
			
		||||
PIPE_FORMAT_R32G32B32A32_FLOAT    = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_FLOAT )
 | 
			
		||||
PIPE_FORMAT_R32_UNORM             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 4, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_R32G32_UNORM          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 4, 4, 0, 0, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_R32G32B32_UNORM       = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 4, 4, 4, 0, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_R32G32B32A32_UNORM    = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_R32_USCALED           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 4, 0, 0, 0, PIPE_FORMAT_TYPE_USCALED )
 | 
			
		||||
PIPE_FORMAT_R32G32_USCALED        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 4, 4, 0, 0, PIPE_FORMAT_TYPE_USCALED )
 | 
			
		||||
PIPE_FORMAT_R32G32B32_USCALED     = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 4, 4, 4, 0, PIPE_FORMAT_TYPE_USCALED )
 | 
			
		||||
PIPE_FORMAT_R32G32B32A32_USCALED  = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_USCALED )
 | 
			
		||||
PIPE_FORMAT_R32_SNORM             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 4, 0, 0, 0, PIPE_FORMAT_TYPE_SNORM )
 | 
			
		||||
PIPE_FORMAT_R32G32_SNORM          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 4, 4, 0, 0, PIPE_FORMAT_TYPE_SNORM )
 | 
			
		||||
PIPE_FORMAT_R32G32B32_SNORM       = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 4, 4, 4, 0, PIPE_FORMAT_TYPE_SNORM )
 | 
			
		||||
PIPE_FORMAT_R32G32B32A32_SNORM    = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_SNORM )
 | 
			
		||||
PIPE_FORMAT_R32_SSCALED           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 4, 0, 0, 0, PIPE_FORMAT_TYPE_SSCALED )
 | 
			
		||||
PIPE_FORMAT_R32G32_SSCALED        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 4, 4, 0, 0, PIPE_FORMAT_TYPE_SSCALED )
 | 
			
		||||
PIPE_FORMAT_R32G32B32_SSCALED     = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 4, 4, 4, 0, PIPE_FORMAT_TYPE_SSCALED )
 | 
			
		||||
PIPE_FORMAT_R32G32B32A32_SSCALED  = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_SSCALED )
 | 
			
		||||
PIPE_FORMAT_R16_UNORM             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 2, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_R16G16_UNORM          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 2, 2, 0, 0, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_R16G16B16_UNORM       = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 2, 2, 2, 0, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_R16G16B16A16_UNORM    = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 2, 2, 2, 2, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_R16_USCALED           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 2, 0, 0, 0, PIPE_FORMAT_TYPE_USCALED )
 | 
			
		||||
PIPE_FORMAT_R16G16_USCALED        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 2, 2, 0, 0, PIPE_FORMAT_TYPE_USCALED )
 | 
			
		||||
PIPE_FORMAT_R16G16B16_USCALED     = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 2, 2, 2, 0, PIPE_FORMAT_TYPE_USCALED )
 | 
			
		||||
PIPE_FORMAT_R16G16B16A16_USCALED  = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 2, 2, 2, 2, PIPE_FORMAT_TYPE_USCALED )
 | 
			
		||||
PIPE_FORMAT_R16_SNORM             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 2, 0, 0, 0, PIPE_FORMAT_TYPE_SNORM )
 | 
			
		||||
PIPE_FORMAT_R16G16_SNORM          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 2, 2, 0, 0, PIPE_FORMAT_TYPE_SNORM )
 | 
			
		||||
PIPE_FORMAT_R16G16B16_SNORM       = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 2, 2, 2, 0, PIPE_FORMAT_TYPE_SNORM )
 | 
			
		||||
PIPE_FORMAT_R16G16B16A16_SNORM    = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 2, 2, 2, 2, PIPE_FORMAT_TYPE_SNORM )
 | 
			
		||||
PIPE_FORMAT_R16_SSCALED           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 2, 0, 0, 0, PIPE_FORMAT_TYPE_SSCALED )
 | 
			
		||||
PIPE_FORMAT_R16G16_SSCALED        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 2, 2, 0, 0, PIPE_FORMAT_TYPE_SSCALED )
 | 
			
		||||
PIPE_FORMAT_R16G16B16_SSCALED     = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 2, 2, 2, 0, PIPE_FORMAT_TYPE_SSCALED )
 | 
			
		||||
PIPE_FORMAT_R16G16B16A16_SSCALED  = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 2, 2, 2, 2, PIPE_FORMAT_TYPE_SSCALED )
 | 
			
		||||
PIPE_FORMAT_R8_UNORM              = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 1, 0, 0, 0, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_R8G8_UNORM            = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 1, 1, 0, 0, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_R8G8B8_UNORM          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_R8G8B8A8_UNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_R8G8B8X8_UNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_UNORM )
 | 
			
		||||
PIPE_FORMAT_R8_USCALED            = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 1, 0, 0, 0, PIPE_FORMAT_TYPE_USCALED )
 | 
			
		||||
PIPE_FORMAT_R8G8_USCALED          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 1, 1, 0, 0, PIPE_FORMAT_TYPE_USCALED )
 | 
			
		||||
PIPE_FORMAT_R8G8B8_USCALED        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_USCALED )
 | 
			
		||||
PIPE_FORMAT_R8G8B8A8_USCALED      = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_USCALED )
 | 
			
		||||
PIPE_FORMAT_R8G8B8X8_USCALED      = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_USCALED )
 | 
			
		||||
PIPE_FORMAT_R8_SNORM              = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 1, 0, 0, 0, PIPE_FORMAT_TYPE_SNORM )
 | 
			
		||||
PIPE_FORMAT_R8G8_SNORM            = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 1, 1, 0, 0, PIPE_FORMAT_TYPE_SNORM )
 | 
			
		||||
PIPE_FORMAT_R8G8B8_SNORM          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_SNORM )
 | 
			
		||||
PIPE_FORMAT_R8G8B8A8_SNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SNORM )
 | 
			
		||||
PIPE_FORMAT_R8G8B8X8_SNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SNORM )
 | 
			
		||||
PIPE_FORMAT_B6G5R5_SNORM          = _PIPE_FORMAT_RGBAZS_1 ( _PIPE_FORMAT_BGR1, 6, 5, 5, 0, PIPE_FORMAT_TYPE_SNORM )
 | 
			
		||||
PIPE_FORMAT_A8B8G8R8_SNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_BGRA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SNORM )
 | 
			
		||||
PIPE_FORMAT_X8B8G8R8_SNORM        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SNORM )
 | 
			
		||||
PIPE_FORMAT_R8_SSCALED            = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 1, 0, 0, 0, PIPE_FORMAT_TYPE_SSCALED )
 | 
			
		||||
PIPE_FORMAT_R8G8_SSCALED          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 1, 1, 0, 0, PIPE_FORMAT_TYPE_SSCALED )
 | 
			
		||||
PIPE_FORMAT_R8G8B8_SSCALED        = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_SSCALED )
 | 
			
		||||
PIPE_FORMAT_R8G8B8A8_SSCALED      = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SSCALED )
 | 
			
		||||
PIPE_FORMAT_R8G8B8X8_SSCALED      = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SSCALED )
 | 
			
		||||
PIPE_FORMAT_R32_FIXED             = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_R001, 4, 0, 0, 0, PIPE_FORMAT_TYPE_FIXED )
 | 
			
		||||
PIPE_FORMAT_R32G32_FIXED          = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RG01, 4, 4, 0, 0, PIPE_FORMAT_TYPE_FIXED )
 | 
			
		||||
PIPE_FORMAT_R32G32B32_FIXED       = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 4, 4, 4, 0, PIPE_FORMAT_TYPE_FIXED )
 | 
			
		||||
PIPE_FORMAT_R32G32B32A32_FIXED    = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 4, 4, 4, 4, PIPE_FORMAT_TYPE_FIXED )
 | 
			
		||||
PIPE_FORMAT_L8_SRGB               = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRR1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_SRGB )
 | 
			
		||||
PIPE_FORMAT_A8_L8_SRGB            = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RRRG, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SRGB )
 | 
			
		||||
PIPE_FORMAT_R8G8B8_SRGB           = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 0, PIPE_FORMAT_TYPE_SRGB )
 | 
			
		||||
PIPE_FORMAT_R8G8B8A8_SRGB         = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGBA, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SRGB )
 | 
			
		||||
PIPE_FORMAT_R8G8B8X8_SRGB         = _PIPE_FORMAT_RGBAZS_8 ( _PIPE_FORMAT_RGB1, 1, 1, 1, 1, PIPE_FORMAT_TYPE_SRGB )
 | 
			
		||||
PIPE_FORMAT_X8UB8UG8SR8S_NORM     = _PIPE_FORMAT_MIXED( _PIPE_FORMAT_1BGR, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1 )
 | 
			
		||||
PIPE_FORMAT_B6UG5SR5S_NORM        = _PIPE_FORMAT_MIXED( _PIPE_FORMAT_BGR1, 6, 5, 5, 0, 0, 1, 1, 0, 1, 0 )
 | 
			
		||||
PIPE_FORMAT_DXT1_RGB              = _PIPE_FORMAT_DXT( 1, 8, 8, 8, 0 )
 | 
			
		||||
PIPE_FORMAT_DXT1_RGBA             = _PIPE_FORMAT_DXT( 1, 8, 8, 8, 8 )
 | 
			
		||||
PIPE_FORMAT_DXT3_RGBA             = _PIPE_FORMAT_DXT( 3, 8, 8, 8, 8 )
 | 
			
		||||
PIPE_FORMAT_DXT5_RGBA             = _PIPE_FORMAT_DXT( 5, 8, 8, 8, 8 )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
formats = {}
 | 
			
		||||
for name, value in globals().items():
 | 
			
		||||
    if name.startswith("PIPE_FORMAT_") and isinstance(value, int):
 | 
			
		||||
        formats[value] = name
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def clip(g):
 | 
			
		||||
	return min(max(g, 0), 255)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def yuv2rgb(y, u, v):
 | 
			
		||||
	C = y - 16
 | 
			
		||||
	D = u - 128
 | 
			
		||||
	E = v - 128
 | 
			
		||||
 | 
			
		||||
	r = clip(( 298 * C           + 409 * E + 128) >> 8)
 | 
			
		||||
	g = clip(( 298 * C - 100 * D - 208 * E + 128) >> 8)
 | 
			
		||||
	b = clip(( 298 * C + 516 * D           + 128) >> 8)
 | 
			
		||||
	
 | 
			
		||||
	return r, g, b
 | 
			
		||||
 | 
			
		||||
	
 | 
			
		||||
def translate_r5g6b5(data):
 | 
			
		||||
	value, = struct.unpack_from("H", data)
 | 
			
		||||
	r = ((value >> 11) & 0x1f)*0xff/0x1f
 | 
			
		||||
	g = ((value >>  5) & 0x3f)*0xff/0x3f
 | 
			
		||||
	b = ((value >>  0) & 0x1f)*0xff/0x1f
 | 
			
		||||
	a = 255
 | 
			
		||||
	return [[(r, g, b, a)]]
 | 
			
		||||
 | 
			
		||||
def translate_a8r8g8b8(data):
 | 
			
		||||
    b, g, r, a = struct.unpack_from("BBBB", data)
 | 
			
		||||
    return [[(r, g, b, a)]]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def translate_x8r8g8b8(data):
 | 
			
		||||
    b, g, r, x = struct.unpack_from("BBBB", data)
 | 
			
		||||
    a = 255
 | 
			
		||||
    return [[(r, g, b, a)]]
 | 
			
		||||
 | 
			
		||||
def translate_r8g8b8a8(data):
 | 
			
		||||
	r, g, b, a = struct.unpack_from("BBBB", data)
 | 
			
		||||
	return [[(r, g, b, a)]]
 | 
			
		||||
 | 
			
		||||
def translate_ycbcr(data):
 | 
			
		||||
	y1, u, y2, v = struct.unpack_from("BBBB", data)
 | 
			
		||||
	r1, g1, b1 = yuv2rgb(y1, u, v)
 | 
			
		||||
	r2, g2, b2 = yuv2rgb(y1, u, v)
 | 
			
		||||
	return [[(r1, g1, b1, 255), (r2, g2, b2, 255)]]
 | 
			
		||||
 | 
			
		||||
def translate_ycbcr_rev(data):
 | 
			
		||||
    v, y2, u, y1 = struct.unpack_from("BBBB", data)
 | 
			
		||||
    r1, g1, b1 = yuv2rgb(y1, u, v)
 | 
			
		||||
    r2, g2, b2 = yuv2rgb(y1, u, v)
 | 
			
		||||
    return [[(r1, g1, b1, 255), (r2, g2, b2, 255)]]
 | 
			
		||||
 | 
			
		||||
def translate_x8z24(data):
 | 
			
		||||
    value, = struct.unpack_from("I", data)
 | 
			
		||||
    r = g = b = (value & 0xffffff)*0xff/0xffffff
 | 
			
		||||
    a = 255
 | 
			
		||||
    return [[(r, g, b, a)]]
 | 
			
		||||
 | 
			
		||||
def translate_s8z24(data):
 | 
			
		||||
    value, = struct.unpack_from("I", data)
 | 
			
		||||
    r = (value & 0xffffff)*0xff/0xffffff
 | 
			
		||||
    g = value >> 24
 | 
			
		||||
    b = 0
 | 
			
		||||
    a = 255
 | 
			
		||||
    return [[(r, g, b, a)]]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
translate = {
 | 
			
		||||
	PIPE_FORMAT_A8R8G8B8_UNORM: (4, 1, 1, translate_a8r8g8b8),
 | 
			
		||||
	PIPE_FORMAT_X8R8G8B8_UNORM: (4, 1, 1, translate_x8r8g8b8),
 | 
			
		||||
	PIPE_FORMAT_B8G8R8A8_UNORM: (4, 1, 1, translate_r8g8b8a8),
 | 
			
		||||
	PIPE_FORMAT_B8G8R8X8_UNORM: (4, 1, 1, translate_r8g8b8a8),
 | 
			
		||||
	PIPE_FORMAT_A8B8G8R8_SNORM: (4, 1, 1, translate_r8g8b8a8),
 | 
			
		||||
	PIPE_FORMAT_R5G6B5_UNORM: (2, 1, 1, translate_r5g6b5),
 | 
			
		||||
	PIPE_FORMAT_YCBCR: (4, 2, 1, translate_ycbcr),
 | 
			
		||||
	PIPE_FORMAT_YCBCR_REV: (4, 2, 1, translate_ycbcr_rev),
 | 
			
		||||
    PIPE_FORMAT_S8Z24_UNORM: (4, 1, 1, translate_s8z24),
 | 
			
		||||
    PIPE_FORMAT_X8Z24_UNORM: (4, 1, 1, translate_x8z24),
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
def read_header(infile):
 | 
			
		||||
	header_fmt = "IIII"
 | 
			
		||||
	header = infile.read(struct.calcsize(header_fmt))
 | 
			
		||||
	return struct.unpack_from(header_fmt, header)
 | 
			
		||||
 | 
			
		||||
def process(infilename, outfilename):
 | 
			
		||||
	sys.stderr.write("%s -> %s\n" % (infilename, outfilename))
 | 
			
		||||
	infile = open(infilename, "rb")
 | 
			
		||||
	format, cpp, width, height = read_header(infile)
 | 
			
		||||
	sys.stderr.write("  %ux%ux%ubpp %s\n" % (width, height, cpp*8, formats[format]))
 | 
			
		||||
	outimage = Image.new(
 | 
			
		||||
	mode='RGB',
 | 
			
		||||
	size=(width, height),
 | 
			
		||||
	color=(0,0,0))
 | 
			
		||||
	outpixels = outimage.load()
 | 
			
		||||
	try:
 | 
			
		||||
		bsize, bwidth, bheight, translate_func = translate[format]
 | 
			
		||||
	except KeyError:
 | 
			
		||||
		sys.stderr.write('error: unsupported format %s\n' % formats[format])
 | 
			
		||||
		return
 | 
			
		||||
	for y in range(0, height, bheight):
 | 
			
		||||
		for x in range(0, width, bwidth):
 | 
			
		||||
			indata = infile.read(bsize)
 | 
			
		||||
			outdata = translate_func(indata)
 | 
			
		||||
			for j in range(bheight):
 | 
			
		||||
				for i in range(bwidth):
 | 
			
		||||
					r, g, b, a = outdata[j][i]
 | 
			
		||||
					outpixels[x+i, y+j] = r, g, b
 | 
			
		||||
	outimage.save(outfilename, "PNG")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def main():
 | 
			
		||||
	if sys.platform == 'win32':
 | 
			
		||||
		# wildcard expansion
 | 
			
		||||
		from glob import glob
 | 
			
		||||
		args = []
 | 
			
		||||
		for arg in sys.argv[1:]:
 | 
			
		||||
			args.extend(glob(arg))
 | 
			
		||||
	else:
 | 
			
		||||
		args = sys.argv[1:]
 | 
			
		||||
	for infilename in args:
 | 
			
		||||
		root, ext = os.path.splitext(infilename)
 | 
			
		||||
		outfilename = root + ".png"
 | 
			
		||||
		process(infilename, outfilename)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if __name__ == '__main__':
 | 
			
		||||
	main()
 | 
			
		||||
							
								
								
									
										309
									
								
								bin/win32kprof.py
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										309
									
								
								bin/win32kprof.py
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,309 @@
 | 
			
		||||
#!/usr/bin/env python
 | 
			
		||||
##########################################################################
 | 
			
		||||
# 
 | 
			
		||||
# Copyright 2008 Tungsten Graphics, Inc., Cedar Park, Texas.
 | 
			
		||||
# All Rights Reserved.
 | 
			
		||||
# 
 | 
			
		||||
# 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, sub license, 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 NON-INFRINGEMENT.
 | 
			
		||||
# IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS 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.
 | 
			
		||||
# 
 | 
			
		||||
##########################################################################
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import sys
 | 
			
		||||
import optparse
 | 
			
		||||
import re
 | 
			
		||||
import struct
 | 
			
		||||
 | 
			
		||||
from gprof2dot import Call, Function, Profile
 | 
			
		||||
from gprof2dot import CALLS, SAMPLES, TIME, TIME_RATIO, TOTAL_TIME, TOTAL_TIME_RATIO
 | 
			
		||||
from gprof2dot import DotWriter, TEMPERATURE_COLORMAP
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
__version__ = '0.1'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class ParseError(Exception):
 | 
			
		||||
    pass
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class MsvcDemangler:
 | 
			
		||||
    # http://www.kegel.com/mangle.html
 | 
			
		||||
 | 
			
		||||
    def __init__(self, symbol):
 | 
			
		||||
        self._symbol = symbol
 | 
			
		||||
        self._pos = 0
 | 
			
		||||
 | 
			
		||||
    def lookahead(self):
 | 
			
		||||
        return self._symbol[self._pos]
 | 
			
		||||
 | 
			
		||||
    def consume(self):
 | 
			
		||||
        ret = self.lookahead()
 | 
			
		||||
        self._pos += 1
 | 
			
		||||
        return ret
 | 
			
		||||
    
 | 
			
		||||
    def match(self, c):
 | 
			
		||||
        if self.lookahead() != c:
 | 
			
		||||
            raise ParseError
 | 
			
		||||
        self.consume()
 | 
			
		||||
 | 
			
		||||
    def parse(self):
 | 
			
		||||
        self.match('?')
 | 
			
		||||
        name = self.parse_name()
 | 
			
		||||
        qualifications = self.parse_qualifications()
 | 
			
		||||
        return '::'.join(qualifications + [name])
 | 
			
		||||
 | 
			
		||||
    def parse_name(self):
 | 
			
		||||
        if self.lookahead() == '?':
 | 
			
		||||
            return self.consume() + self.consume()
 | 
			
		||||
        else:
 | 
			
		||||
            name = self.parse_id()
 | 
			
		||||
            self.match('@')
 | 
			
		||||
            return name
 | 
			
		||||
 | 
			
		||||
    def parse_qualifications(self):
 | 
			
		||||
        qualifications = []
 | 
			
		||||
        while self.lookahead() != '@':
 | 
			
		||||
            name = self.parse_id()
 | 
			
		||||
            qualifications.append(name)
 | 
			
		||||
            self.match('@')
 | 
			
		||||
        return qualifications
 | 
			
		||||
 | 
			
		||||
    def parse_id(self):
 | 
			
		||||
        s = ''
 | 
			
		||||
        while True:
 | 
			
		||||
            c = self.lookahead()
 | 
			
		||||
            if c.isalnum() or c in '_':
 | 
			
		||||
                s += c
 | 
			
		||||
                self.consume()
 | 
			
		||||
            else:
 | 
			
		||||
                break
 | 
			
		||||
        return s
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def demangle(name):
 | 
			
		||||
    if name.startswith('_'):
 | 
			
		||||
        name = name[1:]
 | 
			
		||||
        idx = name.rfind('@')
 | 
			
		||||
        if idx != -1 and name[idx+1:].isdigit():
 | 
			
		||||
            name = name[:idx]
 | 
			
		||||
        return name
 | 
			
		||||
    if name.startswith('?'):
 | 
			
		||||
        demangler = MsvcDemangler(name)
 | 
			
		||||
        return demangler.parse()
 | 
			
		||||
    return name
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Reader:
 | 
			
		||||
 | 
			
		||||
    def __init__(self):
 | 
			
		||||
        self.symbols = []
 | 
			
		||||
        self.symbol_cache = {}
 | 
			
		||||
        self.base_addr = None
 | 
			
		||||
    
 | 
			
		||||
    def read_map(self, mapfile):
 | 
			
		||||
        # See http://msdn.microsoft.com/en-us/library/k7xkk3e2.aspx
 | 
			
		||||
        last_addr = 0
 | 
			
		||||
        last_name = 0
 | 
			
		||||
        for line in file(mapfile, "rt"):
 | 
			
		||||
            fields = line.split()
 | 
			
		||||
            try:
 | 
			
		||||
                section_offset, name, addr, type, lib_object = fields
 | 
			
		||||
            except ValueError:
 | 
			
		||||
                continue
 | 
			
		||||
            if type != 'f':
 | 
			
		||||
                continue
 | 
			
		||||
            section, offset = section_offset.split(':')
 | 
			
		||||
            addr = int(offset, 16)
 | 
			
		||||
            self.symbols.append((addr, name))
 | 
			
		||||
            last_addr = addr
 | 
			
		||||
            last_name = name
 | 
			
		||||
 | 
			
		||||
        # sort symbols
 | 
			
		||||
        self.symbols.sort(key = lambda (addr, name): addr)
 | 
			
		||||
 | 
			
		||||
    def lookup_addr(self, addr):
 | 
			
		||||
        try:
 | 
			
		||||
            return self.symbol_cache[addr]
 | 
			
		||||
        except KeyError:
 | 
			
		||||
            pass
 | 
			
		||||
 | 
			
		||||
        tolerance = 4196
 | 
			
		||||
        s, e = 0, len(self.symbols)
 | 
			
		||||
        while s != e:
 | 
			
		||||
            i = (s + e)//2
 | 
			
		||||
            start_addr, name = self.symbols[i]
 | 
			
		||||
            try:
 | 
			
		||||
                end_addr, next_name = self.symbols[i + 1]
 | 
			
		||||
            except IndexError:
 | 
			
		||||
                end_addr = start_addr + tolerance
 | 
			
		||||
            if addr < start_addr:
 | 
			
		||||
                e = i
 | 
			
		||||
                continue
 | 
			
		||||
            if addr == end_addr:
 | 
			
		||||
                return next_name, addr - start_addr
 | 
			
		||||
            if addr > end_addr:
 | 
			
		||||
                s = i
 | 
			
		||||
                continue
 | 
			
		||||
            return name, addr - start_addr
 | 
			
		||||
        raise ValueError
 | 
			
		||||
 | 
			
		||||
    def lookup_symbol(self, name):
 | 
			
		||||
        for symbol_addr, symbol_name in self.symbols:
 | 
			
		||||
            if name == symbol_name:
 | 
			
		||||
                return symbol_addr
 | 
			
		||||
        return 0
 | 
			
		||||
 | 
			
		||||
    def read_data(self, data):
 | 
			
		||||
        profile = Profile()
 | 
			
		||||
 | 
			
		||||
        fp = file(data, "rb")
 | 
			
		||||
        entry_format = "IIII"
 | 
			
		||||
        entry_size = struct.calcsize(entry_format)
 | 
			
		||||
        caller = None
 | 
			
		||||
        caller_stack = []
 | 
			
		||||
        while True:
 | 
			
		||||
            entry = fp.read(entry_size)
 | 
			
		||||
            if len(entry) < entry_size:
 | 
			
		||||
                break
 | 
			
		||||
            caller_addr, callee_addr, samples_lo, samples_hi = struct.unpack(entry_format, entry)
 | 
			
		||||
            if caller_addr == 0 and callee_addr == 0:
 | 
			
		||||
                continue
 | 
			
		||||
 | 
			
		||||
            if self.base_addr is None:
 | 
			
		||||
                ref_addr = self.lookup_symbol('___debug_profile_reference@0')
 | 
			
		||||
                if ref_addr:
 | 
			
		||||
                    self.base_addr = (caller_addr - ref_addr) & ~(options.align - 1)
 | 
			
		||||
                else:
 | 
			
		||||
                    self.base_addr = 0
 | 
			
		||||
                sys.stderr.write('Base addr: %08x\n' % self.base_addr)
 | 
			
		||||
 | 
			
		||||
            samples = (samples_hi << 32) | samples_lo
 | 
			
		||||
            
 | 
			
		||||
            try:
 | 
			
		||||
                caller_raddr = caller_addr - self.base_addr
 | 
			
		||||
                caller_sym, caller_ofs = self.lookup_addr(caller_raddr)
 | 
			
		||||
 | 
			
		||||
                try:
 | 
			
		||||
                    caller = profile.functions[caller_sym]
 | 
			
		||||
                except KeyError:
 | 
			
		||||
                    caller_name = demangle(caller_sym)
 | 
			
		||||
                    caller = Function(caller_sym, caller_name)
 | 
			
		||||
                    profile.add_function(caller)
 | 
			
		||||
                    caller[CALLS] = 0
 | 
			
		||||
                    caller[SAMPLES] = 0
 | 
			
		||||
            except ValueError:
 | 
			
		||||
                caller = None
 | 
			
		||||
 | 
			
		||||
            if not callee_addr:
 | 
			
		||||
                if caller:
 | 
			
		||||
                    caller[SAMPLES] += samples
 | 
			
		||||
            else:
 | 
			
		||||
                callee_raddr = callee_addr - self.base_addr
 | 
			
		||||
                callee_sym, callee_ofs = self.lookup_addr(callee_raddr)
 | 
			
		||||
 | 
			
		||||
                try:
 | 
			
		||||
                    callee = profile.functions[callee_sym]
 | 
			
		||||
                except KeyError:
 | 
			
		||||
                    callee_name = demangle(callee_sym)
 | 
			
		||||
                    callee = Function(callee_sym, callee_name)
 | 
			
		||||
                    profile.add_function(callee)
 | 
			
		||||
                    callee[CALLS] = samples
 | 
			
		||||
                    callee[SAMPLES] = 0
 | 
			
		||||
                else:
 | 
			
		||||
                    callee[CALLS] += samples
 | 
			
		||||
 | 
			
		||||
                if caller is not None:
 | 
			
		||||
                    try:
 | 
			
		||||
                        call = caller.calls[callee.id]
 | 
			
		||||
                    except KeyError:
 | 
			
		||||
                        call = Call(callee.id)
 | 
			
		||||
                        call[CALLS] = samples
 | 
			
		||||
                        caller.add_call(call)
 | 
			
		||||
                    else:
 | 
			
		||||
                        call[CALLS] += samples
 | 
			
		||||
            
 | 
			
		||||
            if options.verbose:
 | 
			
		||||
                if not callee_addr:
 | 
			
		||||
                    sys.stderr.write('%s+%u: %u\n' % (caller_sym, caller_ofs, samples))
 | 
			
		||||
                else:
 | 
			
		||||
                    sys.stderr.write('%s+%u -> %s+%u: %u\n' % (caller_sym, caller_ofs, callee_sym, callee_ofs, samples))
 | 
			
		||||
 | 
			
		||||
        # compute derived data
 | 
			
		||||
        profile.validate()
 | 
			
		||||
        profile.find_cycles()
 | 
			
		||||
        profile.aggregate(SAMPLES)
 | 
			
		||||
        profile.ratio(TIME_RATIO, SAMPLES)
 | 
			
		||||
        profile.call_ratios(CALLS)
 | 
			
		||||
        profile.integrate(TOTAL_TIME_RATIO, TIME_RATIO)
 | 
			
		||||
 | 
			
		||||
        return profile
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def main():
 | 
			
		||||
    parser = optparse.OptionParser(
 | 
			
		||||
        usage="\n\t%prog [options] [file] ...",
 | 
			
		||||
        version="%%prog %s" % __version__)
 | 
			
		||||
    parser.add_option(
 | 
			
		||||
        '-a', '--align', metavar='NUMBER',
 | 
			
		||||
        type="int", dest="align", default=16,
 | 
			
		||||
        help="section alignment")
 | 
			
		||||
    parser.add_option(
 | 
			
		||||
        '-m', '--map', metavar='FILE',
 | 
			
		||||
        type="string", dest="map",
 | 
			
		||||
        help="map file")
 | 
			
		||||
    parser.add_option(
 | 
			
		||||
        '-b', '--base', metavar='FILE',
 | 
			
		||||
        type="string", dest="base",
 | 
			
		||||
        help="base addr")
 | 
			
		||||
    parser.add_option(
 | 
			
		||||
        '-n', '--node-thres', metavar='PERCENTAGE',
 | 
			
		||||
        type="float", dest="node_thres", default=0.5,
 | 
			
		||||
        help="eliminate nodes below this threshold [default: %default]")
 | 
			
		||||
    parser.add_option(
 | 
			
		||||
        '-e', '--edge-thres', metavar='PERCENTAGE',
 | 
			
		||||
        type="float", dest="edge_thres", default=0.1,
 | 
			
		||||
        help="eliminate edges below this threshold [default: %default]")
 | 
			
		||||
    parser.add_option(
 | 
			
		||||
        '-v', '--verbose',
 | 
			
		||||
        action="count",
 | 
			
		||||
        dest="verbose", default=0,
 | 
			
		||||
        help="verbose output")
 | 
			
		||||
 | 
			
		||||
    global options
 | 
			
		||||
    (options, args) = parser.parse_args(sys.argv[1:])
 | 
			
		||||
 | 
			
		||||
    reader = Reader()
 | 
			
		||||
    if options.base is not None:
 | 
			
		||||
        reader.base_addr = int(options.base, 16)
 | 
			
		||||
    if options.map is not None:
 | 
			
		||||
        reader.read_map(options.map)
 | 
			
		||||
    for arg in args:
 | 
			
		||||
        profile = reader.read_data(arg)
 | 
			
		||||
        profile.prune(options.node_thres/100.0, options.edge_thres/100.0)
 | 
			
		||||
        output = sys.stdout
 | 
			
		||||
        dot = DotWriter(output)
 | 
			
		||||
        colormap = TEMPERATURE_COLORMAP
 | 
			
		||||
        dot.graph(profile, colormap)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if __name__ == '__main__':
 | 
			
		||||
    main()
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										77
									
								
								common.py
									
									
									
									
									
								
							
							
						
						
									
										77
									
								
								common.py
									
									
									
									
									
								
							@@ -3,27 +3,20 @@
 | 
			
		||||
 | 
			
		||||
import os
 | 
			
		||||
import os.path
 | 
			
		||||
import re
 | 
			
		||||
import subprocess
 | 
			
		||||
import sys
 | 
			
		||||
import platform as _platform
 | 
			
		||||
 | 
			
		||||
import SCons.Script.SConscript
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#######################################################################
 | 
			
		||||
# Defaults
 | 
			
		||||
 | 
			
		||||
host_platform = _platform.system().lower()
 | 
			
		||||
if host_platform.startswith('cygwin'):
 | 
			
		||||
    host_platform = 'cygwin'
 | 
			
		||||
_platform_map = {
 | 
			
		||||
	'linux2': 'linux',
 | 
			
		||||
	'win32': 'winddk',
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Search sys.argv[] for a "platform=foo" argument since we don't have
 | 
			
		||||
# an 'env' variable at this point.
 | 
			
		||||
if 'platform' in SCons.Script.ARGUMENTS:
 | 
			
		||||
    target_platform = SCons.Script.ARGUMENTS['platform']
 | 
			
		||||
else:
 | 
			
		||||
    target_platform = host_platform
 | 
			
		||||
default_platform = sys.platform
 | 
			
		||||
default_platform = _platform_map.get(default_platform, default_platform)
 | 
			
		||||
 | 
			
		||||
_machine_map = {
 | 
			
		||||
	'x86': 'x86',
 | 
			
		||||
@@ -32,37 +25,20 @@ _machine_map = {
 | 
			
		||||
	'i586': 'x86',
 | 
			
		||||
	'i686': 'x86',
 | 
			
		||||
	'ppc' : 'ppc',
 | 
			
		||||
	'AMD64': 'x86_64',
 | 
			
		||||
	'x86_64': 'x86_64',
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# find host_machine value
 | 
			
		||||
if 'PROCESSOR_ARCHITECTURE' in os.environ:
 | 
			
		||||
	host_machine = os.environ['PROCESSOR_ARCHITECTURE']
 | 
			
		||||
	default_machine = os.environ['PROCESSOR_ARCHITECTURE']
 | 
			
		||||
else:
 | 
			
		||||
	host_machine = _platform.machine()
 | 
			
		||||
host_machine = _machine_map.get(host_machine, 'generic')
 | 
			
		||||
	default_machine = _platform.machine()
 | 
			
		||||
default_machine = _machine_map.get(default_machine, 'generic')
 | 
			
		||||
 | 
			
		||||
default_machine = host_machine
 | 
			
		||||
default_toolchain = 'default'
 | 
			
		||||
 | 
			
		||||
if target_platform == 'windows' and host_platform != 'windows':
 | 
			
		||||
    default_machine = 'x86'
 | 
			
		||||
    default_toolchain = 'crossmingw'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# find default_llvm value
 | 
			
		||||
if 'LLVM' in os.environ:
 | 
			
		||||
    default_llvm = 'yes'
 | 
			
		||||
if default_platform in ('linux', 'freebsd'):
 | 
			
		||||
	default_dri = 'yes'
 | 
			
		||||
elif default_platform in ('winddk', 'windows', 'wince', 'darwin'):
 | 
			
		||||
	default_dri = 'no'
 | 
			
		||||
else:
 | 
			
		||||
    default_llvm = 'no'
 | 
			
		||||
    try:
 | 
			
		||||
        if target_platform != 'windows' and \
 | 
			
		||||
           subprocess.call(['llvm-config', '--version'], stdout=subprocess.PIPE) == 0:
 | 
			
		||||
            default_llvm = 'yes'
 | 
			
		||||
    except:
 | 
			
		||||
        pass
 | 
			
		||||
	default_dri = 'no'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#######################################################################
 | 
			
		||||
@@ -77,20 +53,15 @@ def AddOptions(opts):
 | 
			
		||||
		from SCons.Variables.EnumVariable import EnumVariable as EnumOption
 | 
			
		||||
	except ImportError:
 | 
			
		||||
		from SCons.Options.EnumOption import EnumOption
 | 
			
		||||
	opts.Add(EnumOption('build', 'build type', 'debug',
 | 
			
		||||
	                  allowed_values=('debug', 'checked', 'profile', 'release')))
 | 
			
		||||
	opts.Add(BoolOption('verbose', 'verbose output', 'no'))
 | 
			
		||||
	opts.Add(BoolOption('debug', 'debug build', 'no'))
 | 
			
		||||
	opts.Add(BoolOption('profile', 'profile build', 'no'))
 | 
			
		||||
	opts.Add(BoolOption('quiet', 'quiet command lines', 'yes'))
 | 
			
		||||
	opts.Add(EnumOption('machine', 'use machine-specific assembly code', default_machine,
 | 
			
		||||
											 allowed_values=('generic', 'ppc', 'x86', 'x86_64')))
 | 
			
		||||
	opts.Add(EnumOption('platform', 'target platform', host_platform,
 | 
			
		||||
											 allowed_values=('linux', 'windows', 'darwin', 'cygwin', 'sunos', 'freebsd8')))
 | 
			
		||||
	opts.Add(BoolOption('embedded', 'embedded build', 'no'))
 | 
			
		||||
	opts.Add('toolchain', 'compiler toolchain', default_toolchain)
 | 
			
		||||
	opts.Add(BoolOption('gles', 'EXPERIMENTAL: enable OpenGL ES support', 'no'))
 | 
			
		||||
	opts.Add(BoolOption('llvm', 'use LLVM', default_llvm))
 | 
			
		||||
	opts.Add(BoolOption('openmp', 'EXPERIMENTAL: compile with openmp (swrast)', 'no'))
 | 
			
		||||
	opts.Add(BoolOption('debug', 'DEPRECATED: debug build', 'yes'))
 | 
			
		||||
	opts.Add(BoolOption('profile', 'DEPRECATED: profile build', 'no'))
 | 
			
		||||
	opts.Add(BoolOption('quiet', 'DEPRECATED: profile build', 'yes'))
 | 
			
		||||
	if host_platform == 'windows':
 | 
			
		||||
		opts.Add(EnumOption('MSVS_VERSION', 'MS Visual C++ version', None, allowed_values=('7.1', '8.0', '9.0')))
 | 
			
		||||
	opts.Add(EnumOption('platform', 'target platform', default_platform,
 | 
			
		||||
											 allowed_values=('linux', 'cell', 'windows', 'winddk', 'wince', 'darwin')))
 | 
			
		||||
	opts.Add(EnumOption('toolchain', 'compiler toolchain', 'default',
 | 
			
		||||
											 allowed_values=('default', 'crossmingw', 'winsdk', 'winddk')))
 | 
			
		||||
	opts.Add(BoolOption('llvm', 'use LLVM', 'no'))
 | 
			
		||||
	opts.Add(BoolOption('dri', 'build DRI drivers', default_dri))
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -17,11 +17,14 @@ MKLIB_OPTIONS =
 | 
			
		||||
# Library names (actual file names)
 | 
			
		||||
GL_LIB_NAME = libGL.a
 | 
			
		||||
GLU_LIB_NAME = libGLU.a
 | 
			
		||||
GLUT_LIB_NAME = libglut.a
 | 
			
		||||
GLW_LIB_NAME = libGLw.a
 | 
			
		||||
OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
 | 
			
		||||
GL_LIB_DEPS = -lX11 -lXext -lpthread -lm
 | 
			
		||||
GLU_LIB_DEPS = -L$(TOP)/lib -l$(GL_LIB) -lm -lC
 | 
			
		||||
GLUT_LIB_DEPS = -L$(TOP)/lib -l$(GLU_LIB) -l$(GL_LIB) -lXi -lXmu -lX11 -lm
 | 
			
		||||
GLW_LIB_DEPS = -L$(TOP)/lib -l$(GL_LIB) -lXm -lXt -lX11
 | 
			
		||||
OSMESA_LIB_DEPS = -L$(TOP)/lib -l$(GL_LIB)
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lpthread -lm -lC
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -15,10 +15,13 @@ LIB_DIR = lib64
 | 
			
		||||
# Library names (actual file names)
 | 
			
		||||
GL_LIB_NAME = libGL.a
 | 
			
		||||
GLU_LIB_NAME = libGLU.a
 | 
			
		||||
GLUT_LIB_NAME = libglut.a
 | 
			
		||||
GLW_LIB_NAME = libGLw.a
 | 
			
		||||
OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
 | 
			
		||||
GL_LIB_DEPS = -lX11 -lXext -lm -lpthread
 | 
			
		||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm -lC
 | 
			
		||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lXi -lXmu -lX11 -lm
 | 
			
		||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lXm -lXt -lX11
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/lib64 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lm -lpthread -lC
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -16,6 +16,10 @@ LIB_DIR = lib64
 | 
			
		||||
# Library names (actual file names)
 | 
			
		||||
GL_LIB_NAME = libGL.a
 | 
			
		||||
GLU_LIB_NAME = libGLU.a
 | 
			
		||||
GLUT_LIB_NAME = libglut.a
 | 
			
		||||
GLW_LIB_NAME = libGLw.a
 | 
			
		||||
OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
 | 
			
		||||
APP_LIB_DEPS = -q64 -L$(TOP)/$(LIB_DIR)  -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) \
 | 
			
		||||
               -lX11 -lXext -lXmu -lXi -lm -lpthread -lC
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -18,4 +18,6 @@ CXXFLAGS += -fno-strict-aliasing
 | 
			
		||||
MKLIB_OPTIONS = -arch aix-gcc
 | 
			
		||||
GL_LIB_DEPS = -lX11 -lXext -lm
 | 
			
		||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
 | 
			
		||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lXi -lXmu
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -Wl,-brtl -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lX11 -lXext -lXmu -lXi
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -15,6 +15,11 @@ MKLIB_OPTIONS = -static
 | 
			
		||||
# Library names (actual file names)
 | 
			
		||||
GL_LIB_NAME = libGL.a
 | 
			
		||||
GLU_LIB_NAME = libGLU.a
 | 
			
		||||
GLUT_LIB_NAME = libglut.a
 | 
			
		||||
GLW_LIB_NAME = libGLw.a
 | 
			
		||||
OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) \
 | 
			
		||||
               -lX11 -lXext -lXmu -lXi -lm -lpthread -lC
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -14,36 +14,16 @@ ARCH_FLAGS = @ARCH_FLAGS@
 | 
			
		||||
ASM_FLAGS = @ASM_FLAGS@
 | 
			
		||||
PIC_FLAGS = @PIC_FLAGS@
 | 
			
		||||
DEFINES = @DEFINES@
 | 
			
		||||
API_DEFINES = @API_DEFINES@
 | 
			
		||||
SHARED_GLAPI = @SHARED_GLAPI@
 | 
			
		||||
CFLAGS_NOVISIBILITY = @CPPFLAGS@ @CFLAGS@ \
 | 
			
		||||
CFLAGS = @CPPFLAGS@ @CFLAGS@ \
 | 
			
		||||
	$(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(ASM_FLAGS) $(DEFINES)
 | 
			
		||||
CXXFLAGS_NOVISIBILITY = @CPPFLAGS@ @CXXFLAGS@ \
 | 
			
		||||
CXXFLAGS = @CPPFLAGS@ @CXXFLAGS@ \
 | 
			
		||||
	$(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
 | 
			
		||||
CFLAGS = $(CFLAGS_NOVISIBILITY) @VISIBILITY_CFLAGS@
 | 
			
		||||
CXXFLAGS = $(CXXFLAGS_NOVISIBILITY) @VISIBILITY_CXXFLAGS@
 | 
			
		||||
LDFLAGS = @LDFLAGS@
 | 
			
		||||
EXTRA_LIB_PATH = @EXTRA_LIB_PATH@
 | 
			
		||||
RADEON_CFLAGS = @RADEON_CFLAGS@
 | 
			
		||||
RADEON_LIBS = @RADEON_LIBS@
 | 
			
		||||
NOUVEAU_CFLAGS = @NOUVEAU_CFLAGS@
 | 
			
		||||
NOUVEAU_LIBS = @NOUVEAU_LIBS@
 | 
			
		||||
INTEL_LIBS = @INTEL_LIBS@
 | 
			
		||||
INTEL_CFLAGS = @INTEL_CFLAGS@
 | 
			
		||||
X11_LIBS = @X11_LIBS@
 | 
			
		||||
X11_CFLAGS = @X11_CFLAGS@
 | 
			
		||||
LLVM_CFLAGS = @LLVM_CFLAGS@
 | 
			
		||||
LLVM_LDFLAGS = @LLVM_LDFLAGS@
 | 
			
		||||
LLVM_LIBS = @LLVM_LIBS@
 | 
			
		||||
GLW_CFLAGS = @GLW_CFLAGS@
 | 
			
		||||
GLX_TLS = @GLX_TLS@
 | 
			
		||||
DRI_CFLAGS = @DRI_CFLAGS@
 | 
			
		||||
DRI_CXXFLAGS = @DRI_CXXFLAGS@
 | 
			
		||||
RADEON_LDFLAGS = @RADEON_LDFLAGS@
 | 
			
		||||
 | 
			
		||||
# dlopen
 | 
			
		||||
DLOPEN_LIBS = @DLOPEN_LIBS@
 | 
			
		||||
 | 
			
		||||
# Source selection
 | 
			
		||||
# Assembler
 | 
			
		||||
MESA_ASM_SOURCES = @MESA_ASM_SOURCES@
 | 
			
		||||
GLAPI_ASM_SOURCES = @GLAPI_ASM_SOURCES@
 | 
			
		||||
 | 
			
		||||
@@ -54,78 +34,53 @@ MKLIB_OPTIONS = @MKLIB_OPTIONS@
 | 
			
		||||
MKDEP = @MKDEP@
 | 
			
		||||
MKDEP_OPTIONS = @MKDEP_OPTIONS@
 | 
			
		||||
INSTALL = @INSTALL@
 | 
			
		||||
AWK = @AWK@
 | 
			
		||||
GREP = @GREP@
 | 
			
		||||
NM = @NM@
 | 
			
		||||
 | 
			
		||||
# Python and flags (generally only needed by the developers)
 | 
			
		||||
PYTHON2 = @PYTHON2@
 | 
			
		||||
PYTHON2 = python
 | 
			
		||||
PYTHON_FLAGS = -t -O -O
 | 
			
		||||
 | 
			
		||||
# Flex and Bison for GLSL compiler
 | 
			
		||||
FLEX = @FLEX@
 | 
			
		||||
BISON = @BISON@
 | 
			
		||||
 | 
			
		||||
# Library names (base name)
 | 
			
		||||
GL_LIB = @GL_LIB@
 | 
			
		||||
GLU_LIB = @GLU_LIB@
 | 
			
		||||
GL_LIB = GL
 | 
			
		||||
GLU_LIB = GLU
 | 
			
		||||
GLUT_LIB = glut
 | 
			
		||||
GLW_LIB = GLw
 | 
			
		||||
OSMESA_LIB = @OSMESA_LIB@
 | 
			
		||||
GLESv1_CM_LIB = GLESv1_CM
 | 
			
		||||
GLESv2_LIB = GLESv2
 | 
			
		||||
VG_LIB = OpenVG
 | 
			
		||||
GLAPI_LIB = glapi
 | 
			
		||||
WAYLAND_EGL_LIB = wayland-egl
 | 
			
		||||
GBM_LIB = gbm
 | 
			
		||||
 | 
			
		||||
# Library names (actual file names)
 | 
			
		||||
GL_LIB_NAME = @GL_LIB_NAME@
 | 
			
		||||
GLU_LIB_NAME = @GLU_LIB_NAME@
 | 
			
		||||
GLUT_LIB_NAME = @GLUT_LIB_NAME@
 | 
			
		||||
GLW_LIB_NAME = @GLW_LIB_NAME@
 | 
			
		||||
OSMESA_LIB_NAME = @OSMESA_LIB_NAME@
 | 
			
		||||
EGL_LIB_NAME = @EGL_LIB_NAME@
 | 
			
		||||
GLESv1_CM_LIB_NAME = @GLESv1_CM_LIB_NAME@
 | 
			
		||||
GLESv2_LIB_NAME = @GLESv2_LIB_NAME@
 | 
			
		||||
VG_LIB_NAME = @VG_LIB_NAME@
 | 
			
		||||
GLAPI_LIB_NAME = @GLAPI_LIB_NAME@
 | 
			
		||||
WAYLAND_EGL_LIB_NAME = @WAYLAND_EGL_LIB_NAME@
 | 
			
		||||
GBM_LIB_NAME = @GBM_LIB_NAME@
 | 
			
		||||
 | 
			
		||||
# Globs used to install the lib and all symlinks
 | 
			
		||||
GL_LIB_GLOB = @GL_LIB_GLOB@
 | 
			
		||||
GLU_LIB_GLOB = @GLU_LIB_GLOB@
 | 
			
		||||
GLUT_LIB_GLOB = @GLUT_LIB_GLOB@
 | 
			
		||||
GLW_LIB_GLOB = @GLW_LIB_GLOB@
 | 
			
		||||
OSMESA_LIB_GLOB = @OSMESA_LIB_GLOB@
 | 
			
		||||
EGL_LIB_GLOB = @EGL_LIB_GLOB@
 | 
			
		||||
GLESv1_CM_LIB_GLOB = @GLESv1_CM_LIB_GLOB@
 | 
			
		||||
GLESv2_LIB_GLOB = @GLESv2_LIB_GLOB@
 | 
			
		||||
VG_LIB_GLOB = @VG_LIB_GLOB@
 | 
			
		||||
GLAPI_LIB_GLOB = @GLAPI_LIB_GLOB@
 | 
			
		||||
WAYLAND_EGL_LIB_GLOB = @WAYLAND_EGL_LIB_GLOB@
 | 
			
		||||
GBM_LIB_GLOB = @GBM_LIB_GLOB@
 | 
			
		||||
 | 
			
		||||
# Directories to build
 | 
			
		||||
LIB_DIR = @LIB_DIR@
 | 
			
		||||
SRC_DIRS = @SRC_DIRS@
 | 
			
		||||
GLU_DIRS = @GLU_DIRS@
 | 
			
		||||
DRIVER_DIRS = @DRIVER_DIRS@
 | 
			
		||||
EGL_DRIVERS_DIRS = @EGL_DRIVERS_DIRS@
 | 
			
		||||
GBM_BACKEND_DIRS = @GBM_BACKEND_DIRS@
 | 
			
		||||
GALLIUM_DIRS = @GALLIUM_DIRS@
 | 
			
		||||
GALLIUM_AUXILIARY_DIRS = @GALLIUM_AUXILIARY_DIRS@
 | 
			
		||||
GALLIUM_DRIVERS_DIRS = @GALLIUM_DRIVERS_DIRS@
 | 
			
		||||
GALLIUM_WINSYS_DIRS = @GALLIUM_WINSYS_DIRS@
 | 
			
		||||
GALLIUM_TARGET_DIRS = @GALLIUM_TARGET_DIRS@
 | 
			
		||||
GALLIUM_WINSYS_DRM_DIRS = @GALLIUM_WINSYS_DRM_DIRS@
 | 
			
		||||
GALLIUM_STATE_TRACKERS_DIRS = @GALLIUM_STATE_TRACKERS_DIRS@
 | 
			
		||||
GALLIUM_AUXILIARIES = $(TOP)/src/gallium/auxiliary/libgallium.a
 | 
			
		||||
GALLIUM_AUXILIARIES = $(foreach DIR,$(GALLIUM_AUXILIARY_DIRS),$(TOP)/src/gallium/auxiliary/$(DIR)/lib$(DIR).a)
 | 
			
		||||
GALLIUM_DRIVERS = $(foreach DIR,$(GALLIUM_DRIVERS_DIRS),$(TOP)/src/gallium/drivers/$(DIR)/lib$(DIR).a)
 | 
			
		||||
 | 
			
		||||
# Which subdirs under $(TOP)/progs/ to enter:
 | 
			
		||||
PROGRAM_DIRS = @PROGRAM_DIRS@
 | 
			
		||||
 | 
			
		||||
# Driver specific build vars
 | 
			
		||||
DRI_DIRS = @DRI_DIRS@
 | 
			
		||||
DRICORE_GLSL_LIBS = @DRICORE_GLSL_LIBS@
 | 
			
		||||
DRICORE_LIBS = @DRICORE_LIBS@
 | 
			
		||||
DRICORE_LIB_DEPS = @DRICORE_LIB_DEPS@
 | 
			
		||||
EGL_PLATFORMS = @EGL_PLATFORMS@
 | 
			
		||||
EGL_CLIENT_APIS = @EGL_CLIENT_APIS@
 | 
			
		||||
DRI_DIRS = @DRI_DIRS@ 
 | 
			
		||||
WINDOW_SYSTEM = @WINDOW_SYSTEM@
 | 
			
		||||
USING_EGL = @USING_EGL@
 | 
			
		||||
 | 
			
		||||
# Dependencies
 | 
			
		||||
X11_INCLUDES = @X11_INCLUDES@
 | 
			
		||||
@@ -141,22 +96,17 @@ OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @OSMESA_MESA_DEPS@ \
 | 
			
		||||
EGL_LIB_DEPS = $(EXTRA_LIB_PATH) @EGL_LIB_DEPS@
 | 
			
		||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLU_MESA_DEPS@ \
 | 
			
		||||
	$(EXTRA_LIB_PATH) @GLU_LIB_DEPS@
 | 
			
		||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLUT_MESA_DEPS@ \
 | 
			
		||||
	$(EXTRA_LIB_PATH) @GLUT_LIB_DEPS@
 | 
			
		||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLW_MESA_DEPS@ \
 | 
			
		||||
	$(EXTRA_LIB_PATH) @GLW_LIB_DEPS@
 | 
			
		||||
GLESv1_CM_LIB_DEPS = $(EXTRA_LIB_PATH) @GLESv1_CM_LIB_DEPS@
 | 
			
		||||
GLESv2_LIB_DEPS = $(EXTRA_LIB_PATH) @GLESv2_LIB_DEPS@
 | 
			
		||||
VG_LIB_DEPS = $(EXTRA_LIB_PATH) @VG_LIB_DEPS@
 | 
			
		||||
GLAPI_LIB_DEPS = $(EXTRA_LIB_PATH) @GLAPI_LIB_DEPS@
 | 
			
		||||
WAYLAND_EGL_LIB_DEPS = $(EXTRA_LIB_PATH) @WAYLAND_EGL_LIB_DEPS@
 | 
			
		||||
GBM_LIB_DEPS = $(EXTRA_LIB_PATH) @GBM_LIB_DEPS@
 | 
			
		||||
APP_LIB_DEPS = $(EXTRA_LIB_PATH) @APP_LIB_DEPS@
 | 
			
		||||
 | 
			
		||||
# DRI dependencies
 | 
			
		||||
MESA_MODULES = @MESA_MODULES@
 | 
			
		||||
DRI_LIB_DEPS = $(EXTRA_LIB_PATH) @DRI_LIB_DEPS@
 | 
			
		||||
LIBDRM_CFLAGS = @LIBDRM_CFLAGS@
 | 
			
		||||
LIBDRM_LIB = @LIBDRM_LIBS@
 | 
			
		||||
DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@
 | 
			
		||||
GLPROTO_CFLAGS = @GLPROTO_CFLAGS@
 | 
			
		||||
EXPAT_INCLUDES = @EXPAT_INCLUDES@
 | 
			
		||||
 | 
			
		||||
# Autoconf directories
 | 
			
		||||
@@ -176,15 +126,6 @@ DRI_DRIVER_INSTALL_DIR = @DRI_DRIVER_INSTALL_DIR@
 | 
			
		||||
# Where libGL will look for DRI hardware drivers
 | 
			
		||||
DRI_DRIVER_SEARCH_DIR = @DRI_DRIVER_SEARCH_DIR@
 | 
			
		||||
 | 
			
		||||
# EGL driver install directory
 | 
			
		||||
EGL_DRIVER_INSTALL_DIR = @EGL_DRIVER_INSTALL_DIR@
 | 
			
		||||
 | 
			
		||||
# VDPAU library install directory
 | 
			
		||||
VDPAU_LIB_INSTALL_DIR=@VDPAU_LIB_INSTALL_DIR@
 | 
			
		||||
 | 
			
		||||
# VA library install directory
 | 
			
		||||
VA_LIB_INSTALL_DIR=@VA_LIB_INSTALL_DIR@
 | 
			
		||||
 | 
			
		||||
# Xorg driver install directory (for xorg state-tracker)
 | 
			
		||||
XORG_DRIVER_INSTALL_DIR = @XORG_DRIVER_INSTALL_DIR@
 | 
			
		||||
 | 
			
		||||
@@ -197,36 +138,11 @@ GLU_PC_REQ = @GLU_PC_REQ@
 | 
			
		||||
GLU_PC_REQ_PRIV = @GLU_PC_REQ_PRIV@
 | 
			
		||||
GLU_PC_LIB_PRIV = @GLU_PC_LIB_PRIV@
 | 
			
		||||
GLU_PC_CFLAGS = @GLU_PC_CFLAGS@
 | 
			
		||||
GLUT_PC_REQ_PRIV = @GLUT_PC_REQ_PRIV@
 | 
			
		||||
GLUT_PC_LIB_PRIV = @GLUT_PC_LIB_PRIV@
 | 
			
		||||
GLUT_PC_CFLAGS = @GLUT_PC_CFLAGS@
 | 
			
		||||
GLW_PC_REQ_PRIV = @GLW_PC_REQ_PRIV@
 | 
			
		||||
GLW_PC_LIB_PRIV = @GLW_PC_LIB_PRIV@
 | 
			
		||||
GLW_PC_CFLAGS = @GLW_PC_CFLAGS@
 | 
			
		||||
OSMESA_PC_REQ = @OSMESA_PC_REQ@
 | 
			
		||||
OSMESA_PC_LIB_PRIV = @OSMESA_PC_LIB_PRIV@
 | 
			
		||||
GLESv1_CM_PC_LIB_PRIV = @GLESv1_CM_PC_LIB_PRIV@
 | 
			
		||||
GLESv2_PC_LIB_PRIV = @GLESv2_PC_LIB_PRIV@
 | 
			
		||||
EGL_PC_REQ_PRIV = @GL_PC_REQ_PRIV@
 | 
			
		||||
EGL_PC_LIB_PRIV = @GL_PC_LIB_PRIV@
 | 
			
		||||
EGL_PC_CFLAGS = @GL_PC_CFLAGS@
 | 
			
		||||
WAYLAND_EGL_PC_REQ_PRIV = @WAYLAND_EGL_PC_REQ_PRIV@
 | 
			
		||||
WAYLAND_EGL_PC_LIB_PRIV = @WAYLAND_EGL_PC_LIB_PRIV@
 | 
			
		||||
WAYLAND_EGL_PC_CFLAGS = @WAYLAND_EGL_PC_CFLAGS@
 | 
			
		||||
GBM_PC_REQ_PRIV = @GBM_PC_REQ_PRIV@
 | 
			
		||||
GBM_PC_LIB_PRIV = @GBM_PC_LIB_PRIV@
 | 
			
		||||
GBM_PC_CFLAGS = @GBM_PC_CFLAGS@
 | 
			
		||||
 | 
			
		||||
XCB_DRI2_CFLAGS = @XCB_DRI2_CFLAGS@
 | 
			
		||||
XCB_DRI2_LIBS = @XCB_DRI2_LIBS@
 | 
			
		||||
LIBUDEV_CFLAGS = @LIBUDEV_CFLAGS@
 | 
			
		||||
LIBUDEV_LIBS = @LIBUDEV_LIBS@
 | 
			
		||||
WAYLAND_CFLAGS = @WAYLAND_CFLAGS@
 | 
			
		||||
WAYLAND_LIBS = @WAYLAND_LIBS@
 | 
			
		||||
 | 
			
		||||
MESA_LLVM = @MESA_LLVM@
 | 
			
		||||
 | 
			
		||||
LLVM_VERSION = @LLVM_VERSION@
 | 
			
		||||
ifneq ($(LLVM_VERSION),)
 | 
			
		||||
  HAVE_LLVM := 0x0$(subst .,0,$(LLVM_VERSION:svn=))
 | 
			
		||||
  DEFINES += -DHAVE_LLVM=$(HAVE_LLVM)
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
HAVE_XF86VIDMODE = @HAVE_XF86VIDMODE@
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										104
									
								
								configs/beos
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										104
									
								
								configs/beos
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,104 @@
 | 
			
		||||
# Configuration for BeOS
 | 
			
		||||
# Written by Philippe Houdoin
 | 
			
		||||
 | 
			
		||||
include $(TOP)/configs/default
 | 
			
		||||
 | 
			
		||||
CONFIG_NAME = beos
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
DEFINES = 	\
 | 
			
		||||
	-DBEOS_THREADS 
 | 
			
		||||
 | 
			
		||||
MACHINE=$(shell uname -m)
 | 
			
		||||
ifeq ($(MACHINE), BePC)
 | 
			
		||||
	CPU = x86
 | 
			
		||||
else
 | 
			
		||||
	CPU = ppc
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifeq ($(CPU), x86)
 | 
			
		||||
	# BeOS x86 settings
 | 
			
		||||
 | 
			
		||||
	DEFINES += \
 | 
			
		||||
		-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 -Wno-ctor-dtor-privacy \
 | 
			
		||||
		$(DEFINES)
 | 
			
		||||
 | 
			
		||||
	CXXFLAGS = $(CFLAGS)
 | 
			
		||||
 | 
			
		||||
	# Work around aliasing bugs - developers should comment this out
 | 
			
		||||
	CFLAGS += -fno-strict-aliasing
 | 
			
		||||
	CXXFLAGS += -fno-strict-aliasing
 | 
			
		||||
 | 
			
		||||
	LDFLAGS += -Xlinker
 | 
			
		||||
 | 
			
		||||
	ifdef DEBUG
 | 
			
		||||
		CFLAGS   += -g -O0
 | 
			
		||||
		LDFLAGS += -g
 | 
			
		||||
		DEFINES += -DDEBUG
 | 
			
		||||
	else
 | 
			
		||||
		CFLAGS   += -O3
 | 
			
		||||
	endif
 | 
			
		||||
 | 
			
		||||
	GLUT_CFLAGS = -fexceptions
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
	# BeOS PPC settings
 | 
			
		||||
 | 
			
		||||
	CC = mwcc
 | 
			
		||||
	CXX = $(CC)
 | 
			
		||||
	LD = mwldppc
 | 
			
		||||
 | 
			
		||||
	CFLAGS = \
 | 
			
		||||
		-w on -requireprotos \
 | 
			
		||||
		$(DEFINES)
 | 
			
		||||
 | 
			
		||||
	CXXFLAGS = $(CFLAGS)
 | 
			
		||||
 | 
			
		||||
	LDFLAGS += \
 | 
			
		||||
		-export pragma \
 | 
			
		||||
		-init _init_routine_ \
 | 
			
		||||
		-term _term_routine_ \
 | 
			
		||||
		-lroot \
 | 
			
		||||
		/boot/develop/lib/ppc/glue-noinit.a \
 | 
			
		||||
		/boot/develop/lib/ppc/init_term_dyn.o \
 | 
			
		||||
		/boot/develop/lib/ppc/start_dyn.o 
 | 
			
		||||
 | 
			
		||||
	ifdef DEBUG
 | 
			
		||||
		CFLAGS   += -g -O0
 | 
			
		||||
		CXXFLAGS += -g -O0
 | 
			
		||||
		LDFLAGS += -g
 | 
			
		||||
	else
 | 
			
		||||
		CFLAGS   += -O7
 | 
			
		||||
		CXXFLAGS += -O7
 | 
			
		||||
	endif
 | 
			
		||||
 | 
			
		||||
	GLUT_CFLAGS = -fexceptions
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# Directories
 | 
			
		||||
SRC_DIRS = gallium mesa glu glut/beos glew
 | 
			
		||||
GLU_DIRS = sgi
 | 
			
		||||
DRIVER_DIRS = beos
 | 
			
		||||
PROGRAM_DIRS = beos samples redbook demos tests
 | 
			
		||||
 | 
			
		||||
# 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)
 | 
			
		||||
 | 
			
		||||
@@ -24,8 +24,10 @@ OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
# Directories
 | 
			
		||||
SRC_DIRS = mesa glu
 | 
			
		||||
DRIVER_DIRS = osmesa
 | 
			
		||||
PROGRAM_DIRS = osdemos
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Dependencies
 | 
			
		||||
OSMESA_LIB_DEPS = -lm
 | 
			
		||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
 | 
			
		||||
APP_LIB_DEPS = -lOSMesa -lGLU -lm
 | 
			
		||||
 
 | 
			
		||||
@@ -20,8 +20,10 @@ OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
# Directories
 | 
			
		||||
SRC_DIRS = mesa glu
 | 
			
		||||
DRIVER_DIRS = osmesa
 | 
			
		||||
PROGRAM_DIRS = osdemos
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Dependencies
 | 
			
		||||
OSMESA_LIB_DEPS = -lm
 | 
			
		||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
 | 
			
		||||
APP_LIB_DEPS = -lOSMesa -lGLU -lm
 | 
			
		||||
 
 | 
			
		||||
@@ -23,8 +23,10 @@ OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
# Directories
 | 
			
		||||
SRC_DIRS = mesa glu
 | 
			
		||||
DRIVER_DIRS = osmesa
 | 
			
		||||
PROGRAM_DIRS = osdemos
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Dependencies
 | 
			
		||||
OSMESA_LIB_DEPS = -lm
 | 
			
		||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
 | 
			
		||||
APP_LIB_DEPS = -lOSMesa -lGLU -lm
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										42
									
								
								configs/config.mgw
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								configs/config.mgw
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,42 @@
 | 
			
		||||
# MinGW config include file updated for Mesa 7.0
 | 
			
		||||
#
 | 
			
		||||
#  Updated : by Heromyth, on 2007-7-21
 | 
			
		||||
#  Email   : zxpmyth@yahoo.com.cn
 | 
			
		||||
#  Bugs    : 1) All the default settings work fine. But the setting X86=1 can't work. 
 | 
			
		||||
#            The others havn't been tested yet.
 | 
			
		||||
#            2) The generated DLLs are *not* compatible with the ones built
 | 
			
		||||
#            with the other compilers like VC8, especially for GLUT. 
 | 
			
		||||
#            3) Although more tests are needed, it can be used individually!
 | 
			
		||||
 | 
			
		||||
# The generated DLLs by MingW with STDCALL are not totally compatible 
 | 
			
		||||
# with the ones linked by Microsoft's compilers.
 | 
			
		||||
#
 | 
			
		||||
# xxx_USING_STDCALL = 1          Compiling MESA with __stdcall. This is default!
 | 
			
		||||
# 
 | 
			
		||||
# xxx_USING_STDCALL = 0          Compiling MESA without __stdcall. I like this:)
 | 
			
		||||
#  
 | 
			
		||||
 | 
			
		||||
# In fact, GL_USING_STDCALL and GLUT_USING_STDCALL can be
 | 
			
		||||
# different. For example:
 | 
			
		||||
#
 | 
			
		||||
#   GL_USING_STDCALL = 0
 | 
			
		||||
#   GLUT_USING_STDCALL = 1
 | 
			
		||||
# 
 | 
			
		||||
# Suggested setting:
 | 
			
		||||
#
 | 
			
		||||
#     ALL_USING_STDCALL = 1
 | 
			
		||||
#
 | 
			
		||||
# That's default!
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
ALL_USING_STDCALL = 1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
ifeq ($(ALL_USING_STDCALL),1)
 | 
			
		||||
  GL_USING_STDCALL = 1
 | 
			
		||||
  GLUT_USING_STDCALL = 1
 | 
			
		||||
else
 | 
			
		||||
  GL_USING_STDCALL = 0
 | 
			
		||||
  GLUT_USING_STDCALL = 0
 | 
			
		||||
endif
 | 
			
		||||
@@ -9,53 +9,49 @@ INSTALL_DIR = /usr/X11
 | 
			
		||||
X11_DIR = $(INSTALL_DIR)
 | 
			
		||||
 | 
			
		||||
# Compiler and flags
 | 
			
		||||
CC = $(shell xcrun -find cc)
 | 
			
		||||
CXX = $(shell xcrun -find c++)
 | 
			
		||||
CC = gcc
 | 
			
		||||
CXX = g++
 | 
			
		||||
PIC_FLAGS = -fPIC
 | 
			
		||||
DEFINES =  -D_DARWIN_C_SOURCE -DPTHREADS -D_GNU_SOURCE \
 | 
			
		||||
	   -DGLX_ALIAS_UNSUPPORTED \
 | 
			
		||||
	   -DGLX_DIRECT_RENDERING -DGLX_USE_APPLEGL
 | 
			
		||||
DEFINES =  -D_DARWIN_C_SOURCE -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L \
 | 
			
		||||
	   -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE -DPTHREADS \
 | 
			
		||||
	   -DGLX_ALIAS_UNSUPPORTED -DGLX_INDIRECT_RENDERING
 | 
			
		||||
 | 
			
		||||
# -DGLX_INDIRECT_RENDERING \
 | 
			
		||||
 | 
			
		||||
# -D_GNU_SOURCE          - for src/mesa/main ...
 | 
			
		||||
# -DGLX_DIRECT_RENDERING - pulls in libdrm stuff in glx
 | 
			
		||||
# -DGLX_DIRECT_RENDERING - pulls in libdrm stuff in glx/x11
 | 
			
		||||
# -DGLX_USE_APPLEGL      - supposed to be used with GLX_DIRECT_RENDERING to use AGL rather than DRM, but doesn't compile
 | 
			
		||||
# -DIN_DRI_DRIVER
 | 
			
		||||
 | 
			
		||||
ARCH_FLAGS += $(RC_CFLAGS)
 | 
			
		||||
INCLUDE_FLAGS = -I$(INSTALL_DIR)/include -I$(X11_DIR)/include
 | 
			
		||||
OPT_FLAGS = -g3 -gdwarf-2 -Os -ffast-math -fno-strict-aliasing
 | 
			
		||||
WARN_FLAGS = -Wall -Wmissing-prototypes
 | 
			
		||||
 | 
			
		||||
CFLAGS = -std=c99 -fvisibility=hidden \
 | 
			
		||||
	$(OPT_FLAGS) $(WARN_FLAGS) $(INCLUDE_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(ASM_FLAGS) $(DEFINES) $(EXTRA_CFLAGS)
 | 
			
		||||
CXXFLAGS = -fvisibility=hidden \
 | 
			
		||||
	$(OPT_FLAGS) $(WARN_FLAGS) $(INCLUDE_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(ASM_FLAGS) $(DEFINES) $(EXTRA_CFLAGS)
 | 
			
		||||
CFLAGS =  -ggdb3 -Os -Wall -Wmissing-prototypes -std=c99 -ffast-math -fno-strict-aliasing \
 | 
			
		||||
	-I$(INSTALL_DIR)/include -I$(X11_DIR)/include $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(ASM_FLAGS) $(DEFINES)
 | 
			
		||||
CXXFLAGS =  -ggdb3 -Os -Wall -fno-strict-aliasing \
 | 
			
		||||
	-I$(INSTALL_DIR)/include -I$(X11_DIR)/include $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(ASM_FLAGS) $(DEFINES)
 | 
			
		||||
 | 
			
		||||
# Library names (actual file names)
 | 
			
		||||
GL_LIB_NAME = lib$(GL_LIB).dylib
 | 
			
		||||
GLU_LIB_NAME = lib$(GLU_LIB).dylib
 | 
			
		||||
GLW_LIB_NAME = lib$(GLW_LIB).dylib
 | 
			
		||||
OSMESA_LIB_NAME = lib$(OSMESA_LIB).dylib
 | 
			
		||||
VG_LIB_NAME = lib$(VG_LIB).dylib
 | 
			
		||||
GL_LIB_NAME = libGL.dylib
 | 
			
		||||
GLU_LIB_NAME = libGLU.dylib
 | 
			
		||||
GLUT_LIB_NAME = libglut.dylib
 | 
			
		||||
GLW_LIB_NAME = libGLw.dylib
 | 
			
		||||
OSMESA_LIB_NAME = libOSMesa.dylib
 | 
			
		||||
 | 
			
		||||
# globs used to install the lib and all symlinks
 | 
			
		||||
GL_LIB_GLOB = lib$(GL_LIB).*dylib
 | 
			
		||||
GLU_LIB_GLOB = lib$(GLU_LIB).*dylib
 | 
			
		||||
GLW_LIB_GLOB = lib$(GLW_LIB).*dylib
 | 
			
		||||
OSMESA_LIB_GLOB = lib$(OSMESA_LIB).*dylib
 | 
			
		||||
VG_LIB_GLOB = lib$(VG_LIB).*dylib
 | 
			
		||||
GL_LIB_GLOB = libGL.*dylib
 | 
			
		||||
GLU_LIB_GLOB = libGLU.*dylib
 | 
			
		||||
GLUT_LIB_GLOB = libglut.*dylib
 | 
			
		||||
GLW_LIB_GLOB = libGLw.*dylib
 | 
			
		||||
OSMESA_LIB_GLOB = libOSMesa.*dylib
 | 
			
		||||
 | 
			
		||||
GL_LIB_DEPS = -L$(INSTALL_DIR)/$(LIB_DIR) -L$(X11_DIR)/$(LIB_DIR) -lX11-xcb -lxcb -lX11 -lXext $(EXTRA_LDFLAGS)
 | 
			
		||||
OSMESA_LIB_DEPS = $(EXTRA_LDFLAGS)
 | 
			
		||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(EXTRA_LDFLAGS)
 | 
			
		||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L$(INSTALL_DIR)/$(LIB_DIR) -L$(X11_DIR)/$(LIB_DIR) -lX11 -lXt $(EXTRA_LDFLAGS)
 | 
			
		||||
GL_LIB_DEPS = -L$(INSTALL_DIR)/$(LIB_DIR) -L$(X11_DIR)/$(LIB_DIR) -lX11 -lXext -lm -lpthread
 | 
			
		||||
OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
 | 
			
		||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
 | 
			
		||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB)  -L$(INSTALL_DIR)/$(LIB_DIR) -L$(X11_DIR)/$(LIB_DIR) -lX11 -lXmu -lXi -lXext
 | 
			
		||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L$(INSTALL_DIR)/$(LIB_DIR) -L$(X11_DIR)/$(LIB_DIR) -lX11 -lXt
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L$(INSTALL_DIR)/$(LIB_DIR) -L$(X11_DIR)/$(LIB_DIR) -lX11 -lXmu -lXt -lXi -lm
 | 
			
		||||
 | 
			
		||||
SRC_DIRS = glsl mapi/glapi mapi/vgapi glx/apple mesa gallium glu
 | 
			
		||||
# omit glw lib for now:
 | 
			
		||||
SRC_DIRS = glx/x11 mesa glu glut/glx glew
 | 
			
		||||
GLU_DIRS = sgi
 | 
			
		||||
DRIVER_DIRS = osmesa
 | 
			
		||||
#DRIVER_DIRS = dri
 | 
			
		||||
DRI_DIRS = swrast
 | 
			
		||||
GALLIUM_DRIVERS_DIRS = softpipe trace rbug noop identity galahad
 | 
			
		||||
#GALLIUM_DRIVERS_DIRS += llvmpipe
 | 
			
		||||
PROGRAM_DIRS = xdemos
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +0,0 @@
 | 
			
		||||
# Configuration for Darwin / MacOS X, making 32bit and 64bit fat dynamic libs for intel
 | 
			
		||||
 | 
			
		||||
RC_CFLAGS=-arch i386 -arch x86_64
 | 
			
		||||
 | 
			
		||||
include $(TOP)/configs/darwin
 | 
			
		||||
 | 
			
		||||
CONFIG_NAME = darwin-fat-intel
 | 
			
		||||
							
								
								
									
										33
									
								
								configs/darwin-x86ppc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								configs/darwin-x86ppc
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,33 @@
 | 
			
		||||
# Configuration for Darwin / MacOS X, making dynamic libs
 | 
			
		||||
 | 
			
		||||
include $(TOP)/configs/default
 | 
			
		||||
 | 
			
		||||
CONFIG_NAME = darwin
 | 
			
		||||
 | 
			
		||||
# Compiler and flags
 | 
			
		||||
CC = cc
 | 
			
		||||
CXX = cc
 | 
			
		||||
CFLAGS = -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk \
 | 
			
		||||
         -I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
 | 
			
		||||
CXXFLAGS = -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk \
 | 
			
		||||
         -I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
 | 
			
		||||
 | 
			
		||||
MKLIB_OPTIONS = -archopt "-isysroot /Developer/SDKs/MacOSX10.4u.sdk"
 | 
			
		||||
 | 
			
		||||
# Library names (actual file names)
 | 
			
		||||
GL_LIB_NAME = libGL.dylib
 | 
			
		||||
GLU_LIB_NAME = libGLU.dylib
 | 
			
		||||
GLUT_LIB_NAME = libglut.dylib
 | 
			
		||||
GLW_LIB_NAME = libGLw.dylib
 | 
			
		||||
OSMESA_LIB_NAME = libOSMesa.dylib
 | 
			
		||||
 | 
			
		||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
 | 
			
		||||
OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lGL
 | 
			
		||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lGL
 | 
			
		||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lGL -lGLU -L/usr/X11R6/lib -lX11 -lXmu -lXi -lXext
 | 
			
		||||
GLW_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXt $(TOP)/lib/GL.dylib
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
 | 
			
		||||
 | 
			
		||||
# omit glw lib for now:
 | 
			
		||||
SRC_DIRS = gallium mesa glu glut/glx glew
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										105
									
								
								configs/default
									
									
									
									
									
								
							
							
						
						
									
										105
									
								
								configs/default
									
									
									
									
									
								
							@@ -8,9 +8,9 @@
 | 
			
		||||
CONFIG_NAME = default
 | 
			
		||||
 | 
			
		||||
# Version info
 | 
			
		||||
MESA_MAJOR=8
 | 
			
		||||
MESA_MINOR=0
 | 
			
		||||
MESA_TINY=0
 | 
			
		||||
MESA_MAJOR=7
 | 
			
		||||
MESA_MINOR=6
 | 
			
		||||
MESA_TINY=1
 | 
			
		||||
MESA_VERSION = $(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY)
 | 
			
		||||
 | 
			
		||||
# external projects.  This should be useless now that we use libdrm.
 | 
			
		||||
@@ -25,7 +25,6 @@ CXXFLAGS = -O
 | 
			
		||||
LDFLAGS =
 | 
			
		||||
HOST_CFLAGS = $(CFLAGS)
 | 
			
		||||
GLU_CFLAGS = 
 | 
			
		||||
GLX_TLS = no
 | 
			
		||||
 | 
			
		||||
# Compiler for building demos/tests/etc
 | 
			
		||||
APP_CC = $(CC)
 | 
			
		||||
@@ -38,9 +37,6 @@ MKLIB_OPTIONS =
 | 
			
		||||
MKDEP = makedepend
 | 
			
		||||
MKDEP_OPTIONS = -fdepend
 | 
			
		||||
MAKE = make
 | 
			
		||||
FLEX = flex
 | 
			
		||||
BISON = bison
 | 
			
		||||
PKG_CONFIG = pkg-config
 | 
			
		||||
 | 
			
		||||
# Use MINSTALL for installing libraries, INSTALL for everything else
 | 
			
		||||
MINSTALL = $(SHELL) $(TOP)/bin/minstall
 | 
			
		||||
@@ -55,44 +51,26 @@ INDENT_FLAGS = -i4 -nut -br -brs -npcs -ce -T GLubyte -T GLbyte -T Bool
 | 
			
		||||
# Library names (base name)
 | 
			
		||||
GL_LIB = GL
 | 
			
		||||
GLU_LIB = GLU
 | 
			
		||||
GLUT_LIB = glut
 | 
			
		||||
GLEW_LIB = GLEW
 | 
			
		||||
GLW_LIB = GLw
 | 
			
		||||
OSMESA_LIB = OSMesa
 | 
			
		||||
EGL_LIB = EGL
 | 
			
		||||
GLESv1_CM_LIB = GLESv1_CM
 | 
			
		||||
GLESv2_LIB = GLESv2
 | 
			
		||||
VG_LIB = OpenVG
 | 
			
		||||
GLAPI_LIB = glapi
 | 
			
		||||
WAYLAND_EGL_LIB = wayland-egl
 | 
			
		||||
GBM_LIB = gbm
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Library names (actual file names)
 | 
			
		||||
GL_LIB_NAME = lib$(GL_LIB).so
 | 
			
		||||
GLU_LIB_NAME = lib$(GLU_LIB).so
 | 
			
		||||
GLUT_LIB_NAME = lib$(GLUT_LIB).so
 | 
			
		||||
GLEW_LIB_NAME = lib$(GLEW_LIB).a
 | 
			
		||||
GLW_LIB_NAME = lib$(GLW_LIB).so
 | 
			
		||||
OSMESA_LIB_NAME = lib$(OSMESA_LIB).so
 | 
			
		||||
EGL_LIB_NAME = lib$(EGL_LIB).so
 | 
			
		||||
GLESv1_CM_LIB_NAME = lib$(GLESv1_CM_LIB).so
 | 
			
		||||
GLESv2_LIB_NAME = lib$(GLESv2_LIB).so
 | 
			
		||||
VG_LIB_NAME = lib$(VG_LIB).so
 | 
			
		||||
GLAPI_LIB_NAME = lib$(GLAPI_LIB).so
 | 
			
		||||
WAYLAND_EGL_LIB_NAME = lib$(WAYLAND_EGL_LIB).so
 | 
			
		||||
GBM_LIB_NAME = lib$(GBM_LIB).so
 | 
			
		||||
 | 
			
		||||
# globs used to install the lib and all symlinks
 | 
			
		||||
GL_LIB_GLOB = $(GL_LIB_NAME)*
 | 
			
		||||
GLU_LIB_GLOB = $(GLU_LIB_NAME)*
 | 
			
		||||
GLUT_LIB_GLOB = $(GLUT_LIB_NAME)*
 | 
			
		||||
GLW_LIB_GLOB = $(GLW_LIB_NAME)*
 | 
			
		||||
OSMESA_LIB_GLOB = $(OSMESA_LIB_NAME)*
 | 
			
		||||
EGL_LIB_GLOB = $(EGL_LIB_NAME)*
 | 
			
		||||
GLESv1_CM_LIB_GLOB = $(GLESv1_CM_LIB_NAME)*
 | 
			
		||||
GLESv2_LIB_GLOB = $(GLESv2_LIB_NAME)*
 | 
			
		||||
VG_LIB_GLOB = $(VG_LIB_NAME)*
 | 
			
		||||
GLAPI_LIB_GLOB = $(GLAPI_LIB_NAME)*
 | 
			
		||||
WAYLAND_EGL_LIB_GLOB = $(WAYLAND_EGL_LIB_NAME)*
 | 
			
		||||
GBM_LIB_GLOB = $(GBM_LIB_NAME)*
 | 
			
		||||
 | 
			
		||||
DRI_CFLAGS = $(CFLAGS)
 | 
			
		||||
DRI_CXXFLAGS = $(CXXFLAGS)
 | 
			
		||||
 | 
			
		||||
# Optional assembly language optimization files for libGL
 | 
			
		||||
MESA_ASM_SOURCES = 
 | 
			
		||||
@@ -105,29 +83,25 @@ MOTIF_CFLAGS = -I/usr/include/Motif1.2
 | 
			
		||||
 | 
			
		||||
# Directories to build
 | 
			
		||||
LIB_DIR = lib
 | 
			
		||||
SRC_DIRS = glsl mapi/glapi mapi/vgapi mesa \
 | 
			
		||||
	gallium egl gallium/winsys gallium/targets glu
 | 
			
		||||
SRC_DIRS = mesa gallium egl gallium/winsys glu glut/glx glew glw
 | 
			
		||||
GLU_DIRS = sgi
 | 
			
		||||
DRIVER_DIRS = x11 osmesa
 | 
			
		||||
# Which subdirs under $(TOP)/progs/ to enter:
 | 
			
		||||
PROGRAM_DIRS = demos redbook samples glsl xdemos
 | 
			
		||||
 | 
			
		||||
# EGL drivers to build
 | 
			
		||||
EGL_DRIVERS_DIRS = glx
 | 
			
		||||
# EGL directories
 | 
			
		||||
EGL_DRIVERS_DIRS = demo
 | 
			
		||||
 | 
			
		||||
# gbm backends to build
 | 
			
		||||
GBM_BACKEND_DIRS = dri
 | 
			
		||||
 | 
			
		||||
# Gallium directories and
 | 
			
		||||
# Gallium directories and 
 | 
			
		||||
GALLIUM_DIRS = auxiliary drivers state_trackers
 | 
			
		||||
GALLIUM_AUXILIARIES = $(TOP)/src/gallium/auxiliary/libgallium.a
 | 
			
		||||
GALLIUM_DRIVERS_DIRS = softpipe trace rbug noop identity galahad i915 svga r300 nvfx nv50
 | 
			
		||||
GALLIUM_AUXILIARY_DIRS = rbug draw translate cso_cache pipebuffer tgsi sct rtasm util indices
 | 
			
		||||
GALLIUM_AUXILIARIES = $(foreach DIR,$(GALLIUM_AUXILIARY_DIRS),$(TOP)/src/gallium/auxiliary/$(DIR)/lib$(DIR).a)
 | 
			
		||||
GALLIUM_DRIVERS_DIRS = softpipe i915simple failover trace identity
 | 
			
		||||
GALLIUM_DRIVERS = $(foreach DIR,$(GALLIUM_DRIVERS_DIRS),$(TOP)/src/gallium/drivers/$(DIR)/lib$(DIR).a)
 | 
			
		||||
GALLIUM_WINSYS_DIRS = sw sw/xlib
 | 
			
		||||
GALLIUM_TARGET_DIRS = libgl-xlib
 | 
			
		||||
GALLIUM_STATE_TRACKERS_DIRS = glx vega
 | 
			
		||||
GALLIUM_WINSYS_DIRS = xlib egl_xlib
 | 
			
		||||
GALLIUM_WINSYS_DRM_DIRS =
 | 
			
		||||
GALLIUM_STATE_TRACKERS_DIRS = glx
 | 
			
		||||
 | 
			
		||||
# native platforms EGL should support
 | 
			
		||||
EGL_PLATFORMS = x11
 | 
			
		||||
EGL_CLIENT_APIS = $(GL_LIB)
 | 
			
		||||
 | 
			
		||||
# Library dependencies
 | 
			
		||||
#EXTRA_LIB_PATH ?=
 | 
			
		||||
@@ -135,18 +109,13 @@ GL_LIB_DEPS     = $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread
 | 
			
		||||
EGL_LIB_DEPS    = $(EXTRA_LIB_PATH) -ldl -lpthread
 | 
			
		||||
OSMESA_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
 | 
			
		||||
GLU_LIB_DEPS    = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
 | 
			
		||||
GLUT_LIB_DEPS   = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXi -lm
 | 
			
		||||
GLW_LIB_DEPS    = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lXt -lX11
 | 
			
		||||
GLESv1_CM_LIB_DEPS = $(EXTRA_LIB_PATH) -lpthread
 | 
			
		||||
GLESv2_LIB_DEPS = $(EXTRA_LIB_PATH) -lpthread
 | 
			
		||||
VG_LIB_DEPS    = $(EXTRA_LIB_PATH) -lpthread
 | 
			
		||||
GLAPI_LIB_DEPS = $(EXTRA_LIB_PATH) -lpthread
 | 
			
		||||
WAYLAND_EGL_LIB_DEPS = $(EXTRA_LIB_PATH) -lwayland-client -ldrm
 | 
			
		||||
GBM_LIB_DEPS = $(EXTRA_LIB_PATH) -ludev -ldl
 | 
			
		||||
APP_LIB_DEPS    = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
 | 
			
		||||
 | 
			
		||||
# Program dependencies - specific GL libraries added in Makefiles
 | 
			
		||||
X11_LIBS = -lX11
 | 
			
		||||
# Program dependencies - specific GL/glut libraries added in Makefiles
 | 
			
		||||
APP_LIB_DEPS = -lm
 | 
			
		||||
 | 
			
		||||
DLOPEN_LIBS = -ldl
 | 
			
		||||
 | 
			
		||||
# Installation directories (for make install)
 | 
			
		||||
INSTALL_DIR = /usr/local
 | 
			
		||||
@@ -157,12 +126,6 @@ DRI_DRIVER_INSTALL_DIR = $(INSTALL_LIB_DIR)/dri
 | 
			
		||||
# Where libGL will look for DRI hardware drivers
 | 
			
		||||
DRI_DRIVER_SEARCH_DIR = $(DRI_DRIVER_INSTALL_DIR)
 | 
			
		||||
 | 
			
		||||
# EGL driver install directory
 | 
			
		||||
EGL_DRIVER_INSTALL_DIR = $(INSTALL_LIB_DIR)/egl
 | 
			
		||||
 | 
			
		||||
# gbm backend install directory
 | 
			
		||||
GBM_BACKEND_INSTALL_DIR = $(INSTALL_LIB_DIR)/gbm
 | 
			
		||||
 | 
			
		||||
# Xorg driver install directory (for xorg state-tracker)
 | 
			
		||||
XORG_DRIVER_INSTALL_DIR = $(INSTALL_LIB_DIR)/xorg/modules/drivers
 | 
			
		||||
 | 
			
		||||
@@ -175,23 +138,11 @@ GLU_PC_REQ = gl
 | 
			
		||||
GLU_PC_REQ_PRIV =
 | 
			
		||||
GLU_PC_LIB_PRIV =
 | 
			
		||||
GLU_PC_CFLAGS =
 | 
			
		||||
GLUT_PC_REQ_PRIV =
 | 
			
		||||
GLUT_PC_LIB_PRIV =
 | 
			
		||||
GLUT_PC_CFLAGS =
 | 
			
		||||
GLW_PC_REQ_PRIV =
 | 
			
		||||
GLW_PC_LIB_PRIV =
 | 
			
		||||
GLW_PC_CFLAGS =
 | 
			
		||||
OSMESA_PC_REQ =
 | 
			
		||||
OSMESA_PC_LIB_PRIV =
 | 
			
		||||
GLESv1_CM_PC_REQ_PRIV =
 | 
			
		||||
GLESv1_CM_PC_LIB_PRIV =
 | 
			
		||||
GLESv1_CM_PC_CFLAGS =
 | 
			
		||||
GLESv2_PC_REQ_PRIV =
 | 
			
		||||
GLESv2_PC_LIB_PRIV =
 | 
			
		||||
GLESv2_PC_CFLAGS =
 | 
			
		||||
VG_PC_REQ_PRIV =
 | 
			
		||||
VG_PC_LIB_PRIV =
 | 
			
		||||
VG_PC_CFLAGS =
 | 
			
		||||
WAYLAND_EGL_PC_REQ_PRIV =
 | 
			
		||||
WAYLAND_EGL_PC_LIB_PRIV =
 | 
			
		||||
WAYLAND_EGL_PC_CFLAGS =
 | 
			
		||||
GBM_PC_REQ_PRIV =
 | 
			
		||||
GBM_PC_LIB_PRIV =
 | 
			
		||||
GBM_PC_CFLAGS =
 | 
			
		||||
 
 | 
			
		||||
@@ -21,9 +21,11 @@ CFLAGS += $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(DEFINES) $(X11_INCLUDES) -ff
 | 
			
		||||
 | 
			
		||||
CXXFLAGS += $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(DEFINES) $(X11_INCLUDES)
 | 
			
		||||
 | 
			
		||||
GLUT_CFLAGS = -fexceptions
 | 
			
		||||
 | 
			
		||||
# Work around aliasing bugs - developers should comment this out
 | 
			
		||||
CFLAGS += -fno-strict-aliasing
 | 
			
		||||
CXXFLAGS += -fno-strict-aliasing
 | 
			
		||||
 | 
			
		||||
EXTRA_LIB_PATH = -L/usr/local/lib
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) $(EXTRA_LIB_PATH) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lXext -lXmu -lXi -lX11 -lm
 | 
			
		||||
 
 | 
			
		||||
@@ -30,22 +30,26 @@ ASM_SOURCES =
 | 
			
		||||
MESA_ASM_SOURCES = 
 | 
			
		||||
 | 
			
		||||
# Library/program dependencies
 | 
			
		||||
MESA_MODULES  = $(TOP)/src/mesa/libmesa.a
 | 
			
		||||
 | 
			
		||||
LIBDRM_CFLAGS = `$(PKG_CONFIG) --cflags libdrm`
 | 
			
		||||
LIBDRM_LIB = `$(PKG_CONFIG) --libs libdrm`
 | 
			
		||||
DRI_LIB_DEPS = $(MESA_MODULES) -L/usr/local/lib -lm -pthread -lexpat $(LIBDRM_LIB)
 | 
			
		||||
LIBDRM_CFLAGS = `pkg-config --cflags libdrm`
 | 
			
		||||
LIBDRM_LIB = `pkg-config --libs libdrm`
 | 
			
		||||
DRI_LIB_DEPS = -L/usr/local/lib -lm -pthread -lexpat $(LIBDRM_LIB)
 | 
			
		||||
GL_LIB_DEPS = -L/usr/local/lib -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
 | 
			
		||||
	-lm -pthread $(LIBDRM_LIB)
 | 
			
		||||
 | 
			
		||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/local/lib -lGLU -lGL -lX11 -lXmu -lXt -lXi -lm
 | 
			
		||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/local/lib -lGL -lXt -lX11
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Directories
 | 
			
		||||
SRC_DIRS = glx gallium mesa glu
 | 
			
		||||
SRC_DIRS = glx/x11 gallium mesa glu glut/glx glew glw
 | 
			
		||||
DRIVER_DIRS = dri
 | 
			
		||||
PROGRAM_DIRS = 
 | 
			
		||||
WINDOW_SYSTEM=dri
 | 
			
		||||
 | 
			
		||||
DRM_SOURCE_PATH=$(TOP)/../drm
 | 
			
		||||
 | 
			
		||||
DRI_DIRS = i915 i965 r200 radeon
 | 
			
		||||
# ffb and gamma are missing because they have not been converted to use the new
 | 
			
		||||
# interface.
 | 
			
		||||
DRI_DIRS = i810 i915 i965 mach64 mga r128 r200 r300 radeon tdfx \
 | 
			
		||||
	   unichrome savage sis
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -11,3 +11,4 @@ CXX = aCC
 | 
			
		||||
CFLAGS = -O +DAportable +z -Ae -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM
 | 
			
		||||
CXXFLAGS = -O +DAportable +Z -Ae -D_HPUX_SOURCE
 | 
			
		||||
 | 
			
		||||
APP_LIB_DEPS = -$(TOP)/$(LIB_DIR) -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
 | 
			
		||||
 
 | 
			
		||||
@@ -10,9 +10,11 @@ CXX = g++
 | 
			
		||||
 | 
			
		||||
CFLAGS = -ansi -O3 -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include  -DUSE_XSHM
 | 
			
		||||
CXXFLAGS = -ansi -O3 -D_HPUX_SOURCE
 | 
			
		||||
GLUT_CFLAGS = -fexceptions
 | 
			
		||||
 | 
			
		||||
# Work around aliasing bugs - developers should comment this out
 | 
			
		||||
CFLAGS += -fno-strict-aliasing
 | 
			
		||||
CXXFLAGS += -fno-strict-aliasing
 | 
			
		||||
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -16,6 +16,7 @@ MKLIB_OPTIONS = -static
 | 
			
		||||
# Library names (actual file names)
 | 
			
		||||
GL_LIB_NAME = libGL.a
 | 
			
		||||
GLU_LIB_NAME = libGLU.a
 | 
			
		||||
GLUT_LIB_NAME = libglut.a
 | 
			
		||||
GLW_LIB_NAME = libGLw.a
 | 
			
		||||
OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +24,7 @@ OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
GL_LIB_DEPS = 
 | 
			
		||||
OSMESA_LIB_DEPS = 
 | 
			
		||||
GLU_LIB_DEPS = 
 | 
			
		||||
GLUT_LIB_DEPS = 
 | 
			
		||||
GLW_LIB_DEPS = 
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lpthread -lm -lstdc++
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm -lstdc++
 | 
			
		||||
 
 | 
			
		||||
@@ -18,10 +18,13 @@ MKLIB_OPTIONS =
 | 
			
		||||
# Library names (actual file names)
 | 
			
		||||
GL_LIB_NAME = libGL.a
 | 
			
		||||
GLU_LIB_NAME = libGLU.a
 | 
			
		||||
GLUT_LIB_NAME = libglut.a
 | 
			
		||||
GLW_LIB_NAME = libGLw.a
 | 
			
		||||
OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
 | 
			
		||||
# Library/program dependencies
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB)
 | 
			
		||||
GL_LIB_DEPS = -L/usr/lib/X11R6/ -L/usr/contrib/X11R6/lib/ -lXext -lXt -lXi -lX11 -lm -lpthread
 | 
			
		||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm -lCsup -lcl
 | 
			
		||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(GL_LIB_DEPS)
 | 
			
		||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(GL_LIB_DEPS)
 | 
			
		||||
 
 | 
			
		||||
@@ -18,8 +18,10 @@ MKLIB_OPTIONS = -static
 | 
			
		||||
# Library names (actual file names)
 | 
			
		||||
GL_LIB_NAME = libGL.a
 | 
			
		||||
GLU_LIB_NAME = libGLU.a
 | 
			
		||||
GLUT_LIB_NAME = libglut.a
 | 
			
		||||
GLW_LIB_NAME = libGLw.a
 | 
			
		||||
OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
 | 
			
		||||
# Library/program dependencies
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/lib/X11R6/ -L/usr/contrib/X11R6/lib/ -lXext -lXmu -lXt -lXi -lX11 -lm -lpthread -lCsup -lcl
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -18,7 +18,9 @@ MKLIB_OPTIONS = -static
 | 
			
		||||
# Library names (actual file names)
 | 
			
		||||
GL_LIB_NAME = libGL.a
 | 
			
		||||
GLU_LIB_NAME = libGLU.a
 | 
			
		||||
GLUT_LIB_NAME = libglut.a
 | 
			
		||||
GLW_LIB_NAME = libGLw.a
 | 
			
		||||
OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
 | 
			
		||||
# Library/program dependencies
 | 
			
		||||
APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
 | 
			
		||||
 
 | 
			
		||||
@@ -19,10 +19,13 @@ LIB_DIR = lib64
 | 
			
		||||
# Library names (actual file names)
 | 
			
		||||
GL_LIB_NAME = libGL.a
 | 
			
		||||
GLU_LIB_NAME = libGLU.a
 | 
			
		||||
GLUT_LIB_NAME = libglut.a
 | 
			
		||||
GLW_LIB_NAME = libGLw.a
 | 
			
		||||
OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
 | 
			
		||||
# Library/program dependencies
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB)
 | 
			
		||||
GL_LIB_DEPS = -L/usr/lib/X11R6/pa20_64 -L/usr/contrib/X11R6/lib/pa20_64 -lXext -lXmu -lXt -lXi -lX11 -lm -lpthread
 | 
			
		||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm -lCsup -lcl
 | 
			
		||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(GL_LIB_DEPS)
 | 
			
		||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(GL_LIB_DEPS)
 | 
			
		||||
 
 | 
			
		||||
@@ -19,7 +19,9 @@ LIB_DIR = lib64
 | 
			
		||||
# Library names (actual file names)
 | 
			
		||||
GL_LIB_NAME = libGL.a
 | 
			
		||||
GLU_LIB_NAME = libGLU.a
 | 
			
		||||
GLUT_LIB_NAME = libglut.a
 | 
			
		||||
GLW_LIB_NAME = libGLw.a
 | 
			
		||||
OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
 | 
			
		||||
# Library/program dependencies
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/lib/X11R6/pa20_64 -L/usr/contrib/X11R6/lib/pa20_64 -lXext -lXmu -lXt -lXi -lX11 -lm -lpthread -lCsup -lcl
 | 
			
		||||
 
 | 
			
		||||
@@ -19,10 +19,12 @@ LIB_DIR = lib64
 | 
			
		||||
# Library names (actual file names)
 | 
			
		||||
GL_LIB_NAME = libGL.so
 | 
			
		||||
GLU_LIB_NAME = libGLU.so
 | 
			
		||||
GLUT_LIB_NAME = libglut.so
 | 
			
		||||
GLW_LIB_NAME = libGLw.so
 | 
			
		||||
OSMESA_LIB_NAME = libOSMesa.so
 | 
			
		||||
 | 
			
		||||
# Library/program dependencies
 | 
			
		||||
GL_LIB_DEPS = -L/usr/lib/X11R6/ -L/usr/contrib/X11R6/lib/ -lXext -lXmu -lXt -lXi -lX11 -lm -lpthread
 | 
			
		||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm -lCsup -lcl
 | 
			
		||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(GL_LIB_DEPS)
 | 
			
		||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(GL_LIB_DEPS)
 | 
			
		||||
 
 | 
			
		||||
@@ -19,7 +19,9 @@ LIB_DIR = lib64
 | 
			
		||||
# Library names (actual file names)
 | 
			
		||||
GL_LIB_NAME = libGL.a
 | 
			
		||||
GLU_LIB_NAME = libGLU.a
 | 
			
		||||
GLUT_LIB_NAME = libglut.a
 | 
			
		||||
GLW_LIB_NAME = libGLw.a
 | 
			
		||||
OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
 | 
			
		||||
# Library/program dependencies
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lXt -lX11 -lpthread -lm -lCsup -lcl
 | 
			
		||||
 
 | 
			
		||||
@@ -12,4 +12,5 @@ CXX = c++
 | 
			
		||||
CFLAGS = +z -O +Olibcalls +ESlit -Ae +Onolimit -D_HPUX_SOURCE -I/usr/include/X11R5 -DUSE_XSHM
 | 
			
		||||
CXXFLAGS = +z -O +Olibcalls +ESlit -Ae +Onolimit -D_HPUX_SOURCE -I/usr/include/X11R5
 | 
			
		||||
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/lib/X11R5 -s -Wl,+s,-B,nonfatal,-B,immediate -lXext -lXmu -lXi -lX11 -lm
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -11,3 +11,4 @@ CXX = aCC
 | 
			
		||||
CFLAGS = -O +DAportable +z -Ae -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM
 | 
			
		||||
CXXFLAGS = -O +DAportable +Z -Ae -D_HPUX_SOURCE
 | 
			
		||||
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
 | 
			
		||||
 
 | 
			
		||||
@@ -14,3 +14,4 @@ GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
 | 
			
		||||
 | 
			
		||||
LIB_DIR = lib64
 | 
			
		||||
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -64 -rpath $(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXi -lpthread -lm
 | 
			
		||||
 
 | 
			
		||||
@@ -15,9 +15,11 @@ GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
 | 
			
		||||
 | 
			
		||||
LIB_DIR = lib64
 | 
			
		||||
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -64 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lpthread -lm -lC
 | 
			
		||||
 | 
			
		||||
GL_LIB_NAME = libGL.a
 | 
			
		||||
GLU_LIB_NAME = libGLU.a
 | 
			
		||||
GLUT_LIB_NAME = libglut.a
 | 
			
		||||
GLW_LIB_NAME = libGLw.a
 | 
			
		||||
OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -14,3 +14,4 @@ GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
 | 
			
		||||
 | 
			
		||||
LIB_DIR = lib32
 | 
			
		||||
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -n32 -rpath $(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXi -lfpe -lpthread -lm
 | 
			
		||||
 
 | 
			
		||||
@@ -15,9 +15,11 @@ GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
 | 
			
		||||
 | 
			
		||||
LIB_DIR = lib32
 | 
			
		||||
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -n32 -glut -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lpthread -lm -lC
 | 
			
		||||
 | 
			
		||||
GL_LIB_NAME = libGL.a
 | 
			
		||||
GLU_LIB_NAME = libGLU.a
 | 
			
		||||
GLUT_LIB_NAME = libglut.a
 | 
			
		||||
GLW_LIB_NAME = libGLw.a
 | 
			
		||||
OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -14,4 +14,5 @@ GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
 | 
			
		||||
 | 
			
		||||
LIB_DIR = lib32
 | 
			
		||||
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -32 -rpath $(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lm
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -15,9 +15,11 @@ GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
 | 
			
		||||
 | 
			
		||||
LIB_DIR = lib32
 | 
			
		||||
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -32 -glut -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lm -lC
 | 
			
		||||
 | 
			
		||||
GL_LIB_NAME = libGL.a
 | 
			
		||||
GLU_LIB_NAME = libGLU.a
 | 
			
		||||
GLUT_LIB_NAME = libglut.a
 | 
			
		||||
GLW_LIB_NAME = libGLw.a
 | 
			
		||||
OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -23,15 +23,16 @@ DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
 | 
			
		||||
X11_INCLUDES = -I/usr/X11R6/include
 | 
			
		||||
 | 
			
		||||
CFLAGS = -Wall -Wmissing-prototypes -Wdeclaration-after-statement \
 | 
			
		||||
	-Wpointer-arith $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) \
 | 
			
		||||
	$(DEFINES) $(ASM_FLAGS) $(X11_INCLUDES) -std=c99 -ffast-math
 | 
			
		||||
	$(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) \
 | 
			
		||||
	$(DEFINES) $(ASM_FLAGS) $(X11_INCLUDES) -std=c99 -ffast-math 
 | 
			
		||||
 | 
			
		||||
CXXFLAGS = -Wall -Wpointer-arith $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) \
 | 
			
		||||
	$(DEFINES) $(X11_INCLUDES)
 | 
			
		||||
CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
 | 
			
		||||
	$(X11_INCLUDES) 
 | 
			
		||||
 | 
			
		||||
# Work around aliasing bugs - developers should comment this out
 | 
			
		||||
CFLAGS += -fno-strict-aliasing
 | 
			
		||||
CXXFLAGS += -fno-strict-aliasing
 | 
			
		||||
 | 
			
		||||
GLUT_CFLAGS = -fexceptions
 | 
			
		||||
 | 
			
		||||
EXTRA_LIB_PATH = -L/usr/X11R6/lib
 | 
			
		||||
 
 | 
			
		||||
@@ -9,11 +9,14 @@ CC = gcc
 | 
			
		||||
CXX = g++
 | 
			
		||||
CFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -fPIC -D_XOPEN_SOURCE -DUSE_XSHM
 | 
			
		||||
CXXFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -fPIC -D_XOPEN_SOURCE
 | 
			
		||||
GLUT_CFLAGS = -fexceptions
 | 
			
		||||
 | 
			
		||||
# Work around aliasing bugs - developers should comment this out
 | 
			
		||||
CFLAGS += -fno-strict-aliasing
 | 
			
		||||
CXXFLAGS += -fno-strict-aliasing
 | 
			
		||||
 | 
			
		||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
 | 
			
		||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
 | 
			
		||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,7 @@ CC = gcc
 | 
			
		||||
CXX = g++
 | 
			
		||||
CFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -D_XOPEN_SOURCE -DUSE_XSHM
 | 
			
		||||
CXXFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -D_XOPEN_SOURCE
 | 
			
		||||
GLUT_CFLAGS = -fexceptions
 | 
			
		||||
MKLIB_OPTIONS = -static
 | 
			
		||||
PIC_FLAGS =
 | 
			
		||||
 | 
			
		||||
@@ -19,9 +20,12 @@ CXXFLAGS += -fno-strict-aliasing
 | 
			
		||||
# Library names (actual file names)
 | 
			
		||||
GL_LIB_NAME = libGL.a
 | 
			
		||||
GLU_LIB_NAME = libGLU.a
 | 
			
		||||
GLUT_LIB_NAME = libglut.a
 | 
			
		||||
GLW_LIB_NAME = libGLw.a
 | 
			
		||||
OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
 | 
			
		||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
 | 
			
		||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -L/usr/X11R6/lib -lX11 -lm
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										67
									
								
								configs/linux-cell
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								configs/linux-cell
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,67 @@
 | 
			
		||||
# linux-cell  (non-debug build)
 | 
			
		||||
 | 
			
		||||
include $(TOP)/configs/default
 | 
			
		||||
 | 
			
		||||
CONFIG_NAME = linux-cell
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Omiting other gallium drivers:
 | 
			
		||||
GALLIUM_DRIVERS_DIRS = cell softpipe trace
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Compiler and flags
 | 
			
		||||
CC = ppu32-gcc
 | 
			
		||||
CXX = ppu32-g++
 | 
			
		||||
HOST_CC = gcc
 | 
			
		||||
APP_CC = gcc
 | 
			
		||||
APP_CXX = g++
 | 
			
		||||
 | 
			
		||||
OPT_FLAGS = -O3
 | 
			
		||||
 | 
			
		||||
# Cell SDK location
 | 
			
		||||
## For SDK 2.1: (plus, remove -DSPU_MAIN_PARAM_LONG_LONG below)
 | 
			
		||||
#SDK = /opt/ibm/cell-sdk/prototype/sysroot/usr
 | 
			
		||||
## For SDK 3.0:
 | 
			
		||||
SDK = /opt/cell/sdk/usr
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
CFLAGS = $(OPT_FLAGS) -Wall -Winline -Wmissing-prototypes \
 | 
			
		||||
	-fPIC -m32 -std=c99 -mabi=altivec -maltivec \
 | 
			
		||||
	-I. -I$(SDK)/include \
 | 
			
		||||
	-DGALLIUM_CELL -DUSE_XSHM -D_BSD_SOURCE -D_SVID_SOURCE
 | 
			
		||||
 | 
			
		||||
CXXFLAGS = $(CFLAGS)
 | 
			
		||||
 | 
			
		||||
# Omitting glw here:
 | 
			
		||||
SRC_DIRS = gallium mesa gallium/winsys glu glut/glx glew
 | 
			
		||||
 | 
			
		||||
# Build no traditional Mesa drivers:
 | 
			
		||||
DRIVER_DIRS =
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
MKDEP_OPTIONS = -fdepend -Y
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread \
 | 
			
		||||
	-L$(SDK)/lib -m32 -Wl,-m,elf32ppc -R$(SDK)/lib -lspe2
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
CELL_SPU_LIB = $(TOP)/src/gallium/drivers/cell/spu/g3d_spu.a
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### SPU stuff
 | 
			
		||||
 | 
			
		||||
SPU_CC = spu-gcc
 | 
			
		||||
 | 
			
		||||
SPU_CFLAGS = $(OPT_FLAGS) -W -Wall -Winline -Wmissing-prototypes -Wno-main \
 | 
			
		||||
	-I. -I$(SDK)/spu/include -I$(TOP)/src/mesa/ $(INCLUDE_DIRS) \
 | 
			
		||||
	-DSPU_MAIN_PARAM_LONG_LONG \
 | 
			
		||||
	-include spu_intrinsics.h
 | 
			
		||||
 | 
			
		||||
SPU_LFLAGS = -L$(SDK)/spu/lib -Wl,-N -lmisc -lm
 | 
			
		||||
 | 
			
		||||
SPU_AR = ppu-ar
 | 
			
		||||
SPU_AR_FLAGS = -qcs
 | 
			
		||||
 | 
			
		||||
SPU_EMBED = ppu32-embedspu
 | 
			
		||||
SPU_EMBED_FLAGS = -m32
 | 
			
		||||
							
								
								
									
										10
									
								
								configs/linux-cell-debug
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								configs/linux-cell-debug
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
			
		||||
# linux-cell-debug
 | 
			
		||||
 | 
			
		||||
include $(TOP)/configs/linux-cell
 | 
			
		||||
 | 
			
		||||
# just override name and OPT_FLAGS here:
 | 
			
		||||
 | 
			
		||||
CONFIG_NAME = linux-cell-debug
 | 
			
		||||
 | 
			
		||||
OPT_FLAGS = -g -DDEBUG
 | 
			
		||||
 | 
			
		||||
@@ -4,6 +4,5 @@ include $(TOP)/configs/linux
 | 
			
		||||
 | 
			
		||||
CONFIG_NAME = linux-debug
 | 
			
		||||
 | 
			
		||||
OPT_FLAGS = -g
 | 
			
		||||
#CFLAGS += -pedantic
 | 
			
		||||
OPT_FLAGS = -g -ansi -pedantic
 | 
			
		||||
DEFINES += -DDEBUG -DDEBUG_MATH
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										38
									
								
								configs/linux-directfb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								configs/linux-directfb
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,38 @@
 | 
			
		||||
# Configuration for DirectFB
 | 
			
		||||
 | 
			
		||||
include $(TOP)/configs/default
 | 
			
		||||
 | 
			
		||||
CONFIG_NAME = linux-directfb
 | 
			
		||||
 | 
			
		||||
# Compiler and flags
 | 
			
		||||
CC  = gcc
 | 
			
		||||
CXX = g++
 | 
			
		||||
 | 
			
		||||
CFLAGS   = -Wall -O3 -ffast-math -fPIC -std=c99 -D_GNU_SOURCE -D_POSIX_SOURCE -D_SVID_SOURCE \
 | 
			
		||||
         -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE -DPTHREADS
 | 
			
		||||
 | 
			
		||||
CXXFLAGS = -Wall -O3 -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE   
 | 
			
		||||
 | 
			
		||||
# Work around aliasing bugs - developers should comment this out
 | 
			
		||||
CFLAGS += -fno-strict-aliasing
 | 
			
		||||
CXXFLAGS += -fno-strict-aliasing
 | 
			
		||||
 | 
			
		||||
HAVE_X86 = $(shell uname -m | grep 'i[3-6]86' >/dev/null && echo yes)
 | 
			
		||||
ifeq ($(HAVE_X86), yes)
 | 
			
		||||
     CFLAGS   += -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
 | 
			
		||||
     CXXFLAGS += -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
 | 
			
		||||
     MESA_ASM_SOURCES = $(X86_SOURCES)
 | 
			
		||||
     GLAPI_ASM_SOURCES = $(X86_API)
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# Directories
 | 
			
		||||
SRC_DIRS     = gallium mesa glu glut/directfb glew
 | 
			
		||||
GLU_DIRS     = sgi
 | 
			
		||||
DRIVER_DIRS  = directfb
 | 
			
		||||
PROGRAM_DIRS = demos directfb
 | 
			
		||||
 | 
			
		||||
# Library/program dependencies
 | 
			
		||||
GL_LIB_DEPS   = -lm -lpthread
 | 
			
		||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -l$(GLU_LIB)
 | 
			
		||||
APP_LIB_DEPS  = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -l$(GLU_LIB) -l$(GLUT_LIB)
 | 
			
		||||
 | 
			
		||||
@@ -32,6 +32,7 @@ CFLAGS = -Wall -Wmissing-prototypes -std=c99 -ffast-math \
 | 
			
		||||
 | 
			
		||||
CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
 | 
			
		||||
 | 
			
		||||
GLUT_CFLAGS = -fexceptions
 | 
			
		||||
 | 
			
		||||
# Work around aliasing bugs - developers should comment this out
 | 
			
		||||
CFLAGS += -fno-strict-aliasing
 | 
			
		||||
@@ -42,34 +43,25 @@ MESA_ASM_SOURCES =
 | 
			
		||||
# Library/program dependencies
 | 
			
		||||
EXTRA_LIB_PATH=-L/usr/X11R6/lib
 | 
			
		||||
 | 
			
		||||
MESA_MODULES  = $(TOP)/src/mesa/libmesa.a
 | 
			
		||||
 | 
			
		||||
LIBDRM_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm)
 | 
			
		||||
LIBDRM_LIB = $(shell $(PKG_CONFIG) --libs libdrm)
 | 
			
		||||
DRI_LIB_DEPS  = $(MESA_MODULES) $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB)
 | 
			
		||||
LIBDRM_CFLAGS = $(shell pkg-config --cflags libdrm)
 | 
			
		||||
LIBDRM_LIB = $(shell pkg-config --libs libdrm)
 | 
			
		||||
DRI_LIB_DEPS  = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB)
 | 
			
		||||
GL_LIB_DEPS   = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
 | 
			
		||||
		-lm -lpthread -ldl $(LIBDRM_LIB)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Directories
 | 
			
		||||
SRC_DIRS := glx egl $(SRC_DIRS)
 | 
			
		||||
SRC_DIRS := glx/x11 egl $(SRC_DIRS)
 | 
			
		||||
PROGRAM_DIRS := egl $(PROGRAM_DIRS)
 | 
			
		||||
 | 
			
		||||
# EGL directories
 | 
			
		||||
EGL_DRIVERS_DIRS = glx
 | 
			
		||||
EGL_DRIVERS_DIRS = demo glx
 | 
			
		||||
 | 
			
		||||
DRIVER_DIRS = dri
 | 
			
		||||
GALLIUM_WINSYS_DIRS = sw sw/xlib drm/vmware drm/intel svga/drm
 | 
			
		||||
GALLIUM_TARGET_DIRS = dri-vmwgfx
 | 
			
		||||
GALLIUM_STATE_TRACKERS_DIRS = egl dri
 | 
			
		||||
WINDOW_SYSTEM = dri
 | 
			
		||||
GALLIUM_WINSYS_DIRS = drm
 | 
			
		||||
GALLIUM_WINSYS_DRM_DIRS = intel
 | 
			
		||||
GALLIUM_STATE_TRACKERS_DIRS = egl
 | 
			
		||||
 | 
			
		||||
DRI_DIRS = i915 i965 nouveau r200 radeon swrast
 | 
			
		||||
 | 
			
		||||
INTEL_LIBS = $(shell $(PKG_CONFIG) --libs libdrm_intel)
 | 
			
		||||
INTEL_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm_intel)
 | 
			
		||||
 | 
			
		||||
NOUVEAU_LIBS = $(shell $(PKG_CONFIG) --libs libdrm_nouveau)
 | 
			
		||||
NOUVEAU_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm_nouveau)
 | 
			
		||||
 | 
			
		||||
RADEON_LIBS = $(shell $(PKG_CONFIG) --libs libdrm_radeon)
 | 
			
		||||
RADEON_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm_radeon)
 | 
			
		||||
RADEON_LDFLAGS = $(LIBDRM_RADEON_LIBS)
 | 
			
		||||
DRI_DIRS = i810 i915 i965 mach64 mga r128 r200 r300 radeon s3v \
 | 
			
		||||
	savage sis tdfx trident unichrome ffb swrast
 | 
			
		||||
 
 | 
			
		||||
@@ -10,5 +10,7 @@ ARCH_FLAGS = -DDEBUG
 | 
			
		||||
# Helpful to reduce the amount of stuff that gets built sometimes:
 | 
			
		||||
#DRI_DIRS = i915tex i915 
 | 
			
		||||
#DRI_DIRS = i965
 | 
			
		||||
#DRI_DIRS = radeon r200
 | 
			
		||||
#DRI_DIRS = radeon r200 r300
 | 
			
		||||
#DRI_DIRS = unichrome sis trident
 | 
			
		||||
#DRI_DIRS = i810 mga r128 tdfx
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -13,5 +13,5 @@ MESA_ASM_SOURCES = $(PPC_SOURCES)
 | 
			
		||||
 | 
			
		||||
# Build only the drivers for cards that exist on PowerPC.  At some point MGA
 | 
			
		||||
# will be added, but not yet.
 | 
			
		||||
DRI_DIRS = r200 radeon
 | 
			
		||||
DRI_DIRS = mach64 r128 r200 r300 radeon tdfx
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -16,5 +16,9 @@ LIB_DIR = lib64
 | 
			
		||||
# Library/program dependencies
 | 
			
		||||
EXTRA_LIB_PATH=-L/usr/X11R6/lib64
 | 
			
		||||
 | 
			
		||||
DRI_DIRS = i915 i965 r200 radeon
 | 
			
		||||
# ffb, gamma, and sis are missing because they have not be converted to use
 | 
			
		||||
# the new interface.  i810 are missing because there is no x86-64
 | 
			
		||||
# system where they could *ever* be used.
 | 
			
		||||
#
 | 
			
		||||
DRI_DIRS = i915 i965 mach64 mga r128 r200 r300 radeon savage tdfx unichrome
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -25,7 +25,7 @@ DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
 | 
			
		||||
	-DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING \
 | 
			
		||||
        -DHAVE_ALIAS -DUSE_XCB -DHAVE_POSIX_MEMALIGN
 | 
			
		||||
 | 
			
		||||
X11_INCLUDES = $(shell $(PKG_CONFIG) --cflags-only-I x11) $(shell $(PKG_CONFIG) --cflags-only-I xcb) $(shell $(PKG_CONFIG) --cflags-only-I x11-xcb) $(shell $(PKG_CONFIG) --cflags-only-I xcb-glx)
 | 
			
		||||
X11_INCLUDES = $(shell pkg-config --cflags-only-I x11) $(shell pkg-config --cflags-only-I xcb) $(shell pkg-config --cflags-only-I x11-xcb) $(shell pkg-config --cflags-only-I xcb-glx)
 | 
			
		||||
 | 
			
		||||
CFLAGS = -Wall -Wmissing-prototypes $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) \
 | 
			
		||||
	$(DEFINES) $(ASM_FLAGS) -std=c99 -ffast-math 
 | 
			
		||||
@@ -39,17 +39,34 @@ CXXFLAGS += -fno-strict-aliasing
 | 
			
		||||
MESA_ASM_SOURCES = 
 | 
			
		||||
 | 
			
		||||
# Library/program dependencies
 | 
			
		||||
EXTRA_LIB_PATH=$(shell $(PKG_CONFIG) --libs-only-L x11)
 | 
			
		||||
EXTRA_LIB_PATH=$(shell pkg-config --libs-only-L x11)
 | 
			
		||||
 | 
			
		||||
MESA_MODULES  = $(TOP)/src/mesa/libmesa.a
 | 
			
		||||
 | 
			
		||||
LIBDRM_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm)
 | 
			
		||||
LIBDRM_LIB = $(shell $(PKG_CONFIG) --libs libdrm)
 | 
			
		||||
DRI_LIB_DEPS  = $(MESA_MODULES) $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB)
 | 
			
		||||
LIBDRM_CFLAGS = $(shell pkg-config --cflags libdrm)
 | 
			
		||||
LIBDRM_LIB = $(shell pkg-config --libs libdrm)
 | 
			
		||||
DRI_LIB_DEPS  = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB)
 | 
			
		||||
GL_LIB_DEPS   = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lm -lpthread -ldl \
 | 
			
		||||
                $(LIBDRM_LIB) $(shell $(PKG_CONFIG) --libs xcb) $(shell $(PKG_CONFIG) --libs x11-xcb) $(shell $(PKG_CONFIG) --libs xcb-glx)
 | 
			
		||||
                $(LIBDRM_LIB) $(shell pkg-config --libs xcb) $(shell pkg-config --libs x11-xcb) $(shell pkg-config --libs xcb-glx)
 | 
			
		||||
 | 
			
		||||
SRC_DIRS = glx gallium mesa glu
 | 
			
		||||
 | 
			
		||||
# This is now 0 by default since it seems to confuse the hell out of people
 | 
			
		||||
# and generate a lot of extra noise on bugzilla.  If you need to build with
 | 
			
		||||
# EGL, do 'make linux-dri USING_EGL=1'
 | 
			
		||||
 | 
			
		||||
USING_EGL=0
 | 
			
		||||
 | 
			
		||||
# Directories
 | 
			
		||||
ifeq ($(USING_EGL), 1)
 | 
			
		||||
SRC_DIRS = egl glx/x11 gallium mesa glu glut/glx glew glw
 | 
			
		||||
PROGRAM_DIRS = egl
 | 
			
		||||
else
 | 
			
		||||
SRC_DIRS = glx/x11 gallium mesa glu glut/glx glew glw
 | 
			
		||||
PROGRAM_DIRS = xdemos
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
DRIVER_DIRS = dri
 | 
			
		||||
DRI_DIRS = i915 r200 radeon
 | 
			
		||||
WINDOW_SYSTEM=dri
 | 
			
		||||
 | 
			
		||||
# gamma are missing because they have not been converted to use the new
 | 
			
		||||
# interface.
 | 
			
		||||
DRI_DIRS = i810 i915 mach64 mga r128 r200 r300 radeon s3v \
 | 
			
		||||
	savage sis tdfx trident unichrome ffb 
 | 
			
		||||
 
 | 
			
		||||
@@ -38,21 +38,28 @@ MESA_ASM_SOURCES =
 | 
			
		||||
# Library/program dependencies
 | 
			
		||||
EXTRA_LIB_PATH=-L/usr/X11R6/lib
 | 
			
		||||
 | 
			
		||||
MESA_MODULES  = $(TOP)/src/mesa/libmesa.a
 | 
			
		||||
 | 
			
		||||
LIBDRM_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm)
 | 
			
		||||
LIBDRM_LIB = $(shell $(PKG_CONFIG) --libs libdrm)
 | 
			
		||||
DRI_LIB_DEPS  = $(MESA_MODULES) $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB)
 | 
			
		||||
LIBDRM_CFLAGS = $(shell pkg-config --cflags libdrm)
 | 
			
		||||
LIBDRM_LIB = $(shell pkg-config --libs libdrm)
 | 
			
		||||
DRI_LIB_DEPS  = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB)
 | 
			
		||||
GL_LIB_DEPS   = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
 | 
			
		||||
		-lm -lpthread -ldl \
 | 
			
		||||
                $(LIBDRM_LIB)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# This is now 0 by default since it seems to confuse the hell out of people
 | 
			
		||||
# and generate a lot of extra noise on bugzilla.  If you need to build with
 | 
			
		||||
# EGL, do 'make linux-dri USING_EGL=1'
 | 
			
		||||
 | 
			
		||||
USING_EGL=0
 | 
			
		||||
 | 
			
		||||
# Directories
 | 
			
		||||
SRC_DIRS = gallium mesa gallium/winsys gallium/targets glu egl
 | 
			
		||||
SRC_DIRS = gallium mesa gallium/winsys glu egl
 | 
			
		||||
PROGRAM_DIRS = egl
 | 
			
		||||
 | 
			
		||||
DRIVER_DIRS = dri
 | 
			
		||||
WINDOW_SYSTEM = dri
 | 
			
		||||
GALLIUM_WINSYS_DIRS = egl_drm
 | 
			
		||||
GALLIUM_TARGET_DIRS =
 | 
			
		||||
 | 
			
		||||
# gamma are missing because they have not been converted to use the new
 | 
			
		||||
# interface.
 | 
			
		||||
DRI_DIRS = intel 
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										19
									
								
								configs/linux-fbdev
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								configs/linux-fbdev
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
			
		||||
# Configuration for Linux fbdev interface
 | 
			
		||||
 | 
			
		||||
include $(TOP)/configs/linux
 | 
			
		||||
 | 
			
		||||
CONFIG_NAME = linux-fbdev
 | 
			
		||||
 | 
			
		||||
CFLAGS = -O3 -ffast-math -ansi -pedantic -fPIC -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS -DUSE_GLFBDEV_DRIVER
 | 
			
		||||
 | 
			
		||||
# Work around aliasing bugs - developers should comment this out
 | 
			
		||||
CFLAGS += -fno-strict-aliasing
 | 
			
		||||
 | 
			
		||||
SRC_DIRS = gallium mesa glu glut/fbdev glew
 | 
			
		||||
DRIVER_DIRS = fbdev osmesa
 | 
			
		||||
PROGRAM_DIRS = fbdev demos redbook samples
 | 
			
		||||
 | 
			
		||||
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread
 | 
			
		||||
OSMESA_LIB_DEPS = -lm -lpthread
 | 
			
		||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lgpm -lm
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										23
									
								
								configs/linux-glide
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								configs/linux-glide
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
			
		||||
# Configuration for generic Linux with 3Dfx Glide driver
 | 
			
		||||
 | 
			
		||||
include $(TOP)/configs/default
 | 
			
		||||
 | 
			
		||||
CONFIG_NAME = linux-glide
 | 
			
		||||
 | 
			
		||||
# Compiler and flags
 | 
			
		||||
CC = gcc
 | 
			
		||||
CXX = g++
 | 
			
		||||
 | 
			
		||||
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DFX -I/usr/include/glide -I/usr/local/glide/include
 | 
			
		||||
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
 | 
			
		||||
GLUT_CFLAGS = -fexceptions
 | 
			
		||||
 | 
			
		||||
# Work around aliasing bugs - developers should comment this out
 | 
			
		||||
CFLAGS += -fno-strict-aliasing
 | 
			
		||||
CXXFLAGS += -fno-strict-aliasing
 | 
			
		||||
 | 
			
		||||
# Library/program dependencies
 | 
			
		||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -L/usr/local/glide/lib -lglide3x -lm -lpthread
 | 
			
		||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
 | 
			
		||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/local/glide/lib -lglide3x -lm
 | 
			
		||||
@@ -9,10 +9,13 @@ CC = icc
 | 
			
		||||
CXX = icpc
 | 
			
		||||
CFLAGS = -O3 -ansi -KPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include
 | 
			
		||||
CXXFLAGS = -O3 -ansi -KPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include
 | 
			
		||||
GLUT_CFLAGS = -fexceptions
 | 
			
		||||
MKLIB_OPTIONS = -arch icc-istatic
 | 
			
		||||
 | 
			
		||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lpthread
 | 
			
		||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) 
 | 
			
		||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi
 | 
			
		||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(GL_LIB_DEPS)
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -9,15 +9,19 @@ CC = icc
 | 
			
		||||
CXX = icpc
 | 
			
		||||
CFLAGS = -O3 -ansi -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include
 | 
			
		||||
CXXFLAGS = -O3 -ansi -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include
 | 
			
		||||
GLUT_CFLAGS = -fexceptions
 | 
			
		||||
MKLIB_OPTIONS = -static -arch icc-istatic
 | 
			
		||||
 | 
			
		||||
# Library names (actual file names)
 | 
			
		||||
GL_LIB_NAME = libGL.a
 | 
			
		||||
GLU_LIB_NAME = libGLU.a
 | 
			
		||||
GLUT_LIB_NAME = libglut.a
 | 
			
		||||
GLW_LIB_NAME = libGLw.a
 | 
			
		||||
OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
 | 
			
		||||
GL_LIB_DEPS =
 | 
			
		||||
GLU_LIB_DEPS =
 | 
			
		||||
GLUT_LIB_DEPS =
 | 
			
		||||
GLW_LIB_DEPS =
 | 
			
		||||
APP_LIB_DEPS = -i-static -cxxlib-icc -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lpthread -lm -lcxa -lunwind
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -9,9 +9,12 @@ CC = icc
 | 
			
		||||
CXX = g++
 | 
			
		||||
CFLAGS = -O3 -tpp6 -axK -KPIC -D_GCC_LIMITS_H_ -D__GNUC__ -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include
 | 
			
		||||
CXXFLAGS = -O3
 | 
			
		||||
GLUT_CFLAGS = -fexceptions
 | 
			
		||||
MKLIB_OPTIONS = -arch icc
 | 
			
		||||
 | 
			
		||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
 | 
			
		||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
 | 
			
		||||
 | 
			
		||||
MESA_ASM_SOURCES = $(X86_SOURCES)
 | 
			
		||||
GLAPI_ASM_SOURCES = $(X86_API)
 | 
			
		||||
 
 | 
			
		||||
@@ -9,15 +9,19 @@ CC = icc
 | 
			
		||||
CXX = icpc
 | 
			
		||||
CFLAGS = -O3 -tpp6 -axK -D_GCC_LIMITS_H_ -D__GNUC__ -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include
 | 
			
		||||
CXXFLAGS = -O3 -tpp6 -axK -DPTHREADS
 | 
			
		||||
GLUT_CFLAGS = -fexceptions
 | 
			
		||||
MKLIB_OPTIONS = -static -arch icc
 | 
			
		||||
 | 
			
		||||
# Library names (actual file names)
 | 
			
		||||
GL_LIB_NAME = libGL.a
 | 
			
		||||
GLU_LIB_NAME = libGLU.a
 | 
			
		||||
GLUT_LIB_NAME = libglut.a
 | 
			
		||||
GLW_LIB_NAME = libGLw.a
 | 
			
		||||
OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
 | 
			
		||||
GL_LIB_DEPS =
 | 
			
		||||
GLUT_LIB_DEPS =
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm -lpthread -lcxa -lunwind
 | 
			
		||||
 | 
			
		||||
MESA_ASM_SOURCES = $(X86_SOURCES)
 | 
			
		||||
GLAPI_ASM_SOURCES = $(X86_API)
 | 
			
		||||
 
 | 
			
		||||
@@ -42,11 +42,12 @@ MESA_ASM_SOURCES =
 | 
			
		||||
# Library/program dependencies
 | 
			
		||||
EXTRA_LIB_PATH=-L/usr/X11R6/lib
 | 
			
		||||
 | 
			
		||||
MESA_MODULES  = $(TOP)/src/mesa/libmesa.a
 | 
			
		||||
DRI_LIB_DEPS  = $(MESA_MODULES) $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl
 | 
			
		||||
DRI_LIB_DEPS  = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl
 | 
			
		||||
GL_LIB_DEPS   = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lm -lpthread -ldl
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Directories
 | 
			
		||||
SRC_DIRS = glx glu
 | 
			
		||||
SRC_DIRS = glx/x11 glu glut/glx glew glw
 | 
			
		||||
DRIVER_DIRS =
 | 
			
		||||
PROGRAM_DIRS = 
 | 
			
		||||
WINDOW_SYSTEM=dri
 | 
			
		||||
 
 | 
			
		||||
@@ -1,18 +1,18 @@
 | 
			
		||||
# -*-makefile-*-
 | 
			
		||||
# Configuration for Linux and LLVM with optimizations
 | 
			
		||||
# Configuration for Linux and LLVM with debugging info
 | 
			
		||||
# Builds the llvmpipe gallium driver
 | 
			
		||||
 | 
			
		||||
include $(TOP)/configs/linux
 | 
			
		||||
 | 
			
		||||
CONFIG_NAME = linux-llvm
 | 
			
		||||
 | 
			
		||||
#GALLIUM_AUXILIARY_DIRS += gallivm
 | 
			
		||||
 | 
			
		||||
# Add llvmpipe driver
 | 
			
		||||
GALLIUM_DRIVERS_DIRS += llvmpipe
 | 
			
		||||
 | 
			
		||||
OPT_FLAGS = -O3 -ansi -pedantic
 | 
			
		||||
ARCH_FLAGS = -mmmx -msse -msse2 -mstackrealign
 | 
			
		||||
 | 
			
		||||
DEFINES += -DNDEBUG -DGALLIUM_LLVMPIPE
 | 
			
		||||
OPT_FLAGS = -g -ansi -pedantic
 | 
			
		||||
DEFINES += -DDEBUG -DDEBUG_MATH -DGALLIUM_LLVMPIPE -DHAVE_UDIS86
 | 
			
		||||
 | 
			
		||||
# override -std=c99
 | 
			
		||||
CFLAGS += -std=gnu99
 | 
			
		||||
@@ -24,16 +24,14 @@ ifeq ($(LLVM_VERSION),)
 | 
			
		||||
  MESA_LLVM=0
 | 
			
		||||
else
 | 
			
		||||
  MESA_LLVM=1
 | 
			
		||||
  HAVE_LLVM := 0x0$(subst .,0,$(LLVM_VERSION:svn=))
 | 
			
		||||
  DEFINES += -DHAVE_LLVM=$(HAVE_LLVM)
 | 
			
		||||
#  $(info Using LLVM version: $(LLVM_VERSION))
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifeq ($(MESA_LLVM),1)
 | 
			
		||||
  LLVM_CFLAGS=`llvm-config --cppflags|sed 's/-DNDEBUG\>//g'`
 | 
			
		||||
  LLVM_CXXFLAGS=`llvm-config --cxxflags` -Wno-long-long
 | 
			
		||||
  LLVM_LDFLAGS = $(shell llvm-config --ldflags)
 | 
			
		||||
  LLVM_LIBS = $(shell llvm-config --libs)
 | 
			
		||||
#  LLVM_CFLAGS=`llvm-config --cflags`
 | 
			
		||||
  LLVM_CXXFLAGS=`llvm-config --cxxflags backend bitreader engine ipo interpreter instrumentation` -Wno-long-long
 | 
			
		||||
  LLVM_LDFLAGS = $(shell llvm-config --ldflags backend bitreader engine ipo interpreter instrumentation)
 | 
			
		||||
  LLVM_LIBS = $(shell llvm-config --libs backend bitreader engine ipo interpreter instrumentation)
 | 
			
		||||
  MKLIB_OPTIONS=-cplusplus
 | 
			
		||||
else
 | 
			
		||||
  LLVM_CFLAGS=
 | 
			
		||||
@@ -41,7 +39,4 @@ else
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
LD = g++
 | 
			
		||||
GL_LIB_DEPS = $(LLVM_LDFLAGS) $(LLVM_LIBS) $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread -lstdc++
 | 
			
		||||
 | 
			
		||||
# to allow the NV drivers to compile
 | 
			
		||||
LIBDRM_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm)
 | 
			
		||||
GL_LIB_DEPS = $(LLVM_LDFLAGS) $(LLVM_LIBS) $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread -lstdc++ -ludis86
 | 
			
		||||
 
 | 
			
		||||
@@ -1,12 +0,0 @@
 | 
			
		||||
# -*-makefile-*-
 | 
			
		||||
# Configuration for Linux and LLVM with debugging info
 | 
			
		||||
# Builds the llvmpipe gallium driver
 | 
			
		||||
 | 
			
		||||
include $(TOP)/configs/linux-llvm
 | 
			
		||||
 | 
			
		||||
CONFIG_NAME = linux-llvm-debug
 | 
			
		||||
 | 
			
		||||
OPT_FLAGS = -g -ansi -pedantic
 | 
			
		||||
 | 
			
		||||
DEFINES += -DDEBUG -UNDEBUG
 | 
			
		||||
 | 
			
		||||
@@ -1,28 +0,0 @@
 | 
			
		||||
# Configuration for OpenGL ES on Linux
 | 
			
		||||
 | 
			
		||||
include $(TOP)/configs/linux
 | 
			
		||||
 | 
			
		||||
CONFIG_NAME = linux-opengl-es
 | 
			
		||||
 | 
			
		||||
# Directories to build
 | 
			
		||||
LIB_DIR = lib
 | 
			
		||||
SRC_DIRS = egl glsl mapi/es1api mapi/es2api mesa/es \
 | 
			
		||||
	gallium gallium/winsys gallium/targets
 | 
			
		||||
 | 
			
		||||
# egl st needs this
 | 
			
		||||
DEFINES += -DGLX_DIRECT_RENDERING
 | 
			
		||||
 | 
			
		||||
# no mesa or egl drivers
 | 
			
		||||
DRIVER_DIRS =
 | 
			
		||||
EGL_DRIVERS_DIRS =
 | 
			
		||||
 | 
			
		||||
GALLIUM_DRIVERS_DIRS = softpipe
 | 
			
		||||
 | 
			
		||||
# build libGLES*.so
 | 
			
		||||
GALLIUM_STATE_TRACKERS_DIRS = es
 | 
			
		||||
 | 
			
		||||
# build egl_x11_{swrast,i915}.so
 | 
			
		||||
GALLIUM_DRIVERS_DIRS += trace rbug i915
 | 
			
		||||
GALLIUM_STATE_TRACKERS_DIRS += egl
 | 
			
		||||
GALLIUM_WINSYS_DIRS += drm/intel
 | 
			
		||||
GALLIUM_TARGET_DIRS += egl-swrast egl-i915
 | 
			
		||||
@@ -9,7 +9,7 @@ CONFIG_NAME = linux-osmesa
 | 
			
		||||
# Compiler and flags
 | 
			
		||||
CC = gcc
 | 
			
		||||
CXX = g++
 | 
			
		||||
CFLAGS = -g -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -DPTHREADS
 | 
			
		||||
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS
 | 
			
		||||
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
 | 
			
		||||
 | 
			
		||||
# Work around aliasing bugs - developers should comment this out
 | 
			
		||||
@@ -17,10 +17,12 @@ CFLAGS += -fno-strict-aliasing
 | 
			
		||||
CXXFLAGS += -fno-strict-aliasing
 | 
			
		||||
 | 
			
		||||
# Directories
 | 
			
		||||
SRC_DIRS = mapi/glapi glsl mesa glu
 | 
			
		||||
SRC_DIRS = gallium mesa glu
 | 
			
		||||
DRIVER_DIRS = osmesa
 | 
			
		||||
PROGRAM_DIRS = osdemos
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Dependencies
 | 
			
		||||
OSMESA_LIB_DEPS = -lm -lpthread -ldl
 | 
			
		||||
OSMESA_LIB_DEPS = -lm -lpthread
 | 
			
		||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
 | 
			
		||||
APP_LIB_DEPS = -lm -lpthread
 | 
			
		||||
 
 | 
			
		||||
@@ -17,16 +17,21 @@ MKLIB_OPTIONS = -static
 | 
			
		||||
# Library names (actual file names)
 | 
			
		||||
GL_LIB_NAME = libGL.a
 | 
			
		||||
GLU_LIB_NAME = libGLU.a
 | 
			
		||||
GLUT_LIB_NAME = libglut.a
 | 
			
		||||
GLW_LIB_NAME = libGLw.a
 | 
			
		||||
OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
 | 
			
		||||
# Directories
 | 
			
		||||
SRC_DIRS = mesa glu
 | 
			
		||||
DRIVER_DIRS = osmesa
 | 
			
		||||
PROGRAM_DIRS = osdemos
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Dependencies
 | 
			
		||||
GL_LIB_DEPS =
 | 
			
		||||
OSMESA_LIB_DEPS =
 | 
			
		||||
GLU_LIB_DEPS =
 | 
			
		||||
GLUT_LIB_DEPS =
 | 
			
		||||
GLW_LIB_DEPS =
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) \
 | 
			
		||||
               $(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lpthread -lstdc++ -lm
 | 
			
		||||
 
 | 
			
		||||
@@ -20,10 +20,12 @@ OSMESA_LIB_NAME = libOSMesa16.so
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Directories
 | 
			
		||||
SRC_DIRS = mapi/glapi glsl mesa glu
 | 
			
		||||
SRC_DIRS = gallium mesa glu
 | 
			
		||||
DRIVER_DIRS = osmesa
 | 
			
		||||
PROGRAM_DIRS = 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Dependencies
 | 
			
		||||
OSMESA_LIB_DEPS = -lm -lpthread
 | 
			
		||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
 | 
			
		||||
APP_LIB_DEPS = -lm -lpthread
 | 
			
		||||
 
 | 
			
		||||
@@ -24,7 +24,9 @@ OSMESA_LIB_NAME = libOSMesa16.a
 | 
			
		||||
# Directories
 | 
			
		||||
SRC_DIRS = gallium mesa glu
 | 
			
		||||
DRIVER_DIRS = osmesa
 | 
			
		||||
PROGRAM_DIRS = 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Dependencies
 | 
			
		||||
OSMESA_LIB_DEPS = -lm -lpthread
 | 
			
		||||
APP_LIB_DEPS = -lm -lpthread
 | 
			
		||||
 
 | 
			
		||||
@@ -20,10 +20,12 @@ OSMESA_LIB_NAME = libOSMesa32.so
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Directories
 | 
			
		||||
SRC_DIRS = mapi/glapi glsl mesa glu
 | 
			
		||||
SRC_DIRS = gallium mesa glu
 | 
			
		||||
DRIVER_DIRS = osmesa
 | 
			
		||||
PROGRAM_DIRS = 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Dependencies
 | 
			
		||||
OSMESA_LIB_DEPS = -lm -lpthread
 | 
			
		||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
 | 
			
		||||
APP_LIB_DEPS = -lm -lpthread
 | 
			
		||||
 
 | 
			
		||||
@@ -10,5 +10,6 @@ PIC_FLAGS =
 | 
			
		||||
# Library names (actual file names)
 | 
			
		||||
GL_LIB_NAME = libGL.a
 | 
			
		||||
GLU_LIB_NAME = libGLU.a
 | 
			
		||||
GLUT_LIB_NAME = libglut.a
 | 
			
		||||
GLW_LIB_NAME = libGLw.a
 | 
			
		||||
OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										54
									
								
								configs/linux-solo
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								configs/linux-solo
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,54 @@
 | 
			
		||||
# Configuration for linux-solo: Linux DRI hardware drivers for fbdev
 | 
			
		||||
 | 
			
		||||
include $(TOP)/configs/default
 | 
			
		||||
 | 
			
		||||
CONFIG_NAME = linux-solo
 | 
			
		||||
 | 
			
		||||
# Compiler and flags
 | 
			
		||||
CC = gcc
 | 
			
		||||
CXX = g++
 | 
			
		||||
 | 
			
		||||
WARN_FLAGS = -Wall -Wundef
 | 
			
		||||
OPT_FLAGS  = -O3 -g
 | 
			
		||||
PIC_FLAGS  = -fPIC
 | 
			
		||||
 | 
			
		||||
# Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support.
 | 
			
		||||
ARCH_FLAGS ?=
 | 
			
		||||
 | 
			
		||||
# DRM and pciaccess
 | 
			
		||||
LIBDRM_CFLAGS = $(shell pkg-config --cflags libdrm)
 | 
			
		||||
LIBDRM_LIB = $(shell pkg-config --libs libdrm)
 | 
			
		||||
PCIACCESS_CFLAGS = $(shell pkg-config --cflags pciaccess)
 | 
			
		||||
PCIACCESS_LIB = $(shell pkg-config --libs pciaccess)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
 | 
			
		||||
	-D_BSD_SOURCE -D_GNU_SOURCE -DHAVE_POSIX_MEMALIGN \
 | 
			
		||||
	-DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \
 | 
			
		||||
	-DHAVE_ALIAS
 | 
			
		||||
 | 
			
		||||
CFLAGS   = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
 | 
			
		||||
	$(ASM_FLAGS) -std=c99 -ffast-math 
 | 
			
		||||
 | 
			
		||||
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
 | 
			
		||||
 | 
			
		||||
# Work around aliasing bugs - developers should comment this out
 | 
			
		||||
CFLAGS += -fno-strict-aliasing
 | 
			
		||||
CXXFLAGS += -fno-strict-aliasing
 | 
			
		||||
 | 
			
		||||
MESA_ASM_SOURCES = 
 | 
			
		||||
 | 
			
		||||
# Library/program dependencies
 | 
			
		||||
DRI_LIB_DEPS = -lm -lpthread -lexpat -ldl -L$(TOP)/$(LIB_DIR) $(PCIACCESS_LIB)
 | 
			
		||||
GL_LIB_DEPS = -lm -lpthread -ldl
 | 
			
		||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
 | 
			
		||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lpthread
 | 
			
		||||
 | 
			
		||||
# Directories
 | 
			
		||||
SRC_DIRS = glx/mini gallium mesa glu glut/mini glew
 | 
			
		||||
DRIVER_DIRS = dri
 | 
			
		||||
PROGRAM_DIRS = miniglx
 | 
			
		||||
 | 
			
		||||
#DRI_DIRS = ffb gamma sis savage tdfx unichrome fb
 | 
			
		||||
DRI_DIRS = i810 i915tex i915 mach64 mga r128 r200 radeon
 | 
			
		||||
							
								
								
									
										7
									
								
								configs/linux-solo-ia64
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								configs/linux-solo-ia64
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
# Configuration for linux-solo-ia64: Linux DRI hardware drivers for fbdev
 | 
			
		||||
 | 
			
		||||
include $(TOP)/configs/linux-solo
 | 
			
		||||
 | 
			
		||||
CONFIG_NAME = linux-solo-ia64
 | 
			
		||||
 | 
			
		||||
DRI_DIRS = fb mach64 mga r128 r200 radeon sis tdfx unichrome
 | 
			
		||||
							
								
								
									
										10
									
								
								configs/linux-solo-x86
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								configs/linux-solo-x86
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
			
		||||
# -*-makefile-*-
 | 
			
		||||
# Configuration for linux-solo-x86: Linux hardware drivers for fbdev for x86
 | 
			
		||||
 | 
			
		||||
include $(TOP)/configs/linux-solo
 | 
			
		||||
 | 
			
		||||
CONFIG_NAME = linux-solo-x86
 | 
			
		||||
 | 
			
		||||
ASM_FLAGS = -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
 | 
			
		||||
MESA_ASM_SOURCES = $(X86_SOURCES)
 | 
			
		||||
GLAPI_ASM_SOURCES = $(X86_API)
 | 
			
		||||
@@ -10,6 +10,7 @@ PIC_FLAGS =
 | 
			
		||||
# Library names (actual file names)
 | 
			
		||||
GL_LIB_NAME = libGL.a
 | 
			
		||||
GLU_LIB_NAME = libGLU.a
 | 
			
		||||
GLUT_LIB_NAME = libglut.a
 | 
			
		||||
GLW_LIB_NAME = libGLw.a
 | 
			
		||||
OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
 | 
			
		||||
@@ -17,7 +18,9 @@ OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
GL_LIB_DEPS = 
 | 
			
		||||
OSMESA_LIB_DEPS = 
 | 
			
		||||
GLU_LIB_DEPS = 
 | 
			
		||||
GLUT_LIB_DEPS = 
 | 
			
		||||
GLW_LIB_DEPS = 
 | 
			
		||||
 | 
			
		||||
# Need to specify all libraries we may need
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) \
 | 
			
		||||
	-l$(GL_LIB) -lm -L/usr/X11R6/lib/ -lX11 -lXext -lXmu -lXi -lpthread
 | 
			
		||||
 
 | 
			
		||||
@@ -10,6 +10,7 @@ PIC_FLAGS =
 | 
			
		||||
# Library names (actual file names)
 | 
			
		||||
GL_LIB_NAME = libGL.a
 | 
			
		||||
GLU_LIB_NAME = libGLU.a
 | 
			
		||||
GLUT_LIB_NAME = libglut.a
 | 
			
		||||
GLW_LIB_NAME = libGLw.a
 | 
			
		||||
OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
 | 
			
		||||
@@ -17,5 +18,10 @@ OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
GL_LIB_DEPS = 
 | 
			
		||||
OSMESA_LIB_DEPS = 
 | 
			
		||||
GLU_LIB_DEPS = 
 | 
			
		||||
GLUT_LIB_DEPS = 
 | 
			
		||||
GLW_LIB_DEPS = 
 | 
			
		||||
 | 
			
		||||
# Need to specify all libraries we may need
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -Wl,--start-group \
 | 
			
		||||
               -l$(GL_LIB) $(TOP)/src/mesa/pipe/softpipe/libsoftpipe.a -Wl,--end-group \
 | 
			
		||||
               $(EXTRA_LIB_PATH) -lX11 -lXext -lXmu -lXt -lXi -lpthread -lstdc++ -lm
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										28
									
								
								configs/linux-x86-glide
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								configs/linux-x86-glide
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
			
		||||
# Configuration for Linux with 3Dfx Glide driver and x86 optimizations
 | 
			
		||||
 | 
			
		||||
include $(TOP)/configs/default
 | 
			
		||||
 | 
			
		||||
CONFIG_NAME = linux-x86-glide
 | 
			
		||||
 | 
			
		||||
# Compiler and flags
 | 
			
		||||
CC = gcc
 | 
			
		||||
CXX = g++
 | 
			
		||||
 | 
			
		||||
CFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include -DFX -I/usr/include/glide -I/usr/local/glide/include
 | 
			
		||||
 | 
			
		||||
CXXFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
 | 
			
		||||
 | 
			
		||||
GLUT_CFLAGS = -fexceptions
 | 
			
		||||
 | 
			
		||||
# Work around aliasing bugs - developers should comment this out
 | 
			
		||||
CFLAGS += -fno-strict-aliasing
 | 
			
		||||
CXXFLAGS += -fno-strict-aliasing
 | 
			
		||||
 | 
			
		||||
MESA_ASM_SOURCES = $(X86_SOURCES)
 | 
			
		||||
GLAPI_ASM_SOURCES = $(X86_API)
 | 
			
		||||
 | 
			
		||||
# Library/program dependencies
 | 
			
		||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -L/usr/local/glide/lib -lglide3x -lm -lpthread
 | 
			
		||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
 | 
			
		||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/local/glide/lib -lglide3x -lm
 | 
			
		||||
@@ -10,6 +10,7 @@ PIC_FLAGS =
 | 
			
		||||
# Library names (actual file names)
 | 
			
		||||
GL_LIB_NAME = libGL.a
 | 
			
		||||
GLU_LIB_NAME = libGLU.a
 | 
			
		||||
GLUT_LIB_NAME = libglut.a
 | 
			
		||||
GLW_LIB_NAME = libGLw.a
 | 
			
		||||
OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
 | 
			
		||||
@@ -17,5 +18,9 @@ OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
GL_LIB_DEPS = 
 | 
			
		||||
OSMESA_LIB_DEPS = 
 | 
			
		||||
GLU_LIB_DEPS = 
 | 
			
		||||
GLUT_LIB_DEPS = 
 | 
			
		||||
GLW_LIB_DEPS = 
 | 
			
		||||
 | 
			
		||||
# Need to specify all libraries we may need
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) \
 | 
			
		||||
	-l$(GL_LIB) $(EXTRA_LIB_PATH) -lX11 -lXext -lXmu -lXt -lXi -lpthread -lstdc++ -lm
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,8 @@ CC = gcc
 | 
			
		||||
CXX = g++
 | 
			
		||||
CFLAGS = -O2 -fPIC -DUSE_XSHM -I/usr/X11R6/include -DHZ=100
 | 
			
		||||
CXXFLAGS = -O2 -fPIC
 | 
			
		||||
GLUT_CFLAGS = -fexceptions
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
 | 
			
		||||
 | 
			
		||||
# Work around aliasing bugs - developers should comment this out
 | 
			
		||||
CFLAGS += -fno-strict-aliasing
 | 
			
		||||
 
 | 
			
		||||
@@ -17,4 +17,6 @@ CXXFLAGS += -fno-strict-aliasing
 | 
			
		||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm
 | 
			
		||||
OSMESA_LIB_DEPS = -lm
 | 
			
		||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
 | 
			
		||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lm
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/X11R6/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -12,3 +12,5 @@ CXXFLAGS = -O2 -std ansi -ieee -DPTHREADS -D_REENTRANT
 | 
			
		||||
 | 
			
		||||
GL_LIB_DEPS = -lX11 -lXext -lm -lpthread
 | 
			
		||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
 | 
			
		||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXt -lXi -lm
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lpthread -lm
 | 
			
		||||
 
 | 
			
		||||
@@ -13,3 +13,5 @@ MKLIB_OPTIONS = -static
 | 
			
		||||
 | 
			
		||||
GL_LIB_DEPS =
 | 
			
		||||
GLU_LIB_DEPS =
 | 
			
		||||
GLUT_LIB_DEPS =
 | 
			
		||||
APP_LIB_DEPS = -noso -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -so_archive -lX11 -lXext -lXmu -lXi -lpthread -lm -lcxx
 | 
			
		||||
 
 | 
			
		||||
@@ -9,8 +9,10 @@ CC = cc
 | 
			
		||||
CFLAGS = -Xa -xO3 -xpentium -KPIC -I/usr/openwin/include -DUSE_XSHM
 | 
			
		||||
MKLIB_OPTIONS = -static
 | 
			
		||||
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/openwin/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm -lglut -lGLU -lGL
 | 
			
		||||
 | 
			
		||||
GL_LIB_NAME = libGL.a
 | 
			
		||||
GLU_LIB_NAME = libGLU.a
 | 
			
		||||
GLUT_LIB_NAME = libglut.a
 | 
			
		||||
GLW_LIB_NAME = libGLw.a
 | 
			
		||||
OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,7 @@ CC = gcc
 | 
			
		||||
CXX = g++
 | 
			
		||||
CFLAGS = -O3 -march=i486 -fPIC -I/usr/openwin/include -DUSE_XSHM
 | 
			
		||||
CXXFLAGS = -O3 -march=i486 -fPIC
 | 
			
		||||
GLUT_CFLAGS = -fexceptions
 | 
			
		||||
 | 
			
		||||
# Work around aliasing bugs - developers should comment this out
 | 
			
		||||
CFLAGS += -fno-strict-aliasing
 | 
			
		||||
@@ -16,3 +17,5 @@ CXXFLAGS += -fno-strict-aliasing
 | 
			
		||||
 | 
			
		||||
GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lm -lpthread
 | 
			
		||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
 | 
			
		||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/openwin/lib -lX11 -lXmu -lXt -lXi -lm
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/openwin/lib -R/usr/openwin/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lX11 -lXext -lXi -lXmu
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,7 @@ CC = gcc
 | 
			
		||||
CXX = g++
 | 
			
		||||
CFLAGS = -O3 -march=i486 -fPIC -I/usr/openwin/include -DUSE_XSHM
 | 
			
		||||
CXXFLAGS = -O3 -march=i486 -fPIC
 | 
			
		||||
GLUT_CFLAGS = -fexceptions
 | 
			
		||||
MKLIB_OPTIONS = -static
 | 
			
		||||
 | 
			
		||||
# Work around aliasing bugs - developers should comment this out
 | 
			
		||||
@@ -17,8 +18,11 @@ CXXFLAGS += -fno-strict-aliasing
 | 
			
		||||
 | 
			
		||||
GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lm -lpthread
 | 
			
		||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
 | 
			
		||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/openwin/lib -lX11 -lXmu -lXt -lXi -lm
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/openwin/lib -R/usr/openwin/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lX11 -lXext -lXi -lXmu
 | 
			
		||||
 | 
			
		||||
GL_LIB_NAME = libGL.a
 | 
			
		||||
GLU_LIB_NAME = libGLU.a
 | 
			
		||||
GLUT_LIB_NAME = libglut.a
 | 
			
		||||
GLW_LIB_NAME = libGLw.a
 | 
			
		||||
OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
 
 | 
			
		||||
@@ -7,5 +7,6 @@ CONFIG_NAME = sunos4
 | 
			
		||||
# Compiler and flags
 | 
			
		||||
CC = acc
 | 
			
		||||
CFLAGS = -Kpic -O -I/usr/include/X11R5 -DUSE_XSHM -DSUNOS4
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/lib/X11R5 -lX11 -lXext -lXmu -lXi -lm
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -9,9 +9,11 @@ CC = gcc
 | 
			
		||||
CXX = g++
 | 
			
		||||
CFLAGS = -fPIC -O3 -I/usr/openwin/include -I/usr/include/X11R5 -I/usr/include/X11R5 -DUSE_XSHM -DSUNOS4
 | 
			
		||||
CXXFLAGS = -fPIC -O3 -I/usr/openwin/include -DSUNOS4
 | 
			
		||||
GLUT_CFLAGS = -fexceptions -DSOLARIS_2_4_BUG
 | 
			
		||||
 | 
			
		||||
# Work around aliasing bugs - developers should comment this out
 | 
			
		||||
CFLAGS += -fno-strict-aliasing
 | 
			
		||||
CXXFLAGS += -fno-strict-aliasing
 | 
			
		||||
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -12,6 +12,7 @@ MKLIB_OPTIONS = -static
 | 
			
		||||
# Library names (actual file names)
 | 
			
		||||
GL_LIB_NAME = libGL.a
 | 
			
		||||
GLU_LIB_NAME = libGLU.a
 | 
			
		||||
GLUT_LIB_NAME = libglut.a
 | 
			
		||||
GLW_LIB_NAME = libGLw.a
 | 
			
		||||
OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
 | 
			
		||||
@@ -19,4 +20,6 @@ OSMESA_LIB_NAME = libOSMesa.a
 | 
			
		||||
GL_LIB_DEPS = 
 | 
			
		||||
OSMESA_LIB_DEPS = 
 | 
			
		||||
GLU_LIB_DEPS = 
 | 
			
		||||
GLUT_LIB_DEPS = 
 | 
			
		||||
GLW_LIB_DEPS = 
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lpthread -lm
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,10 @@ CC = cc
 | 
			
		||||
CXX = c++
 | 
			
		||||
CFLAGS = -KPIC -Xa -O -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM
 | 
			
		||||
CXXFLAGS = -KPIC -Xa -O -I/usr/openwin/include -I/usr/dt/include
 | 
			
		||||
GLUT_CFLAGS = -DSOLARIS_2_4_BUG
 | 
			
		||||
 | 
			
		||||
GL_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -lX11 -lXext -lXmu -lXi -lm
 | 
			
		||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
 | 
			
		||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
 | 
			
		||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lCrun -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
 | 
			
		||||
 
 | 
			
		||||
@@ -26,6 +26,7 @@ CFLAGS   = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
 | 
			
		||||
CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
 | 
			
		||||
	-I/usr/openwin/include
 | 
			
		||||
 | 
			
		||||
GLUT_CFLAGS = -fexceptions -DSOLARIS_2_4_BUG
 | 
			
		||||
 | 
			
		||||
# Work around aliasing bugs - developers should comment this out
 | 
			
		||||
CFLAGS += -fno-strict-aliasing
 | 
			
		||||
@@ -35,3 +36,5 @@ CXXFLAGS += -fno-strict-aliasing
 | 
			
		||||
EXTRA_LIB_PATH=-L/usr/openwin/lib
 | 
			
		||||
 | 
			
		||||
GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXmu -lXi -lm
 | 
			
		||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
 | 
			
		||||
 
 | 
			
		||||
@@ -9,8 +9,11 @@ CC = cc
 | 
			
		||||
CXX = c++
 | 
			
		||||
CFLAGS = -KPIC -Xa -native -fast -xO5 -xlibmil -xsafe=mem -xdepend -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DSOLARIS_2_4_BUG
 | 
			
		||||
CXXFLAGS = -KPIC -Xa -native -fast -xO5 -xlibmil -xsafe=mem -xdepend -I/usr/openwin/include -I/usr/dt/include
 | 
			
		||||
GLUT_CFLAGS = -DSOLARIS_2_4_BUG
 | 
			
		||||
 | 
			
		||||
GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm
 | 
			
		||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
 | 
			
		||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
 | 
			
		||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lCrun
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,10 @@ CC = cc
 | 
			
		||||
CXX = CC
 | 
			
		||||
CFLAGS = -xarch=v8 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DPTHREADS
 | 
			
		||||
CXXFLAGS = -xarch=v8 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DPTHREADS
 | 
			
		||||
GLUT_CFLAGS = -DSOLARIS_2_4_BUG
 | 
			
		||||
 | 
			
		||||
GL_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -lX11 -lXext -lXmu -lXi -lm -lpthread
 | 
			
		||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm -lCstd -lCrun
 | 
			
		||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
 | 
			
		||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
 | 
			
		||||
 
 | 
			
		||||
@@ -11,4 +11,6 @@ CC = cc
 | 
			
		||||
CXX = CC
 | 
			
		||||
CFLAGS = -xarch=v8 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DPTHREADS
 | 
			
		||||
CXXFLAGS = -xarch=v8 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DPTHREADS
 | 
			
		||||
GLUT_CFLAGS = -DSOLARIS_2_4_BUG
 | 
			
		||||
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11 -lXext -lXmu -lXi -lpthread -lm -lCstd -lCrun
 | 
			
		||||
 
 | 
			
		||||
@@ -13,8 +13,11 @@ CC = cc
 | 
			
		||||
CXX = CC
 | 
			
		||||
CFLAGS = -xarch=v9 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DPTHREADS
 | 
			
		||||
CXXFLAGS = -xarch=v9 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DPTHREADS
 | 
			
		||||
GLUT_CFLAGS = -DSOLARIS_2_4_BUG
 | 
			
		||||
 | 
			
		||||
GL_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -lX11 -lXext -lXmu -lXi -lm -lpthread
 | 
			
		||||
GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm -lCstd -lCrun
 | 
			
		||||
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
 | 
			
		||||
GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11
 | 
			
		||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user