revived linux-glide build process
authorDaniel Borca <dborca@users.sourceforge.net>
Wed, 7 Apr 2004 06:37:50 +0000 (06:37 +0000)
committerDaniel Borca <dborca@users.sourceforge.net>
Wed, 7 Apr 2004 06:37:50 +0000 (06:37 +0000)
some small Makefile changes for MinGW & DJGPP

Makefile
configs/linux-glide [new file with mode: 0644]
configs/linux-x86-glide [new file with mode: 0644]
docs/README.DJ
src/mesa/Makefile.DJ
src/mesa/Makefile.mgw
src/mesa/tnl/t_vtx_x86_gcc.S

index 69b9f4b32894a3cb69cd7c1fc9c58995ecb48cc2..334779e5a91c313fb2c40a174f15dc05b8ace1f4 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -64,6 +64,7 @@ linux \
 linux-alpha \
 linux-alpha-static \
 linux-debug \
+linux-glide \
 linux-icc \
 linux-icc-static \
 linux-osmesa16 \
@@ -79,6 +80,7 @@ linux-ultrasparc \
 linux-x86 \
 linux-x86-64 \
 linux-x86-64-static \
+linux-x86-glide \
 linux-x86-static \
 netbsd \
 openbsd \
diff --git a/configs/linux-glide b/configs/linux-glide
new file mode 100644 (file)
index 0000000..503f0bb
--- /dev/null
@@ -0,0 +1,22 @@
+# 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
+OSMESA_LIB_DEPS = -L$(LIB_DIR) -lGL
+GLU_LIB_DEPS = -L$(LIB_DIR) -lGL -lm
+GLUT_LIB_DEPS = -L$(LIB_DIR) -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
+GLW_LIB_DEPS = -L$(LIB_DIR) -lGL -L/usr/X11R6/lib -lXt -lXm -lX11
+APP_LIB_DEPS = -L$(LIB_DIR) -lglut -lGLU -lGL -L/usr/local/glide/lib -lglide3x -lm
diff --git a/configs/linux-x86-glide b/configs/linux-x86-glide
new file mode 100644 (file)
index 0000000..6e4b622
--- /dev/null
@@ -0,0 +1,26 @@
+# 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)
+
+# Library/program dependencies
+GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -L/usr/local/glide/lib -lglide3x -lm -lpthread
+OSMESA_LIB_DEPS = -L$(LIB_DIR) -lGL
+GLU_LIB_DEPS = -L$(LIB_DIR) -lGL -lm
+GLUT_LIB_DEPS = -L$(LIB_DIR) -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
+GLW_LIB_DEPS = -L$(LIB_DIR) -lGL -L/usr/X11R6/lib -lXt -lXm -lX11
+APP_LIB_DEPS = -L$(LIB_DIR) -lglut -lGLU -lGL -L/usr/local/glide/lib -lglide3x -lm
index 63d3711e0e1056d1481eb300c07e08d8054a7218..12ffc116640695e810584895b119eddd10dd8b7d 100644 (file)
@@ -42,15 +42,7 @@ Available options:
                        As a consequence, you'll need the DJGPP Glide3
                        library to build any application.
                        default = no
-       HAVE_X86=1      optimize for i386.
-                       default = no
-       HAVE_MMX=1      allow MMX specializations, provided your assembler
-                       supports MMX instruction set. However, the true CPU
-                       capabilities are checked at run-time to avoid lockups.
-                       default = no
-       HAVE_SSE=1      (see HAVE_MMX)
-                       default = no
-       HAVE_3DNOW=1    (see HAVE_MMX)
+       X86=1           optimize for x86 (if possible, use MMX, SSE, 3DNow).
                        default = no
 
      Targets:
@@ -100,7 +92,7 @@ FAQ:
 2. Using Mesa for DJGPP
 
    Q) DMesa is so SLOOOW! The Win32 OpenGL performs so much better...
