- fixed nvparse build stage

- removed asm code from default glx build configuration
This commit is contained in:
faded 2003-03-10 00:51:34 +00:00
parent c7ea38220d
commit b8b43792a5
5 changed files with 141 additions and 65 deletions

View file

@ -1,5 +1,8 @@
%start WholeEnchilada
%{
#include "yy_nvparse.h"
void yyerror(char* s);
int yylex ( void );
@ -7,6 +10,8 @@ int yylex ( void );
# include <windows.h>
#endif
#include <stdio.h>
#include <malloc.h>

53
nvparse/yy_nvparse.h Normal file
View file

@ -0,0 +1,53 @@
#ifndef _YY_NVPARSE_H
#define _YY_NVPARSE_H
/*
this hack allows several yacc parseer to be
linked in the same binary on UNIX platforms
*/
#define yymaxdepth nvparse_maxdepth
#define yyparse nvparse_parse
#define yylex nvparse_lex
#define yyerror nvparse_error
#define yylval nvparse_lval
#define yychar nvparse_char
#define yydebug nvparse_debug
#define yypact nvparse_pact
#define yyr1 nvparse_r1
#define yyr2 nvparse_r2
#define yydef nvparse_def
#define yychk nvparse_chk
#define yypgo nvparse_pgo
#define yyact nvparse_act
#define yyexca nvparse_exca
#define yyerrflag nvparse_errflag
#define yynerrs nvparse_nerrs
#define yyps nvparse_ps
#define yypv nvparse_pv
#define yys nvparse_s
#define yy_yys nvparse_yys
#define yystate nvparse_state
#define yytmp nvparse_tmp
#define yyv nvparse_v
#define yy_yyv nvparse_yyv
#define yyval nvparse_val
#define yylloc nvparse_lloc
#define yyreds nvparse_reds
#define yytoks nvparse_toks
#define yylhs nvparse_yylhs
#define yylen nvparse_yylen
#define yydefred nvparse_yydefred
#define yydgoto nvparse_yydgoto
#define yysindex nvparse_yysindex
#define yyrindex nvparse_yyrindex
#define yygindex nvparse_yygindex
#define yytable nvparse_yytable
#define yycheck nvparse_yycheck
#define yyname nvparse_yyname
#define yyrule nvparse_yyrule
#define yyin nvparse_yyin
#define yyout nvparse_yyout
#define yywrap nvparse_yywrap
#endif

View file

@ -75,7 +75,7 @@ void VID_UnlockBuffer (void);
#endif
//PENTA: win32 we use assembler
#if defined(_WIN32) || defined __glx__
#if defined(_WIN32)
#define USE_ASM 1
#endif

View file

@ -1,35 +1,52 @@
if HAVE_SDL
SDL_PRG = tenebrae.sdl
else
SDL_PRG =
endif
noinst_LIBRARIES = libnvparse.a
bin_PROGRAMS = $(SDL_PRG) tenebrae.glx
libnvparse_a_CXXFLAGS = @CFLAGS@ -I$(NVPARSE_DIR)
tenebrae_glx_LDADD = @MATHLIB@ @INETLIB@ @X11_LIBS@ @OPENGLLIBS@
tenebrae_sdl_LDADD = @MATHLIB@ @INETLIB@ @SDL_LIBS@ @OPENGLLIBS@
# crappy hack to make sure yy* var in the generated file are mapped to nvparse_yy*
libnvparse_a_LFLAGS = -Pnvparse_yy -o$(LEX_OUTPUT_ROOT).c
MASTER_DIR=..
NVPARSE_DIR=$(MASTER_DIR)/nvparse
if HAVE_SDL
SDL_PRG = sdl_tenebrae
else
SDL_PRG =
endif
if HAVE_GLX
GLX_PRG = glx_tenebrae
else
GLX_PRG =
endif
bin_PROGRAMS = $(SDL_PRG) $(GLX_PRG)
glx_tenebrae_LDADD = @MATHLIB@ @INETLIB@ @X11_LIBS@ @OPENGLLIBS@ $(noinst_LIBRARIES)
sdl_tenebrae_LDADD = @MATHLIB@ @INETLIB@ @SDL_LIBS@ @OPENGLLIBS@ $(noinst_LIBRARIES)
glx_tenebrae_LFLAGS = -i -Cfr
sdl_tenebrae_LFLAGS = -i -Cfr
# datadir is a variable defined by autoconf to @prefix@/share/
tenebrae_glx_CFLAGS = @CFLAGS@ @X11_CFLAGS@ -D__glx__ -DGLQUAKE -DBASEDIR=@GAMEDIR@ -I$(MASTER_DIR) -I$(NVPARSE_DIR)
tenebrae_sdl_CFLAGS = @CFLAGS@ @SDL_CFLAGS@ -DSDL -DGLQUAKE -DBASEDIR=@GAMEDIR@ -I$(MASTER_DIR) -I$(NVPARSE_DIR)
glx_tenebrae_CFLAGS = @CFLAGS@ @X11_CFLAGS@ -D__glx__ -DGLQUAKE -DBASEDIR=@GAMEDIR@ -I$(MASTER_DIR) -I$(NVPARSE_DIR)
sdl_tenebrae_CFLAGS = @CFLAGS@ @SDL_CFLAGS@ -DSDL -DGLQUAKE -DBASEDIR=@GAMEDIR@ -I$(MASTER_DIR) -I$(NVPARSE_DIR)
tenebrae_glx_CXXFLAGS = $(tenebrae_glx_CFLAGS)
tenebrae_sdl_CXXFLAGS = $(tenebrae_sdl_CFLAGS)
tenebrae_glx_SOURCES = \
libnvparse_a_SOURCES = \
$(NVPARSE_SRCS)
glx_tenebrae_SOURCES = \
$(MASTER_DIR)/cd_linux.c \
$(MASTER_DIR)/snd_linux. \
$(MASTER_DIR)/sys_linux. \
$(MASTER_DIR)/snd_linux.c \
$(MASTER_DIR)/sys_linux.c \
$(MASTER_DIR)/gl_vidlinuxglx.c \
$(COMMON_SRCS)
tenebrae_sdl_SOURCES = \
sdl_tenebrae_SOURCES = \
$(MASTER_DIR)/cd_sdl.c \
$(MASTER_DIR)/sys_sdl.c \
$(MASTER_DIR)/snd_sdl.c \
@ -135,8 +152,8 @@ COMMON_SRCS = \
$(MASTER_DIR)/textures.c \
$(GL_SRCS) \
$(GL_TENEBRAE_SRCS) \
$(LEX_TENEBRAE_SRCS) \
$(NVPARSE_SRCS)
$(LEX_TENEBRAE_SRCS)
QUAKE_SRCS = \
$(MASTER_DIR)/d_edge.c \
@ -244,9 +261,6 @@ LNX_SRCS = \
$(MASTER_DIR)/vid_svgalib.c \
$(MASTER_DIR)/vid_x.c
GL_LNX_SRCS = \
$(MASTER_DIR)/gl_vidlinuxglx.c
GL_WIN_SRCS = \
$(MASTER_DIR)/gl_vidnt.c
@ -306,6 +320,9 @@ NVPARSE_SRCS = \
$(NVPARSE_DIR)/rc1.0_combiners.cpp \
$(NVPARSE_DIR)/rc1.0_general.cpp \
$(NVPARSE_DIR)/rc1.0_final.cpp \
$(NVPARSE_DIR)/_rc1.0_parser.cpp \
$(NVPARSE_DIR)/_rc1.0_lexer.cpp \
$(NVPARSE_DIR)/_rc1.0_parser.h \
$(NVPARSE_DIR)/nvparse_errors.h \
$(NVPARSE_DIR)/nvparse_externs.h \
$(NVPARSE_DIR)/nvparse.h \
@ -336,7 +353,6 @@ EXTRA_DIST = \
$(SUN_SRCS) \
$(NEXT_SRCS) \
$(GL_SRCS) \
$(GL_LNX_SRCS) \
$(GL_WIN_SRCS)
@ -348,6 +364,7 @@ EXTRA_DIST = \
$(NVPARSE_DIR)/rc1.0_tokens.ll : $(NVPARSE_DIR)/rc1.0_tokens.l
cp $(NVPARSE_DIR)/rc1.0_tokens.l $(NVPARSE_DIR)/rc1.0_tokens.ll
# hack to handle the rc1.0_grammar.y yacc->cpp file case
$(NVPARSE_DIR)/rc1.0_grammar.yy : $(NVPARSE_DIR)/rc1.0_grammar.y

View file

@ -1,5 +1,5 @@
# Process this file with autoconf to produce a configure script.
AC_INIT(tenebrae, 1.0.2)
AC_INIT(tenebrae, cvs)
# =================================================================
# Detect the canonical target build environment
@ -14,12 +14,13 @@ AC_CONFIG_SRCDIR([../sys_sdl.c])
AM_CONFIG_HEADER([config.h])
# =================================================================
# Checks for programs.
# Checks for programs : cc, c++, yacc, install, make, ar
AC_PROG_CC
AC_PROG_CXX
AC_PROG_YACC
AC_PROG_INSTALL
AC_PROG_MAKE_SET
AC_PROG_RANLIB
# =================================================================
# autoconf 2.53 doesn't check that
@ -56,11 +57,6 @@ case "$target" in
INETLIB="-lwsock32"
OPENGLLIBS="-lopengl32 -lglu32"
;;
*-*-beos*)
AC_MSG_ERROR([BeOS support broken])
MATHLIB=""
INETLIB=""
;;
*)
MATHLIB="-lm"
INETLIB=""
@ -72,17 +68,6 @@ AC_SUBST(MATHLIB)
AC_SUBST(INETLIB)
AC_SUBST(OPENGLLIBS)
# =================================================================
# Check for X11
# FIXME !!!!
X11_LIBS="-L/usr/X11R6/lib -lpthread -lX11 -lXext -lXxf86dga -lXxf86vm"
X11_CFLAGS=""
AC_SUBST(X11_CFLAGS)
AC_SUBST(X11_LIBS)
# =================================================================
# Check for lex/flex
@ -93,28 +78,6 @@ if test "$LEX" != flex; then
AC_SUBST(LEXLIB, '')
fi
LFLAGS="-i -Cfr"
AC_SUBST(LFLAGS)
# =================================================================
# Check for SDL
SDL_VERSION=1.2.0
AC_ARG_ENABLE(sdl,
[ AC_HELP_STRING([--disable-sdl], [disable sdl build [default=no]]) ],
[ sdl_enabled=no ],
[ sdl_enabled=yes ]
)
AM_PATH_SDL($SDL_VERSION,
[ have_sdl=yes ]
)
AM_CONDITIONAL(HAVE_SDL, test x$have_sdl = xyes && test x$sdl_enabled = xyes )
# =================================================================
# Check for PNG
# FIX-ME : the png version isn't checked for now (don't know if useful though)
@ -152,6 +115,44 @@ AC_SUBST(XML_CFLAGS)
CFLAGS="$CFLAGS $PNG_CFLAGS $XML_CFLAGS"
LIBS="$LIBS $PNG_LIBS $XML_LIBS"
# =================================================================
# Check for X11
# FIXME : DGA extension necessary -> add a check
# FIXME : at this point, only Xfree is supported, so check for it
X11_LIBS="-L/usr/X11R6/lib -lpthread -lX11 -lXext -lXxf86dga -lXxf86vm"
X11_CFLAGS=""
#AC_PATH_XTRA
#X11_CFLAGS="$X_FLAGS"
#X11_LIBS="$X_PRE_LIBS $X_LIBS $X_EXTRA_LIBS -lXext -lXxf86dga -lXxf86vm"
AC_SUBST(X11_CFLAGS)
AC_SUBST(X11_LIBS)
AM_CONDITIONAL(HAVE_GLX, test x$X_DISPLAY_MISSING = x )
# =================================================================
# Check for SDL
SDL_VERSION=1.2.0
AC_ARG_ENABLE(sdl,
[ AC_HELP_STRING([--disable-sdl], [disable sdl build [default=no]]) ],
[ sdl_enabled=no ],
[ sdl_enabled=yes ]
)
AM_PATH_SDL($SDL_VERSION,
[ have_sdl=yes ]
)
AM_CONDITIONAL(HAVE_SDL, test x$have_sdl = xyes && test x$sdl_enabled = xyes )
# =================================================================
# Game data
@ -191,7 +192,7 @@ CFLAGS="$CFLAGS -DELF"
# =================================================================
# Checks for header files.
AC_PATH_X
AC_HEADER_STDC
AC_HEADER_SYS_WAIT
AC_CHECK_HEADERS([arpa/inet.h fcntl.h limits.h netdb.h netinet/in.h stddef.h stdlib.h string.h sys/file.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h termios.h unistd.h])