Add an option to prevent the use of default paths.

Despair has things locked down such that running qfcc during a build fails
due to lack of read access to /usr/local/lib. This is actually a good
thing as accidentally hitting old includes/libs (when a file gets deleted
in the tree) hides bugs. Thus, --no-default-paths to turn off default
search paths.
This commit is contained in:
Bill Currie 2012-01-04 13:17:57 +09:00
parent add5440ad1
commit c8163fc0de
9 changed files with 19 additions and 8 deletions

View file

@ -5,7 +5,7 @@ pkgdatadir=@sharepath@/QF
QFCC_DEP=$(top_builddir)/tools/qfcc/source/qfcc$(EXEEXT) QFCC_DEP=$(top_builddir)/tools/qfcc/source/qfcc$(EXEEXT)
QFCC=$(QFCC_DEP) QFCC=$(QFCC_DEP)
QCFLAGS=-qq -g -Wall -Werror -Wno-integer-divide QCFLAGS=-qq -g -Wall -Werror -Wno-integer-divide --no-default-paths
QCPPFLAGS=-I. -I$(srcdir) -I$(top_builddir)/ruamoko/include -I$(top_srcdir)/ruamoko/include -I$(top_builddir)/include -I$(top_srcdir)/include QCPPFLAGS=-I. -I$(srcdir) -I$(top_builddir)/ruamoko/include -I$(top_srcdir)/ruamoko/include -I$(top_builddir)/include -I$(top_srcdir)/include
GZIP=if echo $@ | grep -q .gz; then gzip -f `basename $@ .gz`; if test -f `basename $@ .dat.gz`.sym; then gzip -f `basename $@ .dat.gz`.sym; fi; fi GZIP=if echo $@ | grep -q .gz; then gzip -f `basename $@ .gz`; if test -f `basename $@ .dat.gz`.sym; then gzip -f `basename $@ .dat.gz`.sym; fi; fi
if HAVE_ZLIB if HAVE_ZLIB

View file

@ -7,7 +7,7 @@ pkgdatadir=@sharepath@/id1
QFCC_DEP=$(top_builddir)/tools/qfcc/source/qfcc$(EXEEXT) QFCC_DEP=$(top_builddir)/tools/qfcc/source/qfcc$(EXEEXT)
QFCC=$(QFCC_DEP) QFCC=$(QFCC_DEP)
QCFLAGS=-qq -g -Werror -Wall -Wno-integer-divide QCFLAGS=-qq -g -Werror -Wall -Wno-integer-divide --no-default-paths
QCPPFLAGS=-I. -I$(srcdir) -I$(top_builddir)/ruamoko/include -I$(top_srcdir)/ruamoko/include QCPPFLAGS=-I. -I$(srcdir) -I$(top_builddir)/ruamoko/include -I$(top_srcdir)/ruamoko/include
GZIP=if echo $@ | grep -q .gz; then gzip -f `basename $@ .gz`; if test -f `basename $@ .dat.gz`.sym; then gzip -f `basename $@ .dat.gz`.sym; fi; fi GZIP=if echo $@ | grep -q .gz; then gzip -f `basename $@ .gz`; if test -f `basename $@ .dat.gz`.sym; then gzip -f `basename $@ .dat.gz`.sym; fi; fi
if HAVE_ZLIB if HAVE_ZLIB

View file

@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS= foreign
pkglibdir=$(libdir)/qfcc/lib pkglibdir=$(libdir)/qfcc/lib
QFCC=$(top_builddir)/tools/qfcc/source/qfcc$(EXEEXT) QFCC=$(top_builddir)/tools/qfcc/source/qfcc$(EXEEXT)
QCFLAGS=-qq -g -Werror -Wall -Wno-integer-divide QCFLAGS=-qq -g -Werror -Wall -Wno-integer-divide --no-default-paths
QCPPFLAGS=$(INCLUDES) QCPPFLAGS=$(INCLUDES)
PAK=$(top_builddir)/tools/pak/pak$(EXEEXT) PAK=$(top_builddir)/tools/pak/pak$(EXEEXT)
RANLIB=touch RANLIB=touch

View file

@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS= foreign
pkglibdir=$(libdir)/qfcc/lib pkglibdir=$(libdir)/qfcc/lib
QFCC=$(top_builddir)/tools/qfcc/source/qfcc$(EXEEXT) QFCC=$(top_builddir)/tools/qfcc/source/qfcc$(EXEEXT)
QCFLAGS=-qq -g -Wall -Wno-integer-divide -Werror QCFLAGS=-qq -g -Wall -Wno-integer-divide -Werror --no-default-paths
QCPPFLAGS=$(INCLUDES) QCPPFLAGS=$(INCLUDES)
PAK=$(top_builddir)/tools/pak/pak$(EXEEXT) PAK=$(top_builddir)/tools/pak/pak$(EXEEXT)
RANLIB=touch RANLIB=touch

View file

