Fedora spec files (0.2.9 and 0.3.0) + INSTALL documentation, thanks Igor Gnatenko.
authorDale Weiler <killfieldengine@gmail.com>
Sat, 27 Jul 2013 16:33:33 +0000 (16:33 +0000)
committerDale Weiler <killfieldengine@gmail.com>
Sat, 27 Jul 2013 16:33:33 +0000 (16:33 +0000)
AUTHORS
INSTALL
distro/fedora/INSTALL [new file with mode: 0644]
distro/fedora/gmqcc-0.2.9.spec [new file with mode: 0644]
distro/fedora/gmqcc-0.3.0.spec [new file with mode: 0644]
gmqcc.h
lexer.h
test [new file with mode: 0644]

diff --git a/AUTHORS b/AUTHORS
index 16255d2..1044d29 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -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
diff --git a/INSTALL b/INSTALL
index a15f6bd..ffd45bd 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -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.
diff --git a/distro/fedora/INSTALL b/distro/fedora/INSTALL
new file mode 100644 (file)
index 0000000..9d021ff
--- /dev/null
@@ -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.
diff --git a/distro/fedora/gmqcc-0.2.9.spec b/distro/fedora/gmqcc-0.2.9.spec
new file mode 100644 (file)
index 0000000..23e47f2
--- /dev/null
@@ -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
diff --git a/distro/fedora/gmqcc-0.3.0.spec b/distro/fedora/gmqcc-0.3.0.spec
new file mode 100644 (file)
index 0000000..332321f
--- /dev/null
@@ -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
diff --git a/gmqcc.h b/gmqcc.h
index 202ae14..51ca188 100644 (file)
--- a/gmqcc.h
+++ b/gmqcc.h
@@ -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;
diff --git a/lexer.h b/lexer.h
index f51d56e..0de0c8f 100644 (file)
--- a/lexer.h
+++ b/lexer.h
@@ -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;
diff --git a/test b/test
new file mode 100644 (file)
index 0000000..d0e1e95
--- /dev/null
+++ b/test
@@ -0,0 +1 @@
+hello world 2