Compare commits
241 Commits
R300_DRIVE
...
mesa_4_0_3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4266ec91fe | ||
|
|
8a5bdd826a | ||
|
|
20cbbf8459 | ||
|
|
2847895a03 | ||
|
|
79d05b5649 | ||
|
|
a0ad8d5a8a | ||
|
|
1a9198f118 | ||
|
|
dd8fbed413 | ||
|
|
972cc7827f | ||
|
|
263d8ff8e3 | ||
|
|
363c8b9048 | ||
|
|
eb7b122807 | ||
|
|
6306085c69 | ||
|
|
7e20f99f81 | ||
|
|
a79f7f8838 | ||
|
|
d1d4f6bd34 | ||
|
|
640f61ba13 | ||
|
|
07e3f72bf8 | ||
|
|
d06d24f497 | ||
|
|
3fa786c175 | ||
|
|
984bb590df | ||
|
|
67c5effe5c | ||
|
|
fbe488cb76 | ||
|
|
dbd36a0ca0 | ||
|
|
076870f384 | ||
|
|
c1fba8241b | ||
|
|
690798ae3b | ||
|
|
89e91fcc9a | ||
|
|
d5a8eeaeeb | ||
|
|
b118f433e1 | ||
|
|
fbbb780e1f | ||
|
|
9429860763 | ||
|
|
531af3f17f | ||
|
|
054f415f45 | ||
|
|
b1b4382283 | ||
|
|
3aef708b56 | ||
|
|
d63730d087 | ||
|
|
2469fc9672 | ||
|
|
86ab257a46 | ||
|
|
d7e7d8ec74 | ||
|
|
fe4edce605 | ||
|
|
b0f477e5dd | ||
|
|
ce4c38fe2e | ||
|
|
09760a9563 | ||
|
|
d7abab5c67 | ||
|
|
e900da049b | ||
|
|
9def08ad3d | ||
|
|
978731595d | ||
|
|
00e5cb4120 | ||
|
|
b338ee265a | ||
|
|
8d3f06a565 | ||
|
|
0d1785c6db | ||
|
|
79474dc528 | ||
|
|
43e90c0053 | ||
|
|
c748b6c3d8 | ||
|
|
2c109c15e0 | ||
|
|
22fcb86432 | ||
|
|
70c5d68365 | ||
|
|
1b0fcb2124 | ||
|
|
6668d2fcb1 | ||
|
|
e3c2d6bd0c | ||
|
|
655e0ad0c1 | ||
|
|
d99fa29b94 | ||
|
|
7229861a46 | ||
|
|
f5130e3473 | ||
|
|
a5ed2460e9 | ||
|
|
e2130abf8f | ||
|
|
bf6a6f1d59 | ||
|
|
abd10c99e5 | ||
|
|
c3bc8a9c1e | ||
|
|
aa5698e8ed | ||
|
|
cf4c9ada0d | ||
|
|
13c751a1c2 | ||
|
|
2af71a9acf | ||
|
|
5e0316f1a8 | ||
|
|
2366fb3b89 | ||
|
|
4ad3511865 | ||
|
|
44f6191507 | ||
|
|
aaf89c1cc7 | ||
|
|
7350dd7395 | ||
|
|
972815c414 | ||
|
|
0bb0b4df73 | ||
|
|
e07b4252ad | ||
|
|
b8855675ca | ||
|
|
6bf823ac2d | ||
|
|
af3f3080f9 | ||
|
|
bb47715320 | ||
|
|
cef9cdf3bb | ||
|
|
4493f41577 | ||
|
|
a4f3130a7f | ||
|
|
b2c3daa875 | ||
|
|
3d6951c097 | ||
|
|
db0ed6252b | ||
|
|
e6c59e8d0c | ||
|
|
378fcdb818 | ||
|
|
cd3f5d807a | ||
|
|
c3e908891c | ||
|
|
fdbaf407a7 | ||
|
|
5a86d3852c | ||
|
|
96d0be5cf2 | ||
|
|
0bd26c3c55 | ||
|
|
9f7053e913 | ||
|
|
9fa55ac457 | ||
|
|
101092ea11 | ||
|
|
da648d9afd | ||
|
|
7a3b7c9687 | ||
|
|
55f8fcba10 | ||
|
|
7419597f2f | ||
|
|
e784671997 | ||
|
|
c2165e799c | ||
|
|
40519b3eb3 | ||
|
|
dcda68de33 | ||
|
|
8308199e5d | ||
|
|
3b029b0c7d | ||
|
|
bff7677bd9 | ||
|
|
41796ecc25 | ||
|
|
94865a95b1 | ||
|
|
b8b23d4552 | ||
|
|
3245cfdf41 | ||
|
|
69e043158a | ||
|
|
3ce17ffb84 | ||
|
|
33b483f882 | ||
|
|
308a036114 | ||
|
|
4c97c84f7e | ||
|
|
d7bde06097 | ||
|
|
a00292bcfe | ||
|
|
7d729ffb58 | ||
|
|
aeb6c0af5e | ||
|
|
41110917d7 | ||
|
|
a58b1ed0a3 | ||
|
|
27b503cab8 | ||
|
|
d38cdd33d0 | ||
|
|
851acc6ea7 | ||
|
|
6115d784a7 | ||
|
|
fcca385bec | ||
|
|
06743cf365 | ||
|
|
b372b40bd1 | ||
|
|
3e3bd40614 | ||
|
|
3fb6d0bfde | ||
|
|
b36acc0423 | ||
|
|
287d6127d2 | ||
|
|
a8290d3a95 | ||
|
|
b26f972618 | ||
|
|
5bd6bad38d | ||
|
|
1ae3437156 | ||
|
|
93665403aa | ||
|
|
04613cb0bc | ||
|
|
e0a30e9d2d | ||
|
|
fd3da01ec3 | ||
|
|
40bbb8b7f3 | ||
|
|
00b7772bda | ||
|
|
0fc4d7e46d | ||
|
|
1261fed2c3 | ||
|
|
4f4f542bd7 | ||
|
|
550169ab62 | ||
|
|
ad83c33a4d | ||
|
|
a340c4f6ef | ||
|
|
781f27575c | ||
|
|
08e126fba6 | ||
|
|
b03241a552 | ||
|
|
e4efc983bd | ||
|
|
785bfd0c1e | ||
|
|
a0e4612f49 | ||
|
|
f6e1618f97 | ||
|
|
3a450fb4b0 | ||
|
|
43daa03ac1 | ||
|
|
cb69912494 | ||
|
|
b4518ee5d4 | ||
|
|
6ef05c2817 | ||
|
|
26d31abd87 | ||
|
|
7702362bda | ||
|
|
5141607357 | ||
|
|
a9e14e7bb9 | ||
|
|
5196a16629 | ||
|
|
7f37280955 | ||
|
|
986b7ec195 | ||
|
|
9012185ae8 | ||
|
|
2edf851932 | ||
|
|
1703b67ee0 | ||
|
|
9342fbe46e | ||
|
|
2f88c5fbd4 | ||
|
|
dc35f387ca | ||
|
|
597ec4040c | ||
|
|
51aa3d2f30 | ||
|
|
0c1f42ef29 | ||
|
|
06ae58eebb | ||
|
|
d8deb468f7 | ||
|
|
4aac60f691 | ||
|
|
e20d35d74a | ||
|
|
ed26c2d950 | ||
|
|
95681b4a85 | ||
|
|
17a5135fee | ||
|
|
69b71bc1ab | ||
|
|
9f6957e702 | ||
|
|
bf78731523 | ||
|
|
c527df81df | ||
|
|
ca2315d95b | ||
|
|
c4dd9e2a03 | ||
|
|
34174976c4 | ||
|
|
ff23c15bdc | ||
|
|
eb0ce107c7 | ||
|
|
bfe6c71b99 | ||
|
|
69f2ff5f38 | ||
|
|
f28c19da41 | ||
|
|
c132ca9774 | ||
|
|
8ca1772d4a | ||
|
|
ff5fe4836a | ||
|
|
f88e0898a1 | ||
|
|
3f2eedd634 | ||
|
|
158c7413fb | ||
|
|
0a96860e04 | ||
|
|
37b10249e5 | ||
|
|
589cee71b8 | ||
|
|
c6dcd5c4cf | ||
|
|
e1ec4771f1 | ||
|
|
917e942fe2 | ||
|
|
f427427ca8 | ||
|
|
7ed97d4ef4 | ||
|
|
267b9cc082 | ||
|
|
efb678da77 | ||
|
|
32aa05bfd6 | ||
|
|
299a71fe04 | ||
|
|
63da26bd62 | ||
|
|
dfb7ebf8a0 | ||
|
|
64681c1f82 | ||
|
|
8c3149f250 | ||
|
|
53e284bda1 | ||
|
|
f46ce82219 | ||
|
|
4256cf0175 | ||
|
|
986749a4ea | ||
|
|
07042d164b | ||
|
|
0739d6f158 | ||
|
|
2fd7a602a7 | ||
|
|
f97edb4ca3 | ||
|
|
3b0571dd5c | ||
|
|
c25f068355 | ||
|
|
3a05f42b28 | ||
|
|
2631c2a2de | ||
|
|
b2728086ec | ||
|
|
2e7644f13d | ||
|
|
9c3e7d2294 |
1649
Make-config
Normal file
1649
Make-config
Normal file
File diff suppressed because it is too large
Load Diff
373
Makefile
373
Makefile
@@ -1,373 +0,0 @@
|
|||||||
# Top-level Mesa makefile
|
|
||||||
|
|
||||||
TOP = .
|
|
||||||
|
|
||||||
SUBDIRS = src progs
|
|
||||||
|
|
||||||
|
|
||||||
default: $(TOP)/configs/current
|
|
||||||
@for dir in $(SUBDIRS) ; do \
|
|
||||||
(cd $$dir ; $(MAKE)) || exit 1 ; \
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
doxygen:
|
|
||||||
(cd doxygen ; make) ; \
|
|
||||||
|
|
||||||
clean:
|
|
||||||
@for dir in $(SUBDIRS) ; do \
|
|
||||||
(cd $$dir ; $(MAKE) clean) ; \
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
realclean:
|
|
||||||
touch $(TOP)/configs/current
|
|
||||||
$(MAKE) clean
|
|
||||||
-rm -rf lib*
|
|
||||||
-rm -f $(TOP)/configs/current
|
|
||||||
|
|
||||||
|
|
||||||
install:
|
|
||||||
@echo "Installing"
|
|
||||||
$(TOP)/bin/installmesa
|
|
||||||
|
|
||||||
# If there's no current configuration file
|
|
||||||
$(TOP)/configs/current:
|
|
||||||
@echo
|
|
||||||
@echo
|
|
||||||
@echo "Please choose a configuration from the following list:"
|
|
||||||
@ls -1 $(TOP)/configs | grep -v "current\|default\|CVS"
|
|
||||||
@echo
|
|
||||||
@echo "Then type 'make <config>' (ex: 'make linux-x86')"
|
|
||||||
@echo "(ignore the following error message)"
|
|
||||||
@exit 1
|
|
||||||
|
|
||||||
|
|
||||||
# Rules to set/install a specific build configuration
|
|
||||||
aix \
|
|
||||||
aix-gcc \
|
|
||||||
aix-static \
|
|
||||||
beos \
|
|
||||||
darwin \
|
|
||||||
darwin-static \
|
|
||||||
freebsd \
|
|
||||||
hpux10 \
|
|
||||||
hpux10-gcc \
|
|
||||||
hpux10-static \
|
|
||||||
hpux11-32-static \
|
|
||||||
hpux11-32-static-nothreads \
|
|
||||||
hpux11-64-static \
|
|
||||||
hpux9 \
|
|
||||||
hpux9-gcc \
|
|
||||||
irix6-64 \
|
|
||||||
irix6-64-static \
|
|
||||||
irix6-n32 \
|
|
||||||
irix6-n32-static \
|
|
||||||
irix6-o32 \
|
|
||||||
irix6-o32-static \
|
|
||||||
linux \
|
|
||||||
linux-alpha \
|
|
||||||
linux-alpha-static \
|
|
||||||
linux-debug \
|
|
||||||
linux-dri \
|
|
||||||
linux-dri-x86 \
|
|
||||||
linux-dri-x86-64 \
|
|
||||||
linux-glide \
|
|
||||||
linux-icc \
|
|
||||||
linux-icc-static \
|
|
||||||
linux-osmesa16 \
|
|
||||||
linux-osmesa16-static \
|
|
||||||
linux-osmesa32 \
|
|
||||||
linux-ppc \
|
|
||||||
linux-ppc-static \
|
|
||||||
linux-solo \
|
|
||||||
linux-solo-x86 \
|
|
||||||
linux-solo-ia64 \
|
|
||||||
linux-sparc \
|
|
||||||
linux-sparc5 \
|
|
||||||
linux-static \
|
|
||||||
linux-ultrasparc \
|
|
||||||
linux-tcc \
|
|
||||||
linux-x86 \
|
|
||||||
linux-x86-debug \
|
|
||||||
linux-x86-64 \
|
|
||||||
linux-x86-64-static \
|
|
||||||
linux-x86-glide \
|
|
||||||
linux-x86-static \
|
|
||||||
netbsd \
|
|
||||||
openbsd \
|
|
||||||
osf1 \
|
|
||||||
solaris-x86 \
|
|
||||||
solaris-x86-gcc \
|
|
||||||
sunos4 \
|
|
||||||
sunos4-gcc \
|
|
||||||
sunos4-static \
|
|
||||||
sunos5 \
|
|
||||||
sunos5-gcc \
|
|
||||||
sunos5-smp \
|
|
||||||
ultrix-gcc:
|
|
||||||
(cd configs && rm -f current && ln -s $@ current)
|
|
||||||
$(MAKE) default
|
|
||||||
|
|
||||||
|
|
||||||
# Rules for making release tarballs
|
|
||||||
|
|
||||||
DIRECTORY = Mesa-6.2
|
|
||||||
LIB_NAME = MesaLib-6.2
|
|
||||||
DEMO_NAME = MesaDemos-6.2
|
|
||||||
|
|
||||||
LIB_FILES = \
|
|
||||||
$(DIRECTORY)/Makefile* \
|
|
||||||
$(DIRECTORY)/descrip.mms \
|
|
||||||
$(DIRECTORY)/mms-config. \
|
|
||||||
$(DIRECTORY)/Mesa.dsw \
|
|
||||||
$(DIRECTORY)/bin/mklib \
|
|
||||||
$(DIRECTORY)/bin/installmesa \
|
|
||||||
$(DIRECTORY)/configs/[a-z]* \
|
|
||||||
$(DIRECTORY)/docs/*.html \
|
|
||||||
$(DIRECTORY)/docs/COPYING \
|
|
||||||
$(DIRECTORY)/docs/INSTALL.GNU \
|
|
||||||
$(DIRECTORY)/docs/README.* \
|
|
||||||
$(DIRECTORY)/docs/RELNOTES* \
|
|
||||||
$(DIRECTORY)/docs/VERSIONS \
|
|
||||||
$(DIRECTORY)/docs/*.spec \
|
|
||||||
$(DIRECTORY)/include/GL/internal/glcore.h \
|
|
||||||
$(DIRECTORY)/include/GL/dmesa.h \
|
|
||||||
$(DIRECTORY)/include/GL/amesa.h \
|
|
||||||
$(DIRECTORY)/include/GL/fxmesa.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/mesa_wgl.h \
|
|
||||||
$(DIRECTORY)/include/GL/mglmesa.h \
|
|
||||||
$(DIRECTORY)/include/GL/osmesa.h \
|
|
||||||
$(DIRECTORY)/include/GL/svgamesa.h \
|
|
||||||
$(DIRECTORY)/include/GL/ugl*.h \
|
|
||||||
$(DIRECTORY)/include/GL/vms_x_fix.h \
|
|
||||||
$(DIRECTORY)/include/GL/wmesa.h \
|
|
||||||
$(DIRECTORY)/include/GL/xmesa.h \
|
|
||||||
$(DIRECTORY)/include/GL/xmesa_x.h \
|
|
||||||
$(DIRECTORY)/include/GL/xmesa_xf86.h \
|
|
||||||
$(DIRECTORY)/src/Makefile \
|
|
||||||
$(DIRECTORY)/src/descrip.mms \
|
|
||||||
$(DIRECTORY)/src/mesa/Makefile* \
|
|
||||||
$(DIRECTORY)/src/mesa/sources \
|
|
||||||
$(DIRECTORY)/src/mesa/descrip.mms \
|
|
||||||
$(DIRECTORY)/src/mesa/depend \
|
|
||||||
$(DIRECTORY)/src/mesa/main/*.[chS] \
|
|
||||||
$(DIRECTORY)/src/mesa/main/main.dsp \
|
|
||||||
$(DIRECTORY)/src/mesa/main/descrip.mms \
|
|
||||||
$(DIRECTORY)/src/mesa/glapi/*.[chS] \
|
|
||||||
$(DIRECTORY)/src/mesa/glapi/glapi.dsp \
|
|
||||||
$(DIRECTORY)/src/mesa/glapi/descrip.mms \
|
|
||||||
$(DIRECTORY)/src/mesa/array_cache/*.[ch] \
|
|
||||||
$(DIRECTORY)/src/mesa/array_cache/array_cache.dsp \
|
|
||||||
$(DIRECTORY)/src/mesa/array_cache/descrip.mms \
|
|
||||||
$(DIRECTORY)/src/mesa/math/*.[ch] \
|
|
||||||
$(DIRECTORY)/src/mesa/math/math.dsp \
|
|
||||||
$(DIRECTORY)/src/mesa/math/descrip.mms \
|
|
||||||
$(DIRECTORY)/src/mesa/shader/*.[ch] \
|
|
||||||
$(DIRECTORY)/src/mesa/shader/shader.dsp \
|
|
||||||
$(DIRECTORY)/src/mesa/shader/descrip.mms \
|
|
||||||
$(DIRECTORY)/src/mesa/swrast/*.[ch] \
|
|
||||||
$(DIRECTORY)/src/mesa/swrast/swrast.dsp \
|
|
||||||
$(DIRECTORY)/src/mesa/swrast/descrip.mms \
|
|
||||||
$(DIRECTORY)/src/mesa/swrast_setup/*.[ch] \
|
|
||||||
$(DIRECTORY)/src/mesa/swrast_setup/swrast_setup.dsp \
|
|
||||||
$(DIRECTORY)/src/mesa/swrast_setup/descrip.mms \
|
|
||||||
$(DIRECTORY)/src/mesa/tnl/*.[chS] \
|
|
||||||
$(DIRECTORY)/src/mesa/tnl/tnl.dsp \
|
|
||||||
$(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/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/dos/*.[chS] \
|
|
||||||
$(DIRECTORY)/src/mesa/drivers/dri/common/*.[ch] \
|
|
||||||
$(DIRECTORY)/src/mesa/drivers/fbdev/glfbdev.c \
|
|
||||||
$(DIRECTORY)/src/mesa/drivers/glide/*.[ch] \
|
|
||||||
$(DIRECTORY)/src/mesa/drivers/glide/*.def \
|
|
||||||
$(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.win \
|
|
||||||
$(DIRECTORY)/src/mesa/drivers/osmesa/descrip.mms \
|
|
||||||
$(DIRECTORY)/src/mesa/drivers/osmesa/osmesa.def \
|
|
||||||
$(DIRECTORY)/src/mesa/drivers/osmesa/osmesa.dsp \
|
|
||||||
$(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/windows/*/*.dsp \
|
|
||||||
$(DIRECTORY)/src/mesa/drivers/x11/descrip.mms \
|
|
||||||
$(DIRECTORY)/src/mesa/drivers/x11/*.[ch] \
|
|
||||||
$(DIRECTORY)/src/mesa/sparc/*.[chS] \
|
|
||||||
$(DIRECTORY)/src/mesa/x86/Makefile \
|
|
||||||
$(DIRECTORY)/src/mesa/x86/*.[ch] \
|
|
||||||
$(DIRECTORY)/src/mesa/x86/*.S \
|
|
||||||
$(DIRECTORY)/src/glu/Makefile \
|
|
||||||
$(DIRECTORY)/src/glu/descrip.mms \
|
|
||||||
$(DIRECTORY)/src/glu/sgi/Makefile \
|
|
||||||
$(DIRECTORY)/src/glu/sgi/Makefile.win \
|
|
||||||
$(DIRECTORY)/src/glu/sgi/Makefile.DJ \
|
|
||||||
$(DIRECTORY)/src/glu/sgi/cc*.txt \
|
|
||||||
$(DIRECTORY)/src/glu/sgi/glu.def \
|
|
||||||
$(DIRECTORY)/src/glu/sgi/glu.dsp \
|
|
||||||
$(DIRECTORY)/src/glu/sgi/dummy.cc \
|
|
||||||
$(DIRECTORY)/src/glu/sgi/descrip.mms \
|
|
||||||
$(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] \
|
|
||||||
$(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] \
|
|
||||||
$(DIRECTORY)/src/glw/*.[ch] \
|
|
||||||
$(DIRECTORY)/src/glw/Makefile* \
|
|
||||||
$(DIRECTORY)/src/glw/README \
|
|
||||||
$(DIRECTORY)/src/glw/depend \
|
|
||||||
$(DIRECTORY)/progs/Makefile \
|
|
||||||
$(DIRECTORY)/progs/util/README \
|
|
||||||
$(DIRECTORY)/progs/util/*.[ch] \
|
|
||||||
$(DIRECTORY)/progs/util/sampleMakefile \
|
|
||||||
$(DIRECTORY)/vms/analyze_map.com \
|
|
||||||
$(DIRECTORY)/vms/xlib.opt \
|
|
||||||
$(DIRECTORY)/vms/xlib_share.opt
|
|
||||||
|
|
||||||
|
|
||||||
DEMO_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/*def \
|
|
||||||
$(DIRECTORY)/src/glut/glx/descrip.mms \
|
|
||||||
$(DIRECTORY)/src/glut/glx/mms_depend \
|
|
||||||
$(DIRECTORY)/src/glut/glx/glut.dsp \
|
|
||||||
$(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/Makefile.DJ \
|
|
||||||
$(DIRECTORY)/src/glut/dos/PC_HW/*.[chS] \
|
|
||||||
$(DIRECTORY)/src/glut/ggi/*.[ch] \
|
|
||||||
$(DIRECTORY)/src/glut/ggi/Makefile \
|
|
||||||
$(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/demos/Windows/*.dsp \
|
|
||||||
$(DIRECTORY)/progs/demos/Windows/*.dsw \
|
|
||||||
$(DIRECTORY)/progs/xdemos/Makefile* \
|
|
||||||
$(DIRECTORY)/progs/xdemos/descrip.mms \
|
|
||||||
$(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/windml/Makefile.ugl \
|
|
||||||
$(DIRECTORY)/progs/windml/*.c \
|
|
||||||
$(DIRECTORY)/progs/windml/*.bmp \
|
|
||||||
$(DIRECTORY)/progs/ggi/*.c
|
|
||||||
|
|
||||||
|
|
||||||
DRI_FILES = \
|
|
||||||
$(DIRECTORY)/src/glx/Makefile \
|
|
||||||
$(DIRECTORY)/src/glx/mini/*.[ch] \
|
|
||||||
$(DIRECTORY)/src/glx/mini/example.miniglx.conf \
|
|
||||||
$(DIRECTORY)/src/glx/mini/NOTES \
|
|
||||||
$(DIRECTORY)/src/mesa/drivers/dri/Makefile \
|
|
||||||
$(DIRECTORY)/src/mesa/drivers/dri/Makefile.template \
|
|
||||||
$(DIRECTORY)/src/mesa/drivers/dri/common/*.[ch] \
|
|
||||||
$(DIRECTORY)/src/mesa/drivers/dri/dri_client/imports/*.h \
|
|
||||||
$(DIRECTORY)/src/mesa/drivers/dri/*/*.[ch] \
|
|
||||||
$(DIRECTORY)/src/mesa/drivers/dri/*/depend \
|
|
||||||
$(DIRECTORY)/src/mesa/drivers/dri/*/Makefile \
|
|
||||||
$(DIRECTORY)/src/mesa/drivers/dri/*/Doxyfile \
|
|
||||||
$(DIRECTORY)/src/mesa/drivers/dri/*/server/*.[ch]
|
|
||||||
|
|
||||||
|
|
||||||
# Everything for new a Mesa release:
|
|
||||||
tarballs: lib_gz demo_gz lib_bz2 demo_bz2 lib_zip demo_zip md5
|
|
||||||
|
|
||||||
|
|
||||||
lib_gz:
|
|
||||||
rm -f configs/current ; \
|
|
||||||
cd .. ; \
|
|
||||||
tar -cvf $(LIB_NAME).tar $(LIB_FILES) ; \
|
|
||||||
gzip $(LIB_NAME).tar ; \
|
|
||||||
mv $(LIB_NAME).tar.gz $(DIRECTORY)
|
|
||||||
|
|
||||||
demo_gz:
|
|
||||||
cd .. ; \
|
|
||||||
tar -cvf $(DEMO_NAME).tar $(DEMO_FILES) ; \
|
|
||||||
gzip $(DEMO_NAME).tar ; \
|
|
||||||
mv $(DEMO_NAME).tar.gz $(DIRECTORY)
|
|
||||||
|
|
||||||
lib_bz2:
|
|
||||||
rm -f configs/current ; \
|
|
||||||
cd .. ; \
|
|
||||||
tar -cvf $(LIB_NAME).tar $(LIB_FILES) ; \
|
|
||||||
bzip2 $(LIB_NAME).tar ; \
|
|
||||||
mv $(LIB_NAME).tar.bz2 $(DIRECTORY)
|
|
||||||
|
|
||||||
demo_bz2:
|
|
||||||
cd .. ; \
|
|
||||||
tar -cvf $(DEMO_NAME).tar $(DEMO_FILES) ; \
|
|
||||||
bzip2 $(DEMO_NAME).tar ; \
|
|
||||||
mv $(DEMO_NAME).tar.bz2 $(DIRECTORY)
|
|
||||||
|
|
||||||
lib_zip:
|
|
||||||
rm -f configs/current ; \
|
|
||||||
-rm $(LIB_NAME).zip ; \
|
|
||||||
cd .. ; \
|
|
||||||
zip -r $(LIB_NAME).zip $(LIB_FILES) ; \
|
|
||||||
mv $(LIB_NAME).zip $(DIRECTORY)
|
|
||||||
|
|
||||||
demo_zip:
|
|
||||||
-rm $(DEMO_NAME).zip ; \
|
|
||||||
cd .. ; \
|
|
||||||
zip -r $(DEMO_NAME).zip $(DEMO_FILES) ; \
|
|
||||||
mv $(DEMO_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
|
|
||||||
97
Makefile.DJ
97
Makefile.DJ
@@ -1,97 +0,0 @@
|
|||||||
# Mesa 3-D graphics library
|
|
||||||
# Version: 4.0
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999 Brian Paul 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, 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
|
|
||||||
# BRIAN PAUL 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.
|
|
||||||
|
|
||||||
# DOS/DJGPP makefile v1.5 for Mesa
|
|
||||||
#
|
|
||||||
# Copyright (C) 2002 - Borca Daniel
|
|
||||||
# Email : dborca@users.sourceforge.net
|
|
||||||
# Web : http://www.geocities.com/dborca
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# Available options:
|
|
||||||
#
|
|
||||||
# Environment variables:
|
|
||||||
# CPU optimize for the given processor.
|
|
||||||
# default = pentium
|
|
||||||
# GLU=[mesa|sgi] specify GLU directory; can be `sgi' (requires GNU/C++)
|
|
||||||
# or `mesa'.
|
|
||||||
# default = mesa
|
|
||||||
# GLIDE path to Glide3 SDK; used with FX.
|
|
||||||
# default = $(TOP)/glide3
|
|
||||||
# FX=1 build for 3dfx Glide3. Note that this disables
|
|
||||||
# compilation of most DMesa code and requires fxMesa.
|
|
||||||
# As a consequence, you'll need the DJGPP Glide3
|
|
||||||
# library to build any application.
|
|
||||||
# default = no
|
|
||||||
# X86=1 optimize for x86 (if possible, use MMX, SSE, 3DNow).
|
|
||||||
# default = no
|
|
||||||
#
|
|
||||||
# Targets:
|
|
||||||
# all: build everything
|
|
||||||
# libgl: build GL
|
|
||||||
# libglu: build GLU
|
|
||||||
# libglut: build GLUT
|
|
||||||
# clean: remove object files
|
|
||||||
# realclean: remove all generated files
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.PHONY : all libgl libglu libglut clean realclean
|
|
||||||
|
|
||||||
CPU ?= pentium
|
|
||||||
|
|
||||||
GLU ?= mesa
|
|
||||||
|
|
||||||
CFLAGS = -Wall -W -pedantic
|
|
||||||
CFLAGS += -O2 -ffast-math -mcpu=$(CPU)
|
|
||||||
|
|
||||||
export CFLAGS
|
|
||||||
|
|
||||||
ifeq ($(wildcard $(addsuffix /rm.exe,$(subst ;, ,$(PATH)))),)
|
|
||||||
UNLINK = del $(subst /,\,$(1))
|
|
||||||
else
|
|
||||||
UNLINK = $(RM) $(1)
|
|
||||||
endif
|
|
||||||
|
|
||||||
all: libgl libglu libglut
|
|
||||||
|
|
||||||
libgl: lib
|
|
||||||
$(MAKE) -f Makefile.DJ -C src/mesa
|
|
||||||
libglu: lib
|
|
||||||
$(MAKE) -f Makefile.DJ -C src/glu/$(GLU)
|
|
||||||
libglut: lib
|
|
||||||
$(MAKE) -f Makefile.DJ -C src/glut/dos
|
|
||||||
|
|
||||||
lib:
|
|
||||||
mkdir lib
|
|
||||||
|
|
||||||
clean:
|
|
||||||
$(MAKE) -f Makefile.DJ clean -C src/mesa
|
|
||||||
$(MAKE) -f Makefile.DJ clean -C src/glu/mesa
|
|
||||||
$(MAKE) -f Makefile.DJ clean -C src/glu/sgi
|
|
||||||
$(MAKE) -f Makefile.DJ clean -C src/glut/dos
|
|
||||||
|
|
||||||
realclean: clean
|
|
||||||
-$(call UNLINK,lib/*.a)
|
|
||||||
-$(call UNLINK,lib/*.dxe)
|
|
||||||
768
Makefile.X11
Normal file
768
Makefile.X11
Normal file
@@ -0,0 +1,768 @@
|
|||||||
|
# $Id: Makefile.X11,v 1.56.2.10 2002/06/24 20:44:58 brianp Exp $
|
||||||
|
|
||||||
|
# Mesa 3-D graphics library
|
||||||
|
# Version: 4.0.3
|
||||||
|
#
|
||||||
|
# Copyright (C) 1999-2002 Brian Paul 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, 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
|
||||||
|
# BRIAN PAUL 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.
|
||||||
|
|
||||||
|
|
||||||
|
# Top-level makefile for Mesa
|
||||||
|
# To add a new configuration for your system add it to the list below
|
||||||
|
# then update the Make-config file.
|
||||||
|
|
||||||
|
SHELL = /bin/sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
default:
|
||||||
|
@echo "Type one of the following:"
|
||||||
|
@echo " make aix for IBM RS/6000 with AIX"
|
||||||
|
@echo " make aix-sl for IBM RS/6000, make shared libs"
|
||||||
|
@echo " make amiwin for Amiga with SAS/C and AmiWin"
|
||||||
|
@echo " make amix for Amiga 3000 UX SVR4 v2.1 systems"
|
||||||
|
@echo " make beos-r4 for BeOS R4"
|
||||||
|
@echo " make bsdos for BSD/OS from BSDI using GCC"
|
||||||
|
@echo " make bsdos4 for BSD/OS 4.x, dynamic libraries"
|
||||||
|
@echo " make cygnus for Win95/NT using Cygnus-Win32"
|
||||||
|
@echo " make cygnus-linux for Win95/NT using Cygnus-Win32 under Linux"
|
||||||
|
@echo " make darwin for Darwin - Mac OS X"
|
||||||
|
@echo " make dgux for Data General"
|
||||||
|
@echo " make freebsd for FreeBSD systems with GCC"
|
||||||
|
@echo " make freebsd-386 for FreeBSD systems with GCC, w/ Intel assembly"
|
||||||
|
@echo " make gcc for a generic system with GCC"
|
||||||
|
@echo " make hpux9 for HP systems with HPUX 9.x"
|
||||||
|
@echo " make hpux9-sl for HP systems with HPUX 9.x, make shared libs"
|
||||||
|
@echo " make hpux9-gcc for HP systems with HPUX 9.x using GCC"
|
||||||
|
@echo " make hpux9-gcc-sl for HP systems with HPUX 9.x, GCC, make shared libs"
|
||||||
|
@echo " make hpux10 for HP systems with HPUX 10.x"
|
||||||
|
@echo " make hpux10-sl for HP systems with HPUX 10.x, shared libs"
|
||||||
|
@echo " make hpux10-gcc for HP systems with HPUX 10.x w/ GCC"
|
||||||
|
@echo " make hpux10-gcc-sl for HP systems with HPUX 10.x w/ GCC, shared libs"
|
||||||
|
@echo " make irix4 for SGI systems with IRIX 4.x"
|
||||||
|
@echo " make irix5 for SGI systems with IRIX 5.x"
|
||||||
|
@echo " make irix5-gcc for SGI systems with IRIX 5.x using GCC"
|
||||||
|
@echo " make irix5-dso for SGI systems with IRIX 5.x, make DSOs"
|
||||||
|
@echo " make irix6-o32 for SGI systems with IRIX 6.x, make o32-bit libs"
|
||||||
|
@echo " make irix6-o32-dso for SGI systems with IRIX 6.x, make o32-bit DSOs"
|
||||||
|
@echo " make irix6-n32 for SGI systems with IRIX 6.x, make n32-bit libs"
|
||||||
|
@echo " make irix6-n32-dso for SGI systems with IRIX 6.x, make n32-bit DSOs"
|
||||||
|
@echo " make irix6-gcc-n32-sl for SGI systems with IRIX 6.x, GCC, make n32 DSOs"
|
||||||
|
@echo " make irix6-64 for SGI systems with IRIX 6.x, make 64-bit libs"
|
||||||
|
@echo " make irix6-64-dso for SGI systems with IRIX 6.x, make 64-bit DSOs"
|
||||||
|
|
||||||
|
@echo " make linux for Linux systems, make shared .so libs"
|
||||||
|
@echo " make linux-static for Linux systems, make static .a libs"
|
||||||
|
@echo " make linux-trace for Linux systems, with API trace extension"
|
||||||
|
@echo " make linux-x86 for Linux on Intel, make shared .so libs"
|
||||||
|
@echo " make linux-x86-static for Linux on Intel, make static .a libs"
|
||||||
|
@echo " make linux-ggi for Linux systems with libggi"
|
||||||
|
@echo " make linux-386-ggi for Linux systems with libggi w/ Intel assembly"
|
||||||
|
@echo " make linux-glide for Linux w/ 3Dfx Glide driver"
|
||||||
|
@echo " make linux-386-glide for Linux w/ 3Dfx Glide driver, Intel assembly"
|
||||||
|
@echo " make linux-386-opt-glide for Linux with 3Dfx Voodoo1 for GLQuake"
|
||||||
|
@echo " make linux-x86-glide for Linux w/ all x86 asm for Glide"
|
||||||
|
@echo " make linux-alpha for Linux on Alpha systems"
|
||||||
|
@echo " make linux-alpha-static for Linux on Alpha systems, static libs"
|
||||||
|
@echo " make linux-ppc for Linux on PowerPC systems"
|
||||||
|
@echo " make linux-ppc-static for Linux on PowerPC systems, static libs"
|
||||||
|
@echo " make linux-sparc for Linux on Sparc systems"
|
||||||
|
@echo " make linux-sparc5-elf for Sparc5 systems, make ELF shared libs"
|
||||||
|
@echo " make linux-sparc-ultra for UltraSparc systems, make ELF shared libs"
|
||||||
|
@echo " make linux-osmesa16 for 16-bit/channel OSMesa"
|
||||||
|
@echo " make linux-osmesa32 for 32-bit/channel OSMesa"
|
||||||
|
@echo " make linux-icc for Linux with the Intel C/C++ compiler"
|
||||||
|
@echo " make lynxos for LynxOS systems with GCC"
|
||||||
|
@echo " make macintosh for Macintosh"
|
||||||
|
@echo " make machten-2.2 for Macs w/ MachTen 2.2 (68k w/ FPU)"
|
||||||
|
@echo " make machten-4.0 for Macs w/ MachTen 4.0.1 or newer with GNU make"
|
||||||
|
@echo " make mklinux for Linux on Power Macintosh"
|
||||||
|
@echo " make netbsd for NetBSD 1.0 systems with GCC"
|
||||||
|
@echo " make next for NeXT systems with NEXTSTEP 3.3"
|
||||||
|
@echo " make openbsd for OpenBSD systems"
|
||||||
|
@echo " make openstep for OpenStep/MacOSX Server systems"
|
||||||
|
@echo " make os2-x11 for OS/2 with XFree86"
|
||||||
|
@echo " make osf1 for DEC Alpha systems with OSF/1"
|
||||||
|
@echo " make osf1-sl for DEC Alpha systems with OSF/1, make shared libs"
|
||||||
|
@echo " make pgi-cygnus for Cygnus with Portland Group, Inc. compiler"
|
||||||
|
@echo " make pgi-mingw32 for mingW32 with Portland Group, Inc. compiler"
|
||||||
|
@echo " make qnx for QNX V4 systems with Watcom compiler"
|
||||||
|
@echo " make sco for SCO Unix systems with ODT"
|
||||||
|
@echo " make sco5 for SCO 5.0.5 OpenServer Unix"
|
||||||
|
@echo " make solaris-x86 for PCs with Solaris"
|
||||||
|
@echo " make solaris-x86-gcc for PCs with Solaris using GCC"
|
||||||
|
@echo " make sunos4 for Suns with SunOS 4.x"
|
||||||
|
@echo " make sunos4-sl for Suns with SunOS 4.x, make shared libs"
|
||||||
|
@echo " make sunos4-gcc for Suns with SunOS 4.x and GCC"
|
||||||
|
@echo " make sunos4-gcc-sl for Suns with SunOS 4.x, GCC, make shared libs"
|
||||||
|
@echo " make sunos5 for Suns with SunOS 5.x"
|
||||||
|
@echo " make sunos5-sl for Suns with SunOS 5.x, make shared libs"
|
||||||
|
@echo " make sunos5-ultra for Sun UltraSPARCs with SunOS 5.x"
|
||||||
|
@echo " make sunos5-ultra-sl for Sun UltraSPARCs with SunOS 5.x, make shared libs"
|
||||||
|
@echo " make sunos5-thread for Suns with SunOS 5.x, using Solaris threads"
|
||||||
|
@echo " make sunos5-pthread for Suns with SunOS 5.[56] using POSIX threads"
|
||||||
|
@echo " make sunos5-gcc-thread for Suns with SunOS 5.x and GCC, using Solaris threads"
|
||||||
|
@echo " make sunos5-gcc-pthread for Suns with SunOS 5.[56] and GCC, using POSIX threads"
|
||||||
|
@echo " make sunos5-gcc for Suns with SunOS 5.x and GCC"
|
||||||
|
@echo " make sunos5-gcc-sl for Suns with SunOS 5.x, GCC, make shared libs"
|
||||||
|
@echo " make sunos5-x11r6-gcc-sl for Suns with X11R6, GCC, make shared libs"
|
||||||
|
@echo " make sunos5-gcc-thread for Suns with SunOS 5.x and GCC, using Solaris threads"
|
||||||
|
@echo " make sunos5-gcc-pthread for Suns with SunOS 5.[56] and GCC, using POSIX threads"
|
||||||
|
@echo " make sunSolaris-CC for Solaris using C++ compiler"
|
||||||
|
@echo " make ultrix-gcc for DEC systems with Ultrix and GCC"
|
||||||
|
@echo " make unicos for Cray C90 (and other?) systems"
|
||||||
|
@echo " make unixware for PCs running UnixWare"
|
||||||
|
@echo " make unixware-shared for PCs running UnixWare, shared libs"
|
||||||
|
@echo " make uwin for Windows NT with AT&T/Wipro UWIN"
|
||||||
|
@echo " make vistra for Stardent Vistra systems"
|
||||||
|
@echo " make clean remove .o files"
|
||||||
|
@echo " make realclean remove .o, library and executable files"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# XXX we may have to split up this group of targets into those that
|
||||||
|
# have a C++ compiler and those that don't for the SI-GLU library.
|
||||||
|
|
||||||
|
aix aix-sl amix bsdos bsdos4 darwin dgux freebsd freebsd-386 gcc \
|
||||||
|
hpux9 hpux9-sl hpux9-gcc hpux9-gcc-sl \
|
||||||
|
hpux10 hpux10-sl hpux10-gcc hpux10-gcc-sl \
|
||||||
|
irix4 irix5 irix5-gcc irix5-dso \
|
||||||
|
linux linux-static linux-debug linux-x11-debug linux-static-debug linux-prof \
|
||||||
|
linux-x86 linux-icc linux-x86-static linux-x86-debug \
|
||||||
|
linux-glide linux-386-glide linux-386-opt-glide \
|
||||||
|
linux-x86-glide linux-glide-debug linux-glide-prof \
|
||||||
|
linux-alpha-static linux-alpha \
|
||||||
|
linux-ppc-static linux-ppc \
|
||||||
|
linux-sparc \
|
||||||
|
linux-sparc5-elf \
|
||||||
|
linux-sparc-ultra \
|
||||||
|
lynxos machten-2.2 machten-4.0 \
|
||||||
|
mklinux netbsd osf1 osf1-sl openbsd qnx sco sco5 \
|
||||||
|
solaris-x86 solaris-x86-gcc sunSolaris-CC \
|
||||||
|
sunos4 sunos4-sl sunos4-gcc sunos4-gcc-sl sunos4-gcc-x11r6-sl \
|
||||||
|
sunos5 sunos5-sl sunos5-ultra sunos5-ultra-sl sunos5-gcc sunos5-gcc-sl \
|
||||||
|
sunos5-thread sunos5-pthread sunos5-gcc-thread sunos5-gcc-pthread \
|
||||||
|
sunos5-x11r6-gcc-sl ultrix-gcc unicos unixware uwin vistra:
|
||||||
|
-mkdir lib
|
||||||
|
if [ -d src ] ; then touch src/depend ; fi
|
||||||
|
if [ -d si-glu ] ; then touch si-glu/depend ; fi
|
||||||
|
if [ -d src-glut ] ; then touch src-glut/depend ; fi
|
||||||
|
if [ -d widgets-sgi ] ; then touch widgets-sgi/depend ; fi
|
||||||
|
if [ -d src ] ; then cd src ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d si-glu ] ; then cd si-glu ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d src-glut ] ; then cd src-glut ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d demos ] ; then cd demos ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d xdemos ] ; then cd xdemos ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d samples ] ; then cd samples ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d book ] ; then cd book ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d widgets-sgi ] ; then cd widgets-sgi; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
|
||||||
|
irix6-o32 irix6-o32-dso irix6-n32 irix6-n32-dso irix6-gcc-n32-sl irix-debug:
|
||||||
|
-mkdir lib32
|
||||||
|
if [ -d src ] ; then touch src/depend ; fi
|
||||||
|
if [ -d src-glu ] ; then touch src-glu/depend ; fi
|
||||||
|
if [ -d src-glut ] ; then touch src-glut/depend ; fi
|
||||||
|
if [ -d widgets-sgi ] ; then touch widgets-sgi/depend ; fi
|
||||||
|
if [ -d src ] ; then cd src ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d src-glu ] ; then cd src-glu ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d src-glut ] ; then cd src-glut ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d demos ] ; then cd demos ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d xdemos ] ; then cd xdemos ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d samples ] ; then cd samples ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d book ] ; then cd book ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d widgets-sgi ] ; then cd widgets-sgi; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
|
||||||
|
|
||||||
|
irix6-64 irix6-64-dso:
|
||||||
|
-mkdir lib64
|
||||||
|
touch src/depend
|
||||||
|
touch src-glu/depend
|
||||||
|
if [ -d src-glut ] ; then touch src-glut/depend ; fi
|
||||||
|
if [ -d widgets-sgi ] ; then touch widgets-sgi/depend ; fi
|
||||||
|
if [ -d src ] ; then cd src ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d src-glu ] ; then cd src-glu ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d src-glut ] ; then cd src-glut ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d demos ] ; then cd demos ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d xdemos ] ; then cd xdemos ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d samples ] ; then cd samples ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d book ] ; then cd book ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d widgets-sgi ] ; then cd widgets-sgi; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
|
||||||
|
|
||||||
|
amiwin:
|
||||||
|
bin/mklib.amiwin
|
||||||
|
|
||||||
|
|
||||||
|
beos-r4:
|
||||||
|
-mkdir lib
|
||||||
|
-rm src/depend
|
||||||
|
touch src/depend
|
||||||
|
-rm src-glu/depend
|
||||||
|
touch src-glu/depend
|
||||||
|
if [ -d src ] ; then cd src ; $(MAKE) -f Makefile.BeOS-R4 $@ ; fi
|
||||||
|
if [ -d src-glu ] ; then cd src-glu ; $(MAKE) -f Makefile.BeOS-R4 $@ ; fi
|
||||||
|
if [ -d BeOS ] ; then cd BeOS ; $(MAKE) ; fi
|
||||||
|
if [ -d src-glut.beos ] ; then cd src-glut.beos ; $(MAKE) ; fi
|
||||||
|
if [ -d src-glut.beos ] ; then cp src-glut.beos/obj*/libglut.so lib ; fi
|
||||||
|
if [ -d demos ] ; then cd demos ; $(MAKE) -f Makefile.BeOS-R4 $@ ; fi
|
||||||
|
if [ -d samples ] ; then cd samples ; $(MAKE) -f Makefile.BeOS-R4 $@ ; fi
|
||||||
|
if [ -d book ] ; then cd book ; $(MAKE) -f Makefile.BeOS-R4 $@ ; fi
|
||||||
|
|
||||||
|
pgi-cygnus pgi-mingw32 \
|
||||||
|
cygnus cygnus-linux:
|
||||||
|
-mkdir lib
|
||||||
|
touch src/depend
|
||||||
|
touch src-glu/depend
|
||||||
|
if [ -d widgets-sgi ] ; then touch widgets-sgi/depend ; fi
|
||||||
|
if [ -d src ] ; then cd src ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d src-glu ] ; then cd src-glu ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d src-glut ] ; then cd src-glut ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d demos ] ; then cd demos ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d xdemos ] ; then cd xdemos ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d widgets-sgi ] ; then cd widgets-sgi; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
|
||||||
|
macintosh:
|
||||||
|
@echo "See the README file for Macintosh intallation information"
|
||||||
|
|
||||||
|
next:
|
||||||
|
-mkdir lib
|
||||||
|
cd src ; $(MAKE) -f Makefile.X11 "MYCC=${CC}" $@
|
||||||
|
cd src-glu ; $(MAKE) -f Makefile.X11 "MYCC=${CC}" $@
|
||||||
|
|
||||||
|
openstep:
|
||||||
|
-mkdir lib
|
||||||
|
cd src ; $(MAKE) -f Makefile.X11 "MYCC=${CC}" $@
|
||||||
|
cd src-glu ; $(MAKE) -f Makefile.X11 "MYCC=${CC}" $@
|
||||||
|
|
||||||
|
os2-x11:
|
||||||
|
if not EXIST .\lib md lib
|
||||||
|
touch src/depend
|
||||||
|
touch src-glu/depend
|
||||||
|
if exist src-glut touch src-glut/depend
|
||||||
|
cd src & make -f Makefile.X11 $@
|
||||||
|
cd src-glu & make -f Makefile.X11 $@
|
||||||
|
if exist src-glut cd src-glut & make -f Makefile.X11 $@
|
||||||
|
if exist demos cd demos & make -f Makefile.X11 $@
|
||||||
|
if exist xdemos cd xdemos & make -f Makefile.X11 $@
|
||||||
|
if exist samples cd samples & make -f Makefile.X11 $@
|
||||||
|
if exist book cd book & make -f Makefile.X11 $@
|
||||||
|
|
||||||
|
linux-ggi linux-386-ggi:
|
||||||
|
-mkdir lib
|
||||||
|
touch src/depend
|
||||||
|
touch si-glu/depend
|
||||||
|
if [ -d src-glut ] ; then touch src-glut/depend ; fi
|
||||||
|
if [ -d widgets-sgi ] ; then touch widgets-sgi/depend ; fi
|
||||||
|
if [ -d ggi ] ; then touch ggi/depend ; fi
|
||||||
|
if [ -d src ] ; then cd src ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d src/GGI/default ] ; then cd src/GGI/default ; $(MAKE) ; fi
|
||||||
|
if [ -d src/GGI/display ] ; then cd src/GGI/display ; $(MAKE) ; fi
|
||||||
|
if [ -d si-glu ] ; then cd si-glu ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
# if [ -d src-glut ] ; then cd src-glut ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d ggi ] ; then cd ggi ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d ggi ] ; then cd ggi/demos; $(MAKE) ; fi
|
||||||
|
if [ -d demos ] ; then cd demos ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d xdemos ] ; then cd xdemos ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d samples ] ; then cd samples ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d book ] ; then cd book ; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
if [ -d widgets-sgi ] ; then cd widgets-sgi; $(MAKE) -f Makefile.X11 $@ ; fi
|
||||||
|
|
||||||
|
# if you change GGI_DEST please change it in ggimesa.conf, too.
|
||||||
|
DESTDIR=/usr/local
|
||||||
|
GGI_DEST=lib/ggi/mesa
|
||||||
|
|
||||||
|
linux-ggi-install linux-386-ggi-install:
|
||||||
|
install -d $(DESTDIR)/$(GGI_DEST)/default $(DESTDIR)/$(GGI_DEST)/display $(DESTDIR)/etc/ggi
|
||||||
|
install -m 0755 src/GGI/default/*.so $(DESTDIR)/$(GGI_DEST)/default
|
||||||
|
install -m 0755 src/GGI/display/*.so $(DESTDIR)/$(GGI_DEST)/display
|
||||||
|
install -m 0644 src/GGI/ggimesa.conf $(DESTDIR)/etc/ggi
|
||||||
|
# if [ -z "`grep ggimesa $(DESTDIR)/etc/ggi/libggi.conf`" ]; then \
|
||||||
|
# echo ".include $(DESTDIR)/etc/ggi/ggimesa.conf" >> $(DESTDIR)/etc/ggi/libggi.conf ; \
|
||||||
|
# fi
|
||||||
|
|
||||||
|
linux-osmesa16 linux-osmesa32:
|
||||||
|
-mkdir lib
|
||||||
|
if [ -d src ] ; then touch src/depend ; fi
|
||||||
|
if [ -d src ] ; then cd src ; $(MAKE) -f Makefile.OSMesa16 $@ ; fi
|
||||||
|
|
||||||
|
# Remove .o files, emacs backup files, etc.
|
||||||
|
clean:
|
||||||
|
-rm -f ggi/*~ *.o
|
||||||
|
-rm -f src/GGI/default/*~ *.so
|
||||||
|
-rm -f src/GGI/display/*~ *.so
|
||||||
|
-rm -f include/*~
|
||||||
|
-rm -f include/GL/*~
|
||||||
|
-rm -f src/*.o src/*~ src/*.a src/*/*.o src/*/*~
|
||||||
|
-rm -f src-glu/*.o src-glu/*~ src-glu/*.a
|
||||||
|
-rm -f si-glu/*/*.o si-glu/*/*/*.o
|
||||||
|
-rm -f src-glut/*.o
|
||||||
|
-rm -f demos/*.o
|
||||||
|
-rm -f book/*.o book/*~
|
||||||
|
-rm -f xdemos/*.o xdemos/*~
|
||||||
|
-rm -f samples/*.o samples/*~
|
||||||
|
-rm -f ggi/*.o ggi/demos/*.o ggi/*.a
|
||||||
|
-rm -f widgets-sgi/*.o
|
||||||
|
-rm -f widgets-mesa/*/*.o
|
||||||
|
|
||||||
|
# Remove everything that can be remade
|
||||||
|
realclean: clean
|
||||||
|
-rm -fr lib lib32 lib64
|
||||||
|
cd demos && $(MAKE) -f Makefile.X11 realclean || true
|
||||||
|
cd xdemos && $(MAKE) -f Makefile.X11 realclean || true
|
||||||
|
cd book && $(MAKE) -f Makefile.X11 realclean || true
|
||||||
|
cd samples && $(MAKE) -f Makefile.X11 realclean || true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
DIRECTORY = Mesa-4.0.3
|
||||||
|
LIB_NAME = MesaLib-4.0.3
|
||||||
|
DEMO_NAME = MesaDemos-4.0.3
|
||||||
|
GLU_NAME = MesaGLU-4.0.3
|
||||||
|
GLUT_NAME = GLUT-3.7
|
||||||
|
|
||||||
|
|
||||||
|
LIB_FILES = \
|
||||||
|
$(DIRECTORY)/Makefile* \
|
||||||
|
$(DIRECTORY)/Make-config \
|
||||||
|
$(DIRECTORY)/acconfig.h \
|
||||||
|
$(DIRECTORY)/acinclude.m4 \
|
||||||
|
$(DIRECTORY)/aclocal.m4 \
|
||||||
|
$(DIRECTORY)/common_rules.make \
|
||||||
|
$(DIRECTORY)/conf.h.in \
|
||||||
|
$(DIRECTORY)/config.guess \
|
||||||
|
$(DIRECTORY)/config.sub \
|
||||||
|
$(DIRECTORY)/configure \
|
||||||
|
$(DIRECTORY)/configure.in \
|
||||||
|
$(DIRECTORY)/install-sh \
|
||||||
|
$(DIRECTORY)/ltconfig \
|
||||||
|
$(DIRECTORY)/ltmain.sh \
|
||||||
|
$(DIRECTORY)/missing \
|
||||||
|
$(DIRECTORY)/mkinstalldirs \
|
||||||
|
$(DIRECTORY)/stamp-h.in \
|
||||||
|
$(DIRECTORY)/docs/CONFIG \
|
||||||
|
$(DIRECTORY)/docs/CONFORM \
|
||||||
|
$(DIRECTORY)/docs/COPYING \
|
||||||
|
$(DIRECTORY)/docs/COPYRIGHT \
|
||||||
|
$(DIRECTORY)/docs/DEVINFO \
|
||||||
|
$(DIRECTORY)/docs/IAFA-PACKAGE \
|
||||||
|
$(DIRECTORY)/docs/INSTALL \
|
||||||
|
$(DIRECTORY)/docs/INSTALL.GNU \
|
||||||
|
$(DIRECTORY)/docs/README \
|
||||||
|
$(DIRECTORY)/docs/README.* \
|
||||||
|
$(DIRECTORY)/docs/RELNOTES* \
|
||||||
|
$(DIRECTORY)/docs/VERSIONS \
|
||||||
|
$(DIRECTORY)/docs/*.spec \
|
||||||
|
$(DIRECTORY)/bin/README \
|
||||||
|
$(DIRECTORY)/bin/mklib* \
|
||||||
|
$(DIRECTORY)/descrip.mms \
|
||||||
|
$(DIRECTORY)/mms-config \
|
||||||
|
$(DIRECTORY)/m4/*.m4 \
|
||||||
|
$(DIRECTORY)/xlib.opt \
|
||||||
|
$(DIRECTORY)/mesawin32.mak \
|
||||||
|
$(DIRECTORY)/include/GL/internal/glcore.h \
|
||||||
|
$(DIRECTORY)/include/GL/Makefile.in \
|
||||||
|
$(DIRECTORY)/include/GL/Makefile.am \
|
||||||
|
$(DIRECTORY)/include/GL/dmesa.h \
|
||||||
|
$(DIRECTORY)/include/GL/amesa.h \
|
||||||
|
$(DIRECTORY)/include/GL/fxmesa.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/mesa_wgl.h \
|
||||||
|
$(DIRECTORY)/include/GL/mglmesa.h \
|
||||||
|
$(DIRECTORY)/include/GL/osmesa.h \
|
||||||
|
$(DIRECTORY)/include/GL/svgamesa.h \
|
||||||
|
$(DIRECTORY)/include/GL/ugl*.h \
|
||||||
|
$(DIRECTORY)/include/GL/vms_x_fix.h \
|
||||||
|
$(DIRECTORY)/include/GL/wmesa.h \
|
||||||
|
$(DIRECTORY)/include/GL/xmesa.h \
|
||||||
|
$(DIRECTORY)/include/GL/xmesa_x.h \
|
||||||
|
$(DIRECTORY)/include/GL/xmesa_xf86.h \
|
||||||
|
$(DIRECTORY)/include/GLView.h \
|
||||||
|
$(DIRECTORY)/include/dmesadxe.h \
|
||||||
|
$(DIRECTORY)/include/Makefile.in \
|
||||||
|
$(DIRECTORY)/include/Makefile.am \
|
||||||
|
$(DIRECTORY)/src/Makefile* \
|
||||||
|
$(DIRECTORY)/src/libGL_la_SOURCES \
|
||||||
|
$(DIRECTORY)/src/descrip.mms \
|
||||||
|
$(DIRECTORY)/src/mesa.conf \
|
||||||
|
$(DIRECTORY)/src/*.def \
|
||||||
|
$(DIRECTORY)/src/depend \
|
||||||
|
$(DIRECTORY)/src/*.[chS] \
|
||||||
|
$(DIRECTORY)/src/array_cache/*.[ch] \
|
||||||
|
$(DIRECTORY)/src/array_cache/Makefile* \
|
||||||
|
$(DIRECTORY)/src/array_cache/libMesaAC_la_SOURCES \
|
||||||
|
$(DIRECTORY)/src/math/*.[ch] \
|
||||||
|
$(DIRECTORY)/src/math/Makefile* \
|
||||||
|
$(DIRECTORY)/src/swrast/*.[ch] \
|
||||||
|
$(DIRECTORY)/src/swrast/Makefile* \
|
||||||
|
$(DIRECTORY)/src/swrast/libMesaSwrast_la_SOURCES \
|
||||||
|
$(DIRECTORY)/src/swrast_setup/*.[ch] \
|
||||||
|
$(DIRECTORY)/src/swrast_setup/Makefile* \
|
||||||
|
$(DIRECTORY)/src/tnl/*.[ch] \
|
||||||
|
$(DIRECTORY)/src/tnl/Makefile* \
|
||||||
|
$(DIRECTORY)/src/tnl/libMesaTnl_la_SOURCES \
|
||||||
|
$(DIRECTORY)/src/tnl_dd/*.[ch] \
|
||||||
|
$(DIRECTORY)/src/tnl_dd/imm/*.[ch] \
|
||||||
|
$(DIRECTORY)/src/tnl_dd/imm/NOTES.imm \
|
||||||
|
$(DIRECTORY)/src/windml/*.[ch] \
|
||||||
|
$(DIRECTORY)/src/windml/tornado/*.c \
|
||||||
|
$(DIRECTORY)/src/windml/tornado/*.cdf \
|
||||||
|
$(DIRECTORY)/src/windml/man3/*.3 \
|
||||||
|
$(DIRECTORY)/src/windml/man3/*.html \
|
||||||
|
$(DIRECTORY)/src/DOS/*.[ch] \
|
||||||
|
$(DIRECTORY)/src/BeOS/*.cpp \
|
||||||
|
$(DIRECTORY)/src/FX/Makefile.am \
|
||||||
|
$(DIRECTORY)/src/FX/Makefile.in \
|
||||||
|
$(DIRECTORY)/src/FX/libMesaFX_la_SOURCES \
|
||||||
|
$(DIRECTORY)/src/FX/*.[ch] \
|
||||||
|
$(DIRECTORY)/src/FX/*.def \
|
||||||
|
$(DIRECTORY)/src/FX/X86/Makefile.am \
|
||||||
|
$(DIRECTORY)/src/FX/X86/Makefile.in \
|
||||||
|
$(DIRECTORY)/src/FX/X86/*.[Shc] \
|
||||||
|
$(DIRECTORY)/src/GGI/Makefile.am \
|
||||||
|
$(DIRECTORY)/src/GGI/Makefile.in \
|
||||||
|
$(DIRECTORY)/src/GGI/*.[ch] \
|
||||||
|
$(DIRECTORY)/src/GGI/ggimesa.conf.in \
|
||||||
|
$(DIRECTORY)/src/GGI/default/*.c \
|
||||||
|
$(DIRECTORY)/src/GGI/default/Makefile.am \
|
||||||
|
$(DIRECTORY)/src/GGI/default/Makefile.in \
|
||||||
|
$(DIRECTORY)/src/GGI/default/genkgi.conf.in \
|
||||||
|
$(DIRECTORY)/src/GGI/display/*.c \
|
||||||
|
$(DIRECTORY)/src/GGI/display/Makefile.am \
|
||||||
|
$(DIRECTORY)/src/GGI/display/Makefile.in \
|
||||||
|
$(DIRECTORY)/src/GGI/display/fbdev.conf.in \
|
||||||
|
$(DIRECTORY)/src/GGI/include/Makefile.am \
|
||||||
|
$(DIRECTORY)/src/GGI/include/Makefile.in \
|
||||||
|
$(DIRECTORY)/src/GGI/include/ggi/Makefile.am \
|
||||||
|
$(DIRECTORY)/src/GGI/include/ggi/Makefile.in \
|
||||||
|
$(DIRECTORY)/src/GGI/include/ggi/mesa/Makefile.am \
|
||||||
|
$(DIRECTORY)/src/GGI/include/ggi/mesa/Makefile.in \
|
||||||
|
$(DIRECTORY)/src/GGI/include/ggi/mesa/*.h \
|
||||||
|
$(DIRECTORY)/src/KNOWN_BUGS \
|
||||||
|
$(DIRECTORY)/src/OSmesa/Makefile.am \
|
||||||
|
$(DIRECTORY)/src/OSmesa/Makefile.in \
|
||||||
|
$(DIRECTORY)/src/OSmesa/Makefile.win \
|
||||||
|
$(DIRECTORY)/src/OSmesa/osmesa.def \
|
||||||
|
$(DIRECTORY)/src/OSmesa/*.[ch] \
|
||||||
|
$(DIRECTORY)/src/SPARC/*.[chS] \
|
||||||
|
$(DIRECTORY)/src/SPARC/Makefile.am \
|
||||||
|
$(DIRECTORY)/src/SPARC/Makefile.in \
|
||||||
|
$(DIRECTORY)/src/SVGA/Makefile.am \
|
||||||
|
$(DIRECTORY)/src/SVGA/Makefile.in \
|
||||||
|
$(DIRECTORY)/src/SVGA/*.[ch] \
|
||||||
|
$(DIRECTORY)/src/Trace/*.[ch] \
|
||||||
|
$(DIRECTORY)/src/Trace/Makefile.am \
|
||||||
|
$(DIRECTORY)/src/Trace/Makefile.in \
|
||||||
|
$(DIRECTORY)/src/Windows/*.[ch] \
|
||||||
|
$(DIRECTORY)/src/Windows/*.def \
|
||||||
|
$(DIRECTORY)/src/X/Makefile.am \
|
||||||
|
$(DIRECTORY)/src/X/Makefile.in \
|
||||||
|
$(DIRECTORY)/src/X/*.[ch] \
|
||||||
|
$(DIRECTORY)/src/X86/*.[ch] \
|
||||||
|
$(DIRECTORY)/src/X86/Makefile.am \
|
||||||
|
$(DIRECTORY)/src/X86/Makefile.in \
|
||||||
|
$(DIRECTORY)/src/X86/*.S \
|
||||||
|
$(DIRECTORY)/si-glu/Makefile.am \
|
||||||
|
$(DIRECTORY)/si-glu/Makefile.in \
|
||||||
|
$(DIRECTORY)/si-glu/Makefile.X11 \
|
||||||
|
$(DIRECTORY)/si-glu/Makefile.win \
|
||||||
|
$(DIRECTORY)/si-glu/glu.def \
|
||||||
|
$(DIRECTORY)/si-glu/dummy.cc \
|
||||||
|
$(DIRECTORY)/si-glu/descrip.mms \
|
||||||
|
$(DIRECTORY)/si-glu/mesaglu.opt \
|
||||||
|
$(DIRECTORY)/si-glu/include/gluos.h \
|
||||||
|
$(DIRECTORY)/si-glu/include/Makefile.am \
|
||||||
|
$(DIRECTORY)/si-glu/include/Makefile.in \
|
||||||
|
$(DIRECTORY)/si-glu/libnurbs/Makefile.am \
|
||||||
|
$(DIRECTORY)/si-glu/libnurbs/Makefile.in \
|
||||||
|
$(DIRECTORY)/si-glu/libnurbs/interface/*.h \
|
||||||
|
$(DIRECTORY)/si-glu/libnurbs/interface/*.cc \
|
||||||
|
$(DIRECTORY)/si-glu/libnurbs/interface/libNIFac_la_SOURCES \
|
||||||
|
$(DIRECTORY)/si-glu/libnurbs/interface/Makefile.am \
|
||||||
|
$(DIRECTORY)/si-glu/libnurbs/interface/Makefile.in \
|
||||||
|
$(DIRECTORY)/si-glu/libnurbs/internals/*.h \
|
||||||
|
$(DIRECTORY)/si-glu/libnurbs/internals/*.cc \
|
||||||
|
$(DIRECTORY)/si-glu/libnurbs/internals/libNInt_la_SOURCES \
|
||||||
|
$(DIRECTORY)/si-glu/libnurbs/internals/Makefile.am \
|
||||||
|
$(DIRECTORY)/si-glu/libnurbs/internals/Makefile.in \
|
||||||
|
$(DIRECTORY)/si-glu/libnurbs/nurbtess/*.h \
|
||||||
|
$(DIRECTORY)/si-glu/libnurbs/nurbtess/*.cc \
|
||||||
|
$(DIRECTORY)/si-glu/libnurbs/nurbtess/libNTess_la_SOURCES \
|
||||||
|
$(DIRECTORY)/si-glu/libnurbs/nurbtess/Makefile.am \
|
||||||
|
$(DIRECTORY)/si-glu/libnurbs/nurbtess/Makefile.in \
|
||||||
|
$(DIRECTORY)/si-glu/libtess/README \
|
||||||
|
$(DIRECTORY)/si-glu/libtess/alg-outline \
|
||||||
|
$(DIRECTORY)/si-glu/libtess/*.[ch] \
|
||||||
|
$(DIRECTORY)/si-glu/libtess/libtess_la_SOURCES \
|
||||||
|
$(DIRECTORY)/si-glu/libtess/Makefile.am \
|
||||||
|
$(DIRECTORY)/si-glu/libtess/Makefile.in \
|
||||||
|
$(DIRECTORY)/si-glu/libutil/*.[ch] \
|
||||||
|
$(DIRECTORY)/si-glu/libutil/libutil_la_SOURCES \
|
||||||
|
$(DIRECTORY)/si-glu/libutil/Makefile.am \
|
||||||
|
$(DIRECTORY)/si-glu/libutil/Makefile.in \
|
||||||
|
$(DIRECTORY)/src-glu/README[12] \
|
||||||
|
$(DIRECTORY)/src-glu/Makefile* \
|
||||||
|
$(DIRECTORY)/src-glu/descrip.mms \
|
||||||
|
$(DIRECTORY)/src-glu/mms_depend \
|
||||||
|
$(DIRECTORY)/src-glu/*.def \
|
||||||
|
$(DIRECTORY)/src-glu/depend \
|
||||||
|
$(DIRECTORY)/src-glu/*.[ch] \
|
||||||
|
$(DIRECTORY)/widgets-mesa/ChangeLog \
|
||||||
|
$(DIRECTORY)/widgets-mesa/INSTALL \
|
||||||
|
$(DIRECTORY)/widgets-mesa/Makefile.in \
|
||||||
|
$(DIRECTORY)/widgets-mesa/README \
|
||||||
|
$(DIRECTORY)/widgets-mesa/TODO \
|
||||||
|
$(DIRECTORY)/widgets-mesa/configure \
|
||||||
|
$(DIRECTORY)/widgets-mesa/configure.in \
|
||||||
|
$(DIRECTORY)/widgets-mesa/demos/ChangeLog \
|
||||||
|
$(DIRECTORY)/widgets-mesa/demos/Cube \
|
||||||
|
$(DIRECTORY)/widgets-mesa/demos/Ed \
|
||||||
|
$(DIRECTORY)/widgets-mesa/demos/Makefile.in \
|
||||||
|
$(DIRECTORY)/widgets-mesa/demos/Mcube \
|
||||||
|
$(DIRECTORY)/widgets-mesa/demos/Tea \
|
||||||
|
$(DIRECTORY)/widgets-mesa/demos/*.[ch] \
|
||||||
|
$(DIRECTORY)/widgets-mesa/demos/events \
|
||||||
|
$(DIRECTORY)/widgets-mesa/include/GL/ChangeLog \
|
||||||
|
$(DIRECTORY)/widgets-mesa/include/GL/*.h \
|
||||||
|
$(DIRECTORY)/widgets-mesa/include/GL/Makefile.in \
|
||||||
|
$(DIRECTORY)/widgets-mesa/man/ChangeLog \
|
||||||
|
$(DIRECTORY)/widgets-mesa/man/GL* \
|
||||||
|
$(DIRECTORY)/widgets-mesa/man/Makefile.in \
|
||||||
|
$(DIRECTORY)/widgets-mesa/man/Mesa* \
|
||||||
|
$(DIRECTORY)/widgets-mesa/src/ChangeLog \
|
||||||
|
$(DIRECTORY)/widgets-mesa/src/*.c \
|
||||||
|
$(DIRECTORY)/widgets-mesa/src/Makefile.in \
|
||||||
|
$(DIRECTORY)/widgets-sgi/*.[ch] \
|
||||||
|
$(DIRECTORY)/widgets-sgi/Makefile* \
|
||||||
|
$(DIRECTORY)/widgets-sgi/README \
|
||||||
|
$(DIRECTORY)/util/README \
|
||||||
|
$(DIRECTORY)/util/Makefile.am \
|
||||||
|
$(DIRECTORY)/util/Makefile.in \
|
||||||
|
$(DIRECTORY)/util/*.[ch] \
|
||||||
|
$(DIRECTORY)/util/sampleMakefile \
|
||||||
|
$(DIRECTORY)/vms/analyze_map.com \
|
||||||
|
$(DIRECTORY)/vms/xlib.opt \
|
||||||
|
$(DIRECTORY)/vms/xlib_share.opt \
|
||||||
|
$(DIRECTORY)/BeOS/Makefile \
|
||||||
|
$(DIRECTORY)/BeOS/*.cpp
|
||||||
|
|
||||||
|
OBSOLETE_LIB_FILES = \
|
||||||
|
$(DIRECTORY)/src/Allegro/*.[ch] \
|
||||||
|
$(DIRECTORY)/src/D3D/*.cpp \
|
||||||
|
$(DIRECTORY)/src/D3D/*.CPP \
|
||||||
|
$(DIRECTORY)/src/D3D/*.h \
|
||||||
|
$(DIRECTORY)/src/D3D/*.H \
|
||||||
|
$(DIRECTORY)/src/D3D/*.c \
|
||||||
|
$(DIRECTORY)/src/D3D/*.C \
|
||||||
|
$(DIRECTORY)/src/D3D/MAKEFILE \
|
||||||
|
$(DIRECTORY)/src/D3D/*bat \
|
||||||
|
$(DIRECTORY)/src/D3D/*DEF \
|
||||||
|
$(DIRECTORY)/src/DOS/DEPEND.DOS \
|
||||||
|
$(DIRECTORY)/src/S3/*.[ch] \
|
||||||
|
$(DIRECTORY)/src/S3/*.def \
|
||||||
|
$(DIRECTORY)/src/S3/*.mak \
|
||||||
|
$(DIRECTORY)/src/S3/*.rc \
|
||||||
|
$(DIRECTORY)/macos/README \
|
||||||
|
$(DIRECTORY)/macos/gli_api/*.h \
|
||||||
|
$(DIRECTORY)/macos/cglpane/CGLPane.* \
|
||||||
|
$(DIRECTORY)/macos/include-mac/*.h \
|
||||||
|
$(DIRECTORY)/macos/libraries/*.stub \
|
||||||
|
$(DIRECTORY)/macos/libraries/*Stub \
|
||||||
|
$(DIRECTORY)/macos/projects/*.mcp \
|
||||||
|
$(DIRECTORY)/macos/projects/*.exp \
|
||||||
|
$(DIRECTORY)/macos/projects/*.h \
|
||||||
|
$(DIRECTORY)/macos/resources/*.c \
|
||||||
|
$(DIRECTORY)/macos/resources/*.r \
|
||||||
|
$(DIRECTORY)/macos/resources/*.rsrc \
|
||||||
|
$(DIRECTORY)/macos/src-agl/*.exp \
|
||||||
|
$(DIRECTORY)/macos/src-agl/*.[ch] \
|
||||||
|
$(DIRECTORY)/macos/src-gli/*.[ch] \
|
||||||
|
$(DIRECTORY)/OpenStep
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
DEMO_FILES = \
|
||||||
|
$(DIRECTORY)/include/GL/glut.h \
|
||||||
|
$(DIRECTORY)/include/GL/glutf90.h \
|
||||||
|
$(DIRECTORY)/src-glut/Makefile* \
|
||||||
|
$(DIRECTORY)/src-glut/depend \
|
||||||
|
$(DIRECTORY)/src-glut/*def \
|
||||||
|
$(DIRECTORY)/src-glut/descrip.mms \
|
||||||
|
$(DIRECTORY)/src-glut/mms_depend \
|
||||||
|
$(DIRECTORY)/src-glut/*.[ch] \
|
||||||
|
$(DIRECTORY)/src-glut.dos/*.[ch] \
|
||||||
|
$(DIRECTORY)/src-glut.dos/Makefile.DJ \
|
||||||
|
$(DIRECTORY)/src-glut.dos/PC_HW/*.[chS] \
|
||||||
|
$(DIRECTORY)/images/* \
|
||||||
|
$(DIRECTORY)/demos/Makefile* \
|
||||||
|
$(DIRECTORY)/demos/descrip.mms \
|
||||||
|
$(DIRECTORY)/demos/*.[ch] \
|
||||||
|
$(DIRECTORY)/demos/*.cxx \
|
||||||
|
$(DIRECTORY)/demos/*.dat \
|
||||||
|
$(DIRECTORY)/demos/README \
|
||||||
|
$(DIRECTORY)/xdemos/Makefile* \
|
||||||
|
$(DIRECTORY)/xdemos/descrip.mms \
|
||||||
|
$(DIRECTORY)/xdemos/*.[cf] \
|
||||||
|
$(DIRECTORY)/book/Makefile* \
|
||||||
|
$(DIRECTORY)/book/README \
|
||||||
|
$(DIRECTORY)/book/*.[ch] \
|
||||||
|
$(DIRECTORY)/samples/Makefile* \
|
||||||
|
$(DIRECTORY)/samples/README \
|
||||||
|
$(DIRECTORY)/samples/*.c \
|
||||||
|
$(DIRECTORY)/mtdemos \
|
||||||
|
$(DIRECTORY)/windmldemos/Makefile.ugl \
|
||||||
|
$(DIRECTORY)/windmldemos/*.c \
|
||||||
|
$(DIRECTORY)/windmldemos/*.bmp \
|
||||||
|
$(DIRECTORY)/ggi
|
||||||
|
|
||||||
|
OBSOLETE_DEMO_FILES = \
|
||||||
|
$(DIRECTORY)/include/GL/glut_h.dja \
|
||||||
|
$(DIRECTORY)/src-glut.dja/* \
|
||||||
|
$(DIRECTORY)/src-glut.beos/Makefile \
|
||||||
|
$(DIRECTORY)/src-glut.beos/*.cpp \
|
||||||
|
$(DIRECTORY)/src-glut.beos/*.h \
|
||||||
|
|
||||||
|
|
||||||
|
SI_GLU_FILES = \
|
||||||
|
$(DIRECTORY)/Makefile* \
|
||||||
|
$(DIRECTORY)/Make-config \
|
||||||
|
$(DIRECTORY)/bin/mklib* \
|
||||||
|
$(DIRECTORY)/include/GL/glu.h \
|
||||||
|
$(DIRECTORY)/si-glu/Makefile.X11 \
|
||||||
|
$(DIRECTORY)/si-glu/include/gluos.h \
|
||||||
|
$(DIRECTORY)/si-glu/libnurbs/interface/*.h \
|
||||||
|
$(DIRECTORY)/si-glu/libnurbs/interface/*.cc \
|
||||||
|
$(DIRECTORY)/si-glu/libnurbs/internals/*.h \
|
||||||
|
$(DIRECTORY)/si-glu/libnurbs/internals/*.cc \
|
||||||
|
$(DIRECTORY)/si-glu/libnurbs/nurbstess/*.h \
|
||||||
|
$(DIRECTORY)/si-glu/libnurbs/nurbstess/*.cc \
|
||||||
|
$(DIRECTORY)/si-glu/libtess/README \
|
||||||
|
$(DIRECTORY)/si-glu/libtess/alg-outline \
|
||||||
|
$(DIRECTORY)/si-glu/libtess/*.[ch] \
|
||||||
|
$(DIRECTORY)/si-glu/libutil/*.[ch]
|
||||||
|
|
||||||
|
GLU_FILES = \
|
||||||
|
$(DIRECTORY)/Makefile* \
|
||||||
|
$(DIRECTORY)/Make-config \
|
||||||
|
$(DIRECTORY)/bin/mklib* \
|
||||||
|
$(DIRECTORY)/include/GL/gl.h \
|
||||||
|
$(DIRECTORY)/include/GL/gl_mangle.h \
|
||||||
|
$(DIRECTORY)/include/GL/glext.h \
|
||||||
|
$(DIRECTORY)/include/GL/glu.h \
|
||||||
|
$(DIRECTORY)/include/GL/glu_mangle.h \
|
||||||
|
$(DIRECTORY)/src-glu/README[12] \
|
||||||
|
$(DIRECTORY)/src-glu/Makefile* \
|
||||||
|
$(DIRECTORY)/src-glu/descrip.mms \
|
||||||
|
$(DIRECTORY)/src-glu/mms_depend \
|
||||||
|
$(DIRECTORY)/src-glu/*.def \
|
||||||
|
$(DIRECTORY)/src-glu/depend \
|
||||||
|
$(DIRECTORY)/src-glu/*.[ch]
|
||||||
|
|
||||||
|
GLUT_FILES = \
|
||||||
|
$(DIRECTORY)/Makefile* \
|
||||||
|
$(DIRECTORY)/Make-config \
|
||||||
|
$(DIRECTORY)/bin/mklib* \
|
||||||
|
$(DIRECTORY)/include/GL/gl.h \
|
||||||
|
$(DIRECTORY)/include/GL/gl_mangle.h \
|
||||||
|
$(DIRECTORY)/include/GL/glext.h \
|
||||||
|
$(DIRECTORY)/include/GL/glu.h \
|
||||||
|
$(DIRECTORY)/include/GL/glu_mangle.h \
|
||||||
|
$(DIRECTORY)/include/GL/glut.h \
|
||||||
|
$(DIRECTORY)/include/GL/glutf90.h \
|
||||||
|
$(DIRECTORY)/src-glut/Makefile* \
|
||||||
|
$(DIRECTORY)/src-glut/depend \
|
||||||
|
$(DIRECTORY)/src-glut/*def \
|
||||||
|
$(DIRECTORY)/src-glut/descrip.mms \
|
||||||
|
$(DIRECTORY)/src-glut/mms_depend \
|
||||||
|
$(DIRECTORY)/src-glut/*.[ch]
|
||||||
|
|
||||||
|
|
||||||
|
OBSOLETE_GLUT_FILES = \
|
||||||
|
$(DIRECTORY)/include/GL/glut_h.dja \
|
||||||
|
$(DIRECTORY)/src-glut.dja/* \
|
||||||
|
$(DIRECTORY)/src-glut.beos/Makefile \
|
||||||
|
$(DIRECTORY)/src-glut.beos/*.cpp \
|
||||||
|
$(DIRECTORY)/src-glut.beos/*.h
|
||||||
|
|
||||||
|
|
||||||
|
lib_tar:
|
||||||
|
cp Makefile.X11 Makefile ; \
|
||||||
|
cd .. ; \
|
||||||
|
tar -cvf $(LIB_NAME).tar $(LIB_FILES) ; \
|
||||||
|
gzip $(LIB_NAME).tar ; \
|
||||||
|
mv $(LIB_NAME).tar.gz $(DIRECTORY)
|
||||||
|
|
||||||
|
demo_tar:
|
||||||
|
cd .. ; \
|
||||||
|
tar -cvf $(DEMO_NAME).tar $(DEMO_FILES) ; \
|
||||||
|
gzip $(DEMO_NAME).tar ; \
|
||||||
|
mv $(DEMO_NAME).tar.gz $(DIRECTORY)
|
||||||
|
|
||||||
|
glu_tar:
|
||||||
|
cp Makefile.X11 Makefile ; \
|
||||||
|
cd .. ; \
|
||||||
|
tar -cvf $(GLU_NAME).tar $(GLU_FILES) ; \
|
||||||
|
gzip $(GLU_NAME).tar ; \
|
||||||
|
mv $(GLU_NAME).tar.gz $(DIRECTORY)
|
||||||
|
|
||||||
|
glut_tar:
|
||||||
|
cp Makefile.X11 Makefile ; \
|
||||||
|
cd .. ; \
|
||||||
|
tar -cvf $(GLUT_NAME).tar $(GLUT_FILES) ; \
|
||||||
|
gzip $(GLUT_NAME).tar ; \
|
||||||
|
mv $(GLUT_NAME).tar.gz $(DIRECTORY)
|
||||||
|
|
||||||
|
|
||||||
|
lib_zip:
|
||||||
|
-rm $(LIB_NAME).zip ; \
|
||||||
|
cp Makefile.X11 Makefile ; \
|
||||||
|
cd .. ; \
|
||||||
|
zip -r $(LIB_NAME).zip $(LIB_FILES) ; \
|
||||||
|
mv $(LIB_NAME).zip $(DIRECTORY)
|
||||||
|
|
||||||
|
demo_zip:
|
||||||
|
-rm $(DEMO_NAME).zip ; \
|
||||||
|
cd .. ; \
|
||||||
|
zip -r $(DEMO_NAME).zip $(DEMO_FILES) ; \
|
||||||
|
mv $(DEMO_NAME).zip $(DIRECTORY)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
SRC_FILES = \
|
||||||
|
RELNOTES \
|
||||||
|
src/Makefile* \
|
||||||
|
src/depend \
|
||||||
|
src/*.[chS] \
|
||||||
|
src/*/*.[ch] \
|
||||||
|
include/GL/*.h
|
||||||
|
|
||||||
|
srctar:
|
||||||
|
tar -cvf src.tar $(SRC_FILES) ; \
|
||||||
|
gzip src.tar
|
||||||
|
|
||||||
|
srctar.zip:
|
||||||
|
-rm src.zip
|
||||||
|
zip -r src.zip $(SRC_FILES) ; \
|
||||||
92
Makefile.mgw
92
Makefile.mgw
@@ -1,92 +0,0 @@
|
|||||||
# Mesa 3-D graphics library
|
|
||||||
# Version: 4.0
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999 Brian Paul 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, 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
|
|
||||||
# BRIAN PAUL 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.
|
|
||||||
|
|
||||||
# MinGW makefile v1.1 for Mesa
|
|
||||||
#
|
|
||||||
# Copyright (C) 2002 - Borca Daniel
|
|
||||||
# Email : dborca@users.sourceforge.net
|
|
||||||
# Web : http://www.geocities.com/dborca
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# Available options:
|
|
||||||
#
|
|
||||||
# Environment variables:
|
|
||||||
# CPU optimize for the given processor.
|
|
||||||
# default = pentium
|
|
||||||
# GLIDE path to Glide3 SDK; used with FX.
|
|
||||||
# default = $(TOP)/glide3
|
|
||||||
# FX=1 build for 3dfx Glide3. Note that this disables
|
|
||||||
# compilation of most WMesa code and requires fxMesa.
|
|
||||||
# As a consequence, you'll need the Win32 Glide3
|
|
||||||
# library to build any application.
|
|
||||||
# default = no
|
|
||||||
# ICD=1 build the installable client driver interface
|
|
||||||
# (windows opengl driver interface)
|
|
||||||
# default = no
|
|
||||||
# X86=1 optimize for x86 (if possible, use MMX, SSE, 3DNow).
|
|
||||||
# default = no
|
|
||||||
#
|
|
||||||
# Targets:
|
|
||||||
# all: build everything
|
|
||||||
# libgl: build GL
|
|
||||||
# clean: remove object files
|
|
||||||
# realclean: remove all generated files
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.PHONY : all libgl clean realclean
|
|
||||||
|
|
||||||
CPU ?= pentium
|
|
||||||
|
|
||||||
ifeq ($(ICD),1)
|
|
||||||
# when -std=c99 mingw will not define WIN32
|
|
||||||
CFLAGS = -Wall -W -Werror
|
|
||||||
else
|
|
||||||
# I love c89
|
|
||||||
CFLAGS = -Wall -W -pedantic
|
|
||||||
endif
|
|
||||||
CFLAGS += -O2 -ffast-math -mcpu=$(CPU)
|
|
||||||
|
|
||||||
export CFLAGS
|
|
||||||
|
|
||||||
ifeq ($(wildcard $(addsuffix /rm.exe,$(subst ;, ,$(PATH)))),)
|
|
||||||
UNLINK = del $(subst /,\,$(1))
|
|
||||||
else
|
|
||||||
UNLINK = $(RM) $(1)
|
|
||||||
endif
|
|
||||||
|
|
||||||
all: libgl
|
|
||||||
|
|
||||||
libgl: lib
|
|
||||||
$(MAKE) -f Makefile.mgw -C src/mesa
|
|
||||||
|
|
||||||
lib:
|
|
||||||
mkdir lib
|
|
||||||
|
|
||||||
clean:
|
|
||||||
$(MAKE) -f Makefile.mgw clean -C src/mesa
|
|
||||||
|
|
||||||
realclean: clean
|
|
||||||
-$(call UNLINK,lib/*.a)
|
|
||||||
-$(call UNLINK,lib/*.dll)
|
|
||||||
194
Mesa.dsw
194
Mesa.dsw
@@ -1,194 +0,0 @@
|
|||||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
|
||||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "array_cache"=.\SRC\MESA\array_cache\array_cache.dsp - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "gdi"=.\src\mesa\drivers\windows\gdi\gdi.dsp - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name array_cache
|
|
||||||
End Project Dependency
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name main
|
|
||||||
End Project Dependency
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name math
|
|
||||||
End Project Dependency
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name swrast_setup
|
|
||||||
End Project Dependency
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name swrast
|
|
||||||
End Project Dependency
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name tnl
|
|
||||||
End Project Dependency
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name glapi
|
|
||||||
End Project Dependency
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name shader
|
|
||||||
End Project Dependency
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "glapi"=.\SRC\MESA\glapi\glapi.dsp - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "glu"=.\src\glu\sgi\glu.dsp - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name gdi
|
|
||||||
End Project Dependency
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "glut"=.\src\glut\glx\glut.dsp - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name glu
|
|
||||||
End Project Dependency
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "main"=.\SRC\MESA\main\main.dsp - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "math"=.\SRC\MESA\math\math.dsp - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "osmesa"=.\SRC\MESA\DRIVERS\osmesa\osmesa.dsp - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name gdi
|
|
||||||
End Project Dependency
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "shader"=.\SRC\MESA\shader\shader.dsp - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "swrast"=.\SRC\MESA\swrast\swrast.dsp - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "swrast_setup"=.\SRC\MESA\swrast_setup\swrast_setup.dsp - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "tnl"=.\SRC\MESA\tnl\tnl.dsp - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Global:
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<3>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
@@ -1,57 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
#
|
|
||||||
# Simple shell script for installing Mesa's header and library files.
|
|
||||||
# If the copy commands below don't work on a particular system (i.e. the
|
|
||||||
# -f or -d flags), we may need to branch on `uname` to do the right thing.
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
TOP=.
|
|
||||||
|
|
||||||
INCLUDE_DIR="/usr/local/include"
|
|
||||||
LIB_DIR="/usr/local/lib"
|
|
||||||
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo "***** Mesa installation - You may need root privileges to do this *****"
|
|
||||||
echo
|
|
||||||
echo "Default directory for header files is:" ${INCLUDE_DIR}
|
|
||||||
echo "Enter new directory or press <Enter> to accept this default."
|
|
||||||
|
|
||||||
read INPUT
|
|
||||||
if [ x${INPUT} != "x" ] ; then
|
|
||||||
INCLUDE_DIR=${INPUT}
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo "Default directory for library files is:" ${LIB_DIR}
|
|
||||||
echo "Enter new directory or press <Enter> to accept this default."
|
|
||||||
|
|
||||||
read INPUT
|
|
||||||
if [ x${INPUT} != "x" ] ; then
|
|
||||||
LIB_DIR=${INPUT}
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo "About to install Mesa header files (GL/*.h) in: " ${INCLUDE_DIR}/GL
|
|
||||||
echo "and Mesa library files (libGL.*, etc) in: " ${LIB_DIR}
|
|
||||||
echo "Press <Enter> to continue, or <ctrl>-C to abort."
|
|
||||||
|
|
||||||
read INPUT
|
|
||||||
|
|
||||||
|
|
||||||
# flags:
|
|
||||||
# -f = force
|
|
||||||
# -d = preserve symlinks
|
|
||||||
|
|
||||||
set -v
|
|
||||||
|
|
||||||
mkdir ${INCLUDE_DIR}
|
|
||||||
mkdir ${INCLUDE_DIR}/GL
|
|
||||||
mkdir ${LIB_DIR}
|
|
||||||
cp -f ${TOP}/include/GL/*.h ${INCLUDE_DIR}/GL
|
|
||||||
cp -fd ${TOP}/lib*/lib* ${LIB_DIR}
|
|
||||||
|
|
||||||
echo "Done."
|
|
||||||
602
bin/mklib
602
bin/mklib
@@ -1,602 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# Make a shared library.
|
|
||||||
# Basically do a switch/case depending on the OS and make a shared (or static)
|
|
||||||
# library conforming to that OS.
|
|
||||||
|
|
||||||
|
|
||||||
# Usage:
|
|
||||||
# mklib [options] objects ...
|
|
||||||
# Options:
|
|
||||||
# -o LIBRARY specifies the name of resulting library
|
|
||||||
# ("-o GL" for example, might result in "libGL.so" being made)
|
|
||||||
# -major N specifies major version number (default is 1)
|
|
||||||
# -minor N specifies minor version number (default is 0)
|
|
||||||
# -patch N specifies patch version number (default is 0)
|
|
||||||
# -lLIBRARY specifies a dependency on LIBRARY
|
|
||||||
# -LDIR search in DIR for library dependencies
|
|
||||||
# -cplusplus link with C++ runtime
|
|
||||||
# -static make a static library (default is dynamic/shared)
|
|
||||||
# -install DIR move resulting library file(s) to DIR
|
|
||||||
# -arch ARCH override using `uname` to determine architecture
|
|
||||||
# -archopt OPT specify an extra achitecture-specific option OPT
|
|
||||||
# -noprefix don't prefix library name with "lib" or any suffix
|
|
||||||
#
|
|
||||||
# The library name should just be "GL" or "GLU", etc. The 'lib' prefix
|
|
||||||
# will be added here if needed, as well as the ".so" or ".a" suffix,
|
|
||||||
# etc (unless the -noprefix option is used).
|
|
||||||
#
|
|
||||||
# objects should be: foo.o bar.o etc.o
|
|
||||||
#
|
|
||||||
# Environment variables recognized:
|
|
||||||
# CC C compiler command
|
|
||||||
# CXX C++ compiler command
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# Option defaults
|
|
||||||
#
|
|
||||||
LIBNAME=""
|
|
||||||
MAJOR=1
|
|
||||||
MINOR=0
|
|
||||||
PATCH=""
|
|
||||||
DEPS=""
|
|
||||||
CPLUSPLUS=0
|
|
||||||
STATIC=0
|
|
||||||
INSTALLDIR="."
|
|
||||||
ARCH="auto"
|
|
||||||
ARCHOPT=""
|
|
||||||
NOPREFIX=0
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# Parse arguments
|
|
||||||
#
|
|
||||||
while true
|
|
||||||
do
|
|
||||||
case $1 in
|
|
||||||
'-o') shift 1; LIBNAME=$1;;
|
|
||||||
'-major') shift 1; MAJOR=$1;;
|
|
||||||
'-minor') shift 1; MINOR=$1;;
|
|
||||||
'-patch') shift 1; PATCH=$1;;
|
|
||||||
-l*) DEPS="$DEPS $1";;
|
|
||||||
-L*) DEPS="$DEPS $1";;
|
|
||||||
'-cplusplus') CPLUSPLUS=1;;
|
|
||||||
'-static') STATIC=1;;
|
|
||||||
'-install') shift 1; INSTALLDIR=$1;;
|
|
||||||
'-arch') shift 1; ARCH=$1;;
|
|
||||||
'-archopt') shift 1; ARCHOPT=$1;;
|
|
||||||
'-noprefix') NOPREFIX=1;;
|
|
||||||
-*) echo "mklib: Unknown option: " $1 ; exit 1;;
|
|
||||||
*) break
|
|
||||||
esac
|
|
||||||
shift 1
|
|
||||||
done
|
|
||||||
OBJECTS=$@
|
|
||||||
|
|
||||||
if [ ${ARCH} = "auto" ] ; then
|
|
||||||
ARCH=`uname`
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# Error checking
|
|
||||||
#
|
|
||||||
if [ "x${LIBNAME}" = "x" ] ; then
|
|
||||||
echo "mklib: Error: no library name specified"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [ "x${OBJECTS}" = "x" ] ; then
|
|
||||||
echo "mklib: Error: no object files specified"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# Debugging info
|
|
||||||
#
|
|
||||||
if [ ] ; then
|
|
||||||
echo "-----------------"
|
|
||||||
echo ARCH is $ARCH
|
|
||||||
echo LIBNAME is $LIBNAME
|
|
||||||
echo MAJOR is $MAJOR
|
|
||||||
echo MINOR is $MINOR
|
|
||||||
echo PATCH is $PATCH
|
|
||||||
echo DEPS are $DEPS
|
|
||||||
echo "-----------------"
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# OK, make the library now
|
|
||||||
#
|
|
||||||
case $ARCH in
|
|
||||||
|
|
||||||
'Linux' | 'OpenBSD')
|
|
||||||
# GCC-based environment
|
|
||||||
|
|
||||||
if [ $NOPREFIX = 1 ] ; then
|
|
||||||
# No "lib" or ".so" part
|
|
||||||
echo "mklib: Making" $ARCH "shared library: " ${LIBNAME}
|
|
||||||
#OPTS="-shared -Wl,-soname,${LIBNAME}" # soname???
|
|
||||||
OPTS="-shared"
|
|
||||||
if [ $CPLUSPLUS = 1 ] ; then
|
|
||||||
LINK=$CXX
|
|
||||||
else
|
|
||||||
LINK=$CC
|
|
||||||
fi
|
|
||||||
rm -f ${LIBNAME}
|
|
||||||
|
|
||||||
# make lib
|
|
||||||
${LINK} ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
|
||||||
# finish up
|
|
||||||
FINAL_LIBS="${LIBNAME}"
|
|
||||||
elif [ $STATIC = 1 ] ; then
|
|
||||||
LIBNAME="lib${LIBNAME}" # prefix with "lib"
|
|
||||||
echo "mklib: Making" $ARCH "static library: " ${LIBNAME}.a
|
|
||||||
LINK="ar"
|
|
||||||
OPTS="-ru"
|
|
||||||
# make lib
|
|
||||||
${LINK} ${OPTS} ${LIBNAME}.a ${OBJECTS}
|
|
||||||
ranlib ${LIBNAME}.a
|
|
||||||
# finish up
|
|
||||||
FINAL_LIBS=${LIBNAME}.a
|
|
||||||
else
|
|
||||||
LIBNAME="lib${LIBNAME}" # prefix with "lib"
|
|
||||||
if [ $ARCH = 'Linux' ] ; then
|
|
||||||
OPTS="-Xlinker -Bsymbolic -shared -Wl,-soname,${LIBNAME}.so.${MAJOR}"
|
|
||||||
else
|
|
||||||
OPTS="-shared -Wl,-soname,${LIBNAME}.so.${MAJOR}"
|
|
||||||
fi
|
|
||||||
if [ x${PATCH} = "x" ] ; then
|
|
||||||
VERSION="${MAJOR}.${MINOR}"
|
|
||||||
else
|
|
||||||
VERSION="${MAJOR}.${MINOR}.${PATCH}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "mklib: Making" $ARCH "shared library: " ${LIBNAME}.so.${VERSION}
|
|
||||||
|
|
||||||
if [ $CPLUSPLUS = 1 ] ; then
|
|
||||||
LINK=$CXX
|
|
||||||
else
|
|
||||||
LINK=$CC
|
|
||||||
fi
|
|
||||||
|
|
||||||
# rm any old libs
|
|
||||||
rm -f ${LIBNAME}.so.${VERSION}
|
|
||||||
rm -f ${LIBNAME}.so.${MAJOR}
|
|
||||||
rm -f ${LIBNAME}.so
|
|
||||||
|
|
||||||
# make lib
|
|
||||||
${LINK} ${OPTS} -o ${LIBNAME}.so.${VERSION} ${OBJECTS} ${DEPS}
|
|
||||||
# make usual symlinks
|
|
||||||
ln -s ${LIBNAME}.so.${VERSION} ${LIBNAME}.so.${MAJOR}
|
|
||||||
ln -s ${LIBNAME}.so.${MAJOR} ${LIBNAME}.so
|
|
||||||
# finish up
|
|
||||||
FINAL_LIBS="${LIBNAME}.so.${VERSION} ${LIBNAME}.so.${MAJOR} ${LIBNAME}.so"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
'SunOS')
|
|
||||||
if [ $STATIC = 1 ] ; then
|
|
||||||
LIBNAME="lib${LIBNAME}.a"
|
|
||||||
echo "mklib: Making SunOS static library: " ${LIBNAME}
|
|
||||||
rm -f ${LIBNAME}
|
|
||||||
ar -ruv ${LIBNAME} ${OBJECTS}
|
|
||||||
FINAL_LIBS=${LIBNAME}
|
|
||||||
else
|
|
||||||
LIBNAME="lib${LIBNAME}.so"
|
|
||||||
echo "mklib: Making SunOS shared library: " ${LIBNAME}
|
|
||||||
# XXX OPTS for gcc should be -shared, but that doesn't work.
|
|
||||||
# Using -G does work though.
|
|
||||||
if [ $CPLUSPLUS = 1 ] ; then
|
|
||||||
# determine linker and options for C++ code
|
|
||||||
if [ "x${CXX}" = "xg++" ] ; then
|
|
||||||
# use g++
|
|
||||||
LINK="g++"
|
|
||||||
OPTS="-G"
|
|
||||||
elif [ "x${CXX}" = "xCC" ] ; then
|
|
||||||
# use Sun CC
|
|
||||||
LINK="CC"
|
|
||||||
OPTS="-G"
|
|
||||||
elif [ "x${CXX}" = "xc++" ] ; then
|
|
||||||
# use Sun c++
|
|
||||||
LINK="c++"
|
|
||||||
OPTS="-G"
|
|
||||||
elif [ `which c++` ] ; then
|
|
||||||
# use Sun c++
|
|
||||||
LINK="c++"
|
|
||||||
OPTS="-G"
|
|
||||||
elif [ `type g++` ] ; then
|
|
||||||
# use g++
|
|
||||||
LINK="g++"
|
|
||||||
OPTS="-G"
|
|
||||||
else
|
|
||||||
echo "mklib: warning: can't find C++ comiler, trying CC."
|
|
||||||
LINK="CC"
|
|
||||||
OPTS="-G"
|
|
||||||
fi
|
|
||||||
elif [ "x${CC}" = "xgcc" ] ; then
|
|
||||||
# use gcc for linking
|
|
||||||
LINK="gcc"
|
|
||||||
OPTS="-G"
|
|
||||||
else
|
|
||||||
# use native Sun linker
|
|
||||||
LINK="ld"
|
|
||||||
OPTS="-G"
|
|
||||||
fi
|
|
||||||
echo "mklib: linker is" ${LINK} ${OPTS}
|
|
||||||
rm -f ${LIBNAME}.${MAJOR} ${LIBNAME}
|
|
||||||
${LINK} ${OPTS} -o ${LIBNAME}.${MAJOR} ${OBJECTS} ${DEPS}
|
|
||||||
ln -s ${LIBNAME}.${MAJOR} ${LIBNAME}
|
|
||||||
FINAL_LIBS="${LIBNAME}.${MAJOR} ${LIBNAME}"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
'FreeBSD')
|
|
||||||
if [ $NOPREFIX = 1 ] ; then
|
|
||||||
# No "lib" or ".so" part
|
|
||||||
echo "mklib: Making FreeBSD shared library: " ${LIBNAME}
|
|
||||||
rm -f ${LIBNAME}
|
|
||||||
ld -Bshareable -o ${LIBNAME} ${OBJECTS}
|
|
||||||
FINAL_LIBS=${LIBNAME}
|
|
||||||
elif [ $STATIC = 1 ] ; then
|
|
||||||
STLIB="lib${LIBNAME}.a"
|
|
||||||
echo "mklib: Making FreeBSD static library: " ${STLIB}
|
|
||||||
rm -f ${STLIB}
|
|
||||||
ar cq ${STLIB} ${OBJECTS}
|
|
||||||
ranlib ${STLIB}
|
|
||||||
FINAL_LIBS=${STLIB}
|
|
||||||
else
|
|
||||||
SHLIB="lib${LIBNAME}.so.${MAJOR}.${MINOR}"
|
|
||||||
echo "mklib: Making FreeBSD shared library: " ${SHLIB}
|
|
||||||
rm -f ${SHLIB}
|
|
||||||
ld -Bshareable -o ${SHLIB} ${OBJECTS}
|
|
||||||
# XXX make lib${LIBNAME}.so.${MAJOR} symlink?
|
|
||||||
FINAL_LIBS=${SHLIB}
|
|
||||||
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"
|
|
||||||
rm -f ${LIBNAME}
|
|
||||||
ar rc ${LIBNAME} ${OBJECTS}
|
|
||||||
FINAL_LIBS=${LIBNAME}
|
|
||||||
else
|
|
||||||
LIBNAME="lib${LIBNAME}.so" # prefix with "lib", suffix with ".so"
|
|
||||||
if [ $ARCHOPT = "64" ] ; then
|
|
||||||
# 64-bit ABI
|
|
||||||
OPTS="-64 -shared -all"
|
|
||||||
echo "mklib: Making IRIX 64-bit shared library: " ${LIBNAME}
|
|
||||||
elif [ $ARCHOPT = "o32" ] ; then
|
|
||||||
# old 32-bit ABI
|
|
||||||
OPTS="-32 -shared -all"
|
|
||||||
echo "mklib: Making IRIX o32-bit shared library: " ${LIBNAME}
|
|
||||||
else
|
|
||||||
# new 32-bit ABI
|
|
||||||
OPTS="-n32 -shared -all"
|
|
||||||
echo "mklib: Making IRIX n32-bit shared library: " ${LIBNAME}
|
|
||||||
fi
|
|
||||||
if [ $CPLUSPLUS = 1 ] ; then
|
|
||||||
LINK="CC"
|
|
||||||
else
|
|
||||||
LINK="ld"
|
|
||||||
fi
|
|
||||||
${LINK} ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
|
||||||
FINAL_LIBS=${LIBNAME}
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
'linux-cygwin')
|
|
||||||
LIBNAME="lib${LIBNAME}.a"
|
|
||||||
echo "mklib: Making linux-cygwin library: " ${LIBNAME}
|
|
||||||
rm -f ${LIBNAME}
|
|
||||||
gnuwin32ar ruv ${LIBNAME} ${OBJECTS}
|
|
||||||
FINAL_LIBS=${LIBNAME}
|
|
||||||
;;
|
|
||||||
|
|
||||||
'HP-UX')
|
|
||||||
if [ $STATIC = 1 ] ; then
|
|
||||||
LIBNAME="lib${LIBNAME}.a"
|
|
||||||
echo "mklib: Making HP-UX static library: " ${LIBNAME}
|
|
||||||
rm -f ${LIBNAME}
|
|
||||||
ar -ruv ${LIBNAME} ${OBJECTS}
|
|
||||||
FINAL_LIBS=${LIBNAME}
|
|
||||||
else
|
|
||||||
RUNLIB="lib${LIBNAME}.${MAJOR}"
|
|
||||||
DEVLIB="lib${LIBNAME}.sl"
|
|
||||||
echo "mklib: Making HP-UX shared library: " ${RUNLIB} ${DEVLIB}
|
|
||||||
ld -b -o ${RUNLIB} +b ${RUNLIB} ${OBJECTS} ${DEPS}
|
|
||||||
ln -s ${RUNLIB} ${DEVLIB}
|
|
||||||
FINAL_LIBS="${RUNLIB} ${DEVLIB}"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
'AIX')
|
|
||||||
if [ $STATIC = 1 ] ; then
|
|
||||||
LIBNAME="lib${LIBNAME}.a"
|
|
||||||
echo "mklib: Making AIX static library: " ${LIBNAME}
|
|
||||||
ar -ruv ${LIBNAME} ${OBJECTS}
|
|
||||||
FINAL_LIBS=${LIBNAME}
|
|
||||||
else
|
|
||||||
EXPFILE="lib${LIBNAME}.exp"
|
|
||||||
OFILE=shr.o #Want to be consistent with the IBM libGL.a
|
|
||||||
LIBNAME="lib${LIBNAME}.a" # shared objects are still stored in the .a libraries
|
|
||||||
OPTS="-bE:${EXPFILE} -bM:SRE -bnoentry"
|
|
||||||
rm -f ${EXPFILE} ${OFILE}
|
|
||||||
NM="/bin/nm -eC"
|
|
||||||
echo "#! /usr/lib/${LIBNAME}" > ${EXPFILE}
|
|
||||||
${NM} ${OBJECTS} | awk '{
|
|
||||||
if ((($2 == "T") || ($2 == "D") || ($2 == "B")) \
|
|
||||||
&& ( substr($1,1,1) != ".")) {
|
|
||||||
if (substr ($1, 1, 7) != "__sinit" &&
|
|
||||||
substr ($1, 1, 7) != "__sterm") {
|
|
||||||
if (substr ($1, 1, 5) == "__tf1")
|
|
||||||
print (substr ($1, 7))
|
|
||||||
else if (substr ($1, 1, 5) == "__tf9")
|
|
||||||
print (substr ($1, 15))
|
|
||||||
else
|
|
||||||
print $1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}' | sort -u >> ${EXPFILE}
|
|
||||||
cc ${OPTS} -o ${OFILE} ${OBJECTS} ${DEPS}
|
|
||||||
ar -r ${LIBNAME} ${OFILE}
|
|
||||||
FINAL_LIBS="${LIBNAME}"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
'AIX64')
|
|
||||||
if [ $STATIC = 1 ] ; then
|
|
||||||
LIBNAME="lib${LIBNAME}.a"
|
|
||||||
echo "mklib: Making AIX static library: " ${LIBNAME}
|
|
||||||
ar -X64 -ruv ${LIBNAME} ${OBJECTS}
|
|
||||||
FINAL_LIBS=${LIBNAME}
|
|
||||||
else
|
|
||||||
echo "mklib: PROBLEM: AIX64 shared libs not supported!!!"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
'OpenSTEP')
|
|
||||||
LIBNAME="lib${LIBNAME}.a"
|
|
||||||
echo "mklib: Making OpenSTEP static library: " ${LIBNAME}
|
|
||||||
libtool -static -o ${LIBNAME} - ${OBJECTS}
|
|
||||||
FINAL_LIBS=${LIBNAME}
|
|
||||||
;;
|
|
||||||
|
|
||||||
'OSF1')
|
|
||||||
if [ $STATIC = 1 ] ; then
|
|
||||||
LIBNAME="lib${LIBNAME}.a"
|
|
||||||
echo "mklib: Making OSF/1 static library: " ${LIBNAME}
|
|
||||||
rm -f ${LIBNAME}
|
|
||||||
ar -ruv ${LIBNAME} ${OBJECTS}
|
|
||||||
FINAL_LIBS=${LIBNAME}
|
|
||||||
else
|
|
||||||
VERSION="${MAJOR}.${MINOR}"
|
|
||||||
LIBNAME="lib${LIBNAME}.so"
|
|
||||||
echo "mklib: Making OSF/1 shared library: " ${LIBNAME}
|
|
||||||
rm -f ${LIBNAME}.${VERSION}
|
|
||||||
ld -o ${LIBNAME}.${VERSION} -shared -no_archive -set_version ${VERSION} -soname ${LIBNAME}.${VERSION} -expect_unresolved \* -all ${OBJECTS} ${DEPS}
|
|
||||||
ln -sf ${LIBNAME}.${VERSION} ${LIBNAME}
|
|
||||||
FINAL_LIBS="${LIBNAME} ${LIBNAME}.${VERSION}"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
'Darwin')
|
|
||||||
if [ $STATIC = 1 ] ; then
|
|
||||||
LIBNAME="lib${LIBNAME}.a"
|
|
||||||
echo "mklib: Making Darwin static library: " ${LIBNAME}
|
|
||||||
LINK="ar"
|
|
||||||
OPTS="-ruv"
|
|
||||||
${LINK} ${OPTS} ${LIBNAME} ${OBJECTS}
|
|
||||||
FINAL_LIBS=${LIBNAME}
|
|
||||||
else
|
|
||||||
LIBNAME="${LIBNAME}.dylib"
|
|
||||||
echo "mklib: Making Darwin shared library: " ${LIBNAME}
|
|
||||||
FLAGS="-dynamiclib -multiply_defined suppress"
|
|
||||||
if [ $CPLUSPLUS = 1 ] ; then
|
|
||||||
LINK="g++"
|
|
||||||
else
|
|
||||||
LINK="cc"
|
|
||||||
fi
|
|
||||||
${LINK} ${FLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
|
||||||
FINAL_LIBS=${LIBNAME}
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
'LynxOS')
|
|
||||||
LIBNAME="lib${LIBNAME}.a"
|
|
||||||
echo "mklib: Making LynxOS static library: " ${LIBNAME}
|
|
||||||
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}"
|
|
||||||
setversion "${LIBNAME}" -app ${MAJOR} ${MINOR} ${PATCH} -short "Powered by Mesa3D!" -long "Powered by Mesa3D!"
|
|
||||||
fi
|
|
||||||
FINAL_LIBS=${LIBNAME}
|
|
||||||
;;
|
|
||||||
|
|
||||||
'QNX')
|
|
||||||
LIBNAME="lib${LIBNAME}.a"
|
|
||||||
echo "mklib: Making QNX library: " ${LIBNAME}
|
|
||||||
wlib ${LIBNAME} ${OBJECTS}
|
|
||||||
FINAL_LIBS=${LIBNAME}
|
|
||||||
;;
|
|
||||||
|
|
||||||
'MorphOS')
|
|
||||||
LIBNAME="lib${LIBNAME}.a"
|
|
||||||
echo "mklib: Making MorphOS library: " ${LIBNAME}
|
|
||||||
ppc-morphos-ar rc ${LIBNAME} ${OBJECTS}
|
|
||||||
FINAL_LIBS="${LIBNAME}"
|
|
||||||
;;
|
|
||||||
|
|
||||||
'icc')
|
|
||||||
# Intel C compiler
|
|
||||||
LIBNAME="lib${LIBNAME}" # prefix with "lib"
|
|
||||||
|
|
||||||
if [ $STATIC = 1 ] ; then
|
|
||||||
echo "mklib: Making Intel ICC static library: " ${LIBNAME}.a
|
|
||||||
LINK="ar"
|
|
||||||
OPTS="-ruv"
|
|
||||||
# make lib
|
|
||||||
${LINK} ${OPTS} ${LIBNAME}.a ${OBJECTS}
|
|
||||||
# finish up
|
|
||||||
FINAL_LIBS="${LIBNAME}.a"
|
|
||||||
else
|
|
||||||
OPTS="-shared"
|
|
||||||
VERSION="${MAJOR}.${MINOR}.${PATCH}"
|
|
||||||
echo "mklib: Making Intel ICC shared library: " ${LIBNAME}.so.${VERSION}
|
|
||||||
|
|
||||||
if [ $CPLUSPLUS = 1 ] ; then
|
|
||||||
LINK="icc"
|
|
||||||
else
|
|
||||||
LINK="icc"
|
|
||||||
fi
|
|
||||||
# rm any old libs
|
|
||||||
rm -f ${LIBNAME}.so.${VERSION}
|
|
||||||
rm -f ${LIBNAME}.so.${MAJOR}
|
|
||||||
rm -f ${LIBNAME}.so
|
|
||||||
# make lib
|
|
||||||
${LINK} ${OPTS} -o ${LIBNAME}.so.${VERSION} ${OBJECTS} ${DEPS}
|
|
||||||
# make usual symlinks
|
|
||||||
ln -s ${LIBNAME}.so.${VERSION} ${LIBNAME}.so.${MAJOR}
|
|
||||||
ln -s ${LIBNAME}.so.${MAJOR} ${LIBNAME}.so
|
|
||||||
# finish up
|
|
||||||
FINAL_LIBS="${LIBNAME}.so.${VERSION} ${LIBNAME}.so.${MAJOR} ${LIBNAME}.so"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
'aix-gcc')
|
|
||||||
# AIX with gcc
|
|
||||||
if [ $STATIC = 1 ] ; then
|
|
||||||
LIBNAME="lib${LIBNAME}.a"
|
|
||||||
echo "mklib: Making AIX GCC static library: " ${LIBNAME}
|
|
||||||
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}
|
|
||||||
# remove old lib
|
|
||||||
rm -f ${LIBNAME}
|
|
||||||
# make the lib
|
|
||||||
gcc -shared -Wl,-G ${OBJECTS} ${DEPS} -o ${LIBNAME}
|
|
||||||
# NOTE: the application linking with this library must specify
|
|
||||||
# the -Wl,-brtl flags to gcc
|
|
||||||
FINAL_LIBS=${LIBNAME}
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
'ultrix')
|
|
||||||
# XXX untested
|
|
||||||
if [ $STATIC = 0 ] ; then
|
|
||||||
echo "mklib: Warning shared libs not supported on Ultrix"
|
|
||||||
fi
|
|
||||||
LIBNAME="lib${LIBNAME}.a"
|
|
||||||
echo "mklib: Making static library for Ultrix: " ${LIBNAME}
|
|
||||||
rm -f ${LIBNAME}
|
|
||||||
ar ru ${LIBNAME} ${OBJECTS}
|
|
||||||
FINAL_LIBS="${LIBNAME}"
|
|
||||||
;;
|
|
||||||
|
|
||||||
CYGWIN*)
|
|
||||||
# GCC-based environment
|
|
||||||
CYGNAME="cyg${LIBNAME}" # prefix with "cyg"
|
|
||||||
LIBNAME="lib${LIBNAME}" # prefix with "lib"
|
|
||||||
|
|
||||||
if [ $STATIC = 1 ] ; then
|
|
||||||
echo "mklib: Making" $ARCH "static library: " ${LIBNAME}.a
|
|
||||||
LINK="ar"
|
|
||||||
OPTS="-ru"
|
|
||||||
# make lib
|
|
||||||
${LINK} ${OPTS} ${LIBNAME}.a ${OBJECTS}
|
|
||||||
ranlib ${LIBNAME}.a
|
|
||||||
# finish up
|
|
||||||
FINAL_LIBS=${LIBNAME}.a
|
|
||||||
else
|
|
||||||
OPTS="-shared -Wl,-export-all -Wl,--out-implib=${LIBNAME}-${MAJOR}.dll.a"
|
|
||||||
echo "mklib: Making" $ARCH "shared library: " ${LIBNAME}-${MAJOR}.dll
|
|
||||||
|
|
||||||
if [ $CPLUSPLUS = 1 ] ; then
|
|
||||||
LINK="g++"
|
|
||||||
else
|
|
||||||
LINK="gcc"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# rm any old libs
|
|
||||||
rm -f ${LIBNAME}-${MAJOR}.dll
|
|
||||||
rm -f ${LIBNAME}.dll.a
|
|
||||||
rm -f ${LIBNAME}.a
|
|
||||||
|
|
||||||
# make lib
|
|
||||||
${LINK} ${OPTS} -o ${CYGNAME}-${MAJOR}.dll ${OBJECTS} ${DEPS}
|
|
||||||
# make usual symlinks
|
|
||||||
ln -s ${LIBNAME}-${MAJOR}.dll.a ${LIBNAME}.dll.a
|
|
||||||
# finish up
|
|
||||||
FINAL_LIBS="${LIBNAME}-${MAJOR}.dll.a ${LIBNAME}.dll.a"
|
|
||||||
# special case for installing in bin
|
|
||||||
FINAL_BINS="${CYGNAME}-${MAJOR}.dll"
|
|
||||||
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}
|
|
||||||
rm -f ${LIBNAME}
|
|
||||||
ar rv ${LIBNAME} ${OBJECTS}
|
|
||||||
FINAL_LIBS="${LIBNAME}"
|
|
||||||
else
|
|
||||||
LIBNAME="lib${LIBNAME}.so" # prefix with "lib"
|
|
||||||
echo "mklib: Making shared library for example arch: " ${LIBNAME}
|
|
||||||
ld -o ${LIBNAME} ${OBJECTS} ${DEPS}
|
|
||||||
FINAL_LIBS="${LIBNAME}"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
echo "mklib: ERROR: Don't know how to make a static/shared library for" ${ARCH}
|
|
||||||
echo "mklib: Please add necessary commands to mklib script."
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# Put library files into installation directory if specified.
|
|
||||||
#
|
|
||||||
if [ ${INSTALLDIR} != "." ] ; then
|
|
||||||
echo "mklib: Installing" ${FINAL_LIBS} "in" ${INSTALLDIR}
|
|
||||||
mv ${FINAL_LIBS} ${INSTALLDIR}/
|
|
||||||
fi
|
|
||||||
153
bin/mklib.aix
Executable file
153
bin/mklib.aix
Executable file
@@ -0,0 +1,153 @@
|
|||||||
|
#!/bin/ksh
|
||||||
|
|
||||||
|
# Make an AIX shared library (tricky!!!)
|
||||||
|
# Based on a script from Athanasios G. Gaitatzes (gaitat@vnet.ibm.com)
|
||||||
|
# Improved by Greg Thompson <gregt@visix.com> -gt
|
||||||
|
|
||||||
|
#--identification------------------------------------------------------
|
||||||
|
|
||||||
|
# $Id: mklib.aix,v 1.2 1999/09/15 15:10:20 brianp Exp $
|
||||||
|
|
||||||
|
# $Log: mklib.aix,v $
|
||||||
|
# Revision 1.2 1999/09/15 15:10:20 brianp
|
||||||
|
# added third, tiny version number to arguments
|
||||||
|
#
|
||||||
|
# Revision 1.1 1999/08/19 13:52:56 brianp
|
||||||
|
# initial check-in (post-crash)
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
#--common--------------------------------------------------------------
|
||||||
|
|
||||||
|
LIBRARY=$1
|
||||||
|
shift 1
|
||||||
|
|
||||||
|
MAJOR=$1
|
||||||
|
shift 1
|
||||||
|
|
||||||
|
MINOR=$1
|
||||||
|
shift 1
|
||||||
|
|
||||||
|
TINY=$1
|
||||||
|
shift 1
|
||||||
|
|
||||||
|
OBJECTS=$*
|
||||||
|
|
||||||
|
#--platform------------------------------------------------------------
|
||||||
|
|
||||||
|
# BASENAME = LIBRARY without .a suffix
|
||||||
|
BASENAME=`echo ${LIBRARY} | sed "s/\.a//g"`
|
||||||
|
|
||||||
|
# Name of exports file
|
||||||
|
EXPFILE=${BASENAME}.exp
|
||||||
|
|
||||||
|
# Name of temporary shared lib file
|
||||||
|
OFILE=shr.o
|
||||||
|
####OFILE=${BASENAME}.o
|
||||||
|
|
||||||
|
|
||||||
|
# Remove any old files from previous make
|
||||||
|
rm -f ${LIBRARY} ${EXPFILE} ${OFILE}
|
||||||
|
|
||||||
|
# Pick a way to use nm -gt
|
||||||
|
NM=${NM-/bin/nm -eC}
|
||||||
|
|
||||||
|
# Determine which version of AIX this is
|
||||||
|
AIXVERSION=`uname -v`
|
||||||
|
|
||||||
|
# Pick a way to tell the linker there's no entrypoint -gt
|
||||||
|
case ${AIXVERSION}
|
||||||
|
{
|
||||||
|
3*)
|
||||||
|
ENTRY='-e _nostart'
|
||||||
|
;;
|
||||||
|
4*)
|
||||||
|
ENTRY=-bnoentry
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Error in mklib.aix!"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Other libraries which we may be dependent on. Since we make the libraries
|
||||||
|
# in the order libGL.a, libaGLU.a, libglut.a just depends on its predecessor.
|
||||||
|
# modified to make otherlibs in the form of -lfoo -gt
|
||||||
|
OTHERLIBS=`ls ../lib/*.a | sed "s/..\/lib\/lib/-l/g" | sed "s/\.a//g"`
|
||||||
|
|
||||||
|
##echo OTHERLIBS are ${OTHERLIBS}
|
||||||
|
|
||||||
|
|
||||||
|
# Make exports (.exp) file header
|
||||||
|
echo "#! ${LIBRARY}" > ${EXPFILE}
|
||||||
|
|
||||||
|
# Append list of exported symbols to exports file -gt
|
||||||
|
case ${AIXVERSION}
|
||||||
|
{
|
||||||
|
3*)
|
||||||
|
${NM} ${OBJECTS} | awk -F'|' '{
|
||||||
|
if ($3 != "extern" || substr($7,1,1) == " ") continue
|
||||||
|
sub (" *", "", $1); sub (" *", "", $7)
|
||||||
|
if ( (($7 == ".text") || ($7 == ".data") || ($7 == ".bss")) \
|
||||||
|
&& ( substr($1,1,1) != ".")) {
|
||||||
|
if (substr ($1, 1, 7) != "__sinit" &&
|
||||||
|
substr ($1, 1, 7) != "__sterm") {
|
||||||
|
if (substr ($1, 1, 5) == "__tf1")
|
||||||
|
print (substr ($1, 7))
|
||||||
|
else if (substr ($1, 1, 5) == "__tf9")
|
||||||
|
print (substr ($1, 15))
|
||||||
|
else
|
||||||
|
print $1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}' | sort -u >> ${EXPFILE}
|
||||||
|
;;
|
||||||
|
|
||||||
|
4*)
|
||||||
|
${NM} ${OBJECTS} | awk '{
|
||||||
|
if ((($2 == "T") || ($2 == "D") || ($2 == "B")) \
|
||||||
|
&& ( substr($1,1,1) != ".")) {
|
||||||
|
if (substr ($1, 1, 7) != "__sinit" &&
|
||||||
|
substr ($1, 1, 7) != "__sterm") {
|
||||||
|
if (substr ($1, 1, 5) == "__tf1")
|
||||||
|
print (substr ($1, 7))
|
||||||
|
else if (substr ($1, 1, 5) == "__tf9")
|
||||||
|
print (substr ($1, 15))
|
||||||
|
else
|
||||||
|
print $1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}' | sort -u >> ${EXPFILE}
|
||||||
|
;;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# This next line is a hack to allow full compatibility with IBM's OpenGL
|
||||||
|
# libraries. IBM mistakenly exports glLoadIdentity from the libGLU.a
|
||||||
|
# library. We have to do the same thing. Problem reported by Yemi Adesanya
|
||||||
|
# (adesanya@afsmail.cern.ch) and Patrick Brown (pbrown@austin.ibm.com)
|
||||||
|
if [ "${BASENAME}" = libGLU ] ; then
|
||||||
|
echo "glLoadIdentity" >> ${EXPFILE}
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# Make the shared lib file
|
||||||
|
cc -o ${OFILE} ${OBJECTS} -L../lib ${OTHERLIBS} -lX11 -lXext -lXmu -lXi -lm -lc -bE:${EXPFILE} -bM:SRE ${ENTRY}
|
||||||
|
|
||||||
|
|
||||||
|
# Make the .a file
|
||||||
|
ar ruv ${LIBRARY} ${OFILE}
|
||||||
|
|
||||||
|
# Put exports file in Mesa lib directory
|
||||||
|
mv ${EXPFILE} ../lib
|
||||||
|
|
||||||
|
# Remove OFILE
|
||||||
|
rm -f ${OFILE}
|
||||||
|
|
||||||
|
|
||||||
|
#NOTES
|
||||||
|
# AIX 4.x /usr/bin/nm -B patch from ssclift@mach.me.queensu.ca (Simon Clift)
|
||||||
|
# Robustified symbol extraction for AIX 3 and 4
|
||||||
|
# Greg Thompson <gregt@visix.com>
|
||||||
|
|
||||||
38
bin/mklib.ar-ruv
Executable file
38
bin/mklib.ar-ruv
Executable file
@@ -0,0 +1,38 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Make a standard Unix .a library file with 'ar ruv'
|
||||||
|
|
||||||
|
#--identification------------------------------------------------------
|
||||||
|
|
||||||
|
# $Id: mklib.ar-ruv,v 1.2 1999/09/15 15:10:20 brianp Exp $
|
||||||
|
|
||||||
|
# $Log: mklib.ar-ruv,v $
|
||||||
|
# Revision 1.2 1999/09/15 15:10:20 brianp
|
||||||
|
# added third, tiny version number to arguments
|
||||||
|
#
|
||||||
|
# Revision 1.1 1999/08/19 13:52:57 brianp
|
||||||
|
# initial check-in (post-crash)
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
#--common--------------------------------------------------------------
|
||||||
|
|
||||||
|
LIBRARY=$1
|
||||||
|
shift 1
|
||||||
|
|
||||||
|
MAJOR=$1
|
||||||
|
shift 1
|
||||||
|
|
||||||
|
MINOR=$1
|
||||||
|
shift 1
|
||||||
|
|
||||||
|
TINY=$1
|
||||||
|
shift 1
|
||||||
|
|
||||||
|
OBJECTS=$*
|
||||||
|
|
||||||
|
#--platform-------------------------------------------------------------
|
||||||
|
|
||||||
|
#ar ruv $LIBRARY $OBJECTS
|
||||||
|
ar ru $LIBRARY $OBJECTS
|
||||||
|
|
||||||
52
bin/mklib.solaris
Normal file
52
bin/mklib.solaris
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Make a Solaris shared library
|
||||||
|
# contributed by Arno Hahma (arno@nitro.pp.utu.fi)
|
||||||
|
|
||||||
|
#--identification------------------------------------------------------
|
||||||
|
|
||||||
|
# $Id: mklib.solaris,v 1.2 1999/09/15 15:10:20 brianp Exp $
|
||||||
|
|
||||||
|
# $Log: mklib.solaris,v $
|
||||||
|
# Revision 1.2 1999/09/15 15:10:20 brianp
|
||||||
|
# added third, tiny version number to arguments
|
||||||
|
#
|
||||||
|
# Revision 1.1 1999/08/19 13:53:06 brianp
|
||||||
|
# initial check-in (post-crash)
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
#--common--------------------------------------------------------------
|
||||||
|
|
||||||
|
LIBRARY=$1
|
||||||
|
shift 1
|
||||||
|
|
||||||
|
MAJOR=$1
|
||||||
|
shift 1
|
||||||
|
|
||||||
|
MINOR=$1
|
||||||
|
shift 1
|
||||||
|
|
||||||
|
TINY=$1
|
||||||
|
shift 1
|
||||||
|
|
||||||
|
OBJECTS=$*
|
||||||
|
|
||||||
|
#--platform-------------------------------------------------------------
|
||||||
|
|
||||||
|
set -x
|
||||||
|
|
||||||
|
LIBRARY=`basename $LIBRARY .a`
|
||||||
|
|
||||||
|
VERSION=$MAJOR.$MINOR
|
||||||
|
|
||||||
|
echo "Building shared object $LIBRARY.so.$VERSION and the archive library $LIBRARY.a"
|
||||||
|
rm -f ${LIBRARY}.a ${LIBRARY}.so.${VERSION}
|
||||||
|
ar ruv ${LIBRARY}.a ${OBJECTS}
|
||||||
|
|
||||||
|
ld -G -o ${LIBRARY}.so.${VERSION} ${OBJECTS}
|
||||||
|
|
||||||
|
cp ${LIBRARY}.a ${LIBRARY}.so.${VERSION} ../lib
|
||||||
|
cd ../lib
|
||||||
|
ln -s ${LIBRARY}.so.${VERSION} ${LIBRARY}.so
|
||||||
|
|
||||||
28
configs/aix
28
configs/aix
@@ -1,28 +0,0 @@
|
|||||||
# Configuration for AIX, dynamic libs
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = aix
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = cc
|
|
||||||
CXX = xlC
|
|
||||||
|
|
||||||
CFLAGS = -O -DAIXV3
|
|
||||||
CXXFLAGS = -O -DAIXV3
|
|
||||||
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 -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) -lXt -lX11
|
|
||||||
OSMESA_LIB_DEPS = -L$(TOP)/lib -l$(GL_LIB)
|
|
||||||
APP_LIB_DEPS = -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lm -lC
|
|
||||||
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
# Configuration for AIX with gcc
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = aix-gcc
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = gcc
|
|
||||||
CXX = g++
|
|
||||||
|
|
||||||
CFLAGS = -O2 -DAIXV3
|
|
||||||
CXXFLAGS = -O2 -DAIXV3
|
|
||||||
|
|
||||||
MKLIB_OPTIONS = -arch aix-gcc
|
|
||||||
GL_LIB_DEPS = -lX11 -lXext -lm
|
|
||||||
GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm
|
|
||||||
GLUT_LIB_DEPS = -L$(LIB_DIR -l$(GLU_LIB) -l$(GL_LIB) -lXi -lXmu
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -Wl,-brtl -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lX11 -lXext -lXmu -lXi
|
|
||||||
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
# Configuration for AIX, static libs
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = aix-static
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = cc
|
|
||||||
CXX = xlC
|
|
||||||
|
|
||||||
CFLAGS = -O -DAIXV3
|
|
||||||
CXXFLAGS = -O -DAIXV3
|
|
||||||
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$(LIB_DIR) -lX11 -lXext -lXmu -lXi -lm
|
|
||||||
|
|
||||||
99
configs/beos
99
configs/beos
@@ -1,99 +0,0 @@
|
|||||||
# 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
|
|
||||||
|
|
||||||
ASM_SOURCES = $(X86_SOURCES) $(X86_API)
|
|
||||||
|
|
||||||
CC = gcc
|
|
||||||
CXX = g++
|
|
||||||
LD = gcc
|
|
||||||
|
|
||||||
CFLAGS = \
|
|
||||||
-Wall -Wno-multichar -Wno-ctor-dtor-privacy \
|
|
||||||
$(DEFINES)
|
|
||||||
|
|
||||||
CXXFLAGS = $(CFLAGS)
|
|
||||||
|
|
||||||
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 = mesa glu glut/beos
|
|
||||||
GLU_DIRS = sgi
|
|
||||||
DRIVER_DIRS = beos
|
|
||||||
PROGRAM_DIRS = beos samples redbook demos tests
|
|
||||||
|
|
||||||
# Library/program dependencies
|
|
||||||
GL_LIB_DEPS =
|
|
||||||
OSMESA_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB)
|
|
||||||
GLU_LIB_DEPS =
|
|
||||||
GLUT_LIB_DEPS = -lgame -L$(LIB_DIR) -l$(GL_LIB)
|
|
||||||
APP_LIB_DEPS = -lbe -L$(LIB_DIR) -l$(GL_LIB) -l$(GLUT_LIB)
|
|
||||||
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
# Configuration for Darwin / MacOS X, making dynamic libs
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = darwin
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = cc
|
|
||||||
CXX = cc
|
|
||||||
CFLAGS = -I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
|
|
||||||
CXXFLAGS = -I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
|
|
||||||
|
|
||||||
# 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 = $(TOP)/lib/GL.dylib
|
|
||||||
GLU_LIB_DEPS = $(TOP)/lib/GL.dylib
|
|
||||||
GLUT_LIB_DEPS =
|
|
||||||
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
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
# Configuration for Darwin / MacOS X, making static libs
|
|
||||||
|
|
||||||
include $(TOP)/configs/darwin
|
|
||||||
|
|
||||||
CONFIG_NAME = darwin-static
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CFLAGS = -I/usr/X11R6/include -O3 -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
|
|
||||||
CXXFLAGS = -I/usr/X11R6/include -O3 -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
|
|
||||||
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
|
|
||||||
|
|
||||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
|
|
||||||
OSMESA_LIB_DEPS =
|
|
||||||
GLU_LIB_DEPS =
|
|
||||||
GLUT_LIB_DEPS =
|
|
||||||
GLW_LIB_DEPS =
|
|
||||||
APP_LIB_DEPS = -L$(TOP)/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
|
||||||
@@ -1,68 +0,0 @@
|
|||||||
# Default/template configuration
|
|
||||||
|
|
||||||
# This is included by other config files which may override some
|
|
||||||
# of these variables.
|
|
||||||
|
|
||||||
CONFIG_NAME = default
|
|
||||||
|
|
||||||
# Version info
|
|
||||||
MESA_MAJOR=6
|
|
||||||
MESA_MINOR=2
|
|
||||||
MESA_TINY=0
|
|
||||||
|
|
||||||
# external projects
|
|
||||||
DRM_SOURCE_PATH=$(TOP)/../drm
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = cc
|
|
||||||
CXX = CC
|
|
||||||
CFLAGS = -O
|
|
||||||
CXXFLAGS = -O
|
|
||||||
GLU_CFLAGS =
|
|
||||||
|
|
||||||
# Misc tools and flags
|
|
||||||
MKLIB_OPTIONS =
|
|
||||||
MKDEP = makedepend
|
|
||||||
MKDEP_OPTIONS = -Y -fdepend
|
|
||||||
MAKE = make
|
|
||||||
|
|
||||||
# Library names (base name)
|
|
||||||
GL_LIB = GL
|
|
||||||
GLU_LIB = GLU
|
|
||||||
GLUT_LIB = glut
|
|
||||||
GLW_LIB = GLw
|
|
||||||
OSMESA_LIB = OSMesa
|
|
||||||
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
|
|
||||||
# Optional assembly language optimization files for libGL
|
|
||||||
ASM_SOURCES =
|
|
||||||
|
|
||||||
# GLw widget sources (Append "GLwMDrawA.c" here and add -lXm to GLW_LIB_DEPS in
|
|
||||||
# order to build the Motif widget too)
|
|
||||||
GLW_SOURCES = GLwDrawA.c
|
|
||||||
|
|
||||||
|
|
||||||
# Directories
|
|
||||||
LIB_DIR = $(TOP)/lib
|
|
||||||
INSTALL_PREFIX = /usr/local
|
|
||||||
SRC_DIRS = mesa glu glut/glx glw
|
|
||||||
GLU_DIRS = sgi
|
|
||||||
DRIVER_DIRS = x11 osmesa
|
|
||||||
PROGRAM_DIRS = demos redbook samples xdemos
|
|
||||||
|
|
||||||
|
|
||||||
# Library/program dependencies
|
|
||||||
GL_LIB_DEPS = -lX11 -lXext -lm -lpthread
|
|
||||||
OSMESA_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB)
|
|
||||||
GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm
|
|
||||||
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXt -lXi -lm
|
|
||||||
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lXt -lX11
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
# Configuration for FreeBSD
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = FreeBSD
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = gcc
|
|
||||||
CXX = g++
|
|
||||||
MAKE = gmake
|
|
||||||
|
|
||||||
CFLAGS = -O2 -fPIC -pedantic -I/usr/X11R6/include -DUSE_XSHM -DHZ=100
|
|
||||||
CXXFLAGS = -O2 -fPIC -pedantic
|
|
||||||
GLUT_CFLAGS = -fexceptions
|
|
||||||
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
|
|
||||||
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
# Configuration for HPUX v10, shared libs
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = hpux10
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = cc
|
|
||||||
CXX = aCC
|
|
||||||
|
|
||||||
CFLAGS = +O3 +DAportable +z -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM
|
|
||||||
CXXFLAGS = +O3 +DAportable +Z -Aa -D_HPUX_SOURCE
|
|
||||||
|
|
||||||
APP_LIB_DEPS = -$(LIB_DIR) -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
# Configuration for HPUX v10, with gcc
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = hpux10-gcc
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = gcc
|
|
||||||
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
|
|
||||||
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
|
|
||||||
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
# Configuration for HPUX v10, static libs
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = hpux10-static
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = cc
|
|
||||||
CXX = aCC
|
|
||||||
|
|
||||||
CFLAGS = +O3 +DAportable +z -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM
|
|
||||||
CXXFLAGS = +O3 +DAportable +Z -Aa -D_HPUX_SOURCE
|
|
||||||
|
|
||||||
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 (static libs don't have dependencies)
|
|
||||||
GL_LIB_DEPS =
|
|
||||||
OSMESA_LIB_DEPS =
|
|
||||||
GLU_LIB_DEPS =
|
|
||||||
GLUT_LIB_DEPS =
|
|
||||||
GLW_LIB_DEPS =
|
|
||||||
APP_LIB_DEPS = -L$(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$(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++
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
# Configuration for HPUX v11, static libs
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = hpux11-32-static
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = cc
|
|
||||||
CXX = aCC
|
|
||||||
|
|
||||||
CFLAGS = +O3 +DA2.0 -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM -DPTHREADS
|
|
||||||
|
|
||||||
CXXFLAGS = +O3 +DA2.0 -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include
|
|
||||||
|
|
||||||
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
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
# Configuration for HPUX v11, static libs
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = hpux11-32-static
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = cc
|
|
||||||
CXX = aCC
|
|
||||||
|
|
||||||
CFLAGS = +O3 +DA2.0 -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM
|
|
||||||
|
|
||||||
CXXFLAGS = +O3 +DA2.0 -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include
|
|
||||||
|
|
||||||
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
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# Configuration for HPUX v11, 64-bit, static libs
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = hpux11-64-static
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = cc
|
|
||||||
CXX = aCC
|
|
||||||
|
|
||||||
CFLAGS = +O3 +DA2.0W -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM -DPTHREADS
|
|
||||||
|
|
||||||
CXXFLAGS = +O3 +DA2.0W -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include
|
|
||||||
|
|
||||||
MKLIB_OPTIONS = -static
|
|
||||||
|
|
||||||
LIBDIR = $(TOP)/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/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
# Configuration for HPUX v9, shared libs
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = hpux9
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = cc
|
|
||||||
# XXX fix this
|
|
||||||
CXX = c++
|
|
||||||
|
|
||||||
CFLAGS = +z +O3 +Olibcalls +ESlit -Aa +Onolimit -D_HPUX_SOURCE -I/usr/include/X11R5 -DUSE_XSHM
|
|
||||||
CXXFLAGS = +z +O3 +Olibcalls +ESlit -Aa +Onolimit -D_HPUX_SOURCE -I/usr/include/X11R5
|
|
||||||
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/lib/X11R5 -s -Wl,+s,-B,nonfatal,-B,immediate -lXext -lXmu -lXi -lX11 -lm
|
|
||||||
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
# Configuration for HPUX v10, shared libs
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = hpux9-gcc
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = cc
|
|
||||||
CXX = aCC
|
|
||||||
|
|
||||||
CFLAGS = +O3 +DAportable +z -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM
|
|
||||||
CXXFLAGS = +O3 +DAportable +Z -Aa -D_HPUX_SOURCE
|
|
||||||
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
# Configuration for IRIX 6.x, make n64 DSOs
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = irix6-64
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = cc
|
|
||||||
CXX = CC
|
|
||||||
CFLAGS = -64 -O3 -ansi -woff 1068,1069,1174,1185,1209,1474,1552 -DUSE_XSHM
|
|
||||||
CXXFLAGS = -64 -O3 -ansi -woff 1174
|
|
||||||
MKLIB_OPTIONS = -archopt 64
|
|
||||||
|
|
||||||
GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
|
|
||||||
|
|
||||||
LIB_DIR = $(TOP)/lib64
|
|
||||||
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -64 -rpath $(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXi -lm
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
# Configuration for IRIX 6.x, make n64 static libs
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = irix6-64-static
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = cc
|
|
||||||
CXX = CC
|
|
||||||
CFLAGS = -64 -O3 -ansi -woff 1068,1069,1174,1185,1209,1474,1552 -DUSE_XSHM
|
|
||||||
CXXFLAGS = -64 -O3 -ansi -woff 1174
|
|
||||||
MKLIB_OPTIONS = -archopt 64 -static
|
|
||||||
|
|
||||||
GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
|
|
||||||
|
|
||||||
LIB_DIR = $(TOP)/lib64
|
|
||||||
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -64 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lm
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
# Configuration for IRIX 6.x, make n32 DSOs
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = irix6-n32
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = cc
|
|
||||||
CXX = CC
|
|
||||||
CFLAGS = -n32 -mips3 -O3 -ansi -woff 1174,1521,1552 -DUSE_XSHM
|
|
||||||
CXXFLAGS = -n32 -mips3 -O3 -ansi -woff 1174,1552
|
|
||||||
MKLIB_OPTIONS = -archopt n32
|
|
||||||
|
|
||||||
GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
|
|
||||||
|
|
||||||
LIB_DIR = $(TOP)/lib32
|
|
||||||
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -n32 -rpath $(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXi -lfpe -lm
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
# Configuration for IRIX 6.x, make n32 static libs
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = irix6-n32-static
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = cc
|
|
||||||
CXX = CC
|
|
||||||
CFLAGS = -n32 -mips2 -O2 -ansi -woff 1521,1552 -DUSE_XSHM
|
|
||||||
CXXFLAGS = -n32 -mips2 -O2 -ansi -woff 3262,3666
|
|
||||||
MKLIB_OPTIONS = -archopt n32 -static
|
|
||||||
|
|
||||||
GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
|
|
||||||
|
|
||||||
LIB_DIR = $(TOP)/lib32
|
|
||||||
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -n32 -glut -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lm
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
# Configuration for IRIX 6.x, make o32 DSOs
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = irix6-o32
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = cc
|
|
||||||
CXX = CC
|
|
||||||
CFLAGS = -32 -mips2 -O2 -ansi -woff 1521,1552 -DUSE_XSHM
|
|
||||||
CXXFLAGS = -32 -mips2 -O2 -ansi -woff 3262,3666
|
|
||||||
MKLIB_OPTIONS = -archopt o32
|
|
||||||
|
|
||||||
GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
|
|
||||||
|
|
||||||
LIB_DIR = $(TOP)/lib32
|
|
||||||
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -32 -rpath $(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lm
|
|
||||||
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
# Configuration for IRIX 6.x, make o32 static libs
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = irix6-o32-static
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = cc
|
|
||||||
CXX = CC
|
|
||||||
CFLAGS = -32 -mips2 -O2 -ansi -woff 1521,1552 -DUSE_XSHM
|
|
||||||
CXXFLAGS = -32 -mips2 -O2 -ansi -woff 3262,3666
|
|
||||||
MKLIB_OPTIONS = -archopt o32 -static
|
|
||||||
|
|
||||||
GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
|
|
||||||
|
|
||||||
LIB_DIR = $(TOP)/lib32
|
|
||||||
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -32 -glut -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lm
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
# Configuration for generic Linux
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = linux
|
|
||||||
|
|
||||||
# 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
|
|
||||||
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
|
||||||
GLUT_CFLAGS = -fexceptions
|
|
||||||
|
|
||||||
|
|
||||||
# Library/program dependencies
|
|
||||||
# Need to have -L/usr/X11R6/lib in these:
|
|
||||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
|
|
||||||
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
|
||||||
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
# Configuration for Linux on Alpha
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = linux-alpha
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
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
|
|
||||||
|
|
||||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
|
|
||||||
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
|
||||||
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# Configuration for Linux on Alpha, static libs
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = linux-alpha-static
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
# 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$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
|
||||||
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -L/usr/X11R6/lib -lX11 -lm
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
# Configuration for debugging on Linux
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = linux-debug
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = gcc
|
|
||||||
CXX = g++
|
|
||||||
|
|
||||||
CFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG -DMESA_DEBUG
|
|
||||||
|
|
||||||
CXXFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -DDEBUG -DMESA_DEBUG
|
|
||||||
|
|
||||||
GLUT_CFLAGS = -fexceptions
|
|
||||||
|
|
||||||
# Need to have -L/usr/X11R6/lib in these:
|
|
||||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
|
|
||||||
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
|
||||||
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lXt -L/usr/X11R6/lib -lX11
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
# -*-makefile-*-
|
|
||||||
# Configuration for linux-dri: Linux DRI hardware drivers for XFree86 & others
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = linux-dri
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = gcc
|
|
||||||
CXX = g++
|
|
||||||
|
|
||||||
WARN_FLAGS = -Wall
|
|
||||||
OPT_FLAGS = -O
|
|
||||||
SOURCE_FLAGS = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
|
|
||||||
-D_BSD_SOURCE -D_GNU_SOURCE
|
|
||||||
PIC_FLAGS = -fPIC
|
|
||||||
|
|
||||||
CFLAGS = -DDRI_NEW_INTERFACE_ONLY $(WARN_FLAGS) -g $(OPT_FLAGS) $(ASM_FLAGS) \
|
|
||||||
-std=c99 $(PIC_FLAGS) -ffast-math $(SOURCE_FLAGS) -DPTHREADS \
|
|
||||||
-I/usr/X11R6/include -I/usr/X11R6/include/X11/extensions
|
|
||||||
|
|
||||||
CXXFLAGS = -DDRI_NEW_INTERFACE_ONLY $(WARN_FLAGS) -g $(OPT_FLAGS) -fPIC \
|
|
||||||
$(SOURCE_FLAGS)
|
|
||||||
|
|
||||||
ASM_SOURCES =
|
|
||||||
|
|
||||||
# Library/program dependencies
|
|
||||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread -lexpat -ldl
|
|
||||||
|
|
||||||
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
|
||||||
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
|
|
||||||
|
|
||||||
|
|
||||||
# Directories
|
|
||||||
SRC_DIRS = mesa glu glut/glx glw
|
|
||||||
DRIVER_DIRS = dri
|
|
||||||
PROGRAM_DIRS =
|
|
||||||
WINDOW_SYSTEM=dri
|
|
||||||
|
|
||||||
# ffb and gamma are missing because they have not been converted to use the new
|
|
||||||
# interface.
|
|
||||||
DRI_DIRS = dri_client i810 i830 i915 mach64 mga r128 r200 radeon tdfx \
|
|
||||||
unichrome savage sis
|
|
||||||
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
# -*-makefile-*-
|
|
||||||
# Configuration for linux-dri: Linux DRI hardware drivers for XFree86 & others
|
|
||||||
|
|
||||||
include $(TOP)/configs/linux-dri
|
|
||||||
|
|
||||||
CONFIG_NAME = linux-dri-x86
|
|
||||||
|
|
||||||
# Unnecessary on x86, generally.
|
|
||||||
PIC_FLAGS =
|
|
||||||
|
|
||||||
ASM_FLAGS = -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
|
|
||||||
ASM_SOURCES = $(X86_SOURCES)
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
# -*-makefile-*-
|
|
||||||
# Configuration for linux-dri: Linux DRI hardware drivers for XFree86 & others
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = linux-dri-x86-64
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = gcc
|
|
||||||
CXX = g++
|
|
||||||
|
|
||||||
CFLAGS = -DDRI_NEW_INTERFACE_ONLY -m64 -Wmissing-prototypes -g -std=c99 -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS -D_GNU_SOURCE -D__AMD64__ -I/usr/X11R6/include -I/usr/X11R6/include/X11/extensions
|
|
||||||
|
|
||||||
CXXFLAGS = -DDRI_NEW_INTERFACE_ONLY -m64 -Wall -g -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -D__AMD64__
|
|
||||||
|
|
||||||
#ASM_SOURCES = $(X86_SOURCES)
|
|
||||||
|
|
||||||
LIB_DIR = $(TOP)/lib64
|
|
||||||
|
|
||||||
# Library/program dependencies
|
|
||||||
GL_LIB_DEPS = -L/usr/X11R6/lib64 -lX11 -lXext -lm -lpthread -lexpat -ldl
|
|
||||||
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib64 -lX11 -lXmu -lXt -lXi -lm
|
|
||||||
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib64 -lXt -lX11
|
|
||||||
|
|
||||||
# Directories
|
|
||||||
SRC_DIRS = mesa glu glut/glx glw
|
|
||||||
DRIVER_DIRS = dri
|
|
||||||
PROGRAM_DIRS =
|
|
||||||
WINDOW_SYSTEM=dri
|
|
||||||
|
|
||||||
# ffb, gamma, and sis are missing because they have
|
|
||||||
# not be converted to use the new interface. Do i810 & i830 really
|
|
||||||
# need to be included here?
|
|
||||||
#
|
|
||||||
DRI_DIRS = dri_client i810 i830 i915 mach64 mga r128 r200 radeon tdfx unichrome savage
|
|
||||||
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
# 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
|
|
||||||
|
|
||||||
|
|
||||||
# Library/program dependencies
|
|
||||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -L/usr/local/glide/lib -lglide3x -lm -lpthread
|
|
||||||
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
|
||||||
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/local/glide/lib -lglide3x -lm
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
# Configuration for Linux with Intel C compiler
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = linux-icc
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
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$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
|
||||||
|
|
||||||
ASM_SOURCES = $(X86_SOURCES) $(X86_API)
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
# Configuration for Linux with Intel C compiler, static libs
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = linux-icc-static
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = icc
|
|
||||||
CXX = g++
|
|
||||||
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
|
|
||||||
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 = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
|
|
||||||
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
|
||||||
MKLIB_OPTIONS = -arch icc
|
|
||||||
|
|
||||||
ASM_SOURCES = $(X86_SOURCES) $(X86_API)
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# Configuration for 16 bits/channel OSMesa library on Linux
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = linux-osmesa16
|
|
||||||
|
|
||||||
# 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 -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
|
|
||||||
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
|
||||||
|
|
||||||
|
|
||||||
# Library names
|
|
||||||
OSMESA_LIB = OSMesa16
|
|
||||||
OSMESA_LIB_NAME = libOSMesa16.so
|
|
||||||
|
|
||||||
|
|
||||||
# Directories
|
|
||||||
SRC_DIRS = mesa glu
|
|
||||||
DRIVER_DIRS = osmesa
|
|
||||||
PROGRAM_DIRS =
|
|
||||||
|
|
||||||
|
|
||||||
# Dependencies
|
|
||||||
OSMESA_LIB_DEPS = -lm -lpthread
|
|
||||||
APP_LIB_DEPS = -lOSMesa16
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
# Configuration for 16 bits/channel OSMesa library on Linux
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = linux-osmesa16-static
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = gcc
|
|
||||||
CXX = g++
|
|
||||||
CFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
|
|
||||||
CXXFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
|
||||||
MKLIB_OPTIONS = -static
|
|
||||||
|
|
||||||
|
|
||||||
# Library names
|
|
||||||
OSMESA_LIB = OSMesa16
|
|
||||||
OSMESA_LIB_NAME = libOSMesa16.a
|
|
||||||
|
|
||||||
|
|
||||||
# Directories
|
|
||||||
SRC_DIRS = mesa glu
|
|
||||||
DRIVER_DIRS = osmesa
|
|
||||||
PROGRAM_DIRS =
|
|
||||||
|
|
||||||
|
|
||||||
# Dependencies
|
|
||||||
OSMESA_LIB_DEPS = -lm -lpthread
|
|
||||||
APP_LIB_DEPS = -lOSMesa16
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# Configuration for 32 bits/channel OSMesa library on Linux
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = linux-osmesa32
|
|
||||||
|
|
||||||
# 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 -DCHAN_BITS=32 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
|
|
||||||
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
|
||||||
|
|
||||||
|
|
||||||
# Library names
|
|
||||||
OSMESA_LIB = OSMesa32
|
|
||||||
OSMESA_LIB_NAME = libOSMesa32.so
|
|
||||||
|
|
||||||
|
|
||||||
# Directories
|
|
||||||
SRC_DIRS = mesa glu
|
|
||||||
DRIVER_DIRS = osmesa
|
|
||||||
PROGRAM_DIRS =
|
|
||||||
|
|
||||||
|
|
||||||
# Dependencies
|
|
||||||
OSMESA_LIB_DEPS = -lm -lpthread
|
|
||||||
APP_LIB_DEPS = -lOSMesa32
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
# Configuration for Linux on PPC
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = linux-ppc
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = gcc
|
|
||||||
CXX = g++
|
|
||||||
CFLAGS = -O3 -mcpu=603 -ansi -pedantic -fPIC -fsigned-char -ffast-math -funroll-loops -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM
|
|
||||||
CXXFLAGS = -O3 -mcpu=603 -ansi -pedantic -fPIC -fsigned-char -ffast-math -funroll-loops -D_SVID_SOURCE -D_BSD_SOURCE
|
|
||||||
GLUT_CFLAGS = -fexceptions
|
|
||||||
|
|
||||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
|
|
||||||
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
|
||||||
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
|
||||||
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
# Configuration for Linux on PPC, static libs
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = linux-ppc-static
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = gcc
|
|
||||||
CXX = g++
|
|
||||||
CFLAGS = -O3 -mcpu=603 -ansi -pedantic -fPIC -fsigned-char -ffast-math -funroll-loops -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM
|
|
||||||
CXXFLAGS = -O3 -mcpu=603 -ansi -pedantic -fPIC -fsigned-char -ffast-math -funroll-loops -D_SVID_SOURCE -D_BSD_SOURCE
|
|
||||||
GLUT_CFLAGS = -fexceptions
|
|
||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
|
|
||||||
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
|
||||||
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lm
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
# 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++
|
|
||||||
|
|
||||||
CCOMMON = -DDRI_NEW_INTERFACE_ONLY -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -D_POSIX_C_SOURCE=199309L -D_GNU_SOURCE
|
|
||||||
|
|
||||||
CFLAGS = $(CCOMMON) -Wmissing-prototypes -g -std=c99 -Wundef -fPIC -ffast-math
|
|
||||||
|
|
||||||
CXXFLAGS = $(CCOMMON) -Wall -O3 -ansi -pedantic -fPIC
|
|
||||||
|
|
||||||
|
|
||||||
ASM_SOURCES = $(X86_SOURCES)
|
|
||||||
|
|
||||||
# Library/program dependencies
|
|
||||||
GL_LIB_DEPS = -lm -lpthread -lexpat -ldl
|
|
||||||
GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm
|
|
||||||
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lpthread
|
|
||||||
|
|
||||||
# Directories
|
|
||||||
SRC_DIRS = mesa glx glu glut/mini
|
|
||||||
DRIVER_DIRS = dri
|
|
||||||
PROGRAM_DIRS = miniglx
|
|
||||||
|
|
||||||
#DRI_DIRS = fb ffb gamma sis savage
|
|
||||||
DRI_DIRS = i810 i830 i915 mach64 mga r128 r200 radeon tdfx unichrome
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
# Configuration for linux-solo-ia64: Linux DRI hardware drivers for fbdev
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = linux-solo-ia64
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = gcc
|
|
||||||
CXX = g++
|
|
||||||
|
|
||||||
CCOMMON = -DDRI_NEW_INTERFACE_ONLY -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -D_POSIX_C_SOURCE=199309L -D_GNU_SOURCE
|
|
||||||
|
|
||||||
CFLAGS = $(CCOMMON) -Wmissing-prototypes -g -std=c99 -Wundef -fPIC -ffast-math
|
|
||||||
|
|
||||||
CXXFLAGS = $(CCOMMON) -Wall -O3 -ansi -pedantic -fPIC
|
|
||||||
|
|
||||||
|
|
||||||
# Library/program dependencies
|
|
||||||
GL_LIB_DEPS = -lm -lpthread -lexpat -ldl
|
|
||||||
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lpthread
|
|
||||||
|
|
||||||
# Directories
|
|
||||||
SRC_DIRS = mesa glx glu glut/mini
|
|
||||||
DRIVER_DIRS = dri
|
|
||||||
PROGRAM_DIRS = miniglx
|
|
||||||
|
|
||||||
DRI_DIRS = fb mach64 mga r128 r200 radeon sis tdfx unichrome
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
# Configuration for linux-solo: Linux DRI hardware drivers for fbdev
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = linux-solo-x86
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = gcc
|
|
||||||
CXX = g++
|
|
||||||
|
|
||||||
CCOMMON = -DDRI_NEW_INTERFACE_ONLY -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -D_POSIX_C_SOURCE=199309L -D_GNU_SOURCE -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS
|
|
||||||
|
|
||||||
CFLAGS = $(CCOMMON) -Wmissing-prototypes -O3 -g -std=c99 -Wundef -fPIC -ffast-math
|
|
||||||
|
|
||||||
CXXFLAGS = $(CCOMMON) -Wall -O3 -ansi -pedantic -fPIC
|
|
||||||
|
|
||||||
|
|
||||||
ASM_SOURCES = $(X86_SOURCES)
|
|
||||||
|
|
||||||
# Library/program dependencies
|
|
||||||
GL_LIB_DEPS = -lm -lpthread -lexpat -ldl
|
|
||||||
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lpthread
|
|
||||||
|
|
||||||
# Directories
|
|
||||||
SRC_DIRS = mesa glx glu glut/mini
|
|
||||||
DRIVER_DIRS = dri
|
|
||||||
PROGRAM_DIRS = miniglx
|
|
||||||
|
|
||||||
#DRI_DIRS = fb ffb gamma sis savage
|
|
||||||
DRI_DIRS = i810 i830 i915 mach64 mga r128 r200 radeon tdfx unichrome
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
# Configuration for Linux on Sparc
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = linux-sparc
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = gcc
|
|
||||||
CXX = g++
|
|
||||||
CFLAGS = -O2 -ffast-math -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM
|
|
||||||
CXXFLAGS = -O2 -ffast-math -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE
|
|
||||||
GLUT_CFLAGS = -fexceptions
|
|
||||||
|
|
||||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
|
|
||||||
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
|
||||||
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
# Configuration for Linux on Sparc5
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = linux-sparc5
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = gcc
|
|
||||||
CXX = g++
|
|
||||||
CFLAGS = -mcpu=ultrasparc -O2 -ffast-math -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM
|
|
||||||
CXXFLAGS = -mcpu=ultrasparc -O2 -ffast-math -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE
|
|
||||||
GLUT_CFLAGS = -fexceptions
|
|
||||||
|
|
||||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
|
|
||||||
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
|
||||||
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
|
|
||||||
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
# Configuration for generic Linux, making static libs
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = linux-static
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = gcc
|
|
||||||
CXX = g++
|
|
||||||
|
|
||||||
CFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include
|
|
||||||
CXXFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
|
||||||
GLUT_CFLAGS = -fexceptions
|
|
||||||
|
|
||||||
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 (static libs don't have dependencies)
|
|
||||||
GL_LIB_DEPS =
|
|
||||||
OSMESA_LIB_DEPS =
|
|
||||||
GLU_LIB_DEPS =
|
|
||||||
GLUT_LIB_DEPS =
|
|
||||||
GLW_LIB_DEPS =
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lpthread -lm -lstdc++
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
# Configuration for debugging on Linux
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = linux-tcc
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = gcc
|
|
||||||
CXX = g++
|
|
||||||
|
|
||||||
TCC_DIR=/home/progs/tcc-0.9.20
|
|
||||||
|
|
||||||
CFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG -DMESA_DEBUG -DUSE_TCC -I$(TCC_DIR)
|
|
||||||
|
|
||||||
CXXFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -DDEBUG -DMESA_DEBUG
|
|
||||||
|
|
||||||
GLUT_CFLAGS = -fexceptions
|
|
||||||
|
|
||||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread -L$(TCC_DIR) -ltcc -ldl
|
|
||||||
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
|
||||||
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lXt -L/usr/X11R6/lib -lX11
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
# Configuration for Linux on UltraSparc
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = linux-ultrasparc
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = gcc
|
|
||||||
CXX = g++
|
|
||||||
CFLAGS = -mv8 -O2 -mtune=ultrasparc -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM
|
|
||||||
CXXFLAGS = -mv8 -O2 -mtune=ultrasparc -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE
|
|
||||||
GLUT_CFLAGS = -fexceptions
|
|
||||||
|
|
||||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
|
|
||||||
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
|
||||||
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR)-l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
# Configuration for Linux with x86 optimizations
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = linux-x86
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
CXXFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
|
||||||
|
|
||||||
GLUT_CFLAGS = -fexceptions
|
|
||||||
|
|
||||||
|
|
||||||
ASM_SOURCES = $(X86_SOURCES) $(X86_API)
|
|
||||||
|
|
||||||
# Library/program dependencies
|
|
||||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
|
|
||||||
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
|
||||||
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
# Configuration for Linux for 64-bit X86 (Opteron)
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = linux-x86-64
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = gcc
|
|
||||||
CXX = g++
|
|
||||||
|
|
||||||
CFLAGS = -m64 -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -D__AMD64__ -I/usr/X11R6/include
|
|
||||||
|
|
||||||
CXXFLAGS = -m64 -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -D__AMD64__
|
|
||||||
|
|
||||||
GLUT_CFLAGS = -fexceptions
|
|
||||||
|
|
||||||
|
|
||||||
#ASM_SOURCES = $(X86_SOURCES)
|
|
||||||
|
|
||||||
|
|
||||||
LIB_DIR = $(TOP)/lib64
|
|
||||||
|
|
||||||
|
|
||||||
# Library/program dependencies
|
|
||||||
GL_LIB_DEPS = -L/usr/X11R6/lib64 -lX11 -lXext -lm -lpthread
|
|
||||||
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib64 -lX11 -lXmu -lXt -lXi -lm
|
|
||||||
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib64 -lXt -lX11
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
# Configuration for Linux for 64-bit X86 (Opteron), static libs
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = linux-x86-64-static
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = gcc
|
|
||||||
CXX = g++
|
|
||||||
|
|
||||||
CFLAGS = -m64 -Wall -O3 -ansi -pedantic -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -D__AMD64__ -I/usr/X11R6/include
|
|
||||||
|
|
||||||
CXXFLAGS = -m64 -Wall -O3 -ansi -pedantic -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -D__AMD64__
|
|
||||||
|
|
||||||
GLUT_CFLAGS = -fexceptions
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
#ASM_SOURCES = $(X86_SOURCES)
|
|
||||||
|
|
||||||
|
|
||||||
LIB_DIR = $(TOP)/lib64
|
|
||||||
|
|
||||||
|
|
||||||
# Library/program dependencies (static libs don't have dependencies)
|
|
||||||
GL_LIB_DEPS =
|
|
||||||
OSMESA_LIB_DEPS =
|
|
||||||
GLU_LIB_DEPS =
|
|
||||||
GLUT_LIB_DEPS =
|
|
||||||
GLW_LIB_DEPS =
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib64 -lX11 -lXext -lXmu -lXt -lXi -lpthread -lm -lstdc++
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
# Configuration for Linux with x86 code, but no gcc optimizations and
|
|
||||||
# debugging enabled.
|
|
||||||
|
|
||||||
include $(TOP)/configs/linux-x86
|
|
||||||
|
|
||||||
CONFIG_NAME = linux-x86-debug
|
|
||||||
|
|
||||||
CFLAGS = -Wall -g -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
|
|
||||||
|
|
||||||
CXXFLAGS = -Wall -g -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
# 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
|
|
||||||
|
|
||||||
|
|
||||||
ASM_SOURCES = $(X86_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$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
|
|
||||||
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/local/glide/lib -lglide3x -lm
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
# Configuration for Linux with x86 optimizations, static libs
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = linux-x86-static
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = gcc
|
|
||||||
CXX = g++
|
|
||||||
|
|
||||||
CFLAGS = -Wall -O3 -ansi -pedantic -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 = -Wall -O3 -ansi -pedantic -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
|
||||||
|
|
||||||
GLUT_CFLAGS = -fexceptions
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
ASM_SOURCES = $(X86_SOURCES) $(X86_API)
|
|
||||||
|
|
||||||
|
|
||||||
# Library/program dependencies (static libs don't have dependencies)
|
|
||||||
GL_LIB_DEPS =
|
|
||||||
OSMESA_LIB_DEPS =
|
|
||||||
GLU_LIB_DEPS =
|
|
||||||
GLUT_LIB_DEPS =
|
|
||||||
GLW_LIB_DEPS =
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lpthread -lm -lstdc++
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
# Configuration for NetBSD
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = netbsd
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
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$(LIB_DIR) -L/usr/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
|
|
||||||
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
# Configuration for OpenBSD
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = openbsd
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = gcc
|
|
||||||
CXX = g++
|
|
||||||
CFLAGS = -O2 -fPIC -I/usr/X11R6/include -DUSE_XSHM -DHZ=100
|
|
||||||
CXXFLAGS = -O2 -fPIC -I/usr/X11R6/include -DHZ=100
|
|
||||||
|
|
||||||
GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm
|
|
||||||
OSMESA_LIB_DEPS = -lm
|
|
||||||
GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB)
|
|
||||||
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lm
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/X11R6/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
|
||||||
|
|
||||||
18
configs/osf1
18
configs/osf1
@@ -1,18 +0,0 @@
|
|||||||
# Configuration for OSF/1
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = osf1
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = cc
|
|
||||||
CXX = cxx
|
|
||||||
CFLAGS = -O0 -std1 -ieee_with_no_inexact -DUSE_XSHM
|
|
||||||
CXXFLAGS = -O2 -std ansi -ieee
|
|
||||||
|
|
||||||
GL_LIB_DEPS = -lX11 -lXext -lm -lpthread
|
|
||||||
GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm
|
|
||||||
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXt -lXi -lm
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -lX11 -lXext -lXmu -lXi -lm
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
# Configuration for Solaris on x86
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = solaris-x86
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = cc
|
|
||||||
CFLAGS = -Xa -xO3 -xpentium -KPIC -I/usr/openwin/include -DUSE_XSHM
|
|
||||||
MKLIB_OPTIONS = -static
|
|
||||||
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/openwin/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm
|
|
||||||
|
|
||||||
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
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
# Configuration for Solaris on x86 with gcc, static libs
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = solaris-x86-gcc
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = gcc
|
|
||||||
CXX = g++
|
|
||||||
CFLAGS = -O3 -m486 -fPIC -I/usr/openwin/include -DUSE_XSHM
|
|
||||||
CXXFLAGS = -O3 -m486 -fPIC
|
|
||||||
GLUT_CFLAGS = -fexceptions
|
|
||||||
MKLIB_OPTIONS = -static
|
|
||||||
|
|
||||||
GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lm -lpthread
|
|
||||||
GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm
|
|
||||||
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/openwin/lib -lX11 -lXmu -lXt -lXi -lm
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/openwin/lib -R/usr/openwin/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
|
||||||
|
|
||||||
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
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
# Configuration for SunOS 4, shared libs
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = sunos4
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = acc
|
|
||||||
CFLAGS = -Kpic -O -I/usr/include/X11R5 -DUSE_XSHM -DSUNOS4
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/lib/X11R5 -lX11 -lXext -lXmu -lXi -lm
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
# Configuration for SunOS 4, with gcc, shared libs
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = sunos4-gcc
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
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
|
|
||||||
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm
|
|
||||||
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
# Configuration for SunOS 4, static libs
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = sunos4-static
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = acc
|
|
||||||
CFLAGS = -O -DUSE_XSHM -DSUNOS4
|
|
||||||
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 (static libs don't have dependencies)
|
|
||||||
GL_LIB_DEPS =
|
|
||||||
OSMESA_LIB_DEPS =
|
|
||||||
GLU_LIB_DEPS =
|
|
||||||
GLUT_LIB_DEPS =
|
|
||||||
GLW_LIB_DEPS =
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lpthread -lm
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
# Configuration for SunOS 5
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = sunos5
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
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$(LIB_DIR) -l$(GL_LIB) -lm
|
|
||||||
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
|
||||||
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -lCrun -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
# Configuration for SunOS 5, with gcc
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = sunos5-gcc
|
|
||||||
|
|
||||||
ASM_SOURCES = $(SPARC_SOURCES) $(SPARC_API)
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = gcc
|
|
||||||
CXX = g++
|
|
||||||
CFLAGS = -O3 -I/usr/openwin/include -fPIC -fomit-frame-pointer -D_REENTRANT -DUSE_XSHM -DUSE_SPARC_ASM
|
|
||||||
CXXFLAGS = -O3 -I/usr/openwin/include -fPIC -fomit-frame-pointer -D_REENTRANT -DUSE_SPARC_ASM
|
|
||||||
GLUT_CFLAGS = -fexceptions -DSOLARIS_2_4_BUG
|
|
||||||
|
|
||||||
GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm
|
|
||||||
GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm
|
|
||||||
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
|
||||||
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
|
||||||
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
# Configuration for SunOS 5, SMP systems
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = sunos5-smp
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
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$(LIB_DIR) -l$(GL_LIB) -lm
|
|
||||||
GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
|
|
||||||
GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11
|
|
||||||
APP_LIB_DEPS = -L$(LIB_DIR) -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lCrun
|
|
||||||
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
# Configuration for Ultrix, with gcc
|
|
||||||
|
|
||||||
include $(TOP)/configs/default
|
|
||||||
|
|
||||||
CONFIG_NAME = ultrix-gcc
|
|
||||||
|
|
||||||
# Compiler and flags
|
|
||||||
CC = gcc
|
|
||||||
CXX = g++
|
|
||||||
CFLAGS = -pedantic -O2
|
|
||||||
CXXFLAGS = -pedantic -O2
|
|
||||||
GLUT_CFLAGS = -fexceptions
|
|
||||||
MKLIB_OPTIONS = -static
|
|
||||||
|
|
||||||
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$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lXmu -lX11 -lXi -lm
|
|
||||||
20
descrip.mms
20
descrip.mms
@@ -1,20 +0,0 @@
|
|||||||
# Makefile for Mesa for VMS
|
|
||||||
# contributed by Jouk Jansen joukj@hrem.stm.tudelft.nl
|
|
||||||
|
|
||||||
macro :
|
|
||||||
@ macro=""
|
|
||||||
.ifdef NOSHARE
|
|
||||||
.else
|
|
||||||
@ if f$getsyi("HW_MODEL") .ge. 1024 then macro= "/MACRO=(SHARE=1)"
|
|
||||||
.endif
|
|
||||||
$(MMS)$(MMSQUALIFIERS)'macro' all
|
|
||||||
|
|
||||||
all :
|
|
||||||
if f$search("lib.dir") .eqs. "" then create/directory [.lib]
|
|
||||||
set default [.src]
|
|
||||||
$(MMS)$(MMSQUALIFIERS)
|
|
||||||
set default [-.progs.demos]
|
|
||||||
$(MMS)$(MMSQUALIFIERS)
|
|
||||||
set default [-.xdemos]
|
|
||||||
$(MMS)$(MMSQUALIFIERS)
|
|
||||||
if f$search("[-]test.DIR") .nes. "" then pipe set default [-.test] ; $(MMS)$(MMSQUALIFIERS)
|
|
||||||
@@ -1,95 +0,0 @@
|
|||||||
Name
|
|
||||||
|
|
||||||
MESA_agp_offset
|
|
||||||
|
|
||||||
Name Strings
|
|
||||||
|
|
||||||
GLX_MESA_agp_offset
|
|
||||||
|
|
||||||
Contact
|
|
||||||
|
|
||||||
Brian Paul, Tungsten Graphics, Inc. (brian.paul 'at' tungstengraphics.com)
|
|
||||||
Keith Whitwell, Tungsten Graphics, Inc. (keith 'at' tungstengraphics.com)
|
|
||||||
|
|
||||||
Status
|
|
||||||
|
|
||||||
Shipping (Mesa 4.0.4 and later. Only implemented in particular
|
|
||||||
XFree86/DRI drivers.)
|
|
||||||
|
|
||||||
Version
|
|
||||||
|
|
||||||
1.0
|
|
||||||
|
|
||||||
Number
|
|
||||||
|
|
||||||
TBD
|
|
||||||
|
|
||||||
Dependencies
|
|
||||||
|
|
||||||
OpenGL 1.0 or later is required
|
|
||||||
GLX_NV_vertex_array_range is required.
|
|
||||||
This extensions is written against the OpenGL 1.4 Specification.
|
|
||||||
|
|
||||||
Overview
|
|
||||||
|
|
||||||
This extensions provides a way to convert pointers in an AGP memory
|
|
||||||
region into byte offsets into the AGP aperture.
|
|
||||||
Note, this extension depends on GLX_NV_vertex_array_range, for which
|
|
||||||
no real specification exists. See GL_NV_vertex_array_range for more
|
|
||||||
information.
|
|
||||||
|
|
||||||
IP Status
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Issues
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
New Procedures and Functions
|
|
||||||
|
|
||||||
unsigned int glXGetAGPOffsetMESA( const void *pointer )
|
|
||||||
|
|
||||||
New Tokens
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to the OpenGL 1.4 Specification
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to Chapter 3 the GLX 1.4 Specification (Functions and Errors)
|
|
||||||
|
|
||||||
Add a new section, 3.6 as follows:
|
|
||||||
|
|
||||||
3.6 AGP Memory Access
|
|
||||||
|
|
||||||
On "PC" computers, AGP memory can be allocated with glXAllocateMemoryNV
|
|
||||||
and freed with glXFreeMemoryNV. Sometimes it's useful to know where a
|
|
||||||
block of AGP memory is located with respect to the start of the AGP
|
|
||||||
aperature. The function
|
|
||||||
|
|
||||||
GLuint glXGetAGPOffsetMESA( const GLvoid *pointer )
|
|
||||||
|
|
||||||
Returns the offset of the given memory block from the start of AGP
|
|
||||||
memory in basic machine units (i.e. bytes). If pointer is invalid
|
|
||||||
the value ~0 will be returned.
|
|
||||||
|
|
||||||
GLX Protocol
|
|
||||||
|
|
||||||
None. This is a client side-only extension.
|
|
||||||
|
|
||||||
Errors
|
|
||||||
|
|
||||||
glXGetAGPOffsetMESA will return ~0 if the pointer does not point to
|
|
||||||
an AGP memory region.
|
|
||||||
|
|
||||||
New State
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Revision History
|
|
||||||
|
|
||||||
20 September 2002 - Initial draft
|
|
||||||
2 October 2002 - finished GLX chapter 3 additions
|
|
||||||
27 July 2004 - use unsigned int instead of GLuint, void instead of GLvoid
|
|
||||||
@@ -8,7 +8,7 @@ Name Strings
|
|||||||
|
|
||||||
Contact
|
Contact
|
||||||
|
|
||||||
Brian Paul (brian.paul 'at' tungstengraphics.com)
|
Brian Paul (brian 'at' mesa3d.org)
|
||||||
|
|
||||||
Status
|
Status
|
||||||
|
|
||||||
|
|||||||
@@ -1,138 +0,0 @@
|
|||||||
Name
|
|
||||||
|
|
||||||
MESA_pack_invert
|
|
||||||
|
|
||||||
Name Strings
|
|
||||||
|
|
||||||
GL_MESA_pack_invert
|
|
||||||
|
|
||||||
Contact
|
|
||||||
|
|
||||||
Brian Paul, Tungsten Graphics, Inc. (brian.paul 'at' tungstengraphics.com)
|
|
||||||
Keith Whitwell, Tungsten Graphics, Inc. (keith 'at' tungstengraphics.com)
|
|
||||||
|
|
||||||
Status
|
|
||||||
|
|
||||||
Shipping (Mesa 4.0.4 and later)
|
|
||||||
|
|
||||||
Version
|
|
||||||
|
|
||||||
1.0
|
|
||||||
|
|
||||||
Number
|
|
||||||
|
|
||||||
TBD
|
|
||||||
|
|
||||||
Dependencies
|
|
||||||
|
|
||||||
OpenGL 1.0 or later is required
|
|
||||||
This extensions is written against the OpenGL 1.4 Specification.
|
|
||||||
|
|
||||||
Overview
|
|
||||||
|
|
||||||
This extension adds a new pixel storage parameter to indicate that
|
|
||||||
images are to be packed in top-to-bottom order instead of OpenGL's
|
|
||||||
conventional bottom-to-top order. Only pixel packing can be
|
|
||||||
inverted (i.e. for glReadPixels, glGetTexImage, glGetConvolutionFilter,
|
|
||||||
etc).
|
|
||||||
|
|
||||||
Almost all known image file formats store images in top-to-bottom
|
|
||||||
order. As it is, OpenGL reads images from the frame buffer in
|
|
||||||
bottom-to-top order. Thus, images usually have to be inverted before
|
|
||||||
writing them to a file with image I/O libraries. This extension
|
|
||||||
allows images to be read such that inverting isn't needed.
|
|
||||||
|
|
||||||
IP Status
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Issues
|
|
||||||
|
|
||||||
1. Should we also defined UNPACK_INVERT_MESA for glDrawPixels, etc?
|
|
||||||
|
|
||||||
Resolved: No, we're only concerned with pixel packing. There are other
|
|
||||||
solutions for inverting images when using glDrawPixels (negative Y pixel
|
|
||||||
zoom) or glTexImage (invert the vertex T coordinates). It would be easy
|
|
||||||
enough to define a complementary extension for pixel packing in the
|
|
||||||
future if needed.
|
|
||||||
|
|
||||||
New Procedures and Functions
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
New Tokens
|
|
||||||
|
|
||||||
Accepted by the <pname> parameter of PixelStorei and PixelStoref
|
|
||||||
and the <pname> parameter of GetIntegerv, GetFloatv, GetDoublev
|
|
||||||
and GetBooleanv:
|
|
||||||
|
|
||||||
PACK_INVERT_MESA 0x8758
|
|
||||||
|
|
||||||
Additions to Chapter 2 of the OpenGL 1.4 Specification (OpenGL Operation)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to Chapter 4 of the OpenGL 1.4 Specification (Per-Fragment
|
|
||||||
Operations and the Frame Buffer)
|
|
||||||
|
|
||||||
Add the following entry to table 4.4 (PixelStore parameters) on page 182:
|
|
||||||
|
|
||||||
Parameter Name Type Initial Value Valid Range
|
|
||||||
---------------------------------------------------------
|
|
||||||
PACK_INVERT_MESA boolean FALSE TRUE/FALSE
|
|
||||||
|
|
||||||
In the section labeled "Placement in Client Memory" on page 184
|
|
||||||
insert the following text into the paragraph before the sentence
|
|
||||||
that starts with "If the format is RED, GREEN, BLUE...":
|
|
||||||
|
|
||||||
"The parameter PACK_INVERT_MESA controls whether the image is packed
|
|
||||||
in bottom-to-top order (the default) or top-to-bottom order. Equation
|
|
||||||
3.8 is modified as follows:
|
|
||||||
|
|
||||||
... the first element of the Nth row is indicated by
|
|
||||||
|
|
||||||
p + Nk, if PACK_INVERT_MESA is false
|
|
||||||
p + k * (H - 1) - Nk, if PACK_INVERT_MESA is true, where H is the
|
|
||||||
image height
|
|
||||||
"
|
|
||||||
|
|
||||||
Additions to Chapter 5 of the OpenGL 1.4 Specification (Special Functions)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to Chapter 6 of the OpenGL 1.4 Specification (State and
|
|
||||||
State Requests)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to Appendix A of the OpenGL 1.4 Specification (Invariance)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to the AGL/GLX/WGL Specifications
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
GLX Protocol
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Errors
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
New State
|
|
||||||
|
|
||||||
Add the following entry to table 6.20 (Pixels) on page 235:
|
|
||||||
|
|
||||||
Get Value Type Get Cmd Initial Value Description Sec Attribute
|
|
||||||
--------------------------------------------------------------------------------------------------
|
|
||||||
PACK_INVERT_MESA boolean GetBoolean FALSE Value of PACK_INVERT_MESA 4.3.2 pixel-store
|
|
||||||
|
|
||||||
Revision History
|
|
||||||
|
|
||||||
21 September 2002 - Initial draft
|
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
|
XXX - Not complete yet!!!
|
||||||
|
|
||||||
Name
|
Name
|
||||||
|
|
||||||
MESA_packed_depth_stencil
|
MESA_packed_depth_stencil
|
||||||
@@ -13,11 +15,11 @@ Contact
|
|||||||
|
|
||||||
Status
|
Status
|
||||||
|
|
||||||
Obsolete.
|
Not yet shipping.
|
||||||
|
|
||||||
Version
|
Version
|
||||||
|
|
||||||
$Id: MESA_packed_depth_stencil.spec,v 1.2 2003/09/19 14:58:21 brianp Exp $
|
$Id: MESA_packed_depth_stencil.spec,v 1.1 2000/11/03 14:58:45 brianp Exp $
|
||||||
|
|
||||||
Number
|
Number
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ Name Strings
|
|||||||
|
|
||||||
Contact
|
Contact
|
||||||
|
|
||||||
Brian Paul (brian.paul 'at' tungstengraphics.com)
|
Brian Paul (brian 'at' mesa3d.org)
|
||||||
|
|
||||||
Status
|
Status
|
||||||
|
|
||||||
|
|||||||
@@ -1,357 +0,0 @@
|
|||||||
Name
|
|
||||||
|
|
||||||
MESA_program_debug
|
|
||||||
|
|
||||||
Name Strings
|
|
||||||
|
|
||||||
GL_MESA_program_debug
|
|
||||||
|
|
||||||
Contact
|
|
||||||
|
|
||||||
Brian Paul (brian.paul 'at' tungstengraphics.com)
|
|
||||||
|
|
||||||
Status
|
|
||||||
|
|
||||||
XXX - Not complete yet!!!
|
|
||||||
|
|
||||||
Version
|
|
||||||
|
|
||||||
Last Modified Date: July 20, 2003
|
|
||||||
Author Revision: 1.0
|
|
||||||
$Date: 2004/03/25 01:42:41 $ $Revision: 1.4 $
|
|
||||||
|
|
||||||
Number
|
|
||||||
|
|
||||||
TBD
|
|
||||||
|
|
||||||
Dependencies
|
|
||||||
|
|
||||||
OpenGL 1.4 is required
|
|
||||||
The extension is written against the OpenGL 1.4 specification.
|
|
||||||
ARB_vertex_program or ARB_fragment_program or NV_vertex_program
|
|
||||||
or NV_fragment_program is required.
|
|
||||||
|
|
||||||
Overview
|
|
||||||
|
|
||||||
The extension provides facilities for implementing debuggers for
|
|
||||||
vertex and fragment programs.
|
|
||||||
|
|
||||||
The concept is that vertex and fragment program debuggers will be
|
|
||||||
implemented outside of the GL as a utility package. This extension
|
|
||||||
only provides the minimal hooks required to implement a debugger.
|
|
||||||
|
|
||||||
There are facilities to do the following:
|
|
||||||
1. Have the GL call a user-specified function prior to executing
|
|
||||||
each vertex or fragment instruction.
|
|
||||||
2. Query the current program string's execution position.
|
|
||||||
3. Query the current values of intermediate program values.
|
|
||||||
|
|
||||||
The main feature is the ProgramCallbackMESA function. It allows the
|
|
||||||
user to register a callback function with the GL. The callback will
|
|
||||||
be called prior to executing each vertex or fragment program instruction.
|
|
||||||
|
|
||||||
From within the callback, the user may issue Get* commands to
|
|
||||||
query current GL state. The GetProgramRegisterfvMESA function allows
|
|
||||||
current program values to be queried (such as temporaries, input
|
|
||||||
attributes, and result registers).
|
|
||||||
|
|
||||||
There are flags for enabling/disabling the program callbacks.
|
|
||||||
|
|
||||||
The current execution position (as an offset from the start of the
|
|
||||||
program string) can be queried with
|
|
||||||
GetIntegerv(GL_FRAGMENT_PROGRAM_POSITION_MESA, &pos) or
|
|
||||||
GetIntegerv(GL_VERTEX_PROGRAM_POSITION_MESA, &pos).
|
|
||||||
|
|
||||||
|
|
||||||
IP Status
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Issues
|
|
||||||
|
|
||||||
1. Is this the right model for a debugger?
|
|
||||||
|
|
||||||
It seems prudent to minimize the scope of this extension and leave
|
|
||||||
it up to the developer (or developer community) to write debuggers
|
|
||||||
that layer on top of this extension.
|
|
||||||
|
|
||||||
If the debugger were fully implemented within the GL it's not
|
|
||||||
clear how terminal and GUI-based interfaces would work, for
|
|
||||||
example.
|
|
||||||
|
|
||||||
2. There aren't any other extensions that register callbacks with
|
|
||||||
the GL. Isn't there another solution?
|
|
||||||
|
|
||||||
If we want to be able to single-step through vertex/fragment
|
|
||||||
programs I don't see another way to do it.
|
|
||||||
|
|
||||||
3. How do we prevent the user from doing something crazy in the
|
|
||||||
callback function, like trying to call glBegin (leading to
|
|
||||||
recursion)?
|
|
||||||
|
|
||||||
The rule is that the callback function can only issue glGet*()
|
|
||||||
functions and no other GL commands. It could be difficult to
|
|
||||||
enforce this, however. Therefore, calling any non-get GL
|
|
||||||
command from within the callback will result in undefined
|
|
||||||
results.
|
|
||||||
|
|
||||||
4. Is this extension amenable to hardware implementation?
|
|
||||||
|
|
||||||
Hopefully, but if not, the GL implementation will have to fall
|
|
||||||
back to a software path when debugging. This may be acceptable
|
|
||||||
for debugging.
|
|
||||||
|
|
||||||
5. What's the <data> parameter to ProgramCallbackMESA for?
|
|
||||||
|
|
||||||
It's a common programming practice to associate a user-supplied
|
|
||||||
value with callback functions.
|
|
||||||
|
|
||||||
6. Debuggers often allow one to modify intermediate program values,
|
|
||||||
then continue. Does this extension support that?
|
|
||||||
|
|
||||||
No.
|
|
||||||
|
|
||||||
|
|
||||||
New Procedures and Functions (and datatypes)
|
|
||||||
|
|
||||||
typedef void (*programcallbackMESA)(enum target, void *data)
|
|
||||||
|
|
||||||
void ProgramCallbackMESA(enum target, programcallbackMESA callback,
|
|
||||||
void *data)
|
|
||||||
|
|
||||||
void GetProgramRegisterfvMESA(enum target, sizei len,
|
|
||||||
const ubyte *registerName, float *v)
|
|
||||||
|
|
||||||
New Tokens
|
|
||||||
|
|
||||||
Accepted by the <cap> parameter of Enable, Disable, IsEnabled,
|
|
||||||
GetBooleanv, GetDoublev, GetFloatv and GetIntegerv:
|
|
||||||
|
|
||||||
FRAGMENT_PROGRAM_CALLBACK_MESA 0x8bb1
|
|
||||||
VERTEX_PROGRAM_CALLBACK_MESA 0x8bb4
|
|
||||||
|
|
||||||
Accepted by the <pname> parameter GetBooleanv, GetDoublev,
|
|
||||||
GetFloatv and GetIntegerv:
|
|
||||||
|
|
||||||
FRAGMENT_PROGRAM_POSITION_MESA 0x8bb0
|
|
||||||
VERTEX_PROGRAM_POSITION_MESA 0x8bb4
|
|
||||||
|
|
||||||
Accepted by the <pname> parameter of GetPointerv:
|
|
||||||
|
|
||||||
FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA 0x8bb2
|
|
||||||
FRAGMENT_PROGRAM_CALLBACK_DATA_MESA 0x8bb3
|
|
||||||
VERTEX_PROGRAM_CALLBACK_FUNC_MESA 0x8bb6
|
|
||||||
VERTEX_PROGRAM_CALLBACK_DATA_MESA 0x8bb7
|
|
||||||
|
|
||||||
Additions to Chapter 2 of the OpenGL 1.4 Specification (OpenGL Operation)
|
|
||||||
|
|
||||||
None.
|
|
||||||
|
|
||||||
Additions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization)
|
|
||||||
|
|
||||||
None.
|
|
||||||
|
|
||||||
Additions to Chapter 4 of the OpenGL 1.4 Specification (Per-Fragment
|
|
||||||
Operations and the Frame Buffer)
|
|
||||||
|
|
||||||
None.
|
|
||||||
|
|
||||||
Additions to Chapter 5 of the OpenGL 1.4 Specification (Special Functions)
|
|
||||||
|
|
||||||
In section 5.4 "Display Lists", page 202, add the following command
|
|
||||||
to the list of those that are not compiled into display lists:
|
|
||||||
|
|
||||||
ProgramCallbackMESA.
|
|
||||||
|
|
||||||
|
|
||||||
Add a new section 5.7 "Callback Functions"
|
|
||||||
|
|
||||||
The function
|
|
||||||
|
|
||||||
void ProgramCallbackMESA(enum target, programcallbackMESA callback,
|
|
||||||
void *data)
|
|
||||||
|
|
||||||
registers a user-defined callback function with the GL. <target>
|
|
||||||
may be FRAGMENT_PROGRAM_ARB or VERTEX_PROGRAM_ARB. The enabled
|
|
||||||
callback functions registered with these targets will be called
|
|
||||||
prior to executing each instruction in the current fragment or
|
|
||||||
vertex program, respectively. The callbacks are enabled and
|
|
||||||
disabled by calling Enable or Disable with <cap>
|
|
||||||
FRAGMENT_PROGRAM_ARB or VERTEX_PROGRAM_ARB.
|
|
||||||
|
|
||||||
The callback function's signature must match the typedef
|
|
||||||
|
|
||||||
typedef void (*programcallbackMESA)(enum target, void *data)
|
|
||||||
|
|
||||||
When the callback function is called, <target> will either be
|
|
||||||
FRAGMENT_PROGRAM_ARB or VERTEX_PROGRAM_ARB to indicate which
|
|
||||||
program is currently executing and <data> will be the value
|
|
||||||
specified when ProgramCallbackMESA was called.
|
|
||||||
|
|
||||||
From within the callback function, only the following GL commands
|
|
||||||
may be called:
|
|
||||||
|
|
||||||
GetBooleanv
|
|
||||||
GetDoublev
|
|
||||||
GetFloatv
|
|
||||||
GetIntegerv
|
|
||||||
GetProgramLocalParameter
|
|
||||||
GetProgramEnvParameter
|
|
||||||
GetProgramRegisterfvMESA
|
|
||||||
GetProgramivARB
|
|
||||||
GetProgramStringARB
|
|
||||||
GetError
|
|
||||||
|
|
||||||
Calling any other command from within the callback results in
|
|
||||||
undefined behaviour.
|
|
||||||
|
|
||||||
|
|
||||||
Additions to Chapter 6 of the OpenGL 1.4 Specification (State and
|
|
||||||
State Requests)
|
|
||||||
|
|
||||||
Add a new section 6.1.3 "Program Value Queries":
|
|
||||||
|
|
||||||
The command
|
|
||||||
|
|
||||||
void GetProgramRegisterfvMESA(enum target, sizei len,
|
|
||||||
const ubyte *registerName,
|
|
||||||
float *v)
|
|
||||||
|
|
||||||
Is used to query the value of program variables and registers
|
|
||||||
during program execution. GetProgramRegisterfvMESA may only be
|
|
||||||
called from within a callback function registered with
|
|
||||||
ProgramCallbackMESA.
|
|
||||||
|
|
||||||
<registerName> and <len> specify the name a variable, input
|
|
||||||
attribute, temporary, or result register in the program string.
|
|
||||||
The current value of the named variable is returned as four
|
|
||||||
values in <v>. If <name> doesn't exist in the program string,
|
|
||||||
the error INVALID_OPERATION is generated.
|
|
||||||
|
|
||||||
Additions to Appendix A of the OpenGL 1.4 Specification (Invariance)
|
|
||||||
|
|
||||||
None.
|
|
||||||
|
|
||||||
Additions to the AGL/GLX/WGL Specifications
|
|
||||||
|
|
||||||
None.
|
|
||||||
|
|
||||||
GLX Protocol
|
|
||||||
|
|
||||||
XXX TBD
|
|
||||||
|
|
||||||
Dependencies on NV_vertex_program and NV_fragment_program
|
|
||||||
|
|
||||||
If NV_vertex_program and/or NV_fragment_program are supported,
|
|
||||||
vertex and/or fragment programs defined by those extensions may
|
|
||||||
be debugged as well. Register queries will use the syntax used
|
|
||||||
by those extensions (i.e. "v[X]" to query vertex attributes,
|
|
||||||
"o[X]" for vertex outputs, etc.)
|
|
||||||
|
|
||||||
Errors
|
|
||||||
|
|
||||||
INVALID_OPERATION is generated if ProgramCallbackMESA is called
|
|
||||||
between Begin and End.
|
|
||||||
|
|
||||||
INVALID_ENUM is generated by ProgramCallbackMESA if <target> is not
|
|
||||||
a supported vertex or fragment program type.
|
|
||||||
|
|
||||||
Note: INVALID_OPERAION IS NOT generated by GetProgramRegisterfvMESA,
|
|
||||||
GetBooleanv, GetDoublev, GetFloatv, or GetIntegerv if called between
|
|
||||||
Begin and End when a vertex or fragment program is currently executing.
|
|
||||||
|
|
||||||
INVALID_ENUM is generated by ProgramCallbackMESA,
|
|
||||||
GetProgramRegisterfvMESA if <target> is not a program target supported
|
|
||||||
by ARB_vertex_program, ARB_fragment_program (or NV_vertex_program or
|
|
||||||
NV_fragment_program).
|
|
||||||
|
|
||||||
INVALID_VALUE is generated by GetProgramRegisterfvMESA if <registerName>
|
|
||||||
does not name a known program register or variable.
|
|
||||||
|
|
||||||
INVALID_OPERATION is generated by GetProgramRegisterfvMESA when a
|
|
||||||
register query is attempted for a program target that's not currently
|
|
||||||
being executed.
|
|
||||||
|
|
||||||
|
|
||||||
New State
|
|
||||||
|
|
||||||
XXX finish
|
|
||||||
|
|
||||||
(table 6.N, p. ###)
|
|
||||||
Initial
|
|
||||||
Get Value Type Get Command Value Description Sec. Attribute
|
|
||||||
--------- ---- ----------- ----- ----------- ---- ---------
|
|
||||||
FRAGMENT_PROGRAM_CALLBACK_MESA B IsEnabled FALSE XXX XXX enable
|
|
||||||
VERTEX_PROGRAM_CALLBACK_MESA B IsEnabled FALSE XXX XXX enable
|
|
||||||
FRAGMENT_PROGRAM_POSITION_MESA Z+ GetIntegerv -1 XXX XXX -
|
|
||||||
VERTEX_PROGRAM_POSITION_MESA Z+ GetIntegerv -1 XXX XXX -
|
|
||||||
FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA P GetPointerv NULL XXX XXX -
|
|
||||||
VERTEX_PROGRAM_CALLBACK_FUNC_MESA P GetPointerv NULL XXX XXX -
|
|
||||||
FRAGMENT_PROGRAM_CALLBACK_DATA_MESA P GetPointerv NULL XXX XXX -
|
|
||||||
VERTEX_PROGRAM_CALLBACK_DATA_MESA P GetPointerv NULL XXX XXX -
|
|
||||||
|
|
||||||
XXX more?
|
|
||||||
|
|
||||||
New Implementation Dependent State
|
|
||||||
|
|
||||||
None.
|
|
||||||
|
|
||||||
Revision History
|
|
||||||
|
|
||||||
8 July 2003
|
|
||||||
Initial draft. (Brian Paul)
|
|
||||||
11 July 2003
|
|
||||||
Second draft. (Brian Paul)
|
|
||||||
20 July 2003
|
|
||||||
Third draft. Lots of fundamental changes. (Brian Paul)
|
|
||||||
23 July 2003
|
|
||||||
Added chapter 5 and 6 spec language. (Brian Paul)
|
|
||||||
|
|
||||||
Example Usage
|
|
||||||
|
|
||||||
The following is a very simple example of how this extension may
|
|
||||||
be used to print the values of R0, R1, R2 and R3 while executing
|
|
||||||
vertex programs.
|
|
||||||
|
|
||||||
|
|
||||||
/* This is called by the GL when the vertex program is executing.
|
|
||||||
* We can only make glGet* calls from within this function!
|
|
||||||
*/
|
|
||||||
void DebugCallback(GLenum target, GLvoid *data)
|
|
||||||
{
|
|
||||||
GLint pos;
|
|
||||||
GLuint i;
|
|
||||||
|
|
||||||
/* Get PC and current instruction string */
|
|
||||||
glGetIntegerv(GL_VERTEX_PROGRAM_POSITION_ARB, &pos);
|
|
||||||
|
|
||||||
printf("Current position: %d\n", pos);
|
|
||||||
|
|
||||||
printf("Current temporary registers:\n");
|
|
||||||
for (i = 0; i < 4; i++) {
|
|
||||||
GLfloat v[4];
|
|
||||||
char s[10];
|
|
||||||
sprintf(s, "R%d", i);
|
|
||||||
glGetProgramRegisterfvMESA(GL_VERTEX_PROGRAM_ARB, strlen(s), s, v);
|
|
||||||
printf("R%d = %g, %g, %g, %g\n", i, v[0], v[1], v[2], v[3]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* elsewhere...
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Register our debugger callback function */
|
|
||||||
glProgramCallbackMESA(GL_VERTEX_PROGRAM_ARB, DebugCallback, NULL);
|
|
||||||
glEnable(GL_VERTEX_PROGRAM_CALLBACK_MESA);
|
|
||||||
|
|
||||||
/* define/bind a vertex program */
|
|
||||||
|
|
||||||
glEnable(GL_VERTEX_PROGRAM);
|
|
||||||
|
|
||||||
/* render something */
|
|
||||||
glBegin(GL_POINTS);
|
|
||||||
glVertex2f(0, 0);
|
|
||||||
glEnd();
|
|
||||||
|
|
||||||
@@ -8,7 +8,7 @@ Name Strings
|
|||||||
|
|
||||||
Contact
|
Contact
|
||||||
|
|
||||||
Brian Paul (brian.paul 'at' tungstengraphics.com)
|
Brian Paul (brian 'at' mesa3d.org)
|
||||||
|
|
||||||
Status
|
Status
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ Name Strings
|
|||||||
|
|
||||||
Contact
|
Contact
|
||||||
|
|
||||||
Brian Paul (brian.paul 'at' tungstengraphics.com)
|
Brian Paul, brianp 'at' mesa3d.org
|
||||||
|
|
||||||
Status
|
Status
|
||||||
|
|
||||||
@@ -16,7 +16,7 @@ Status
|
|||||||
|
|
||||||
Version
|
Version
|
||||||
|
|
||||||
$Id: MESA_resize_buffers.spec,v 1.3 2004/03/25 01:42:42 brianp Exp $
|
$Id: MESA_resize_buffers.spec,v 1.2 2000/04/04 23:29:32 brianp Exp $
|
||||||
|
|
||||||
Number
|
Number
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ Name Strings
|
|||||||
|
|
||||||
Contact
|
Contact
|
||||||
|
|
||||||
Brian Paul (brian.paul 'at' tungstengraphics.com)
|
Brian Paul (brian 'at' mesa3d.org)
|
||||||
|
|
||||||
Status
|
Status
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
XXX - Not complete yet!!!
|
||||||
|
|
||||||
Name
|
Name
|
||||||
|
|
||||||
MESA_sprite_point
|
MESA_sprite_point
|
||||||
@@ -12,11 +14,11 @@ Contact
|
|||||||
|
|
||||||
Status
|
Status
|
||||||
|
|
||||||
Obsolete - see GL_ARB_point_sprite.
|
Not yet shipping.
|
||||||
|
|
||||||
Version
|
Version
|
||||||
|
|
||||||
$Id: MESA_sprite_point.spec,v 1.2 2003/09/19 14:58:21 brianp Exp $
|
$Id: MESA_sprite_point.spec,v 1.1 2000/12/08 00:21:02 brianp Exp $
|
||||||
|
|
||||||
Number
|
Number
|
||||||
|
|
||||||
|
|||||||
@@ -1,132 +0,0 @@
|
|||||||
Name
|
|
||||||
|
|
||||||
MESA_swap_control
|
|
||||||
|
|
||||||
Name Strings
|
|
||||||
|
|
||||||
GLX_MESA_swap_control
|
|
||||||
|
|
||||||
Contact
|
|
||||||
|
|
||||||
Ian Romanick, IBM, idr at us.ibm.com
|
|
||||||
|
|
||||||
Status
|
|
||||||
|
|
||||||
Deployed in DRI drivers post-XFree86 4.3.
|
|
||||||
|
|
||||||
Version
|
|
||||||
|
|
||||||
Date: 5/1/2003 Revision: 1.1
|
|
||||||
|
|
||||||
Number
|
|
||||||
|
|
||||||
???
|
|
||||||
|
|
||||||
Dependencies
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Based on GLX_SGI_swap_control version 1.9 and WGL_EXT_swap_control
|
|
||||||
version 1.5.
|
|
||||||
|
|
||||||
Overview
|
|
||||||
|
|
||||||
This extension allows an application to specify a minimum periodicity
|
|
||||||
of color buffer swaps, measured in video frame periods.
|
|
||||||
|
|
||||||
Issues
|
|
||||||
|
|
||||||
* Should implementations that export GLX_MESA_swap_control also export
|
|
||||||
GL_EXT_swap_control for compatibility with WGL_EXT_swap_control?
|
|
||||||
|
|
||||||
UNRESOLVED.
|
|
||||||
|
|
||||||
New Procedures and Functions
|
|
||||||
|
|
||||||
int glXSwapIntervalMESA(int interval)
|
|
||||||
int glXGetSwapIntervalMESA(void)
|
|
||||||
|
|
||||||
New Tokens
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to Chapter 2 of the 1.4 GL Specification (OpenGL Operation)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to Chapter 3 of the 1.4 GL Specification (Rasterization)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to Chapter 4 of the 1.4 GL Specification (Per-Fragment Operations
|
|
||||||
and the Framebuffer)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to Chapter 5 of the 1.4 GL Specification (Special Functions)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to Chapter 6 of the 1.4 GL Specification (State and State Requests)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to the GLX 1.3 Specification
|
|
||||||
|
|
||||||
[Add the following to Section 3.3.10 of the GLX Specification (Double
|
|
||||||
Buffering)]
|
|
||||||
|
|
||||||
glXSwapIntervalMESA specifies the minimum number of video frame periods
|
|
||||||
per buffer swap. (e.g. a value of two means that the color buffers
|
|
||||||
will be swapped at most every other video frame.) A return value
|
|
||||||
of zero indicates success; otherwise an error occurred. The interval
|
|
||||||
takes effect when glXSwapBuffers is first called subsequent to the
|
|
||||||
glXSwapIntervalMESA call.
|
|
||||||
|
|
||||||
A video frame period is the time required by the monitor to display a
|
|
||||||
full frame of video data. In the case of an interlaced monitor,
|
|
||||||
this is typically the time required to display both the even and odd
|
|
||||||
fields of a frame of video data.
|
|
||||||
|
|
||||||
If <interval> is set to a value of 0, buffer swaps are not synchron-
|
|
||||||
ized to a video frame. The <interval> value is silently clamped to
|
|
||||||
the maximum implementation-dependent value supported before being
|
|
||||||
stored.
|
|
||||||
|
|
||||||
The swap interval is not part of the render context state. It cannot
|
|
||||||
be pushed or popped. The current swap interval for the window
|
|
||||||
associated with the current context can be obtained by calling
|
|
||||||
glXGetSwapIntervalMESA. The default swap interval is 0.
|
|
||||||
|
|
||||||
On XFree86, setting the environment variable LIBGL_THROTTLE_REFRESH sets
|
|
||||||
the swap interval to 1.
|
|
||||||
|
|
||||||
Errors
|
|
||||||
|
|
||||||
glXSwapIntervalMESA returns GLX_BAD_VALUE if parameter <interval> is
|
|
||||||
less than zero.
|
|
||||||
|
|
||||||
glXSwapIntervalMESA returns GLX_BAD_CONTEXT if there is no current
|
|
||||||
GLXContext.
|
|
||||||
|
|
||||||
GLX Protocol
|
|
||||||
|
|
||||||
None. This extension only extends to direct rendering contexts.
|
|
||||||
|
|
||||||
New State
|
|
||||||
|
|
||||||
Get Value Get Command Type Initial Value
|
|
||||||
--------- ----------- ---- -------------
|
|
||||||
[swap interval] GetSwapInterval Z+ 0
|
|
||||||
|
|
||||||
New Implementation Dependent State
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
|
|
||||||
Revision History
|
|
||||||
|
|
||||||
1.1, 5/1/03 Added the issues section and contact information.
|
|
||||||
Changed the default swap interval to 0.
|
|
||||||
1.0, 3/17/03 Initial version based on GLX_SGI_swap_control and
|
|
||||||
WGL_EXT_swap_control.
|
|
||||||
@@ -1,201 +0,0 @@
|
|||||||
Name
|
|
||||||
|
|
||||||
MESA_swap_frame_usage
|
|
||||||
|
|
||||||
Name Strings
|
|
||||||
|
|
||||||
GLX_MESA_swap_frame_usage
|
|
||||||
|
|
||||||
Contact
|
|
||||||
|
|
||||||
Ian Romanick, IBM, idr at us.ibm.com
|
|
||||||
|
|
||||||
Status
|
|
||||||
|
|
||||||
Deployed in DRI drivers post-XFree86 4.3.
|
|
||||||
|
|
||||||
Version
|
|
||||||
|
|
||||||
Date: 5/1/2003 Revision: 1.1
|
|
||||||
|
|
||||||
Number
|
|
||||||
|
|
||||||
???
|
|
||||||
|
|
||||||
Dependencies
|
|
||||||
|
|
||||||
GLX_SGI_swap_control affects the definition of this extension.
|
|
||||||
GLX_MESA_swap_control affects the definition of this extension.
|
|
||||||
GLX_OML_sync_control affects the definition of this extension.
|
|
||||||
|
|
||||||
Based on WGL_I3D_swap_frame_usage version 1.3.
|
|
||||||
|
|
||||||
Overview
|
|
||||||
|
|
||||||
This extension allows an application to deterine what portion of the
|
|
||||||
swap period has elapsed since the last swap operation completed. The
|
|
||||||
"usage" value is a floating point value on the range [0,max] which is
|
|
||||||
calculated as follows:
|
|
||||||
|
|
||||||
td
|
|
||||||
percent = ----
|
|
||||||
tf
|
|
||||||
|
|
||||||
where td is the time measured from the last completed buffer swap (or
|
|
||||||
call to enable the statistic) to when the next buffer swap completes, tf
|
|
||||||
is the entire time for a frame which may be multiple screen refreshes
|
|
||||||
depending on the swap interval as set by the GLX_SGI_swap_control or
|
|
||||||
GLX_OML_sync_control extensions.
|
|
||||||
|
|
||||||
The value, percent, indicates the amount of time spent between the
|
|
||||||
completion of the two swaps. If the value is in the range [0,1], the
|
|
||||||
buffer swap occurred within the time period required to maintain a
|
|
||||||
constant frame rate. If the value is in the range (1,max], a constant
|
|
||||||
frame rate was not achieved. The value indicates the number of frames
|
|
||||||
required to draw.
|
|
||||||
|
|
||||||
This definition of "percent" differs slightly from
|
|
||||||
WGL_I3D_swap_frame_usage. In WGL_I3D_swap_frame_usage, the measurement
|
|
||||||
is taken from the completion of one swap to the issuance of the next.
|
|
||||||
This representation may not be as useful as measuring between
|
|
||||||
completions, as a significant amount of time may pass between the
|
|
||||||
issuance of a swap and the swap actually occuring.
|
|
||||||
|
|
||||||
There is also a mechanism to determine whether a frame swap was
|
|
||||||
missed.
|
|
||||||
|
|
||||||
New Procedures and Functions
|
|
||||||
|
|
||||||
int glXGetFrameUsageMESA(Display *dpy,
|
|
||||||
GLXDrawable drawable,
|
|
||||||
float *usage)
|
|
||||||
|
|
||||||
int glXBeginFrameTrackingMESA(Display *dpy,
|
|
||||||
GLXDrawable drawable)
|
|
||||||
|
|
||||||
int glXEndFrameTrackingMESA(Display *dpy,
|
|
||||||
GLXDrawable drawable)
|
|
||||||
|
|
||||||
int glXQueryFrameTrackingMESA(Display *dpy,
|
|
||||||
GLXDrawable drawable,
|
|
||||||
int64_t *swapCount,
|
|
||||||
int64_t *missedFrames,
|
|
||||||
float *lastMissedUsage)
|
|
||||||
|
|
||||||
New Tokens
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to Chapter 2 of the 1.4 GL Specification (OpenGL Operation)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to Chapter 3 of the 1.4 GL Specification (Rasterization)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to Chapter 4 of the 1.4 GL Specification (Per-Fragment Operations
|
|
||||||
and the Framebuffer)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to Chapter 5 of the 1.4 GL Specification (Special Functions)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to Chapter 6 of the 1.4 GL Specification (State and State Requests)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to the GLX 1.3 Specification
|
|
||||||
|
|
||||||
The frame usage is measured as the percentage of the swap period elapsed
|
|
||||||
between two buffer-swap operations being commited. In unextened GLX the
|
|
||||||
swap period is the vertical refresh time. If SGI_swap_control or
|
|
||||||
MESA_swap_control are supported, the swap period is the vertical refresh
|
|
||||||
time multiplied by the swap interval (or one if the swap interval is set
|
|
||||||
to zero).
|
|
||||||
|
|
||||||
If OML_sync_control is supported, the swap period is the vertical
|
|
||||||
refresh time multiplied by the divisor parameter to
|
|
||||||
glXSwapBuffersMscOML. The frame usage in this case is less than 1.0 if
|
|
||||||
the swap is commited before target_msc, and is greater than or equal to
|
|
||||||
1.0 otherwise. The actual usage value is based on the divisor and is
|
|
||||||
never less than 0.0.
|
|
||||||
|
|
||||||
int glXBeginFrameTrackingMESA(Display *dpy,
|
|
||||||
GLXDrawable drawable,
|
|
||||||
float *usage)
|
|
||||||
|
|
||||||
glXGetFrameUsageMESA returns a floating-point value in <usage>
|
|
||||||
that represents the current swap usage, as defined above.
|
|
||||||
|
|
||||||
Missed frame swaps can be tracked by calling the following function:
|
|
||||||
|
|
||||||
int glXBeginFrameTrackingMESA(Display *dpy,
|
|
||||||
GLXDrawable drawable)
|
|
||||||
|
|
||||||
glXBeginFrameTrackingMESA resets a "missed frame" count and
|
|
||||||
synchronizes with the next frame vertical sync before it returns.
|
|
||||||
If a swap is missed based in the rate control specified by the
|
|
||||||
<interval> set by glXSwapIntervalSGI or the default swap of once
|
|
||||||
per frame, the missed frame count is incremented.
|
|
||||||
|
|
||||||
The current missed frame count and total number of swaps since
|
|
||||||
the last call to glXBeginFrameTrackingMESA can be obtained by
|
|
||||||
callling the following function:
|
|
||||||
|
|
||||||
int glXQueryFrameTrackingMESA(Display *dpy,
|
|
||||||
GLXDrawable drawable,
|
|
||||||
int64_t *swapCount,
|
|
||||||
int64_t *missedFrames,
|
|
||||||
float *lastMissedUsage)
|
|
||||||
|
|
||||||
The location pointed to by <swapCount> will be updated with the
|
|
||||||
number of swaps that have been commited. This value may not match the
|
|
||||||
number of swaps that have been requested since swaps may be
|
|
||||||
queued by the implementation. This function can be called at any
|
|
||||||
time and does not synchronize to vertical blank.
|
|
||||||
|
|
||||||
The location pointed to by <missedFrames> will contain the number
|
|
||||||
swaps that missed the specified frame. The frame usage for the
|
|
||||||
last missed frame is returned in the location pointed to by
|
|
||||||
<lastMissedUsage>.
|
|
||||||
|
|
||||||
Frame tracking is disabled by calling the function
|
|
||||||
|
|
||||||
int glXEndFrameTrackingMESA(Display *dpy,
|
|
||||||
GLXDrawable drawable)
|
|
||||||
|
|
||||||
This function will not return until all swaps have occurred. The
|
|
||||||
application can call glXQueryFrameTrackingMESA for a final swap and
|
|
||||||
missed frame count.
|
|
||||||
|
|
||||||
If these functions are succesful, zero is returned. If the context
|
|
||||||
associated with dpy and drawable is not a direct context,
|
|
||||||
GLX_BAD_CONTEXT is returned.
|
|
||||||
|
|
||||||
Errors
|
|
||||||
|
|
||||||
If the function succeeds, zero is returned. If the function
|
|
||||||
fails, one of the following error codes is returned:
|
|
||||||
|
|
||||||
GLX_BAD_CONTEXT The current rendering context is not a direct
|
|
||||||
context.
|
|
||||||
|
|
||||||
GLX Protocol
|
|
||||||
|
|
||||||
None. This extension only extends to direct rendering contexts.
|
|
||||||
|
|
||||||
New State
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
New Implementation Dependent State
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Revision History
|
|
||||||
|
|
||||||
1.1, 5/1/03 Added contact information.
|
|
||||||
1.0, 3/17/03 Initial version based on WGL_I3D_swap_frame_usage.
|
|
||||||
@@ -4,7 +4,7 @@ Name
|
|||||||
|
|
||||||
Name Strings
|
Name Strings
|
||||||
|
|
||||||
GL_MESA_trace
|
GL_MESA_TRACE
|
||||||
|
|
||||||
Contact
|
Contact
|
||||||
|
|
||||||
@@ -13,11 +13,11 @@ Contact
|
|||||||
|
|
||||||
Status
|
Status
|
||||||
|
|
||||||
Obsolete.
|
XXX - Not complete yet!!!
|
||||||
|
|
||||||
Version
|
Version
|
||||||
|
|
||||||
$Id: MESA_trace.spec,v 1.4 2004/03/25 01:42:42 brianp Exp $
|
$Id: MESA_trace.spec,v 1.2 2001/01/29 16:10:18 brianp Exp $
|
||||||
|
|
||||||
Number
|
Number
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ Name Strings
|
|||||||
|
|
||||||
Contact
|
Contact
|
||||||
|
|
||||||
Brian Paul, brian.paul 'at' tungstengraphics.com
|
Brian Paul, brianp 'at' mesa3d.org
|
||||||
|
|
||||||
Status
|
Status
|
||||||
|
|
||||||
@@ -16,7 +16,7 @@ Status
|
|||||||
|
|
||||||
Version
|
Version
|
||||||
|
|
||||||
$Id: MESA_window_pos.spec,v 1.4 2004/03/25 01:42:42 brianp Exp $
|
$Id: MESA_window_pos.spec,v 1.3 2000/04/04 23:29:32 brianp Exp $
|
||||||
|
|
||||||
Number
|
Number
|
||||||
|
|
||||||
|
|||||||
@@ -1,204 +0,0 @@
|
|||||||
Name
|
|
||||||
|
|
||||||
MESA_ycbcr_texture
|
|
||||||
|
|
||||||
Name Strings
|
|
||||||
|
|
||||||
GL_MESA_ycbcr_texture
|
|
||||||
|
|
||||||
Contact
|
|
||||||
|
|
||||||
Brian Paul, Tungsten Graphics, Inc. (brian.paul 'at' tungstengraphics.com)
|
|
||||||
Keith Whitwell, Tungsten Graphics, Inc. (keith 'at' tungstengraphics.com)
|
|
||||||
|
|
||||||
Status
|
|
||||||
|
|
||||||
Shipping (Mesa 4.0.4 and later)
|
|
||||||
|
|
||||||
Version
|
|
||||||
|
|
||||||
1.0
|
|
||||||
|
|
||||||
Number
|
|
||||||
|
|
||||||
TBD
|
|
||||||
|
|
||||||
Dependencies
|
|
||||||
|
|
||||||
OpenGL 1.0 or later is required
|
|
||||||
This extensions is written against the OpenGL 1.4 Specification.
|
|
||||||
NV_texture_rectangle effects the definition of this extension.
|
|
||||||
|
|
||||||
Overview
|
|
||||||
|
|
||||||
This extension supports texture images stored in the YCbCr format.
|
|
||||||
There is no support for converting YCbCr images to RGB or vice versa
|
|
||||||
during pixel transfer. The texture's YCbCr colors are converted to
|
|
||||||
RGB during texture sampling, after-which, all the usual per-fragment
|
|
||||||
operations take place. Only 2D texture images are supported (not
|
|
||||||
glDrawPixels, glReadPixels, etc).
|
|
||||||
|
|
||||||
A YCbCr pixel (texel) is a 16-bit unsigned short with two components.
|
|
||||||
The first component is luminance (Y). For pixels in even-numbered
|
|
||||||
image columns, the second component is Cb. For pixels in odd-numbered
|
|
||||||
image columns, the second component is Cr. If one were to convert the
|
|
||||||
data to RGB one would need to examine two pixels from columns N and N+1
|
|
||||||
(where N is even) to deduce the RGB color.
|
|
||||||
|
|
||||||
IP Status
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Issues
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
New Procedures and Functions
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
New Tokens
|
|
||||||
|
|
||||||
Accepted by the <internalFormat> and <format> parameters of
|
|
||||||
TexImage2D and TexSubImage2D:
|
|
||||||
|
|
||||||
YCBCR_MESA 0x8757
|
|
||||||
|
|
||||||
Accepted by the <type> parameter of TexImage2D and TexSubImage2D:
|
|
||||||
|
|
||||||
UNSIGNED_SHORT_8_8_MESA 0x85BA /* same as Apple's */
|
|
||||||
UNSIGNED_SHORT_8_8_REV_MESA 0x85BB /* same as Apple's */
|
|
||||||
|
|
||||||
Additions to Chapter 2 of the OpenGL 1.4 Specification (OpenGL Operation)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to Chapter 3 of the OpenGL 1.4 Specification (Rasterization)
|
|
||||||
|
|
||||||
In section 3.6.4, Rasterization of Pixel Rectangles, on page 101,
|
|
||||||
add the following to Table 3.8 (Packed pixel formats):
|
|
||||||
|
|
||||||
type Parameter GL Data Number of Matching
|
|
||||||
Token Name Type Components Pixel Formats
|
|
||||||
-------------- ------- ---------- -------------
|
|
||||||
UNSIGNED_SHORT_8_8_MESA ushort 2 YCBCR_MESA
|
|
||||||
UNSIGNED_SHORT_8_8_REV_MESA ushort 2 YCBCR_MESA
|
|
||||||
|
|
||||||
|
|
||||||
In section 3.6.4, Rasterization of Pixel Rectangles, on page 102,
|
|
||||||
add the following to Table 3.10 (UNSIGNED_SHORT formats):
|
|
||||||
|
|
||||||
UNSIGNED_SHORT_8_8_MESA:
|
|
||||||
|
|
||||||
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
||||||
+-------------------------------+-------------------------------+
|
|
||||||
| 1st | 2nd |
|
|
||||||
+-------------------------------+-------------------------------+
|
|
||||||
|
|
||||||
UNSIGNED_SHORT_8_8_REV_MESA:
|
|
||||||
|
|
||||||
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
||||||
+-------------------------------+-------------------------------+
|
|
||||||
| 2nd | 1st |
|
|
||||||
+-------------------------------+-------------------------------+
|
|
||||||
|
|
||||||
|
|
||||||
In section 3.6.4, Rasterization of Pixel Rectangles, on page 104,
|
|
||||||
add the following to Table 3.12 (Packed pixel fiedl assignments):
|
|
||||||
|
|
||||||
First Second Third Fourth
|
|
||||||
Format Element Element Element Element
|
|
||||||
------ ------- ------- ------- -------
|
|
||||||
YCBCR_MESA luminance chroma
|
|
||||||
|
|
||||||
|
|
||||||
In section 3.8.1, Texture Image Specification, on page 125, add
|
|
||||||
another item to the list of TexImage2D and TexImage3D equivalence
|
|
||||||
exceptions:
|
|
||||||
|
|
||||||
* The value of internalformat and format may be YCBCR_MESA to
|
|
||||||
indicate that the image data is in YCbCr format. type must
|
|
||||||
be either UNSIGNED_SHORT_8_8_MESA or UNSIGNED_SHORT_8_8_REV_MESA
|
|
||||||
as seen in tables 3.8 and 3.10. Table 3.12 describes the mapping
|
|
||||||
between Y and Cb/Cr to the components.
|
|
||||||
If NV_texture_rectangle is supported target may also be
|
|
||||||
TEXTURE_RECTANGLE_NV or PROXY_TEXTURE_RECTANGLE_NV.
|
|
||||||
All pixel transfer operations are bypassed. The texture is stored as
|
|
||||||
YCbCr, not RGB. Queries of the texture's red, green and blue component
|
|
||||||
sizes will return zero. The YCbCr colors are converted to RGB during
|
|
||||||
texture sampling using an implementation dependent conversion.
|
|
||||||
|
|
||||||
|
|
||||||
In section 3.8.1, Texture Image Specification, on page 126, add
|
|
||||||
another item to the list of TexImage1D and TexImage2D equivalence
|
|
||||||
exceptions:
|
|
||||||
|
|
||||||
* The value of internalformat and format can not be YCBCR_MESA.
|
|
||||||
|
|
||||||
|
|
||||||
In section 3.8.2, Alternate Texture Image Specification Commands, on
|
|
||||||
page 129, insert this paragraph after the first full paragraph on the
|
|
||||||
page:
|
|
||||||
|
|
||||||
"If the internal storage format of the image being updated by
|
|
||||||
TexSubImage2D is YCBCR_MESA then format must be YCBCR_MESA.
|
|
||||||
The error INVALID_OPERATION will be generated otherwise."
|
|
||||||
|
|
||||||
|
|
||||||
Additions to Chapter 4 of the OpenGL 1.4 Specification (Per-Fragment
|
|
||||||
Operations and the Frame Buffer)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to Chapter 5 of the OpenGL 1.4 Specification (Special Functions)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to Chapter 6 of the OpenGL 1.4 Specification (State and
|
|
||||||
State Requests)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to Appendix A of the OpenGL 1.4 Specification (Invariance)
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Additions to the AGL/GLX/WGL Specifications
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
GLX Protocol
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
Errors
|
|
||||||
|
|
||||||
INVALID_ENUM is generated by TexImage2D if <internalFormat> is
|
|
||||||
MESA_YCBCR but <format> is not MESA_YCBCR.
|
|
||||||
|
|
||||||
INVALID_ENUM is generated by TexImage2D if <format> is MESA_YCBCR but
|
|
||||||
<internalFormat> is not MESA_YCBCR.
|
|
||||||
|
|
||||||
INVALID_VALUE is generated by TexImage2D if <format> is MESA_YCBCR and
|
|
||||||
<internalFormat> is MESA_YCBCR and <border> is not zero.
|
|
||||||
|
|
||||||
INVALID_OPERATION is generated by TexSubImage2D if the internal image
|
|
||||||
format is YCBCR_MESA and <format> is not YCBCR_MESA.
|
|
||||||
|
|
||||||
INVALID_OPERATION is generated by CopyTexSubImage2D if the internal
|
|
||||||
image is YCBCR_MESA.
|
|
||||||
|
|
||||||
New State
|
|
||||||
|
|
||||||
Edit table 6.16 on page 231: change the type of TEXTURE_INTERNAL_FORMAT
|
|
||||||
from n x Z42 to n x Z43 to indicate that internal format may also be
|
|
||||||
YCBCR_MESA.
|
|
||||||
|
|
||||||
Revision History
|
|
||||||
|
|
||||||
20 September 2002 - Initial draft
|
|
||||||
29 April 2003 - minor updates
|
|
||||||
3 September 2003 - further clarify when YCbCr->RGB conversion takes place
|
|
||||||
19 September 2003 - a few more updates prior to submitting to extension
|
|
||||||
registry.
|
|
||||||
3 April 2004 - fix assorted inaccuracies
|
|
||||||
@@ -1,547 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Mini GLX Specification</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<h1>
|
|
||||||
<center>Mini GLX Specification</center>
|
|
||||||
</h1>
|
|
||||||
<h2>
|
|
||||||
<center>Tungsten Graphics, Inc.<br>
|
|
||||||
<br>
|
|
||||||
January 20, 2003<br>
|
|
||||||
<br>
|
|
||||||
</center>
|
|
||||||
</h2>
|
|
||||||
<p> Copyright © 2002-2003 by Tungsten Graphics, Inc., Cedar Park,
|
|
||||||
Texas. All Rights Reserved. <br>
|
|
||||||
<br>
|
|
||||||
Permission is granted to make and distribute verbatim copies of this
|
|
||||||
document provided the copyright notice and this permission notice are
|
|
||||||
preserved on all copies.<br>
|
|
||||||
<br>
|
|
||||||
</p>
|
|
||||||
<h1>1. Introduction</h1>
|
|
||||||
<p>The Mini GLX interface facilitates OpenGL rendering on embedded
|
|
||||||
devices. The interface is a subset of the GLX interface, plus a minimal
|
|
||||||
set of Xlib-like functions.</p>
|
|
||||||
<p>Programs written to the Mini GLX specification should run unchanged
|
|
||||||
on systems with the X Window System and the GLX extension. The intention
|
|
||||||
is to allow flexibility for prototyping and testing.</p>
|
|
||||||
<p>This document serves as both the reference guide and programming
|
|
||||||
guide for Mini GLX.<br>
|
|
||||||
<br>
|
|
||||||
</p>
|
|
||||||
<h1>2. Mini GLX Concepts</h1>
|
|
||||||
<p>The OpenGL specification does not describe how OpenGL rendering
|
|
||||||
contexts and drawing surfaces (i.e. the frame buffer) are created and
|
|
||||||
managed. Rather, this is handled by an OpenGL window system interface,
|
|
||||||
such as Mini GLX.</p>
|
|
||||||
<p>There are three main datatypes or resources managed by Mini GLX. The
|
|
||||||
resources and their corresponding GLX or Xlib data types are:</p>
|
|
||||||
<table cellspacing="10" align="center">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td><u>Resource</u></td>
|
|
||||||
<td><u>Data type</u></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>pixel formats</td>
|
|
||||||
<td>X Visual and XVisualInfo</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>drawing surfaces</td>
|
|
||||||
<td>X Window or GLXDrawable</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>rendering contexts</td>
|
|
||||||
<td>GLXContext</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<p>Pixel formats or X Visuals describe the per-pixel attributes of the
|
|
||||||
frame buffer. For example, bits per color component, Z buffer size,
|
|
||||||
stencil size, TrueColor vs PseudoColor, etc.</p>
|
|
||||||
<p>Drawing surfaces or X Windows typically describe a spatial
|
|
||||||
allocation of the frame buffer (i.e. the position and size of a
|
|
||||||
rectangular region of pixels). Since MiniGLX doesn't really support a
|
|
||||||
window system, the window is effectively the entire frame buffer.</p>
|
|
||||||
<p>A rendering context represents the current OpenGL state such as
|
|
||||||
current drawing color, line width, blending mode, texture parameters,
|
|
||||||
etc. Several rendering contexts can be created but only one can be in
|
|
||||||
use at any given time.</p>
|
|
||||||
<p>The Mini GLX interface provides all the functions needed for
|
|
||||||
choosing pixel formats, create drawing surfaces, creating rendering
|
|
||||||
contexts and binding rendering contexts to drawing surfaces.<br>
|
|
||||||
<br>
|
|
||||||
</p>
|
|
||||||
<h1>3. Using Mini GLX</h1>
|
|
||||||
<p>To use the Mini GLX interface in your application, include the
|
|
||||||
GL/miniglx.h header file at compile time:</p>
|
|
||||||
<blockquote><code> #include <GL/miniglx.h><br>
|
|
||||||
</code></blockquote>
|
|
||||||
<code></code>Applications should link with libGL.so (i.e. <code>gcc
|
|
||||||
myprogram.o -lGL -o myprogram</code>). libGL.so implements the
|
|
||||||
MiniGLX API functions and, in turn, loads a hardware-specific device
|
|
||||||
driver (such as <code>radeon_dri.so</code>) at runtime. The
|
|
||||||
environment variable <code>LIBGL_DRIVERS_PATH</code> should name the
|
|
||||||
directory where these modules are located.<br>
|
|
||||||
<br>
|
|
||||||
Prior to running a MiniGXL application, the following kernel modules
|
|
||||||
must be installed:<br>
|
|
||||||
<br>
|
|
||||||
<div style="margin-left: 40px;"> agpgart.o<br>
|
|
||||||
radeonfb.o (assuming Radeon hardware)<br>
|
|
||||||
radeon.o (assuming Radeon hardware)<br>
|
|
||||||
</div>
|
|
||||||
<code></code> <br>
|
|
||||||
Finally, MiniGLX reads a configuration file (by default,<code>
|
|
||||||
/etc/miniglx.conf</code>) to determine basic configuration information.
|
|
||||||
The configuration file may also be located in the directory
|
|
||||||
specified by the <code>MINIGLX_CONF</code> environment variable).<br>
|
|
||||||
<br>
|
|
||||||
The remainder of this section describes the MiniGLX API functions.<br>
|
|
||||||
<br>
|
|
||||||
<h2>3.1 Initialization</h2>
|
|
||||||
<p>The XOpenDisplay function is used to initialize the graphics system:</p>
|
|
||||||
<blockquote>
|
|
||||||
<pre>Display *XOpenDisplay(const char *displayname)<br></pre>
|
|
||||||
</blockquote>
|
|
||||||
<p>The <code>displayName</code> parameter is currently ignored in Mini
|
|
||||||
GLX. It is recommended that <code>NULL</code> be passed as the<code>displayName</code>
|
|
||||||
parameter.</p>
|
|
||||||
<p>If XOpenDisplay is able to initialize the graphics system a pointer
|
|
||||||
to a Display will be returned. Otherwise, NULL will be returned.</p>
|
|
||||||
<h2>3.2 Choosing a Visual</h2>
|
|
||||||
<p>A visual (i.e. pixel format) must be chosen before a drawing surface
|
|
||||||
or rendering context can be created. This is done with the
|
|
||||||
glXChooseVisual function:</p>
|
|
||||||
<blockquote>
|
|
||||||
<pre>XVisualInfo *glXChooseVisual(Display *dpy, int screen, const int *attribList)<br></pre>
|
|
||||||
</blockquote>
|
|
||||||
<p><code>dpy</code> is a pointer to the display returned by
|
|
||||||
XOpenDisplay. </p>
|
|
||||||
<p><code>screen</code> is currently ignored by Mini GLX and should be
|
|
||||||
zero. </p>
|
|
||||||
<p><code>attribList</code> is a list of GLX attributes which describe
|
|
||||||
the desired pixel format. It is terminated by the token <code>None</code>.
|
|
||||||
The attributes are as follows:</p>
|
|
||||||
<blockquote>
|
|
||||||
<dl>
|
|
||||||
<dt><code>GLX_USE_GL</code></dt>
|
|
||||||
<dd>This attribute should always be present in order to maintain
|
|
||||||
compatibility with GLX.</dd>
|
|
||||||
<dt><code>GLX_RGBA</code></dt>
|
|
||||||
<dd>If present, only RGBA pixel formats will be considered.
|
|
||||||
Otherwise, only color index formats are considered.</dd>
|
|
||||||
<dt><code>GLX_DOUBLEBUFFER</code></dt>
|
|
||||||
<dd>if present, only double-buffered pixel formats will be chosen.</dd>
|
|
||||||
<dt><code>GLX_RED_SIZE n</code></dt>
|
|
||||||
<dd>Must be followed by a non-negative integer indicating the
|
|
||||||
minimum number of bits per red pixel component that is acceptable.</dd>
|
|
||||||
<dt><code>GLX_GREEN_SIZE n</code></dt>
|
|
||||||
<dd>Must be followed by a non-negative integer indicating the
|
|
||||||
minimum number of bits per green pixel component that is acceptable.</dd>
|
|
||||||
<dt><code>GLX_BLUE_SIZE n</code></dt>
|
|
||||||
<dd>Must be followed by a non-negative integer indicating the
|
|
||||||
minimum number of bits per blue pixel component that is acceptable.</dd>
|
|
||||||
<dt><code>GLX_ALPHA_SIZE n</code></dt>
|
|
||||||
<dd>Must be followed by a non-negative integer indicating the
|
|
||||||
minimum number of bits per alpha pixel component that is acceptable.</dd>
|
|
||||||
<dt><code>GLX_STENCIL_SIZE n</code></dt>
|
|
||||||
<dd>Must be followed by a non-negative integer indicating the
|
|
||||||
minimum number of bits per stencil value that is acceptable.</dd>
|
|
||||||
<dt><code>None</code></dt>
|
|
||||||
<dd>This token is used to terminate the attribute list.</dd>
|
|
||||||
</dl>
|
|
||||||
</blockquote>
|
|
||||||
<p>glXChooseVisual will return a pointer to an XVisualInfo object which
|
|
||||||
most closely matches the requirements of the attribute list. If there
|
|
||||||
is no visual which matches the request, NULL will be returned.</p>
|
|
||||||
<p>Note that visuals with accumulation buffers and depth buffers are
|
|
||||||
not available.<br>
|
|
||||||
<br>
|
|
||||||
</p>
|
|
||||||
<h2>3.3 Creating a Drawing Surface</h2>
|
|
||||||
<p>Drawing surfaces are created as X windows. For Mini GLX,
|
|
||||||
windows are <i>full-screen</i>; they cover the entire frame buffer.
|
|
||||||
Also, Mini GLX imposes a limit of one window. A second window
|
|
||||||
cannot be created until the first one is destroyed.</p>
|
|
||||||
<h3>3.3.1 Window Creation</h3>
|
|
||||||
<p>The XCreateWindow function is used to create a drawing surface:</p>
|
|
||||||
<blockquote>
|
|
||||||
<pre>Window XCreateWindow( Display *display,<br> Window parent,<br> int x, int y,<br> unsigned int width, unsigned int height,<br> unsigned int borderWidth,<br> int depth,<br> unsigned int class,<br> Visual *visual,<br> unsigned long valuemask,<br> XSetWindowAttributes *attributes )<br></pre>
|
|
||||||
</blockquote>
|
|
||||||
<p>The parameters are as follows:</p>
|
|
||||||
<blockquote>
|
|
||||||
<dl>
|
|
||||||
<dt><code>display</code></dt>
|
|
||||||
<dd>A Display pointer, as returned by XOpenDisplay.</dd>
|
|
||||||
<dt><code>parent</code></dt>
|
|
||||||
<dd>The parent window for the new window. For Mini GLX, this
|
|
||||||
should be<code>RootWindow(dpy, 0)</code>.</dd>
|
|
||||||
<dt><code>x, y</code></dt>
|
|
||||||
<dd>The position of the window. For Mini GLX, both values should
|
|
||||||
be zero.</dd>
|
|
||||||
<dt><code>width, height</code></dt>
|
|
||||||
<dd>The size of the window. For Mini GLX, this specifies the
|
|
||||||
desired screen size such as 1024, 768 or 1280, 1024.</dd>
|
|
||||||
<dt><code>borderWidth</code></dt>
|
|
||||||
<dd>This parameter should be zero.</dd>
|
|
||||||
<dt><code>depth</code></dt>
|
|
||||||
<dd>The pixel depth for the window. For Mini GLX this should be
|
|
||||||
the depth found in the XVisualInfo object returned by <code>glxChooseVisual</code>.</dd>
|
|
||||||
<dt><code>class</code></dt>
|
|
||||||
<dd>The window class. For Mini GLX this value should be <code>InputOutput</code>.</dd>
|
|
||||||
<dt><code>visual</code></dt>
|
|
||||||
<dd>This parameter should be the <code>visual</code> field of the <code>XVisualInfo</code>
|
|
||||||
object returned by <code>glxChooseVisual</code>.</dd>
|
|
||||||
<dt><code>valuemask</code></dt>
|
|
||||||
<dd>This parameter indicates which fields of the <code>XSetWindowAttributes</code>
|
|
||||||
are to be used. For Mini GLX this is typically the bitmask<code>CWBackPixel
|
|
||||||
| CWBorderPixel | CWColormap</code>.</dd>
|
|
||||||
<dt><code>attributes</code></dt>
|
|
||||||
<dd>Initial window attributes. Of the fields in the <code>XSetWindowAttributes</code>
|
|
||||||
structure, the<code>background_pixel</code>, <code>border_pixel</code>
|
|
||||||
and <code>colormap</code> fields should be set. See the discussion
|
|
||||||
below regarding colormaps.</dd>
|
|
||||||
</dl>
|
|
||||||
</blockquote>
|
|
||||||
<p><code>XCreateWindow</code> will return a window handle if it succeeds
|
|
||||||
or zero if it fails.</p>
|
|
||||||
<h3>3.3.2 Window Mapping</h3>
|
|
||||||
<p>To display the window the XMapWindow function must be called:</p>
|
|
||||||
<blockquote>
|
|
||||||
<pre>void XMapWindow(Display *dpy, Window w)</pre>
|
|
||||||
</blockquote>
|
|
||||||
<p>This function does nothing in Mini GLX but is required for Xlib/GLX
|
|
||||||
compatibility</p>
|
|
||||||
<h3>3.3.3 Colormaps<br>
|
|
||||||
</h3>
|
|
||||||
<p>Xlib requires specification of a colormap when creating a window.
|
|
||||||
For purposes of interoperability, Mini GLX requires this as well,
|
|
||||||
though the colormap is not actually used. The XCreateColormap
|
|
||||||
function is used to create a colormap:</p>
|
|
||||||
<blockquote><code>Colormap XCreateColormap(Display *dpy, Window window,
|
|
||||||
Visual *visual, int alloc)</code><br>
|
|
||||||
<code></code></blockquote>
|
|
||||||
<p>The parameters are as follows:<br>
|
|
||||||
</p>
|
|
||||||
<blockquote>
|
|
||||||
<dl>
|
|
||||||
<dt><code>dpy</code></dt>
|
|
||||||
<dd>The display handle as returned by XOpenDisplay.</dd>
|
|
||||||
<dt><code>window</code></dt>
|
|
||||||
<dd> This parameter is ignored by Mini GLX but should be the value
|
|
||||||
returned by the <code>RootWindow(dpy, 0)</code> macro.<br>
|
|
||||||
</dd>
|
|
||||||
<dt><code>visual</code></dt>
|
|
||||||
<dd>This parameter is ignored by Mini GLX but should be the visual
|
|
||||||
field of the XVisualInfo object returned by glXChooseVisual. </dd>
|
|
||||||
<dt><code>alloc</code></dt>
|
|
||||||
<dd>This parameter is ignored by Mini GLX but should be set to <code>AllocNone</code>.</dd>
|
|
||||||
</dl>
|
|
||||||
</blockquote>
|
|
||||||
<br>
|
|
||||||
<h2>3.4 Creating a Rendering Context</h2>
|
|
||||||
<p>An OpenGL rendering context is created with the <code>glXCreateContext</code>
|
|
||||||
function:</p>
|
|
||||||
<blockquote>
|
|
||||||
<pre>GLXContext glXCreateContext(Display *dpy, XVisualInfo *visInfo, GLXContext shareList, Bool direct)<br></pre>
|
|
||||||
</blockquote>
|
|
||||||
<p>The parameters are as follows:</p>
|
|
||||||
<blockquote>
|
|
||||||
<dl>
|
|
||||||
<dt><code>dpy</code></dt>
|
|
||||||
<dd>The display handle as returned by XOpenDisplay.</dd>
|
|
||||||
<dt><code>visInfo</code></dt>
|
|
||||||
<dd>The visual as returned by glXChooseVisual.</dd>
|
|
||||||
<dt><code>shareList</code></dt>
|
|
||||||
<dd>If non-zero, texture objects and display lists are shared with
|
|
||||||
the named rendering context. If zero, texture objects and display lists
|
|
||||||
will (initially) be private to this context. They may be shared when a
|
|
||||||
subsequent context is created.</dd>
|
|
||||||
<dt><code>direct</code></dt>
|
|
||||||
<dd>Specifies whether direct or indirect rendering is desired. For
|
|
||||||
Mini GLX this value is ignored but it should be set to <code>True</code>.</dd>
|
|
||||||
</dl>
|
|
||||||
</blockquote>
|
|
||||||
<p><code>glXCreateContext</code> will return a GLXContext handle if it
|
|
||||||
succeeds or zero if it fails due to invalid parameter or insufficient
|
|
||||||
resources.<br>
|
|
||||||
<br>
|
|
||||||
</p>
|
|
||||||
<h2>3.5 Binding a Rendering Context</h2>
|
|
||||||
<p>The final step before beginning OpenGL rendering is to bind (i.e.
|
|
||||||
activate) a rendering context and drawing surface with the
|
|
||||||
glXMakeCurrent function:</p>
|
|
||||||
<blockquote>
|
|
||||||
<pre>Bool glXMakeCurrent(Display *dpy, GLXDrawable drawable, GLXContext ctx)<br></pre>
|
|
||||||
</blockquote>
|
|
||||||
<p>The parameters are as follows:</p>
|
|
||||||
<blockquote>
|
|
||||||
<dl>
|
|
||||||
<dt><code>dpy</code></dt>
|
|
||||||
<dd>The display handle, as returned by XOpenDisplay.</dd>
|
|
||||||
<dt><code>drawable</code></dt>
|
|
||||||
<dd>The window or drawable to bind to the rendering context. This
|
|
||||||
should be the value returned by XCreateWindow.</dd>
|
|
||||||
<dt><code>ctx</code></dt>
|
|
||||||
<dd>The rendering context to bind, as returned by glXCreateContext.</dd>
|
|
||||||
</dl>
|
|
||||||
</blockquote>
|
|
||||||
<p>If glXMakeCurrent succeeds True is returned. Otherwise False is
|
|
||||||
returned to indicate an invalid display, window or context parameter.</p>
|
|
||||||
<p>After the rendering context has been bound to the drawing surface
|
|
||||||
OpenGL rendering can begin.</p>
|
|
||||||
<p>The current rendering context may be unbound by calling
|
|
||||||
glXMakeCurrent with the window and context parameters set to zero.</p>
|
|
||||||
<p>An application may create any number of rendering contexts and bind
|
|
||||||
them as needed. Note that binding a rendering context is generally not a
|
|
||||||
light-weight operation. Most simple OpenGL applications create
|
|
||||||
only one rendering context.<br>
|
|
||||||
<br>
|
|
||||||
</p>
|
|
||||||
<h2>3.6 Color Buffer Swapping</h2>
|
|
||||||
<p>A double buffered window has two color buffers: a front buffer and a
|
|
||||||
back buffer. Normally, rendering is directed to the back buffer while
|
|
||||||
the front buffer is displayed. When rendering of a frame is finished
|
|
||||||
the front and back buffers are swapped to provide the illusion of
|
|
||||||
instanteous screen updates.</p>
|
|
||||||
<p>The color buffers for a particular window (i.e. drawable) may be
|
|
||||||
swapped with the glXSwapBuffers command:</p>
|
|
||||||
<blockquote>
|
|
||||||
<pre>void glXSwapBuffers(Display *dpy, GLXDrawable drawable)<br></pre>
|
|
||||||
</blockquote>
|
|
||||||
Any pending rendering commands will be completed before the buffer swap
|
|
||||||
takes place.<br>
|
|
||||||
<br>
|
|
||||||
Calling glXSwapBuffers on a window which is single-buffered has no
|
|
||||||
effect.<br>
|
|
||||||
<br>
|
|
||||||
<h2>3.7 Releasing Resources</h2>
|
|
||||||
<h3>3.7.1 Releasing Rendering Contexts</h3>
|
|
||||||
<p>A rendering context may be destroyed by calling glXDestroyContext:</p>
|
|
||||||
<blockquote>
|
|
||||||
<pre>void glXDestroyContext(Display *dpy, GLXContext ctx)<br></pre>
|
|
||||||
</blockquote>
|
|
||||||
<h3>3.7.2 Releasing Windows</h3>
|
|
||||||
<p>A window may be destroyed by calling XDestroyWindow:</p>
|
|
||||||
<blockquote>
|
|
||||||
<pre>void XDestroyWindow(Display *dpy, Window window)<br></pre>
|
|
||||||
</blockquote>
|
|
||||||
<h3>3.7.3 Releasing Visuals</h3>
|
|
||||||
<p>An XVisualInfo object may be freed by calling XFree:</p>
|
|
||||||
<blockquote>
|
|
||||||
<pre>void XFree(void *data)<br></pre>
|
|
||||||
</blockquote>
|
|
||||||
<h3>3.7.4 Releasing Colormaps</h3>
|
|
||||||
<p>A colormap may be freed by calling XFreeColormap:</p>
|
|
||||||
<blockquote>
|
|
||||||
<pre>void XFreeColormap(Display *dpy, Colormap colormap)<br></pre>
|
|
||||||
</blockquote>
|
|
||||||
<h3>3.7.4 Releasing Display Resources</h3>
|
|
||||||
<p>When the application is about to exit, the resources associated with
|
|
||||||
the graphics system can be released by calling XCloseDisplay:</p>
|
|
||||||
<blockquote>
|
|
||||||
<pre>void XCloseDisplay(Display *dpy)<br></pre>
|
|
||||||
</blockquote>
|
|
||||||
<p>The display handle becomes invalid at this point.<br>
|
|
||||||
<br>
|
|
||||||
</p>
|
|
||||||
<h2>3.8 Query Functions</h2>
|
|
||||||
<h3>3.8.1 Querying Available Visuals</h3>
|
|
||||||
A list of all available visuals can be obtained with the XGetVisualInfo
|
|
||||||
function:<br>
|
|
||||||
<br>
|
|
||||||
<div style="margin-left: 40px;"><code>XVisualInfo
|
|
||||||
*XGetVisualInfo(Display *dpy, long vinfo_mask, XVisualInfo
|
|
||||||
*vinfo_template, int *nitems_return)<br>
|
|
||||||
</code></div>
|
|
||||||
<br>
|
|
||||||
The parameters are as follows:<br>
|
|
||||||
<blockquote>
|
|
||||||
<dl>
|
|
||||||
<dt><code>dpy</code></dt>
|
|
||||||
<dd>The display handle, as returned by XOpenDisplay.</dd>
|
|
||||||
<dt><code>vinfo_mask</code></dt>
|
|
||||||
<dd>A bitmask indicating which fields of the vinfo_template are to
|
|
||||||
be matched. The value must be VisualScreenMask.</dd>
|
|
||||||
<dt><code>vinfo_template</code></dt>
|
|
||||||
<dd>A template whose fields indicate which visual attributes must
|
|
||||||
be matched by the results. The screen field of this structure must
|
|
||||||
be zero.</dd>
|
|
||||||
<dt><code>nitems_return</code></dt>
|
|
||||||
<dd>Returns the number of visuals returned. </dd>
|
|
||||||
</dl>
|
|
||||||
</blockquote>
|
|
||||||
The return value is the address of an array of all available visuals.<br>
|
|
||||||
<br>
|
|
||||||
An example of using XGetVisualInfo to get all available visuals follows:<br>
|
|
||||||
<br>
|
|
||||||
<div style="margin-left: 40px;"><code>XVisualInfo visTemplate, *results;</code><br>
|
|
||||||
<code>int numVisuals;</code><br>
|
|
||||||
<code>Display *dpy = XOpenDisplay(NULL);</code><br>
|
|
||||||
<code>visTemplate.screen = 0;</code><br>
|
|
||||||
<code>results = XGetVisualInfo(dpy, VisualScreenMask, &visTemplate,
|
|
||||||
&numVisuals);</code><br>
|
|
||||||
<code></code></div>
|
|
||||||
<br>
|
|
||||||
<h3>3.8.2 Querying Visual Attributes</h3>
|
|
||||||
<p>The GLX attributes of an X visual may be queried with the
|
|
||||||
glXGetConfig function:</p>
|
|
||||||
<blockquote>
|
|
||||||
<pre>int glXGetConfig(Display *dpy, XVisualInfo *vis, int attribute, int *value)<br></pre>
|
|
||||||
</blockquote>
|
|
||||||
<p>The parameters are as follows:</p>
|
|
||||||
<blockquote>
|
|
||||||
<dl>
|
|
||||||
<dt><code>dpy</code></dt>
|
|
||||||
<dd>The display handle, as returned by XOpenDisplay.</dd>
|
|
||||||
<dt><code>vis</code></dt>
|
|
||||||
<dd>The visual, as returned by glXChooseVisual.</dd>
|
|
||||||
<dt><code>attribute</code></dt>
|
|
||||||
<dd>The attribute to query. The attributes are listed below.</dd>
|
|
||||||
<dt><code>value</code></dt>
|
|
||||||
<dd>Pointer to an integer in which the result of the query will be
|
|
||||||
stored. </dd>
|
|
||||||
</dl>
|
|
||||||
</blockquote>
|
|
||||||
<p>The return value will be zero if no error occurs.<code>
|
|
||||||
GLX_INVALID_ATTRIBUTE</code> will be returned if the attribute
|
|
||||||
parameter is invalid.<code> GLX_BAD_VISUAL</code> will be returned
|
|
||||||
if the XVisualInfo parameter is invalid.</p>
|
|
||||||
<p>The following attributes may be queried:</p>
|
|
||||||
<blockquote>
|
|
||||||
<dl>
|
|
||||||
<dt><code>GLX_USE_GL</code></dt>
|
|
||||||
<dd>The result will be <code>True</code> or <code>False</code> to
|
|
||||||
indicate if OpenGL rendering is supported with the visual. Mini GLX
|
|
||||||
always return <code>True</code>.</dd>
|
|
||||||
<dt><code>GLX_RGBA</code></dt>
|
|
||||||
<dd>The result will be <code>True</code> for RGBA visuals or <code>False</code>
|
|
||||||
for color index visuals.</dd>
|
|
||||||
<dt><code>GLX_DOUBLEBUFFER</code></dt>
|
|
||||||
<dd>The result will be <code>True</code> if the visual has two
|
|
||||||
color buffers or <code>False</code> if the visual has one color buffer.</dd>
|
|
||||||
<dt><code>GLX_RED_SIZE</code></dt>
|
|
||||||
<dd>The result will be the number of red bits per pixel.</dd>
|
|
||||||
<dt><code>GLX_GREEN_SIZE</code></dt>
|
|
||||||
<dd>The result will be the number of green bits per pixel.</dd>
|
|
||||||
<dt><code>GLX_BLUE_SIZE</code></dt>
|
|
||||||
<dd>The result will be the number of blue bits per pixel.</dd>
|
|
||||||
<dt><code>GLX_ALPHA_SIZE</code></dt>
|
|
||||||
<dd>The result will be the number of alpha bits per pixel.</dd>
|
|
||||||
<dt><code>GLX_DEPTH_SIZE</code></dt>
|
|
||||||
<dd>The result will be the number of bits per Z value.</dd>
|
|
||||||
<dt><code>GLX_STENCIL_SIZE</code></dt>
|
|
||||||
<dd>The result will be the number of bits per stencil value.<br>
|
|
||||||
<br>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</blockquote>
|
|
||||||
<h3>3.8.3 Querying the Current Rendering Context</h3>
|
|
||||||
<p>The current rendering context can be queried with
|
|
||||||
glXGetCurrentContext: </p>
|
|
||||||
<blockquote>
|
|
||||||
<pre>GLXContext glXGetCurrentContext(void)<br></pre>
|
|
||||||
</blockquote>
|
|
||||||
<p>Zero will be returned if no context is currently bound.<br>
|
|
||||||
<br>
|
|
||||||
</p>
|
|
||||||
<h3>3.8.4 Querying the Current Drawable</h3>
|
|
||||||
<p>The current drawable (i.e. window or drawing surface) can be queried
|
|
||||||
with glXGetCurrentDrawable:</p>
|
|
||||||
<blockquote>
|
|
||||||
<pre>GLXDrawable glXGetCurrentDrawable(void)<br></pre>
|
|
||||||
</blockquote>
|
|
||||||
<p>Zero will be returned if no drawable is currently bound.<br>
|
|
||||||
<br>
|
|
||||||
</p>
|
|
||||||
<h3>3.8.5 Function Address Queries</h3>
|
|
||||||
<p>The glXGetProcAddress function will return the address of any
|
|
||||||
available OpenGL or Mini GLX function:</p>
|
|
||||||
<blockquote>
|
|
||||||
<pre>void *glXGetProcAddress(const GLubyte *procName)<br></pre>
|
|
||||||
</blockquote>
|
|
||||||
<p>If <code>procName</code> is a valid function name, a pointer to that
|
|
||||||
function will be returned. Otherwise, NULL will be returned.</p>
|
|
||||||
<p>The purpose of glXGetProcAddress is to facilitate using future
|
|
||||||
extensions to OpenGL or Mini GLX. If a future version of the library
|
|
||||||
adds new extension functions they'll be accessible via
|
|
||||||
glXGetProcAddress. The alternative is to hard-code calls to the new
|
|
||||||
functions in the application but doing so will prevent linking the
|
|
||||||
application with older versions of the library.<br>
|
|
||||||
<br>
|
|
||||||
</p>
|
|
||||||
<h2>3.9 Versioning</h2>
|
|
||||||
The Mini GLX version can be queried at run time with glXQueryVersion:
|
|
||||||
<blockquote>
|
|
||||||
<pre>Bool glXQueryVersion(Display *dpy, int *major, int *minor)<br></pre>
|
|
||||||
</blockquote>
|
|
||||||
<p><code>major</code> will be set to the major version number and<code>minor</code>
|
|
||||||
will be set to the minor version number.<code>True</code> will be
|
|
||||||
returned if the function succeeds. <code>False</code> will be returned
|
|
||||||
if the function fails due to invalid parameters. The <code>dpy</code>
|
|
||||||
argument is currently ignored, but should be the value returned by
|
|
||||||
XOpenDisplay.</p>
|
|
||||||
<p>At compile time, the Mini GLX interface version can be tested with
|
|
||||||
the MINI_GLX_VERSION_1_<i>x</i> preprocessor tokens. For example, if
|
|
||||||
version 1.0 of Mini GLX is supported, then<code> MINI_GLX_VERSION_1_0</code>
|
|
||||||
will be defined. If version 1.1 of Mini GLX is supported, then<code>
|
|
||||||
MINI_GLX_VERSION_1_1</code> will be defined.</p>
|
|
||||||
<p>At the time of writing the current Mini GLX version is 1.0.<br>
|
|
||||||
<br>
|
|
||||||
</p>
|
|
||||||
<h1>4.0 Interoperability with GLX and Xlib</h1>
|
|
||||||
While Mini GLX strives to be compatible with GLX and Xlib there are
|
|
||||||
some unavoidable differences which must be taken into consideration.<br>
|
|
||||||
<h2>4.1 Public vs Private Structures</h2>
|
|
||||||
The structure of many X data types is public. For example, the <code>Display</code>
|
|
||||||
data type is defined as a structure in /usr/include/X11/Xlib.h and
|
|
||||||
programmers may access any fields of that structure at will. Mini
|
|
||||||
GLX also defines a Display data type but its fields are hidden and not
|
|
||||||
visiblein <code>miniglx.h</code>. Duplicating the Xlib
|
|
||||||
declaration for the <code>Display</code> data type in minigl.h would
|
|
||||||
require defining a large number of other superfluous Xlib datatypes.<br>
|
|
||||||
<br>
|
|
||||||
Mini GLX users are discouraged from directly accessing the fields of
|
|
||||||
Xlib data types to maximize portability - though this is unavoidable to
|
|
||||||
some extent. For example, the <code>XVisualInfo</code> and <code>XSetWindowAtttributes</code>
|
|
||||||
data types must be completely public.
|
|
||||||
<h2>4.2 Macros</h2>
|
|
||||||
In some cases, Xlib defines macros which are meant to be used instead
|
|
||||||
of direct structure accesses. For example, the <code>RootWindow(dpy,
|
|
||||||
screen)</code> macro returns the root window for a given screen on a
|
|
||||||
given display. Unfortunately, macros do nothing to aid in ABI
|
|
||||||
compatibility since they are resolved at compile time instead of at
|
|
||||||
link/run time.<br>
|
|
||||||
<br>
|
|
||||||
Mini GLX also defines a <code>RootWindow</code> macro since it's
|
|
||||||
essential for creating windows. But the implementation of this
|
|
||||||
macro by Xlib and Mini GLX is completely different.<br>
|
|
||||||
<h2>4.3 Summary</h2>
|
|
||||||
Because Xlib and Mini GLX define data types and macros differently,
|
|
||||||
Mini GLX applications must be recompiled when retargeting Mini GLX or
|
|
||||||
native Xlib/GLX. That is, applications can't simply be re-linked
|
|
||||||
because of ABI incompatibilities.<br>
|
|
||||||
<br>
|
|
||||||
Nevertheless, the fact that Mini GLX programs can be recompiled for
|
|
||||||
Xlib and GLX increases portability and flexibility for testing and
|
|
||||||
prototyping.<br>
|
|
||||||
<br>
|
|
||||||
<h1>5.0 Example Program</h1>
|
|
||||||
<p>This section shows an example program which uses the Mini GLX
|
|
||||||
interface. The program simply draws several frames of a rotating square.<br>
|
|
||||||
</p>
|
|
||||||
<p>The program may be compiled for use with Xlib/GLX or Mini GLX by
|
|
||||||
setting the <code>USE_MINIGLX</code> token to 0 or 1, respectively.
|
|
||||||
Note that the only difference is the header files which are
|
|
||||||
included.<br>
|
|
||||||
</p>
|
|
||||||
<p> </p>
|
|
||||||
<pre><code><br></code>#define USE_MINIGLX 1 /* 1 = use Mini GLX, 0 = use Xlib/GLX */<br><br>#include <stdio.h><br>#include <stdlib.h><br>#include <GL/gl.h><br><br>#if USE_MINIGLX<br>#include <GL/miniglx.h><br>#else<br>#include <GL/glx.h><br>#include <X11/Xlib.h><br>#endif<br><br><code>/*<br> * Create a simple double-buffered RGBA window.<br> */<br>static Window<br>MakeWindow(Display * dpy, unsigned int width, unsigned int height)<br>{<br> int visAttributes[] = {<br> GLX_RGBA,<br> GLX_RED_SIZE, 1,<br> GLX_GREEN_SIZE, 1,<br> GLX_BLUE_SIZE, 1,<br> GLX_DOUBLEBUFFER,<br> None<br> };<br> XSetWindowAttributes attr;<br> unsigned long attrMask;<br> Window root;<br> Window win;<br> GLXContext ctx;<br> XVisualInfo *visinfo;<br><br> root = RootWindow(dpy, 0);<br><br> /* Choose GLX visual / pixel format */<br> visinfo = glXChooseVisual(dpy, 0, visAttributes);<br> if (!visinfo) {<br> printf("Error: couldn't get an RGB, Double-buffered visual\n");<br> exit(1);<br> }<br><br> /* Create the window */<br> attr.background_pixel = 0;<br> attr.border_pixel = 0;<br> attr.colormap = XCreateColormap(dpy, root, visinfo->visual, AllocNone);<br> attrMask = CWBackPixel | CWBorderPixel | CWColormap;<br> win = XCreateWindow(dpy, root, 0, 0, width, height,<br> 0, visinfo->depth, InputOutput,<br> visinfo->visual, attrMask, &attr);<br> if (!win) {<br> printf("Error: XCreateWindow failed\n");<br> exit(1);<br> }<br><br> /* Display the window */<br> XMapWindow(dpy, win);<br><br> /* Create GLX rendering context */<br> ctx = glXCreateContext(dpy, visinfo, NULL, True);<br> if (!ctx) {<br> printf("Error: glXCreateContext failed\n");<br> exit(1);<br> }<br><br> /* Bind the rendering context and window */<br> glXMakeCurrent(dpy, win, ctx);<br><br> return win;<br>}<br><br><br>/*<br> * Draw a few frames of a rotating square.<br> */<br>static void<br>DrawFrames(Display * dpy, Window win)<br>{<br> int angle;<br> glShadeModel(GL_FLAT);<br> glClearColor(0.5, 0.5, 0.5, 1.0);<br> for (angle = 0; angle < 360; angle += 10) {<br> glClear(GL_COLOR_BUFFER_BIT);<br> glColor3f(1.0, 1.0, 0.0);<br> glPushMatrix();<br> glRotatef(angle, 0, 0, 1);<br> glRectf(-0.8, -0.8, 0.8, 0.8);<br> glPopMatrix();<br> glXSwapBuffers(dpy, win);<br> }<br>}<br><br><br>int<br>main(int argc, char *argv[])<br>{<br> Display *dpy;<br> Window win;<br><br> dpy = XOpenDisplay(NULL);<br> if (!dpy) {<br> printf("Error: XOpenDisplay failed\n");<br> return 1;<br> }<br><br> win = MakeWindow(dpy, 300, 300);<br><br> DrawFrames(dpy, win);<br><br> return 0;<br>}<br></code></pre>
|
|
||||||
<br>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
242
docs/README.3DFX
242
docs/README.3DFX
@@ -1,240 +1,10 @@
|
|||||||
|
|
||||||
3Dfx Glide device driver
|
3Dfx Glide device driver for Mesa 3.3
|
||||||
|
(see below for FAQ)
|
||||||
|
|
||||||
|
|
||||||
|
Warning: this document is rather out of date, but most of the information
|
||||||
Mesa-6.2 release notes:
|
should still apply.
|
||||||
-----------------------
|
|
||||||
|
|
||||||
1) Glide2 support has been ceased; please visit the Glide SourceForge and
|
|
||||||
help us improve Glide3.
|
|
||||||
2) The current release is a WIP; among other things, the Linux build works
|
|
||||||
only to some extent. Voodoo Rush not fully tested. Any help will be
|
|
||||||
appreciated.
|
|
||||||
3) Although Mesa is designed to work with any Glide3, it would benefit from
|
|
||||||
interacting with newer Glide libraries, which can export functions like:
|
|
||||||
`grGetRegistryOrEnvironmentStringExt', `grSetNumPendingBuffers', Texus2
|
|
||||||
and pointcast palette. The latest Glide3 can be reached here:
|
|
||||||
http://sourceforge.net/projects/glide/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Known supported HW/OS:
|
|
||||||
----------------------
|
|
||||||
|
|
||||||
Voodoo-based videocards/accelerators
|
|
||||||
DOS (DJGPP), Windows9x/2k (MinGW/MSVC), Linux
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
How to compile:
|
|
||||||
---------------
|
|
||||||
|
|
||||||
DJGPP/MinGW:
|
|
||||||
Place the Glide3 SDK in the top Mesa directory:
|
|
||||||
$(MESA)/glide3/include/*.h
|
|
||||||
$(MESA)/glide3/lib/
|
|
||||||
Required headers:
|
|
||||||
3dfx.h, g3ext.h, glide.h, glidesys.h, glideutl.h, sst1vid.h
|
|
||||||
Required libraries:
|
|
||||||
OS specific
|
|
||||||
Type:
|
|
||||||
make -f Makefile.DJ X86=1 FX=1
|
|
||||||
or
|
|
||||||
make -f Makefile.mgw X86=1 FX=1
|
|
||||||
Look into the corresponding makefiles for further information.
|
|
||||||
|
|
||||||
Linux:
|
|
||||||
Place the Glide3 SDK in /usr/local/glide
|
|
||||||
Type:
|
|
||||||
make linux-glide
|
|
||||||
or
|
|
||||||
make linux-x86-glide
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Compilation defines:
|
|
||||||
--------------------
|
|
||||||
|
|
||||||
FX_DEBUG
|
|
||||||
enable driver debug code
|
|
||||||
FX_TRAP_GLIDE
|
|
||||||
enable Glide trace code
|
|
||||||
FX_PACKEDCOLOR
|
|
||||||
use packed color in vertex structure
|
|
||||||
FX_TC_NAPALM
|
|
||||||
map GL_COMPRESSED_RGB[A] to FXT1. This will have effect on Napalm
|
|
||||||
only (can coexist with FX_TC_NCC, but has higher priority)
|
|
||||||
FX_TC_NCC
|
|
||||||
experimental
|
|
||||||
map GL_COMPRESSED_RGB[A] to NCC. This will have effect on any 3dfx
|
|
||||||
HW (can coexist with FX_TC_NAPALM, but has lesser priority)
|
|
||||||
FX_COMPRESS_S3TC_AS_FXT1_HACK
|
|
||||||
map S3TC to FXT1
|
|
||||||
FX_RESCALE_BIG_TEXURES_HACK
|
|
||||||
fake textures larger than HW can support
|
|
||||||
(see MESA_FX_MAXLOD environment variable)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variables:
|
|
||||||
----------------------
|
|
||||||
|
|
||||||
The following environment variables affect MesaFX. Those that affect Glide
|
|
||||||
only, are beyond the scope of this section. Entries that don't have a "Value"
|
|
||||||
field, can have any value whatsoever
|
|
||||||
ex: set MESA_FX_IGNORE_CMBEXT=y
|
|
||||||
|
|
||||||
"Note" (*) means that the environment variable affects Glide, too; also, if
|
|
||||||
the var is not found in the environment, it is searched in windoze registry.
|
|
||||||
"Note" (!) means that the environment variable is not working as expected;
|
|
||||||
may have undefined effects, might have effects only at Glide level or might
|
|
||||||
not have any effect whatsoever. Caveat emptor! Those are to be revised soon.
|
|
||||||
|
|
||||||
It is recommended to leave the envvars alone, so that Mesa/Glide will run with
|
|
||||||
default values. Use them only when you experience crashes or strange behavior.
|
|
||||||
|
|
||||||
FX_GLIDE_NUM_TMU
|
|
||||||
OS: all
|
|
||||||
HW: dual-TMU cards (Voodoo2, Avenger, Napalm)
|
|
||||||
Desc: force single-TMU
|
|
||||||
Note: (*)
|
|
||||||
Value: "1"
|
|
||||||
FX_GLIDE_SWAPPENDINGCOUNT
|
|
||||||
OS: all
|
|
||||||
HW: all
|
|
||||||
Desc: max # of buffers allowed to build up
|
|
||||||
Note: (*) (!)
|
|
||||||
Value: "0", "1", "2" or "3"
|
|
||||||
FX_GLIDE_SWAPINTERVAL
|
|
||||||
OS: all
|
|
||||||
HW: all
|
|
||||||
Desc: number of vertical retraces to wait before swapping
|
|
||||||
Note: (*) (!) works only at Glide-level?
|
|
||||||
SSTH3_SLI_AA_CONFIGURATION
|
|
||||||
OS: all
|
|
||||||
HW: VSA100-based cards
|
|
||||||
Desc: SLI/AA setup
|
|
||||||
Note: (*) (!) works only at Glide-level?
|
|
||||||
Value:
|
|
||||||
1, 2, 4 chip cards
|
|
||||||
"0" - SLI & AA disable
|
|
||||||
"1" - SLI disabled, 2 sample AA enabled
|
|
||||||
2, 4 chip cards
|
|
||||||
"2" - 2-way SLI enabled, AA disabled
|
|
||||||
"3" - 2-way SLI enabled, 2 sample AA enabled
|
|
||||||
"4" - SLI disabled, 4 sample AA enabled
|
|
||||||
4 chip cards
|
|
||||||
"5" - 4-way SLI enabled, AA disabled
|
|
||||||
"6" - 4-way SLI enabled, 2 sample AA enabled
|
|
||||||
"7" - 2-way SLI enabled, 4 sample AA enabled
|
|
||||||
"8" - SLI disabled, 8 sample AA enabled
|
|
||||||
SST_DUALHEAD
|
|
||||||
OS: win32
|
|
||||||
HW: ?
|
|
||||||
Desc: ?
|
|
||||||
Note: (!) disabled?
|
|
||||||
MESA_FX_NO_SIGNALS
|
|
||||||
OS: linux
|
|
||||||
HW: all
|
|
||||||
Desc: avoid installing signals
|
|
||||||
Note: (!) untested!
|
|
||||||
MESA_FX_INFO
|
|
||||||
OS: all
|
|
||||||
HW: all
|
|
||||||
Desc: verbose to stderr
|
|
||||||
Value: any; special value "r" to redirect stderr to MESA.LOG
|
|
||||||
MESA_FX_NOSNAP
|
|
||||||
OS: all
|
|
||||||
HW: Voodoo1, Rush, Banshee
|
|
||||||
Desc: do not snap vertices inside Mesa
|
|
||||||
Note: to be used with Glide3x that snaps vertices itself
|
|
||||||
MESA_FX_POINTCAST
|
|
||||||
OS: all
|
|
||||||
HW: dual-TMU cards (some Voodoo1, Voodoo2, Avenger, Napalm)
|
|
||||||
Desc: try to use pointcast palette
|
|
||||||
Note: may give adverse effects on UMA cards (Avenger, Napalm)
|
|
||||||
MESA_FX_IGNORE_PALEXT
|
|
||||||
OS: all
|
|
||||||
HW: all
|
|
||||||
Desc: disable 6666 palette
|
|
||||||
MESA_FX_IGNORE_PIXEXT
|
|
||||||
OS: all
|
|
||||||
HW: Napalm
|
|
||||||
Desc: force 565 16bpp mode (traditional Voodoo, no 32/15bpp)
|
|
||||||
MESA_FX_IGNORE_TEXFMT
|
|
||||||
OS: all
|
|
||||||
HW: Napalm
|
|
||||||
Desc: disable 32bit textures
|
|
||||||
MESA_FX_IGNORE_CMBEXT
|
|
||||||
OS: all
|
|
||||||
HW: Napalm
|
|
||||||
Desc: disable Napalm combiners (color/alpha/texture)
|
|
||||||
Note: this option allows dual-TMU cards perform single-pass
|
|
||||||
trilinear, but some advanced (multi)texturing modes
|
|
||||||
won't work (GL_EXT_texture_env_combine)
|
|
||||||
MESA_FX_IGNORE_MIREXT
|
|
||||||
OS: all
|
|
||||||
HW: all
|
|
||||||
Desc: disable mirror extension
|
|
||||||
MESA_FX_IGNORE_TEXUMA
|
|
||||||
OS: all
|
|
||||||
HW: all
|
|
||||||
Desc: disable UMA
|
|
||||||
MESA_FX_IGNORE_TEXUS2
|
|
||||||
OS: all
|
|
||||||
HW: all
|
|
||||||
Desc: disable Texus2
|
|
||||||
MESA_FX_MAXLOD
|
|
||||||
OS: all
|
|
||||||
HW: non VSA-100 cards
|
|
||||||
Desc: enable large texture support using SW rescaling
|
|
||||||
Value:
|
|
||||||
"9" - 512x512 textures
|
|
||||||
"10" - 1024x1024 textures
|
|
||||||
"11" - 2048x2048 textures
|
|
||||||
MESA_GLX_FX
|
|
||||||
OS: linux
|
|
||||||
HW: Voodoo1, Rush, Voodoo2
|
|
||||||
Desc: display mode
|
|
||||||
Note: (!) experimental: "w" may work in Win32 using non-V1/V2 HW
|
|
||||||
Value:
|
|
||||||
"w" - windowed mode
|
|
||||||
"f" - fullscreen mode
|
|
||||||
"d" - disable glide driver
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Contact:
|
|
||||||
--------
|
|
||||||
|
|
||||||
Daniel Borca <dborca 'at' users 'dot' sourceforge 'dot' net>
|
|
||||||
Hiroshi Morii <koolsmoky 'at' users 'dot' sourceforge 'dot' net>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
WARNING! The info below this line is outdated (yet some of it useful). WARNING!
|
|
||||||
*******************************************************************************
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Info for Mesa 4.1
|
|
||||||
-----------------
|
|
||||||
|
|
||||||
The 3dfx Glide driver in Mesa is disabled by default. Not too many people
|
|
||||||
use this driver anymore and at some point down the road it will be dropped.
|
|
||||||
|
|
||||||
To use/enable the Glide driver either do this:
|
|
||||||
|
|
||||||
'./configure --with-glide=DIR' Where DIR is the location of Glide, like
|
|
||||||
/usr/ or /usr/local
|
|
||||||
|
|
||||||
OR
|
|
||||||
|
|
||||||
'make linux-x86-glide' If using the old-style Makefile system.
|
|
||||||
|
|
||||||
The rest of this file hasn't changed since Mesa 3.3. Some of it's out of
|
|
||||||
date, but some is still valid.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -247,6 +17,8 @@ What do you need ?
|
|||||||
under Linux (more information in the "Useful Glide Environment
|
under Linux (more information in the "Useful Glide Environment
|
||||||
Variables");
|
Variables");
|
||||||
|
|
||||||
|
- Mesa 3.1;
|
||||||
|
|
||||||
- The 3Dfx Glide library 2.3 or later for your OS (the 2.4 works fine).
|
- The 3Dfx Glide library 2.3 or later for your OS (the 2.4 works fine).
|
||||||
The Voodoo2 requires the Glide library 2.51. The Glide 3.1 is not
|
The Voodoo2 requires the Glide library 2.51. The Glide 3.1 is not
|
||||||
compatible with the Glide 2.x so it doesn't work with the current
|
compatible with the Glide 2.x so it doesn't work with the current
|
||||||
@@ -255,6 +27,8 @@ What do you need ?
|
|||||||
- A compiler supported by the Glide library (Micro$oft VC++ (tested),
|
- A compiler supported by the Glide library (Micro$oft VC++ (tested),
|
||||||
Watcom (tested), GCC for Linux (tested), etc.);
|
Watcom (tested), GCC for Linux (tested), etc.);
|
||||||
|
|
||||||
|
- A lot of patience, this is an alpha release.
|
||||||
|
|
||||||
- It's nice to have two monitors - one for your normal graphics
|
- It's nice to have two monitors - one for your normal graphics
|
||||||
card and one for your 3Dfx card. If something goes wrong with
|
card and one for your 3Dfx card. If something goes wrong with
|
||||||
an application using the 3Dfx hardware you can still see your
|
an application using the 3Dfx hardware you can still see your
|
||||||
|
|||||||
114
docs/README.BEOS
114
docs/README.BEOS
@@ -3,89 +3,61 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
* Introduction
|
Introduction
|
||||||
|
|
||||||
Brian Paul added in Mesa 3.1 a driver for BeOS R4.5 operating system.
|
Mesa 3.1 features a new driver for the BeOS. The new driver implements
|
||||||
This driver implements a clone of the BGLView class. This class,
|
a clone of the BGLView class. This class, derived from BView, allows
|
||||||
derived from BView, allows OpenGL rendering into any BeOS window. His
|
OpenGL rendering into a BeOS window.
|
||||||
driver was updated in Mesa 4.1 and again in version 6.1 by Philippe
|
|
||||||
Houdoin, who's maintaining this driver since.
|
|
||||||
|
|
||||||
Any application which uses the BGLView should be able to use Mesa
|
Any application which uses the BGLView should be able to use Mesa
|
||||||
instead of Be's OpenGL without changing any code.
|
instead of Be's OpenGL without changing any code.
|
||||||
|
|
||||||
Since Be's OpenGL implementation (as of R5) is basically just the
|
Since Be's OpenGL implementation (as of R4) is basically just the
|
||||||
SGI sample implementation, it's pretty slow. You'll see that Mesa
|
SGI sample implementation, it's pretty slow. You'll see that Mesa
|
||||||
is considerably faster.
|
is considerably faster.
|
||||||
|
|
||||||
|
|
||||||
* Source Code
|
|
||||||
|
|
||||||
The source code for the driver is in src/mesa/drivers/beos/ directory.
|
Source Code
|
||||||
|
|
||||||
|
The source code for the driver is in Mesa-3.1/src/BeOS/GLView.cpp
|
||||||
It's not 100% finished at this time but many GLUT-based demos are
|
It's not 100% finished at this time but many GLUT-based demos are
|
||||||
working. No optimizations have been made at this time.
|
working. No optimizations have been made at this time.
|
||||||
|
|
||||||
|
|
||||||
* Compiling
|
|
||||||
|
|
||||||
Requirements:
|
Compiling
|
||||||
- gcc version 2.95.3 for BeOS
|
|
||||||
You can find it here: http://www.bebits.com/app/2157
|
|
||||||
|
|
||||||
To build Mesa-powered BeOS libGL.so version, open an Terminal window,
|
In the Mesa-3.x directory type "make -f Makefile.X11 beos-r4".
|
||||||
move to Mesa root folder and type this command:
|
When it finishes the libMesaGL.so and libMesaGLU.so libraries for
|
||||||
|
BeOS will be in the Mesa-3.x/lib/ directory.
|
||||||
$ make beos
|
|
||||||
|
|
||||||
Note that the "beos" argument is only needed the first time to setup build config.
|
|
||||||
Next times, typing "make" will be enough.
|
|
||||||
|
|
||||||
When it finishes the Mesa based libGL.so library for
|
|
||||||
BeOS will be in the lib/ directory, along libglut.so library.
|
|
||||||
Several demo/test programs should have been build too under progs/* folders.
|
|
||||||
If it stop when building one of the progs/* programs, you may want to ignore it
|
|
||||||
and force make to move on next target by adding the -k make option:
|
|
||||||
|
|
||||||
$ cd progs
|
|
||||||
$ make -k
|
|
||||||
|
|
||||||
To install it as Be's default libGL.so replacement, put it in your
|
|
||||||
/boot/home/config/lib/ directory. All your GL/GLUT apps will use
|
|
||||||
the Mesa based then.
|
|
||||||
|
|
||||||
By default, it build a non-debug version library.
|
|
||||||
The x86 (MMX, SSE and 3DNOW) optimizations are also supported for x86 target.
|
|
||||||
For PowerPC BeOS flavor, sorry, Mesa don't have ppc (Altivec) optimizations
|
|
||||||
yet.
|
|
||||||
|
|
||||||
To build a DEBUG version, type instead this :
|
|
||||||
|
|
||||||
$ DEBUG=1 make
|
|
||||||
|
|
||||||
|
|
||||||
* Example Programs
|
|
||||||
|
|
||||||
Look under progs/beos/ for some BGLView-based programs.
|
Example Programs
|
||||||
You should find under progs/samples and progs/redbook directories GLUT-based programs too.
|
|
||||||
They all should have been compiled along with the Mesa library.
|
Look in the Mesa-3.x/BeOS/ directory for one or two BGLView demo
|
||||||
|
programs. They should have been compiled along with the Mesa
|
||||||
|
library.
|
||||||
|
|
||||||
|
|
||||||
* GLUT
|
|
||||||
|
|
||||||
A beta version of GLUT 3.7 port for BeOS, made by Jake Hamby, can be found at
|
GLUT
|
||||||
http://anobject.com/jehamby/Code/Glut-3.7-x86.zip.
|
|
||||||
This is the version currently included in Mesa source code, and
|
|
||||||
build in lib/libglut.so.
|
|
||||||
|
|
||||||
A previous 3.5 version of this GLUT BeOS port used to be available at
|
|
||||||
http://home.beoscentral.com/jehamby/Glut-3.5-x86.zip.
|
|
||||||
|
|
||||||
They're special versions of GLUT for the BeOS platform. I don't
|
A version of GLUT 2.5 for BeOS can be found in src-glut.beos/.
|
||||||
|
The original distribution can be obtained from
|
||||||
|
http://home.beoscentral.com/jehamby/Glut-3.5-x86.zip
|
||||||
|
|
||||||
|
This is a special version of GLUT adapted for the BeOS. I don't
|
||||||
believe Mark Kilgard's normal GLUT distribution includes BeOS
|
believe Mark Kilgard's normal GLUT distribution includes BeOS
|
||||||
support.
|
support.
|
||||||
|
|
||||||
|
It seems that you have to recompile GLUT with libMesaGL.so instead
|
||||||
|
of libGL.so in order for everything to work. I'm not sure why.
|
||||||
|
|
||||||
* Special Features
|
|
||||||
|
|
||||||
|
Special Features
|
||||||
|
|
||||||
Mesa's implementation of the BGLView class has an extra member
|
Mesa's implementation of the BGLView class has an extra member
|
||||||
function: CopySubBufferMESA(). It basically works like SwapBuffers()
|
function: CopySubBufferMESA(). It basically works like SwapBuffers()
|
||||||
@@ -96,39 +68,35 @@ that you're actually using Mesa (with glGetString) so you don't
|
|||||||
cause a fatal error when running with Be's OpenGL.
|
cause a fatal error when running with Be's OpenGL.
|
||||||
|
|
||||||
|
|
||||||
* Work Left To Do
|
|
||||||
|
|
||||||
- BDirectWindow single buffering support is not implemented yet.
|
Work Left To Do
|
||||||
- Color index mode is not implemented yet.
|
|
||||||
- Reading pixels from the front buffer not implemented yet.
|
|
||||||
- There is also a BGLScreen class in BeOS for full-screen OpenGL rendering.
|
|
||||||
This should also be implemented for Mesa.
|
|
||||||
- Multiple renderers add-ons support, first step toward hardware acceleration
|
|
||||||
support.
|
|
||||||
|
|
||||||
* Other contributors to this BeOS port
|
Color index mode is not implemented yet.
|
||||||
|
|
||||||
Jake Hamby jhamby <at> anobject <dot> com
|
Reading pixels from the front buffer not implemented yet.
|
||||||
Marcin Konicki ahwayakchih <at> neoni <dot> net
|
|
||||||
Francois Revol revol <at> free <dot> fr
|
There is also a BGLScreen class in BeOS for full-screen OpenGL
|
||||||
|
rendering. This should also be implemented for Mesa.
|
||||||
|
|
||||||
|
|
||||||
* Older BeOS Driver
|
|
||||||
|
Old BeOS Driver
|
||||||
|
|
||||||
Mesa 2.6 had an earlier BeOS driver. It was based on Mesa's Off-screen
|
Mesa 2.6 had an earlier BeOS driver. It was based on Mesa's Off-screen
|
||||||
rendering interface, not BGLView. If you're interested in the older
|
rendering interface, not BGLView. If you're interested in the older
|
||||||
driver you should get Mesa 2.6.
|
driver you should get Mesa 2.6.
|
||||||
|
|
||||||
|
|
||||||
* BeOS and Glide
|
|
||||||
|
BeOS and Glide
|
||||||
|
|
||||||
Mesa 3.0 supported the 3Dfx/Glide library on Beos. Download Mesa 3.0
|
Mesa 3.0 supported the 3Dfx/Glide library on Beos. Download Mesa 3.0
|
||||||
if interested. Ideally, the 3Dfx/Glide support should be updated to
|
if interested. Ideally, the 3Dfx/Glide support should be updated to
|
||||||
work with the new Mesa 3.1 BGLView implementation.
|
work with the new Mesa 3.1 BGLView implementation.
|
||||||
|
|
||||||
The Glide library hasn't been updated for BeOS R4 and newer, to my knowledge,
|
The Glide library hasn't been updated for BeOS R4, to my knowledge, as
|
||||||
as of February, 1999.
|
of February, 1999.
|
||||||
|
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
$Id: README.BEOS,v 1.11 2004/08/24 08:31:57 phoudoin Exp $
|
$Id: README.BEOS,v 1.6 1999/11/27 01:40:40 brianp Exp $
|
||||||
|
|||||||
@@ -1,256 +0,0 @@
|
|||||||
|
|
||||||
Mesa Cygwin/X11 Information
|
|
||||||
|
|
||||||
|
|
||||||
WARNING
|
|
||||||
=======
|
|
||||||
|
|
||||||
If you installed X11 (packages xorg-x11-devel and xorg-x11-bin-dlls ) with the
|
|
||||||
latest setup.exe from Cygwin the GL (Mesa) libraries and include are already
|
|
||||||
installed in /usr/X11R6.
|
|
||||||
|
|
||||||
The following will explain how to "replace" them.
|
|
||||||
|
|
||||||
Installation
|
|
||||||
============
|
|
||||||
|
|
||||||
How to compile Mesa on Cygwin/X11 systems:
|
|
||||||
|
|
||||||
1. Shared libs:
|
|
||||||
type 'make cygwin-sl'.
|
|
||||||
|
|
||||||
When finished, the Mesa DLL will be in the Mesa-x.y/lib/ and
|
|
||||||
Mesa-x.y/bin directories.
|
|
||||||
|
|
||||||
|
|
||||||
2. Static libs:
|
|
||||||
type 'make cygwin-static'.
|
|
||||||
When finished, the Mesa libraries will be in the Mesa-x.y/lib/ directory.
|
|
||||||
|
|
||||||
Header and library files:
|
|
||||||
After you've compiled Mesa and tried the demos I recommend the following
|
|
||||||
procedure for "installing" Mesa.
|
|
||||||
|
|
||||||
Copy the Mesa include/GL directory to /usr/X11R6/include:
|
|
||||||
cp -a include/GL /usr/X11R6/include
|
|
||||||
|
|
||||||
Copy the Mesa library files to /usr/X11R6/lib:
|
|
||||||
cp -a lib/* /usr/X11R6ocal/lib
|
|
||||||
|
|
||||||
Copy the Mesa bin files (used by the DLL stuff) to /usr/X11R6/bin:
|
|
||||||
cp -a lib/cyg* /usr/X11R6/bin
|
|
||||||
|
|
||||||
Xt/Motif widgets:
|
|
||||||
If you want to use Mesa or OpenGL in your Xt/Motif program you can build
|
|
||||||
the widgets found in either the widgets-mesa or widgets-sgi directories.
|
|
||||||
The former were written for Mesa and the later are the original SGI
|
|
||||||
widgets. Look in those directories for more information.
|
|
||||||
For the Motif widgets you must have downloaded the lesstif package.
|
|
||||||
|
|
||||||
|
|
||||||
Using the library
|
|
||||||
=================
|
|
||||||
|
|
||||||
Configuration options:
|
|
||||||
The file src/mesa/main/config.h has many parameters which you can adjust
|
|
||||||
such as maximum number of lights, clipping planes, maximum texture size,
|
|
||||||
etc. In particular, you may want to change DEPTH_BITS from 16 to 32
|
|
||||||
if a 16-bit depth buffer isn't precise enough for your application.
|
|
||||||
|
|
||||||
|
|
||||||
Shared libraries:
|
|
||||||
If you compile shared libraries (Win32 DLLS) you may have to set an
|
|
||||||
environment variable to specify where the Mesa libraries are located.
|
|
||||||
Set the PATH variable to include /your-dir/Mesa-2.6/bin.
|
|
||||||
Otherwise, when you try to run a demo it may fail with a message saying
|
|
||||||
that one or more DLL couldn't be found.
|
|
||||||
|
|
||||||
|
|
||||||
Xt/Motif Widgets:
|
|
||||||
Two versions of the Xt/Motif OpenGL drawing area widgets are included:
|
|
||||||
|
|
||||||
widgets-sgi/ SGI's stock widgets
|
|
||||||
widgets-mesa/ Mesa-tuned widgets
|
|
||||||
|
|
||||||
Look in those directories for details
|
|
||||||
|
|
||||||
|
|
||||||
Togl:
|
|
||||||
Togl is an OpenGL/Mesa widget for Tcl/Tk.
|
|
||||||
See http://togl.sourceforge.net for more information.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
X Display Modes:
|
|
||||||
Mesa supports RGB(A) rendering into almost any X visual type and depth.
|
|
||||||
|
|
||||||
The glXChooseVisual function tries its best to pick an appropriate visual
|
|
||||||
for the given attribute list. However, if this doesn't suit your needs
|
|
||||||
you can force Mesa to use any X visual you want (any supported by your
|
|
||||||
X server that is) by setting the MESA_RGB_VISUAL and MESA_CI_VISUAL
|
|
||||||
environment variables. When an RGB visual is requested, glXChooseVisual
|
|
||||||
will first look if the MESA_RGB_VISUAL variable is defined. If so, it
|
|
||||||
will try to use the specified visual. Similarly, when a color index
|
|
||||||
visual is requested, glXChooseVisual will look for the MESA_CI_VISUAL
|
|
||||||
variable.
|
|
||||||
|
|
||||||
The format of accepted values is: <visual-class> <depth>
|
|
||||||
Here are some examples:
|
|
||||||
|
|
||||||
using the C-shell:
|
|
||||||
% setenv MESA_RGB_VISUAL "TrueColor 8" // 8-bit TrueColor
|
|
||||||
% setenv MESA_CI_VISUAL "PseudoColor 12" // 12-bit PseudoColor
|
|
||||||
% setenv MESA_RGB_VISUAL "PseudoColor 8" // 8-bit PseudoColor
|
|
||||||
|
|
||||||
using the KornShell:
|
|
||||||
$ export MESA_RGB_VISUAL="TrueColor 8"
|
|
||||||
$ export MESA_CI_VISUAL="PseudoColor 12"
|
|
||||||
$ export MESA_RGB_VISUAL="PseudoColor 8"
|
|
||||||
|
|
||||||
|
|
||||||
Double buffering:
|
|
||||||
Mesa can use either an X Pixmap or XImage as the backbuffer when in
|
|
||||||
double buffer mode. Using GLX, the default is to use an XImage. The
|
|
||||||
MESA_BACK_BUFFER environment variable can override this. The valid
|
|
||||||
values for MESA_BACK_BUFFER are: Pixmap and XImage (only the first
|
|
||||||
letter is checked, case doesn't matter).
|
|
||||||
|
|
||||||
A pixmap is faster when drawing simple lines and polygons while an
|
|
||||||
XImage is faster when Mesa has to do pixel-by-pixel rendering. If you
|
|
||||||
need depth buffering the XImage will almost surely be faster. Exper-
|
|
||||||
iment with the MESA_BACK_BUFFER variable to see which is faster for
|
|
||||||
your application.
|
|
||||||
|
|
||||||
|
|
||||||
Colormaps:
|
|
||||||
When using Mesa directly or with GLX, it's up to the application writer
|
|
||||||
to create a window with an appropriate colormap. The aux, tk, and GLUT
|
|
||||||
toolkits try to minimize colormap "flashing" by sharing colormaps when
|
|
||||||
possible. Specifically, if the visual and depth of the window matches
|
|
||||||
that of the root window, the root window's colormap will be shared by
|
|
||||||
the Mesa window. Otherwise, a new, private colormap will be allocated.
|
|
||||||
|
|
||||||
When sharing the root colormap, Mesa may be unable to allocate the colors
|
|
||||||
it needs, resulting in poor color quality. This can happen when a
|
|
||||||
large number of colorcells in the root colormap are already allocated.
|
|
||||||
To prevent colormap sharing in aux, tk and GLUT, define the environment
|
|
||||||
variable MESA_PRIVATE_CMAP. The value isn't significant.
|
|
||||||
|
|
||||||
|
|
||||||
Gamma correction:
|
|
||||||
To compensate for the nonlinear relationship between pixel values
|
|
||||||
and displayed intensities, there is a gamma correction feature in
|
|
||||||
Mesa. Some systems, such as Silicon Graphics, support gamma
|
|
||||||
correction in hardware (man gamma) so you won't need to use Mesa's
|
|
||||||
gamma facility. Other systems, however, may need gamma adjustment
|
|
||||||
to produce images which look correct. If in the past you thought
|
|
||||||
Mesa's images were too dim, read on.
|
|
||||||
|
|
||||||
Gamma correction is controlled with the MESA_GAMMA environment
|
|
||||||
variable. Its value is of the form "Gr Gg Gb" or just "G" where
|
|
||||||
Gr is the red gamma value, Gg is the green gamma value, Gb is the
|
|
||||||
blue gamma value and G is one gamma value to use for all three
|
|
||||||
channels. Each value is a positive real number typically in the
|
|
||||||
range 1.0 to 2.5. The defaults are all 1.0, effectively disabling
|
|
||||||
gamma correction. Examples using csh:
|
|
||||||
|
|
||||||
% setenv MESA_GAMMA "2.3 2.2 2.4" // separate R,G,B values
|
|
||||||
% setenv MESA_GAMMA "2.0" // same gamma for R,G,B
|
|
||||||
|
|
||||||
The demos/gamma.c program may help you to determine reasonable gamma
|
|
||||||
value for your display. With correct gamma values, the color intensities
|
|
||||||
displayed in the top row (drawn by dithering) should nearly match those
|
|
||||||
in the bottom row (drawn as grays).
|
|
||||||
|
|
||||||
Alex De Bruyn reports that gamma values of 1.6, 1.6 and 1.9 work well
|
|
||||||
on HP displays using the HP-ColorRecovery technology.
|
|
||||||
|
|
||||||
Mesa implements gamma correction with a lookup table which translates
|
|
||||||
a "linear" pixel value to a gamma-corrected pixel value. There is a
|
|
||||||
small performance penalty. Gamma correction only works in RGB mode.
|
|
||||||
Also be aware that pixel values read back from the frame buffer will
|
|
||||||
not be "un-corrected" so glReadPixels may not return the same data
|
|
||||||
drawn with glDrawPixels.
|
|
||||||
|
|
||||||
For more information about gamma correction see:
|
|
||||||
http://www.inforamp.net/~poynton/notes/colour_and_gamma/GammaFAQ.html
|
|
||||||
|
|
||||||
|
|
||||||
Overlay Planes
|
|
||||||
|
|
||||||
Overlay planes in the frame buffer are supported by Mesa but require
|
|
||||||
hardware and X server support. To determine if your X server has
|
|
||||||
overlay support you can test for the SERVER_OVERLAY_VISUALS property:
|
|
||||||
|
|
||||||
xprop -root | grep SERVER_OVERLAY_VISUALS
|
|
||||||
|
|
||||||
|
|
||||||
HPCR glClear(GL_COLOR_BUFFER_BIT) dithering
|
|
||||||
|
|
||||||
If you set the MESA_HPCR_CLEAR environment variable then dithering
|
|
||||||
will be used when clearing the color buffer. This is only applicable
|
|
||||||
to HP systems with the HPCR (Color Recovery) system.
|
|
||||||
|
|
||||||
|
|
||||||
Extensions
|
|
||||||
==========
|
|
||||||
There are three Mesa-specific GLX extensions at this time.
|
|
||||||
|
|
||||||
GLX_MESA_pixmap_colormap
|
|
||||||
|
|
||||||
This extension adds the GLX function:
|
|
||||||
|
|
||||||
GLXPixmap glXCreateGLXPixmapMESA( Display *dpy, XVisualInfo *visual,
|
|
||||||
Pixmap pixmap, Colormap cmap )
|
|
||||||
|
|
||||||
It is an alternative to the standard glXCreateGLXPixmap() function.
|
|
||||||
Since Mesa supports RGB rendering into any X visual, not just True-
|
|
||||||
Color or DirectColor, Mesa needs colormap information to convert RGB
|
|
||||||
values into pixel values. An X window carries this information but a
|
|
||||||
pixmap does not. This function associates a colormap to a GLX pixmap.
|
|
||||||
See the xdemos/glxpixmap.c file for an example of how to use this
|
|
||||||
extension.
|
|
||||||
|
|
||||||
GLX_MESA_release_buffers
|
|
||||||
|
|
||||||
Mesa associates a set of ancillary (depth, accumulation, stencil and
|
|
||||||
alpha) buffers with each X window it draws into. These ancillary
|
|
||||||
buffers are allocated for each X window the first time the X window
|
|
||||||
is passed to glXMakeCurrent(). Mesa, however, can't detect when an
|
|
||||||
X window has been destroyed in order to free the ancillary buffers.
|
|
||||||
|
|
||||||
The best it can do is to check for recently destroyed windows whenever
|
|
||||||
the client calls the glXCreateContext() or glXDestroyContext()
|
|
||||||
functions. This may not be sufficient in all situations though.
|
|
||||||
|
|
||||||
The GLX_MESA_release_buffers extension allows a client to explicitly
|
|
||||||
deallocate the ancillary buffers by calling glxReleaseBuffersMESA()
|
|
||||||
just before an X window is destroyed. For example:
|
|
||||||
|
|
||||||
#ifdef GLX_MESA_release_buffers
|
|
||||||
glXReleaseBuffersMESA( dpy, window );
|
|
||||||
#endif
|
|
||||||
XDestroyWindow( dpy, window );
|
|
||||||
|
|
||||||
This extension is new in Mesa 2.0.
|
|
||||||
|
|
||||||
GLX_MESA_copy_sub_buffer
|
|
||||||
|
|
||||||
This extension adds the glXCopySubBufferMESA() function. It works
|
|
||||||
like glXSwapBuffers() but only copies a sub-region of the window
|
|
||||||
instead of the whole window.
|
|
||||||
|
|
||||||
This extension is new in Mesa version 2.6
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Summary of X-related environment variables:
|
|
||||||
MESA_RGB_VISUAL - specifies the X visual and depth for RGB mode (X only)
|
|
||||||
MESA_CI_VISUAL - specifies the X visual and depth for CI mode (X only)
|
|
||||||
MESA_BACK_BUFFER - specifies how to implement the back color buffer (X only)
|
|
||||||
MESA_PRIVATE_CMAP - force aux/tk libraries to use private colormaps (X only)
|
|
||||||
MESA_GAMMA - gamma correction coefficients (X only)
|
|
||||||
|
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
|
||||||
README.CYGWIN - lassauge April 2004 - based on README.X11
|
|
||||||
399
docs/README.DJ
399
docs/README.DJ
@@ -1,267 +1,132 @@
|
|||||||
Mesa 6.1 DOS/DJGPP Port v1.6
|
Mesa 4.0 DOS/DJGPP Port v1.0
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Description:
|
Description:
|
||||||
~~~~~~~~~~~~
|
~~~~~~~~~~~~
|
||||||
|
|
||||||
Well, guess what... this is the DOS port of Mesa 6.1, for DJGPP fans... Whoa!
|
Well, guess what... this is the DOS port of MESA 4.0, for DJGPP fans... Whoa!
|
||||||
The driver has its origins in ddsample.c, written by Brian Paul and found by me
|
|
||||||
in Mesa 3.4.2.
|
|
||||||
|
|
||||||
|
Legal:
|
||||||
|
~~~~~~
|
||||||
Legal:
|
|
||||||
~~~~~~
|
MESA copyright applies.
|
||||||
|
|
||||||
Mesa copyright applies, provided this package is used within Mesa. For anything
|
|
||||||
else, see GPL.
|
|
||||||
|
Installation:
|
||||||
|
~~~~~~~~~~~~~
|
||||||
|
|
||||||
Installation:
|
Type "make -f Makefile.DJ" to compile the libraries. Make accepts some options
|
||||||
~~~~~~~~~~~~~
|
which are passed to compiler: the target cpu (CPU=..., default=`pentium') and
|
||||||
|
X86 specific options (HAVE_X86=1, HAVE_MMX=1, HAVE_SSE=1, HAVE_3DNOW=1). The
|
||||||
Unzip and type:
|
core library (libGL) requires LFN support during compilation. Also, you must
|
||||||
|
have the DXE2 package (available on SimTel.Net, courtesy of Andrew Zabolotny)
|
||||||
make -f Makefile.DJ [OPTIONS...]
|
installed in order to build the dynamic modules; if you encounter errors, you
|
||||||
|
can fetch a patched version from my web page.
|
||||||
Available options:
|
The demos are not built automagically (see Pitfalls below). To make them, use
|
||||||
|
one of the following rules:
|
||||||
Environment variables:
|
Static:
|
||||||
CPU optimize for the given processor.
|
gcc -o OUT.exe IN.c -lglut -lglu -lgl
|
||||||
default = pentium
|
Dynamic:
|
||||||
GLU=[mesa|sgi] specify GLU directory; can be `sgi' (requires GNU/C++)
|
gcc -o OUT.exe -include dmesadxe.h IN.c -ligl -liglu -liglut -ldl
|
||||||
or `mesa'.
|
Usage of the dynamic modules requires three things:
|
||||||
default = mesa
|
- include DMESADXE.H in one of the sources, so references inside
|
||||||
GLIDE path to Glide3 SDK; used with FX.
|
dynamic modules will get resolved (or use `-include' directive)
|
||||||
default = $(TOP)/glide3
|
- link against import libraries (libIgl*.a) and LIBDL.A, which will do
|
||||||
FX=1 build for 3dfx Glide3. Note that this disables
|
the dynamic linkage job for you
|
||||||
compilation of most DMesa code and requires fxMesa.
|
- put the DXEs somewhere along the library path (LD_LIBRARY_PATH) or
|
||||||
As a consequence, you'll need the DJGPP Glide3
|
in the current directory
|
||||||
library to build any application.
|
|
||||||
default = no
|
Tested on:
|
||||||
X86=1 optimize for x86 (if possible, use MMX, SSE, 3DNow).
|
CPU: Intel Pentium w/ MMX @166 MHz
|
||||||
default = no
|
Mainboard: ViA Apollo VP2 w/ 128 MB SDRAM
|
||||||
|
Video card: Matrox Millenium 2064W w/ 2048 kB WRAM, BIOS v3.0
|
||||||
Targets:
|
DJGPP: djdev 2.03 + gcc v3.0.3 + make v3.79
|
||||||
all: build everything
|
|
||||||
libgl: build GL
|
|
||||||
libglu: build GLU
|
|
||||||
libglut: build GLUT
|
libGL (the core):
|
||||||
clean: remove object files
|
~~~~~~~~~~~~~~~~~
|
||||||
realclean: remove all generated files
|
|
||||||
|
Of course, MESA 4.0 core sources are required. It will probably work with
|
||||||
|
MESA 3.5, but not a chance with earlier versions due to major changes to the
|
||||||
|
MESA driver interface and the directory tree. All should compile succesfully.
|
||||||
Tested on:
|
|
||||||
CPU: AMD Athlon XP 1800+
|
The driver has its origins in ddsample.c, written by Brian Paul and found by
|
||||||
Mainboard: GA-7VTXE w/ 512 MB DDRAM
|
me in MESA 3.4.2. I touched almost all the functions, changing the coding
|
||||||
Video card: Voodoo5 6000 AGP w/ 128 MB SDRAM
|
style :-( Sorry!
|
||||||
DJGPP: djdev 2.04 + gcc v3.3.2 + make v3.80
|
|
||||||
OS: DOS and Win98SE
|
Pitfalls:
|
||||||
|
1. The current version supports only RGB[A] modes, for it made no sense to me
|
||||||
|
to endorse color-index (aka palette) modes.
|
||||||
|
2. Single-buffered is not allowed at all. Until I can find a way to use *REAL*
|
||||||
FAQ:
|
hardware acceleration, it won't get implemented.
|
||||||
~~~~
|
3. Another weird "feature" is that buffer width must be multiple of 4 (I'm a
|
||||||
|
lazy programmer and I found that the easiest way to keep buffer handling at
|
||||||
1. Compilation
|
peak performance ;-).
|
||||||
|
|
||||||
Q) `make' barfs and exits because it cannot find some stupid file.
|
|
||||||
A) You need LFN support.
|
|
||||||
A) When compiling for Glide (FX=1), pay attention to Glide path.
|
libGLU:
|
||||||
|
~~~~~~~
|
||||||
Q) Libraries built OK, but linker complains about `vsnprintf' every time I
|
|
||||||
compile some demo.
|
Mesa GLU sources are required.
|
||||||
A) Upgrade to DJGPP 2.04.
|
|
||||||
A) Add `vsnprintf.c' to the CORE_SOURCES in `src/Makefile.DJ' (untested!).
|
|
||||||
A) Patch `src/mesa/main/imports.c' with the following line:
|
|
||||||
#define vsnprintf(buf, max, fmt, arg) vsprintf(buf, fmt, arg)
|
libGLUT (the toolkit):
|
||||||
This hack should be safe in 90% of the cases, but if anything goes wrong,
|
~~~~~~~~~~~~~~~~~~~~~~
|
||||||
don't come back to me crying.
|
|
||||||
|
Well, this "skeletal" GLUT implementation is not mine. Thanks should go to
|
||||||
Q) `make' complains about DXE3 or something, yet it builds the libraries.
|
Bernhard Tschirren, Mark Kilgard, Brian Paul and probably others (or probably
|
||||||
A) DXE3 refers to the DJGPP dynamic modules. You'll need either the latest
|
not ;-). I only changed it to be self-standing (Allegro-free). The keyboard,
|
||||||
DJGPP distro, or download the separate package from my web page. Read the
|
mouse and timer drivers were inspired from an old project of mine (D3Xl) and
|
||||||
DXE3 documentation on how to use them.
|
fixed with some Allegro "infusions"; I deeply thank to Shawn Hargreaves et co.
|
||||||
A) When compiling for Glide (FX=1), make sure `glide3x.dxe' can be found in
|
|
||||||
LD_LIBRARY_PATH (or top `lib' directory).
|
My keyboard driver used only scancodes, but since GLUT requires ASCII values
|
||||||
|
for keys, I borrowed the translation tables (and maybe more) from Allegro.
|
||||||
2. Using Mesa for DJGPP
|
Ctrl-Alt-Del (plus Ctrl-Alt-End, for Windows users) will shut down the GLUT
|
||||||
|
engine unconditionally: it will raise SIGINT, which in turn will call the
|
||||||
Q) DMesa is so SLOOOW! The Win32 OpenGL performs so much better...
|
destructors (let's hope), thus cleaning up your/my mess ;-) NB: since the
|
||||||
A) Is that a question? If you have a 3dfx Voodoo or higher card, you're
|
DJGPP guys ensured signal handlers won't go beyond program's space (and since
|
||||||
lucky (check http://sourceforge.net/projects/glide for the DJGPP port).
|
dynamic modules shall) the SIGINT can't be hooked (well, it can, but it is
|
||||||
If you haven't, sorry; everything is done in software. Suggestions?
|
useless), therefore you must live with the 'Exiting due to signal SIGINT'
|
||||||
|
message...
|
||||||
Q) I tried to set refresh rate w/ DMesa, but without success.
|
|
||||||
A) Refresh rate control works only for VESA 3.0 and the 3dfx driver (in
|
The mouse driver is far from complete (lack of positioning, drawing, etc),
|
||||||
which case FX_GLIDE_REFRESH will be overwritten if it is defined and
|
but is enough to make almost all the demos work.
|
||||||
is not 0).
|
|
||||||
|
The timer is pretty versatile for it supports multiple timers with different
|
||||||
Q) I made a simple application and it does nothing. It exits right away. Not
|
frequencies. It may not be the most accurate timer in the known universe, but
|
||||||
even a blank screen.
|
I think it's OK. Take this example: you have timer A with a very high rate,
|
||||||
A) Pure software drivers (VESA/VGA/NUL) support only double-buffered modes.
|
and then you have timer B with very low rate compared to A; now, A ticks OK,
|
||||||
A) Another weird "feature" is that buffer width must be multiple of 8 (I'm a
|
but timer B will probably loose precision!
|
||||||
lazy programmer and I found that the easiest way to keep buffer handling
|
|
||||||
at peak performance ;-).
|
As an addition, stdout and stderr are redirected and dumped upon exit. This
|
||||||
|
means that printf can be safely called during graphics, but all messages come
|
||||||
Q) I'm getting a "bad font!" fatal error.
|
in bulk! A bit of a hack, I know, but I think it's better than to miss them
|
||||||
A) By default, DOS GLUT compiles with GLUT_IMPORT_LIB, to cope with variable
|
at all. "Borrowed" from RHIDE (Robert Hoehne) or SETEDIT (Salvador Eduardo
|
||||||
access inside dynamic modules (same mechanism used for Win32 _DLL). Since
|
Tropea)... I'm not sure.
|
||||||
-DGLUT_IMPORT_LIB affects Mesa's `glut.h', your apps must be compiled the
|
|
||||||
same way GLUT was compiled (either with or without defining it). If you
|
Window creating defaults: 640x480x16 at (0,0), 8-bit stencil, 16-bit accum.
|
||||||
want to use another `glut.h' when building your own demos, or just don't
|
However, the video mode is chosen in such a way that first window will fit.
|
||||||
feel happy about this, make sure you remove the line with GLUT_IMPORT_LIB
|
|
||||||
from `Mesa/src/glut/dos/Makefile.DJ' before (re)making GLUT. Beware, this
|
|
||||||
means you will never EVER be able to safely use `glut.dxe'!
|
|
||||||
|
History:
|
||||||
Q) What is NUL driver good for, if I don't get any output at all?
|
~~~~~~~~
|
||||||
A) For debugging. The NUL driver is very much like OSMesa. Everything is
|
|
||||||
done just the same as VESA/VGA drivers, only it doesn't touch your video
|
v1.0 mar-2002 initial release
|
||||||
hardware. You can query the actual buffer by issuing:
|
|
||||||
DMesaGetIntegerv(DMESA_GET_BUFFER_ADDR, &buffer);
|
|
||||||
and dump it to a file.
|
|
||||||
|
Contact:
|
||||||
Q) How do I query for a list of available video modes to choose as a visual?
|
~~~~~~~~
|
||||||
A) This is an ugly hack, for which I'm sure I'll burn in hell.
|
|
||||||
First, query for a list of modes:
|
Name: Borca Daniel
|
||||||
n = DMesaGetIntegerv(DMESA_GET_VIDEO_MODES, NULL);
|
E-mail: dborca@yahoo.com
|
||||||
If `n' is strictly positive, you allocate an array of pointers to a given
|
WWW: http://www.geocities.com/dborca/
|
||||||
struct (which is guaranteed to be extended only - not changed in future):
|
|
||||||
struct {
|
|
||||||
int xres, yres;
|
|
||||||
int bpp;
|
|
||||||
} **l = malloc(n * sizeof(void **));
|
|
||||||
Now pass the newly allocated buffer to fill in:
|
|
||||||
DMesaGetIntegerv(DMESA_GET_VIDEO_MODES, (GLint *)l);
|
|
||||||
And collect the info:
|
|
||||||
for (i = 0; i < n; i++) {
|
|
||||||
printf("%dx%d:%d\n", l[i]->xres, l[i]->yres, l[i]->bpp);
|
|
||||||
}
|
|
||||||
|
|
||||||
Q) The GLUT is incomplete.
|
|
||||||
A) See below.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
libGLUT (the toolkit):
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
Well, this "skeletal" GLUT implementation was taken from AllegGL project and
|
|
||||||
heavily changed. Thanks should go to Bernhard Tschirren, Mark Kilgard, Brian
|
|
||||||
Paul and probably others (or probably not ;-). GLUT functionality will be
|
|
||||||
extended only on an "as needed" basis.
|
|
||||||
|
|
||||||
GLUT talks to hardware via PC_HW package which was put together from various
|
|
||||||
pieces I wrote long time ago. It consists from the keyboard, mouse and timer
|
|
||||||
drivers.
|
|
||||||
|
|
||||||
My keyboard driver used only scancodes; as GLUT requires ASCII values for keys,
|
|
||||||
I borrowed the translation tables (and maybe more) from Allegro -- many thanks
|
|
||||||
to Shawn Hargreaves et co. Ctrl-Alt-Del (plus Ctrl-Alt-End, for Windows users)
|
|
||||||
will shut down the GLUT engine unconditionally: it will raise SIGINT, which in
|
|
||||||
turn will (hopefully) call the destructors, thus cleaning up your/my mess ;-)
|
|
||||||
NB: since the DJGPP guys ensured signal handlers won't go beyond program's
|
|
||||||
space (and since dynamic modules shall) the SIGINT can't be hooked (well, it
|
|
||||||
can, but it is useless), therefore you must live with the 'Exiting due to
|
|
||||||
signal SIGINT' message...
|
|
||||||
|
|
||||||
The mouse driver is far from complete (lack of drawing, etc), but is enough to
|
|
||||||
make almost all the demos work. Supports the CuteMouse WheelAPI.
|
|
||||||
|
|
||||||
The timer is pretty versatile for it supports multiple timers with different
|
|
||||||
frequencies. While not being the most accurate timer in the known universe, I
|
|
||||||
think it's OK. Take this example: you have timer A with a very high rate, and
|
|
||||||
then you have timer B with very low rate compared to A; now, A ticks OK, but
|
|
||||||
timer B will probably loose precision!
|
|
||||||
|
|
||||||
As an addition, stdout and stderr are redirected and dumped upon exit. This
|
|
||||||
means that `printf' can be safely called during graphics. A bit of a hack, I
|
|
||||||
know, because all messages come in bulk, but I think it's better than nothing.
|
|
||||||
"Borrowed" from LIBRHUTI (Robert Hoehne).
|
|
||||||
|
|
||||||
Window creating defaults: (0, 0, 300, 300), 16bpp. However, the video mode is
|
|
||||||
chosen in such a way that first window will fit. If you need high resolution
|
|
||||||
with small windows, set initial position far to the right (or way down); then
|
|
||||||
you can move them back to any position right before the main loop.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Environment variables:
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
DMESA_NULDRV - (any value) force NUL driver
|
|
||||||
GLUT_FPS - print frames/second statistics to stderr
|
|
||||||
DMESA_GLUT_REFRESH - set vertical screen refresh rate (VESA3)
|
|
||||||
DMESA_GLUT_BPP - set default bits per pixel (VGA needs 8)
|
|
||||||
DMESA_GLUT_ALPHA - set default alpha bits (8)
|
|
||||||
DMESA_GLUT_DEPTH - set default depth bits (16)
|
|
||||||
DMESA_GLUT_STENCIL - set default stencil bits (8)
|
|
||||||
DMESA_GLUT_ACCUM - set default accum bits (16)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
History:
|
|
||||||
~~~~~~~~
|
|
||||||
|
|
||||||
v1.0 (mar-2002)
|
|
||||||
initial release
|
|
||||||
|
|
||||||
v1.1 (sep-2002)
|
|
||||||
+ added 3dfx Glide3 support
|
|
||||||
+ added refresh rate control
|
|
||||||
+ added fonts in GLUT
|
|
||||||
* lots of minor changes
|
|
||||||
|
|
||||||
v1.2 (nov-2002)
|
|
||||||
* synced w/ Mesa-4.1
|
|
||||||
- removed dmesadxe.h
|
|
||||||
|
|
||||||
v1.3 (mar-2003)
|
|
||||||
+ enabled OpenGL 1.4 support
|
|
||||||
+ added MMX clear/blit routines
|
|
||||||
+ enabled SGI's GLU compilation
|
|
||||||
+ added samples makefile
|
|
||||||
+ added new GLUT functions
|
|
||||||
+ added color-index modes
|
|
||||||
+ added Matrox Millennium MGA2064W driver
|
|
||||||
+ added 8bit FakeColor (thanks to Neil Funk)
|
|
||||||
+ added VGA support (to keep Ben Decker happy)
|
|
||||||
! fixed some compilation errors (reported by Chan Kar Heng)
|
|
||||||
* optimized driver for faster callback access... yeah, right :)
|
|
||||||
* overhauled virtual buffer and internal video drivers
|
|
||||||
* better fxMesa integration
|
|
||||||
* revamped GLUT
|
|
||||||
* switched to DXE3
|
|
||||||
|
|
||||||
v1.4 (dec-2003)
|
|
||||||
+ enabled GLUT fonts with DXE
|
|
||||||
+ truly added multi-window support in GLUT (for Adrian Woodward)
|
|
||||||
* accomodated makefiles with the new sourcetree
|
|
||||||
* fixed some ALPHA issues
|
|
||||||
* minor changes to PC_HW/timer interface
|
|
||||||
x hacked and slashed the 3dfx driver (w/ help from Hiroshi Morii)
|
|
||||||
|
|
||||||
v1.5 (jan-2004)
|
|
||||||
+ added interface to query available "visuals" (GLFW - Marcus Geelnard)
|
|
||||||
+ added GLUT timer callback
|
|
||||||
- removed Matrox Millennium MGA2064W driver
|
|
||||||
x more changes to the 3dfx driver
|
|
||||||
|
|
||||||
v1.6 (aug-2004)
|
|
||||||
+ implemented NUL driver
|
|
||||||
+ added DMesaGetProcAddress and glutGetProcAddress
|
|
||||||
* reorganized fxMesa wrapper to handle multiple contexts
|
|
||||||
! fixed a horrible bug in VGA initialization routine
|
|
||||||
! fixed partial clears
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Contact:
|
|
||||||
~~~~~~~~
|
|
||||||
|
|
||||||
Name: Daniel Borca
|
|
||||||
E-mail: dborca@users.sourceforge.net
|
|
||||||
WWW: http://www.geocities.com/dborca/
|
|
||||||
|
|||||||
@@ -1,81 +1,53 @@
|
|||||||
Mesa 6.1 for MinGW32
|
August 30, 1998 -- Paul Garceau
|
||||||
~~~~~~~~~~~~~~~~~~~~
|
Updated January 13, 2000 -- Paul Garceau (pgarceau@teleport.com)
|
||||||
|
|
||||||
|
DISCLAIMER: I make this port of the Mesa 3-D Graphics Library as a service
|
||||||
|
to the general public. I can, in no way support or make any guarantee that the
|
||||||
Quick & dirty start:
|
build will work for your system.
|
||||||
--------------------
|
|
||||||
|
The associated packages and batch files I have included as part of the GCC-2.95.2/Mingw32 extension are provided "As-is" with out any guarantee of support or functionality from this author.
|
||||||
mingw32-make -f Makefile.mgw [OPTIONS...]
|
|
||||||
|
Feel free to modify or change things as you see fit, just remember that
|
||||||
Look into the corresponding makefiles for further information.
|
I can't support any modifications you might want to make to the files which I
|
||||||
Check README.3DFX to find out how to compile Mesa Glide3 driver
|
have included OR the lgpl protected Mesa 3-D Graphics Library.
|
||||||
with MinGW32!
|
|
||||||
|
I recommend using GCC-2.95.2/Mingw32 which is available at Mumit Khans' ftp site:
|
||||||
|
|
||||||
|
(ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/)
|
||||||
Contact:
|
|
||||||
--------
|
This build has been tested under WinNT4/SP6. Win9x and WinNT5 remain untested by me. I have not tested any of the demos included with Mesa3d.
|
||||||
|
|
||||||
Daniel Borca <dborca@users.sourceforge.net>
|
I recommend using the GCC-2.95.2/Mingw32.
|
||||||
|
|
||||||
|
ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/gcc-2.95.2
|
||||||
|
|
||||||
WARNING! The info below this line is outdated (yet some of it useful). WARNING!
|
Much thanks to the combined efforts of Mumit Khan, Jan-Jaap Vanderhagen
|
||||||
*******************************************************************************
|
and Colin Peters for making it possible for the Mingw32 toolchain to exist. Also, thanks go out to Stephane Rehel for the work that was completed on the Cygwin build.
|
||||||
|
|
||||||
|
Installing GCC-2.95.2/Mingw32 Build:
|
||||||
|
|
||||||
August 30, 1998 -- Paul Garceau
|
a) Open the file archive (either tar.gz or .zip extensions)
|
||||||
Updated January 13, 2000 -- Paul Garceau (pgarceau@teleport.com)
|
|
||||||
|
b) Decide the directory you want to move the archived files to.
|
||||||
DISCLAIMER: I make this port of the Mesa 3-D Graphics Library as a service
|
|
||||||
to the general public. I can, in no way support or make any guarantee that the
|
d) Extract the files from the archive.
|
||||||
build will work for your system.
|
|
||||||
|
e) Edit the mingw32.bat file to accomodate your choice of directory structure.
|
||||||
The associated packages and batch files I have included as part of the GCC-2.95.2/Mingw32 extension are provided "As-is" with out any guarantee of support or functionality from this author.
|
|
||||||
|
%mesaroot%: This is your root directory (Mesa-3.3)
|
||||||
Feel free to modify or change things as you see fit, just remember that
|
%mesasrc%: This is the Mesa-3.3 src directory (Mesa-3.3\src)
|
||||||
I can't support any modifications you might want to make to the files which I
|
%mesalib%: This is where the build will put libGL.a and libGLU.a
|
||||||
have included OR the lgpl protected Mesa 3-D Graphics Library.
|
|
||||||
|
Running the Build:
|
||||||
I recommend using GCC-2.95.2/Mingw32 which is available at Mumit Khans' ftp site:
|
|
||||||
|
Open your Command Prompt or MS-DOS prompt.
|
||||||
(ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/)
|
Go to your Mesa-3.3 'root' directory
|
||||||
|
At the command line type: mingw32
|
||||||
This build has been tested under WinNT4/SP6. Win9x and WinNT5 remain untested by me. I have not tested any of the demos included with Mesa3d.
|
|
||||||
|
That's all there is to it.
|
||||||
I recommend using the GCC-2.95.2/Mingw32.
|
|
||||||
|
Enjoy!
|
||||||
ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/gcc-2.95.2
|
|
||||||
|
Peace,
|
||||||
Much thanks to the combined efforts of Mumit Khan, Jan-Jaap Vanderhagen
|
|
||||||
and Colin Peters for making it possible for the Mingw32 toolchain to exist. Also, thanks go out to Stephane Rehel for the work that was completed on the Cygwin build.
|
|
||||||
|
|
||||||
Installing GCC-2.95.2/Mingw32 Build:
|
|
||||||
|
|
||||||
a) Open the file archive (either tar.gz or .zip extensions)
|
|
||||||
|
|
||||||
b) Decide the directory you want to move the archived files to.
|
|
||||||
|
|
||||||
d) Extract the files from the archive.
|
|
||||||
|
|
||||||
e) Edit the mingw32.bat file to accomodate your choice of directory structure.
|
|
||||||
|
|
||||||
%mesaroot%: This is your root directory (Mesa-3.3)
|
|
||||||
%mesasrc%: This is the Mesa-3.3 src directory (Mesa-3.3\src)
|
|
||||||
%mesalib%: This is where the build will put libGL.a and libGLU.a
|
|
||||||
|
|
||||||
Running the Build:
|
|
||||||
|
|
||||||
Open your Command Prompt or MS-DOS prompt.
|
|
||||||
Go to your Mesa-3.3 'root' directory
|
|
||||||
At the command line type: mingw32
|
|
||||||
|
|
||||||
That's all there is to it.
|
|
||||||
|
|
||||||
Enjoy!
|
|
||||||
|
|
||||||
Peace,
|
|
||||||
|
|
||||||
Paul G. (pgarceau@teleport.com)
|
Paul G. (pgarceau@teleport.com)
|
||||||
@@ -1,52 +1,55 @@
|
|||||||
File: docs/README.WIN32
|
File: docs/README.WIN32
|
||||||
|
|
||||||
Last updated: Sep 18, 2003 - Karl Schultz - kschultz@users.sourceforge.net
|
Last updated: Nov 29, 2001 - Karl Schultz - kschultz@users.sourceforge.net
|
||||||
|
|
||||||
Quick Start
|
Quick Start
|
||||||
|
|
||||||
Unzip both ZIP files (MesaLib and MesaDemos) into the same directory.
|
If you have Microsoft Visual C++ 6.0 installed, simply go to the top directory
|
||||||
The libs and demos build separately, so if you do not care about the
|
of the Mesa distribution and type 'nmake -f Makefile.win NODEBUG=1' for
|
||||||
demos, you do not have to unzip that zip file. But if you do, it does
|
an optimized build.
|
||||||
need to be unzipped into the same directory as the lib zip file because
|
|
||||||
the demos depend on the libs.
|
|
||||||
|
|
||||||
The build system has been changed to use Microsoft Visual Studio project
|
|
||||||
workspaces and projects. Makefiles are no longer shipped or supported, but
|
|
||||||
can be generated from the projects using Visual Studio.
|
|
||||||
|
|
||||||
Details and Notes
|
Details and Notes
|
||||||
|
|
||||||
- To build the Mesa libraries, open the Mesa.dsw workspace file
|
- Building Mesa as noted above should visit and build the following:
|
||||||
in the top directory. You can build each project one-by-one,
|
src MesaGL.dll, MesaGL.lib, osmesa.dll, osmesa.lib
|
||||||
or build the glut project to build everything except osmesa,
|
si-glu MesaGLU.dll, MesaGLU.lib
|
||||||
which needs to be built separately. The build process will
|
src-glut glut32.dll, glut32.lib
|
||||||
create a lib directory in the top directory and will put the
|
demos a handful of demo executables.
|
||||||
following files there:
|
|
||||||
OPENGL32.LIB, GLU32.LIB, GLUT32.LIB, OSMESA32.LIB
|
|
||||||
OPENGL32.DLL, GLU32.DLL, GLUT32.DLL, OSMESA32.DLL
|
|
||||||
|
|
||||||
- After building, you can copy the above DLL files to a place in your PATH
|
- After building, you can copy the above DLL files to a place in your PATH
|
||||||
such as $SystemRoot/SYSTEM32. If you don't like putting things in a
|
or to the demos directory if you just want to give the demos a try.
|
||||||
system directory, place them in the same directory as the executable(s).
|
The DLL and LIB files are copied to the ./lib directory. The makefile
|
||||||
Be careful about accidentially overwriting files of the same name in
|
creates this directory if it does not already exist.
|
||||||
the SYSTEM32 directory.
|
|
||||||
|
|
||||||
- Build the demos by opening the appropriate *.dsw file in the
|
- The make targets 'clean' and 'clobber' will remove objects and libraries.
|
||||||
progs directory tree. For example, to build the demos, use
|
But the files in ./lib are never cleaned.
|
||||||
progs/demos/Windows/demos.dsw. The Windows directory contains
|
|
||||||
the workspace and all the projects for each demo program. Each
|
|
||||||
project places the executable in the same directory as its source
|
|
||||||
code, which is required for some demos.
|
|
||||||
|
|
||||||
- The demo projects also copy the Mesa library DLL files from the lib
|
- The make target 'install' will take its best shot at copying DLL files,
|
||||||
directory into the same directory as the demo executables, so that
|
LIB files, and headers to the right places. I strongly suggest that
|
||||||
the demos use the Mesa libs you just built.
|
you examine the makefiles to make sure that 'install' doesn't do anything
|
||||||
|
that you can't live with.
|
||||||
|
|
||||||
|
- The makefiles are designed to work with Microsoft's NMAKE, and do,
|
||||||
|
unfortunately, have some Microsoft-specific things in them. If you
|
||||||
|
would like to use gcc or some other build tools like the Cygnus tools,
|
||||||
|
then you will have to hack the makefiles to make them work with your
|
||||||
|
tools. I'm sorry about this; I wasn't motivated to make this any
|
||||||
|
different, but if you end up modifying the makefiles for your tools,
|
||||||
|
you can send me the changes and I can apply the changes to the
|
||||||
|
source tree.
|
||||||
|
|
||||||
|
- There are no Microsoft Visual Studio project files. However, these
|
||||||
|
should be very easy to create. One can use the compiler and linker
|
||||||
|
options found in the makefiles to make quick progress in creating
|
||||||
|
projects.
|
||||||
|
|
||||||
- The DLL files are built so that the external entry points use the
|
- The DLL files are built so that the external entry points use the
|
||||||
stdcall calling convention.
|
stdcall calling convention.
|
||||||
|
|
||||||
- Static LIB files are not built. The LIB files that are built with
|
- Static LIB files are not built. The LIB files that are built with
|
||||||
are the linker import files associated with the DLL files.
|
the current makefiles are the linker import files associated with
|
||||||
|
the DLL files. If static LIB's are desired, it should not be too
|
||||||
|
difficult to modify the makefiles to generate them.
|
||||||
|
|
||||||
- The si-glu sources are used to build the GLU libs. This was done
|
- The si-glu sources are used to build the GLU libs. This was done
|
||||||
mainly to get the better tessellator code.
|
mainly to get the better tessellator code.
|
||||||
@@ -64,9 +67,9 @@ Details and Notes
|
|||||||
|
|
||||||
- There is DirectDraw support in the Windows driver, updated by
|
- There is DirectDraw support in the Windows driver, updated by
|
||||||
Daniel Slater. You'll need to uncomment the #define DDRAW line
|
Daniel Slater. You'll need to uncomment the #define DDRAW line
|
||||||
in src/Windows/wmesadef.h and add ddraw.lib to the list of libraries.
|
in src/Windows/wmesadef.h and add ddraw.lib to the list of libraries
|
||||||
On some systems, you will acheive significantly higher framerates
|
in src/Makefile.win. On some systems, you will acheive significantly
|
||||||
with DirectDraw.
|
higher framerates with DirectDraw.
|
||||||
|
|
||||||
- Some of the more specialized code like FX drivers, stereo, and
|
- Some of the more specialized code like FX drivers, stereo, and
|
||||||
parallel support isn't compiled or tested. I left much of this
|
parallel support isn't compiled or tested. I left much of this
|
||||||
@@ -75,12 +78,6 @@ Details and Notes
|
|||||||
- No assembly code is compiled or assembled. Again, this may need
|
- No assembly code is compiled or assembled. Again, this may need
|
||||||
some work to turn it back on or use it again.
|
some work to turn it back on or use it again.
|
||||||
|
|
||||||
- To build "mangled" Mesa, add the preprocessor define USE_MGL_NAMESPACE
|
|
||||||
to the project settings. You will also need to edit src/mesa.def to change
|
|
||||||
all the gl* symbols to mgl*. Because this is easy to do with a global
|
|
||||||
replace operation in a text editor, no additional mangled version of mesa.def
|
|
||||||
is maintained or shipped.
|
|
||||||
|
|
||||||
If you have a Windows-related build problem or question, it is
|
If you have a Windows-related build problem or question, it is
|
||||||
probably better to direct it to me (kschultz@users.sourceforge.net),
|
probably better to direct it to me (kschultz@users.sourceforge.net),
|
||||||
rather than directly to the other Mesa developers. I will help you
|
rather than directly to the other Mesa developers. I will help you
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
Mesa Unix/X11 Information
|
Mesa 4.0.3 Unix/X11 Information
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -18,15 +18,21 @@ There are two ways to compile Mesa on Unix/X11 systems:
|
|||||||
the top-level Makefile and Make-config files. There are instructions in
|
the top-level Makefile and Make-config files. There are instructions in
|
||||||
each file.
|
each file.
|
||||||
|
|
||||||
When finished, the Mesa libraries will be in the Mesa-x.y/lib/ directory.
|
|
||||||
|
|
||||||
|
|
||||||
2. The new way:
|
2. The new way:
|
||||||
Type './configure' and then 'make'. This uses GNU autoconfig.
|
Type './configure' and then 'make'. This uses GNU autoconfig.
|
||||||
Run 'make check' to build the demos.
|
|
||||||
See docs/INSTALL for more details.
|
See docs/INSTALL for more details.
|
||||||
When finished, the Mesa libraries will be in the Mesa-x.y/src/.libs/,
|
|
||||||
Mesa-x.y/si-glu/.libs, etc directories.
|
|
||||||
|
The top-level makefile will execute the makefiles in a number of sub-
|
||||||
|
directories. When finished, the Mesa libraries will be in the Mesa-4.0.3/lib/
|
||||||
|
directory. A few GLUT demos in the demos/ directory should be ready to run.
|
||||||
|
|
||||||
|
If you also downloaded and unpacked the demos there should be executables
|
||||||
|
in the "xdemos/", "samples/", and "book/" directories for you to try out.
|
||||||
|
|
||||||
|
If you have compilation problems you should try to fix them and return the
|
||||||
|
patches to the author.
|
||||||
|
|
||||||
|
|
||||||
Notes on assembly language optimizations:
|
Notes on assembly language optimizations:
|
||||||
@@ -85,8 +91,8 @@ Using the library
|
|||||||
=================
|
=================
|
||||||
|
|
||||||
Configuration options:
|
Configuration options:
|
||||||
The file src/mesa/main/config.h has many parameters which you can adjust
|
The file src/config.h has many parameters which you can adjust such
|
||||||
such as maximum number of lights, clipping planes, maximum texture size,
|
as maximum number of lights, clipping planes, maximum texture size,
|
||||||
etc. In particular, you may want to change DEPTH_BITS from 16 to 32
|
etc. In particular, you may want to change DEPTH_BITS from 16 to 32
|
||||||
if a 16-bit depth buffer isn't precise enough for your application.
|
if a 16-bit depth buffer isn't precise enough for your application.
|
||||||
|
|
||||||
@@ -250,9 +256,15 @@ HPCR glClear(GL_COLOR_BUFFER_BIT) dithering
|
|||||||
to HP systems with the HPCR (Color Recovery) system.
|
to HP systems with the HPCR (Color Recovery) system.
|
||||||
|
|
||||||
|
|
||||||
Extensions
|
Extensions:
|
||||||
==========
|
The following OpenGL GLX extensions are currently implemented:
|
||||||
There are three Mesa-specific GLX extensions at this time.
|
|
||||||
|
GLX_EXT_visual_info - GLX visual and transparent pixel extension
|
||||||
|
GLX_EXT_visual_rating - GLX visual caveats
|
||||||
|
|
||||||
|
For detailed information about the extensions see www.opengl.org
|
||||||
|
|
||||||
|
There are four Mesa-specific GL/GLX extensions at this time.
|
||||||
|
|
||||||
GLX_MESA_pixmap_colormap
|
GLX_MESA_pixmap_colormap
|
||||||
|
|
||||||
@@ -311,4 +323,4 @@ Summary of X-related environment variables:
|
|||||||
|
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
$Id: README.X11,v 3.11 2003/12/17 15:14:31 brianp Exp $
|
$Id: README.X11,v 3.8.2.3 2002/04/26 13:54:47 brianp Exp $
|
||||||
|
|||||||
@@ -19,4 +19,4 @@ see the VERSIONS file.
|
|||||||
|
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
$Id: RELNOTES-3.4,v 1.2 2002/03/23 02:37:17 brianp Exp $
|
$Id: RELNOTES-3.4,v 1.1.4.1 2002/03/23 02:36:52 brianp Exp $
|
||||||
|
|||||||
@@ -19,4 +19,4 @@ Mesa 4.0.1 only contains bug fixes since version 4.0.
|
|||||||
See the docs/VERSIONS file for the list of bug fixes.
|
See the docs/VERSIONS file for the list of bug fixes.
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
$Id: RELNOTES-4.0.1,v 1.2 2001/12/18 14:08:23 brianp Exp $
|
$Id: RELNOTES-4.0.1,v 1.1.2.2 2001/12/17 19:43:38 brianp Exp $
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user