-   A) Is that a question? If you have a 3dfx Voodoo^2 or higher card, you're
+   A) Is that a question? If you have a 3dfx Voodoo or higher card, you're
       lucky (check http://sourceforge.net/projects/glide for the DJGPP port).
       If you haven't, sorry; everything is done in software. Suggestions?
 
index ee14aa6c5af7d5d56932174f9eca0f9d150b77a7..6ee62fc37456e0f3ab8e5c90b2c37e965050b7ef 100644 (file)
 #                      As a consequence, you'll need the DJGPP Glide3
 #                      library to build any application.
 #                      default = no
-#      HAVE_X86=1      optimize for i386.
-#                      default = no
-#      HAVE_MMX=1      allow MMX specializations, provided your assembler
-#                      supports MMX instruction set. However, the true CPU
-#                      capabilities are checked at run-time to avoid crashes.
-#                      default = no
-#      HAVE_SSE=1      (see HAVE_MMX)
-#                      default = no
-#      HAVE_3DNOW=1    (see HAVE_MMX)
+#      X86=1           optimize for x86 (if possible, use MMX, SSE, 3DNow).
 #                      default = no
 #
 #    Targets:
@@ -71,7 +63,7 @@ GL_IMP = libigl.a
 export LD_LIBRARY_PATH := $(LD_LIBRARY_PATH);$(LIBDIR);$(GLIDE)/lib
 
 CC = gcc
-CFLAGS += -I$(TOP)/include -I. -Imain -Iglapi
+CFLAGS += $(INCLUDE_DIRS)
 ifeq ($(FX),1)
 CFLAGS += -D__DOS__
 CFLAGS += -I$(GLIDE)/include -DFX
@@ -93,59 +85,11 @@ endif
 
 include sources
 
-X86_SOURCES = \
-       x86/x86.c \
-       x86/glapi_x86.S \
-       x86/common_x86.c \
-       x86/common_x86_asm.S \
-       x86/x86_xform2.S \
-       x86/x86_xform3.S \
-       x86/x86_xform4.S \
-       x86/x86_cliptest.S
-
-MMX_SOURCES = \
-       x86/mmx_blend.S
-
-SSE_SOURCES = \
-       x86/sse.c \
-       x86/sse_xform2.S \
-       x86/sse_xform3.S \
-       x86/sse_xform4.S \
-       x86/sse_normal.S
-
-K3D_SOURCES = \
-       x86/3dnow.c \
-       x86/3dnow_xform2.S \
-       x86/3dnow_xform3.S \
-       x86/3dnow_xform4.S \
-       x86/3dnow_normal.S
-
-CORE_SOURCES = \
-       $(MAIN_SOURCES) \
-       $(GLAPI_SOURCES) \
-       $(MATH_SOURCES) \
-       $(ARRAY_CACHE_SOURCES) \
-       $(TNL_SOURCES) \
-       $(SWRAST_SOURCES) \
-       $(SWRAST_SETUP_SOURCES)
-
-ifeq ($(HAVE_MMX),1)
-X86_SOURCES += $(MMX_SOURCES)
+ifeq ($(X86),1)
+CFLAGS += -DUSE_X86_ASM
 CFLAGS += -DUSE_MMX_ASM
-HAVE_X86 = 1
-endif
-ifeq ($(HAVE_SSE),1)
-X86_SOURCES += $(SSE_SOURCES)
 CFLAGS += -DUSE_SSE_ASM
-HAVE_X86 = 1
-endif
-ifeq ($(HAVE_3DNOW),1)
-X86_SOURCES += $(K3D_SOURCES)
 CFLAGS += -DUSE_3DNOW_ASM
-HAVE_X86 = 1
-endif
-ifeq ($(HAVE_X86),1)
-CFLAGS += -DUSE_X86_ASM
 else
 X86_SOURCES =
 endif
@@ -154,16 +98,7 @@ DRIVER_SOURCES = \
        drivers/dos/dmesa.c
 ifeq ($(FX),1)
 DRIVER_SOURCES += \
-       drivers/glide/fxapi.c \
-       drivers/glide/fxdd.c \
-       drivers/glide/fxddspan.c \
-       drivers/glide/fxddtex.c \
-       drivers/glide/fxsetup.c \
-       drivers/glide/fxtexman.c \
-       drivers/glide/fxtris.c \
-       drivers/glide/fxvb.c \
-       drivers/glide/fxglidew.c \
-       drivers/glide/fxg.c
+       $(GLIDE_DRIVER_SOURCES)
 else
 DRIVER_SOURCES += \
        drivers/dos/video.c \
index 31b57959f92351c0b3f0f2fb4dfff353b6c04fb4..9084bf478ba7c517bfb8089fff00d079b3bf9ddb 100644 (file)
@@ -20,7 +20,7 @@
 # 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 core makefile v1.2 for Mesa
+# MinGW core makefile v1.3 for Mesa
 #
 #  Copyright (C) 2002 - Borca Daniel
 #  Email : dborca@users.sourceforge.net
 #                      As a consequence, you'll need the Win32 Glide3
 #                      library to build any application.
 #                      default = no
-#      HAVE_X86=1      optimize for i386.
-#                      default = no
-#      HAVE_MMX=1      allow MMX specializations, provided your assembler
-#                      supports MMX instruction set. However, the true CPU
-#                      capabilities are checked at run-time to avoid crashes.
-#                      default = no
-#      HAVE_SSE=1      (see HAVE_MMX)
-#                      default = no
-#      HAVE_3DNOW=1    (see HAVE_MMX)
+#      X86=1           optimize for x86 (if possible, use MMX, SSE, 3DNow).
 #                      default = no
 #
 #    Targets:
@@ -72,7 +64,7 @@ LDLIBS = -lgdi32
 
 CC = mingw32-gcc
 CFLAGS += -DBUILD_GL32 -D_OPENGL32_ -D_MSC_VER
-CFLAGS += -I$(TOP)/include -I. -Imain -Iglapi
+CFLAGS += $(INCLUDE_DIRS)
 ifeq ($(FX),1)
 CFLAGS += -I$(GLIDE)/include -DFX
 LDLIBS += -L$(GLIDE)/lib -lglide3x
@@ -93,75 +85,18 @@ endif
 
 include sources
 
-X86_SOURCES = \
-       x86/x86.c \
-       x86/glapi_x86.S \
-       x86/common_x86.c \
-       x86/common_x86_asm.S \
-       x86/x86_xform2.S \
-       x86/x86_xform3.S \
-       x86/x86_xform4.S \
-       x86/x86_cliptest.S
-
-MMX_SOURCES = \
-       x86/mmx_blend.S
-
-SSE_SOURCES = \
-       x86/sse.c \
-       x86/sse_xform2.S \
-       x86/sse_xform3.S \
-       x86/sse_xform4.S \
-       x86/sse_normal.S
-
-K3D_SOURCES = \
-       x86/3dnow.c \
-       x86/3dnow_xform2.S \
-       x86/3dnow_xform3.S \
-       x86/3dnow_xform4.S \
-       x86/3dnow_normal.S
-
-CORE_SOURCES = \
-       $(MAIN_SOURCES) \
-       $(GLAPI_SOURCES) \
-       $(MATH_SOURCES) \
-       $(ARRAY_CACHE_SOURCES) \
-       $(TNL_SOURCES) \
-       $(SWRAST_SOURCES) \
-       $(SWRAST_SETUP_SOURCES)
-
-ifeq ($(HAVE_MMX),1)
-X86_SOURCES += $(MMX_SOURCES)
+ifeq ($(X86),1)
+CFLAGS += -DUSE_X86_ASM
 CFLAGS += -DUSE_MMX_ASM
-HAVE_X86 = 1
-endif
-ifeq ($(HAVE_SSE),1)
-X86_SOURCES += $(SSE_SOURCES)
 CFLAGS += -DUSE_SSE_ASM
-HAVE_X86 = 1
-endif
-ifeq ($(HAVE_3DNOW),1)
-X86_SOURCES += $(K3D_SOURCES)
 CFLAGS += -DUSE_3DNOW_ASM
-HAVE_X86 = 1
-endif
-ifeq ($(HAVE_X86),1)
-CFLAGS += -DUSE_X86_ASM
 else
 X86_SOURCES =
 endif
 
 ifeq ($(FX),1)
 DRIVER_SOURCES = \
-       drivers/glide/fxapi.c \
-       drivers/glide/fxdd.c \
-       drivers/glide/fxddspan.c \
-       drivers/glide/fxddtex.c \
-       drivers/glide/fxsetup.c \
-       drivers/glide/fxtexman.c \
-       drivers/glide/fxtris.c \
-       drivers/glide/fxvb.c \
-       drivers/glide/fxglidew.c \
-       drivers/glide/fxg.c \
+       $(GLIDE_DRIVER_SOURCES) \
        drivers/glide/fxwgl.c
 else
 DRIVER_SOURCES = \
index 7dbe5c06283c19fb371493ddd3ef872f9a3260ab..1d8682d5e981dc030a6a6a2f661dc27747844f6c 100644 (file)
@@ -36,13 +36,13 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
 .globl x;              \
 x:
 
-#else  /* defined(__DJGPP__) */
+#else  /* defined(__DJGPP__) || defined (__MINGW32__) */
 
 #define GLOBL( x )     \
 .globl _##x;           \
 _##x:
 
-#endif /* defined(__DJGPP__) */
+#endif /* defined(__DJGPP__) || defined (__MINGW32__) */
 
 .data
 .align 4