Fedora spec files (0.2.9 and 0.3.0) + INSTALL documentation, thanks Igor Gnatenko.

This commit is contained in:
Dale Weiler 2013-07-27 16:33:33 +00:00
parent c7679722fb
commit 0291726c09
8 changed files with 121 additions and 7 deletions

View file

@ -7,3 +7,4 @@ Thanks to:
Rudolf `divVerent` Polzer - Technical support and assistance
Matthias `matthiaskrgr` Krüger - Miscellaneous assistance
Samual `Samual` Lenks - Preprocessor assistance
Igor `ignatenkobrian` Gnatenko - Fedora packages

View file

@ -57,3 +57,6 @@
Debian archives (git build) can be created invoking make in
./distro/deb
Fedora spec files (release) can be found in ./distro/fedora, as well
as a README explaining how to build them.

17
distro/fedora/INSTALL Normal file
View file

@ -0,0 +1,17 @@
To use the spec files in this fedora directory you need the core
development tools for Fedora, building enviroment for the user, and
the directory structure for it. If you don't already have these, issue
the following commands.
# yum groupinstall "Development Tools"
# yum install rpmdevtools
# rpmdev-setuptree
Now, depending on the version of GMQCC you want, there are a serise of
maintained spec files in this directory. Chose the version you want and
issue the following to build the RPM.
# rpmbuild -bs gmqc-[[version]].spec
This will create an rpm file in the working directory, which you can
install with the rpm command line tool or mock.

View file

@ -0,0 +1,46 @@
Name: gmqcc
Version: 0.2.9
Release: 1%{?dist}
Summary: Improved Quake C Compiler
License: MIT
URL: http://graphitemaster.github.io/gmqcc/
Source0: https://github.com/graphitemaster/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
%description
Modern written-from-scratch compiler for the QuakeC language with
support for many common features found in other QC compilers.
%package -n qcvm
Summary: Standalone QuakeC VM binary executor
%description -n qcvm
Executor for QuakeC VM binary files created using a QC compiler such
as gmqcc or fteqcc. It provides a small set of builtin functions, and
by default executes the main function if there is one. Some options
useful for debugging are available as well.
%prep
%setup -q
%build
make %{?_smp_mflags}
%install
%make_install PREFIX=%{_prefix}
%check
make check
%files
%doc LICENSE README AUTHORS CHANGES
%doc %{_mandir}/man1/gmqcc.1.gz
%{_bindir}/gmqcc
%files -n qcvm
%doc LICENSE README AUTHORS CHANGES
%doc %{_mandir}/man1/qcvm.1.gz
%{_bindir}/qcvm
%changelog
* Sat Jul 27 2013 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 0.2.9-1
- Initial release

View file

@ -0,0 +1,46 @@
Name: gmqcc
Version: 0.3.0
Release: 1%{?dist}
Summary: Improved Quake C Compiler
License: MIT
URL: http://graphitemaster.github.io/gmqcc/
Source0: https://github.com/graphitemaster/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
%description
Modern written-from-scratch compiler for the QuakeC language with
support for many common features found in other QC compilers.
%package -n qcvm
Summary: Standalone QuakeC VM binary executor
%description -n qcvm
Executor for QuakeC VM binary files created using a QC compiler such
as gmqcc or fteqcc. It provides a small set of builtin functions, and
by default executes the main function if there is one. Some options
useful for debugging are available as well.
%prep
%setup -q
%build
make %{?_smp_mflags}
%install
%make_install PREFIX=%{_prefix}
%check
make check
%files
%doc LICENSE README AUTHORS CHANGES
%doc %{_mandir}/man1/gmqcc.1.gz
%{_bindir}/gmqcc
%files -n qcvm
%doc LICENSE README AUTHORS CHANGES
%doc %{_mandir}/man1/qcvm.1.gz
%{_bindir}/qcvm
%changelog
* Sat Jul 27 2013 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 0.2.9-1
- Initial release

View file

@ -81,8 +81,8 @@ GMQCC_IND_STRING(GMQCC_VERSION_PATCH) \
# ifdef true
# undef true
# endif /*! true */
# define false (0)
# define true (1)
# define false (unsigned)(0)
# define true (unsigned)(1)
# ifdef __STDC_VERSION__
# if __STDC_VERSION__ < 199901L && __GNUC__ < 3
typedef int bool;

10
lexer.h
View file

@ -123,11 +123,11 @@ typedef struct lex_file_s {
token tok; /* not a pointer anymore */
struct {
bool noops;
bool nodigraphs; /* used when lexing string constants */
bool preprocessing; /* whitespace and EOLs become actual tokens */
bool mergelines; /* backslash at the end of a line escapes the newline */
} flags;
unsigned noops:1;
unsigned nodigraphs:1; /* used when lexing string constants */
unsigned preprocessing:1; /* whitespace and EOLs become actual tokens */
unsigned mergelines:1; /* backslash at the end of a line escapes the newline */
} flags; /* sizeof == 1 */
int framevalue;
frame_macro *frames;

1
test Normal file
View file

@ -0,0 +1 @@
hello world 2