@ -4,7 +4,7 @@ pkglibdir=$(libdir)/qfcc/lib
QFCC_DEP=$(top_builddir)/tools/qfcc/source/qfcc$(EXEEXT) QFCC_DEP=$(top_builddir)/tools/qfcc/source/qfcc$(EXEEXT)
QFCC=$(QFCC_DEP) QFCC=$(QFCC_DEP)
QCFLAGS=-qq -g -Werror -Wall -Wno-integer-divide QCFLAGS=-qq -g -Werror -Wall -Wno-integer-divide --no-default-paths
QCPPFLAGS=$(INCLUDES) QCPPFLAGS=$(INCLUDES)
PAK=$(top_builddir)/tools/pak/pak$(EXEEXT) PAK=$(top_builddir)/tools/pak/pak$(EXEEXT)
GZIP=if echo $@ | grep -q .gz; then gzip -f `basename $@ .gz`; if test -f `basename $@ .dat.gz`.sym; then gzip -f `basename $@ .dat.gz`.sym; fi; fi GZIP=if echo $@ | grep -q .gz; then gzip -f `basename $@ .gz`; if test -f `basename $@ .dat.gz`.sym; then gzip -f `basename $@ .dat.gz`.sym; fi; fi

View file

@ -101,6 +101,9 @@ object files built using the \fBpak\fP utility.
Generate dependency info. Generate dependency info.
Dependent on \*[cpp] version, so check \*[cpp]'s documentation. Dependent on \*[cpp] version, so check \*[cpp]'s documentation.
.TP .TP
.B \-\-no\-default\-paths
Do not use default paths for include files or libraries.
.TP
.B \-N, \-\-notice OPTION,... .B \-N, \-\-notice OPTION,...
Set notice options. Set notice options.
See \fBNOTICE OPTIONS\fP for details. See \fBNOTICE OPTIONS\fP for details.

View file

@ -76,6 +76,7 @@ typedef struct {
qboolean single_cpp; // process progs.src into a series of qboolean single_cpp; // process progs.src into a series of
// #include directives and then compile // #include directives and then compile
// that // that
qboolean no_default_paths; // no default -I or -L
qboolean save_temps; // save temporary files qboolean save_temps; // save temporary files
qboolean files_dat; // generate files.dat qboolean files_dat; // generate files.dat
qboolean progdefs_h; // generate progdefs.h qboolean progdefs_h; // generate progdefs.h

View file

@ -65,6 +65,7 @@ enum {
OPT_ADVANCED, OPT_ADVANCED,
OPT_CPP, OPT_CPP,
OPT_INCLUDE, OPT_INCLUDE,
OPT_NO_DEFAULT_PATHS,
OPT_PROGDEFS, OPT_PROGDEFS,
OPT_QCCX_ESCAPES, OPT_QCCX_ESCAPES,
OPT_TRADITIONAL, OPT_TRADITIONAL,
@ -78,6 +79,7 @@ static struct option const long_options[] = {
{"files", no_argument, 0, 'F'}, {"files", no_argument, 0, 'F'},
{"help", no_argument, 0, 'h'}, {"help", no_argument, 0, 'h'},
{"include", required_argument, 0, OPT_INCLUDE}, {"include", required_argument, 0, OPT_INCLUDE},
{"no-default-paths", no_argument, 0, OPT_NO_DEFAULT_PATHS},
{"notice", required_argument, 0, 'N'}, {"notice", required_argument, 0, 'N'},
{"output-file", required_argument, 0, 'o'}, {"output-file", required_argument, 0, 'o'},
{"progdefs", no_argument, 0, OPT_PROGDEFS}, {"progdefs", no_argument, 0, OPT_PROGDEFS},
@ -537,6 +539,9 @@ DecodeArgs (int argc, char **argv)
add_cpp_def (nva ("-M")); add_cpp_def (nva ("-M"));
} }
break; break;
case OPT_NO_DEFAULT_PATHS:
options.no_default_paths = 1;
break;
default: default:
usage (1); usage (1);
} }
@ -579,8 +584,10 @@ DecodeArgs (int argc, char **argv)
add_cpp_def ("-D__VERSION6__=1"); add_cpp_def ("-D__VERSION6__=1");
// add the default paths // add the default paths
add_cpp_def (nva ("-I%s", QFCC_INCLUDE_PATH)); if (!options.no_default_paths) {
linker_add_path (QFCC_LIB_PATH); add_cpp_def (nva ("-I%s", QFCC_INCLUDE_PATH));
linker_add_path (QFCC_LIB_PATH);
}
if (options.verbosity >= 3) if (options.verbosity >= 3)
yydebug = 1; yydebug = 1;

View file

@ -6,7 +6,7 @@ INCLUDES= -I$(top_srcdir)/include $(QWAQ_INCS)
QFCC_DEP=$(top_builddir)/tools/qfcc/source/qfcc$(EXEEXT) QFCC_DEP=$(top_builddir)/tools/qfcc/source/qfcc$(EXEEXT)
QFCC=$(top_builddir)/tools/qfcc/source/qfcc QFCC=$(top_builddir)/tools/qfcc/source/qfcc
QCFLAGS=-qq -g -Werror --advanced QCFLAGS=-qq -g -Werror --advanced --no-default-paths
if BUILD_QWAQ if BUILD_QWAQ
qwaq=qwaq qwaq=qwaq