Commit graph

283 commits

Author SHA1 Message Date
Bill Currie
2b879af3e1 Fix most of the hacks for clang
gcc didn't like a couple of the changes (rightly so: one was actually
incorrect), and the fix for qfcc I didn't think to suggest while working
with Emily.

The general CFLAGS etc fixes mostly required just getting the order of
operations right: check for attributes after setting the warnings flags,
though those needed some care for gcc as it began warning about main
wanting the const attribute.

Fixing the imui link errors required moving the ui functions and setup
to vulkan_lighting.c, which is really the only place they're used.
2023-08-11 18:29:30 +09:00
Th3T3chn0G1t
3098b5d3f7 Implement clang support
Fixing a load of issues related to autoconf and some small source-level issues to re-add clang support.
autoconf feature detection probably needs some addressing - partially as -Werror is applied late.
2023-08-11 14:25:01 +09:00
Bill Currie
20ee47404f Merge branch 'master' into wip-twod 2022-09-22 10:06:00 +09:00
Bill Currie
1cd6a174fe [build] Correct cygwin system type
cygwin is not windows, so trying to build a win32 app on cygwin-native
doesn't work too well.
2022-09-19 16:36:29 +01:00
Bill Currie
ead14d7268 [build] Fix a pile of issues building under cygwin
Many thanks to jdp_ for finding them initially and getting me to take a
look at things.
2022-09-19 13:41:24 +01:00
Bill Currie
4d5b38f0c9 [renderer] Star work on adding FreeType support
Right now, this just initializes the library and loads a font into
memory, preloading a given set of characters (specified by unicode
values).
2022-08-27 17:53:03 +09:00
Bill Currie
577959ec6b [build] Use AS_HELP_STRING on all the help strings
Cleans up the inconsistently wrapped lines.
2021-12-24 06:45:13 +09:00
Bill Currie
f5b8fb0220 [build] Relax autoconf version requirement
It seems 2.71 only made things we use deprecated, and the new stuff was
at least in 2.69.
2021-11-22 07:41:16 +09:00
Bill Currie
ba8da88f56 [build] Update for autoconf 2.71
Only because I didn't appreciate the warnings about things being
obsolete.
2021-11-20 12:54:05 +09:00
Bill Currie
7fcf6bfef5 [build] Autoconfiscate evdev 2021-09-28 10:57:12 +09:00
Bill Currie
c554dee0f8 [build] Autoconfiscate simd support
The default is to enable (and autodetect based on lscpu) simd support,
or the mode can be specified via --enable-simd=mode. --disable-simd
disables the support but ensures gcc will still compile the float vector
types.
2021-06-29 15:39:15 +09:00
Bill Currie
88ff254f42 Get QF cross-compiling using MXE/mingw32
This includes -win clients (no clue if anything actually works yet).
2021-03-27 20:09:37 +09:00
Bill Currie
86b5b30b45 Merge branch 'master' into vulkan 2020-06-25 14:03:52 +09:00
Bill Currie
6d5ffa9f8e [build] Move to non-recursive make
There's still some cleanup to do, but everything seems to be working
nicely: `make -j` works, `make distcheck` passes. There is probably
plenty of bitrot in the package directories (RPM, debian), though.

The vc project files have been removed since those versions are way out
of date and quakeforge is pretty much dependent on gcc now anyway.

Most of the old Makefile.am files  are now Makemodule.am.  This should
allow for new Makefile.am files that allow local building (to be added
on an as-needed bases).  The current remaining Makefile.am files are for
standalone sub-projects.a

The installable bins are currently built in the top-level build
directory. This may change if the clutter gets to be too much.

While this does make a noticeable difference in build times, the main
reason for the switch was to take care of the growing dependency issues:
now it's possible to build tools for code generation (eg, using qfcc and
ruamoko programs for code-gen).
2020-06-25 11:35:37 +09:00
Bill Currie
8ee06d75a9 Separate render and presentation initialization
This paves the way for clean initialization of the Vulkan renderer, and
very much cleans up the older renderer initialization code as gl and sw
are no longer intertwined.
2019-07-09 01:00:47 +09:00
Bill Currie
2bc78e7f0a Start work on a Vulkan-based renderer
Doesn't do much other than create an instance and enumerate some stuff,
but the build system is working.
2019-07-06 14:56:15 +09:00
Bill Currie
f1aefc969d Fix some 64-bit mingw compile issues.
Just one more issue to fix (alloca), but with a hack, QF compiles (no clue
yet if it works: wine doesn't seem to be an option at this stage)
2013-01-22 21:02:49 +09:00
Bill Currie
cc5e0f9957 Use git-version-gen to create meaningful version strings.
git-version-gen is taken from autoconf-2.69 with the change of adding
--tags to the git command line since we don't sign our tags (yet).
2012-12-21 18:43:03 +09:00
Antti Harri
bb1a342629 Use correct name for OpenGL library on OpenBSD by default. 2012-03-03 21:01:23 +09:00
Bill Currie
1b2a5d69f5 Make documentation of static functions configurable.
Deek doesn't want docs for static functions, but I do. When two developers
disagree on something like this, there's only one thing to do :)
2010-12-21 09:21:30 +09:00
Bill Currie
3b26777985 Get qf debian stable compatible again.
Had to backtrack on the libtool version, (and the init line), but I might be
able to make it a little nicer later.
2010-11-16 00:59:58 +09:00
Bill Currie
7dca7e8e2e Doc/boostrap tweaks.
Mention git instead of subversion, add libsamplerate to the requirements
and it turns out autoconf 2.65 is good enough.
2010-10-10 10:05:01 +09:00
Jeff Teunissen
4452c31859 Pull in changes from master 2010-08-23 00:03:46 -04:00
Jeff Teunissen
b5375449e9 Guess I had it pretty-much right already.
Rename TOPDIR to TOPSRC, can't get around requiring it and it's more
descriptive this way anyway. Also, revert the use of the m4_esyscmd()
macro in configure. It's kinda cool, but I'll come up with a better way
to do it.
2010-08-22 23:53:06 -04:00
Bill Currie
2185a3dcd0 Remove almost all of my boxclip developement.
This is to prevent others accidently getting headaches from my code.
2010-08-20 14:13:23 +09:00
Bill Currie
abf3972c84 get --disable-optimize and --disable-debug working again
LT_INIT messes with CFLAGS, so do a save/restore around the invocation
2010-08-20 11:31:59 +09:00
Jeff Teunissen
16e482eb90 Proof of concept for making docs build without main configure
We need to figure out a way to make docs in unusual places, like in the
SourceForge shell environment -- which doesn't have an extremely recent
autotools. This is an extremely stripped-down automake/autoconf setup that
provides the bare minimum needed to AC_SUBST variables.

It's dirty and hacky, but it kinda works.
2010-08-19 12:59:16 -04:00
Bill Currie
669771681a split up and modernize configure.ac
Most of the guts of configure.ac have been moved to config.d and are then
brought in by m4_include. This will make maintaining configure.ac much easier.

Also drop use of PROGRAM and VERSION, using PACKAGE_NAME, PACKAGE_VERSION, and
on occasion, PACKAGE_STRING instead, and clean out some old files we no longer
need.
2010-08-19 15:01:43 +09:00
Bill Currie
0f63aaf33a correct host/target issues
host is the system on which qf will run, target is for compilers (though qfcc
is a compiler, it has but one target).
2010-08-18 21:53:43 +09:00
Bill Currie
a314baebf4 for now, require libsamplerate.
I really don't feel like implementing a fallback right now.
2010-08-11 23:47:48 +00:00
Bill Currie
3b76c595be goofed on the HAVE_MIDI test 2010-08-11 23:42:59 +00:00
Bill Currie
d0906f1453 conditionally build the sound format support files
Rather than using an ifdef around the entire code, get autoconf to do the work
for us. For one thing, this allows doxygen to produce decent docs. It also
makes for less compalation when building without support for various formats.
2010-08-11 23:42:42 +00:00
Bill Currie
cfb457c6ac add detection of libsamplerate. not used yet 2010-08-06 01:58:57 +00:00
Bill Currie
970dd0b872 avoid the old dga headers if we can (they're now deprecated) 2010-08-05 02:35:16 +00:00
Bill Currie
96a507e8ea Disable svga support when not building for 32-bit x86 (for now, anyway). 2010-08-05 01:58:39 +00:00
Bill Currie
997102fea8 audit the usage of "only"
There are still a few iffy places (notably around certain prepositions), but
the relevant sentences are now much easier to read.
2010-01-13 06:42:26 +00:00
Bill Currie
fb5b0dc5c3 Check for .git as well as .svn when autosetting -Werror 2009-12-24 07:46:28 +00:00
Bill Currie
0647a156e3 Apply witukind's XDG support patch 2009-12-22 12:28:55 +00:00
Bill Currie
bf61415e7c properly expand $libdir so qfcc can find the libs 2009-12-20 07:28:03 +00:00
Bill Currie
6858a5f63d clean out the old zlib hack. seems to be not necessary any more 2009-12-20 06:05:51 +00:00
Bill Currie
51932ee433 --enable-boxclip configure option and some more tweaks, I guess (been too long) 2009-12-19 04:45:01 +00:00
Timothy C. McGrath
470bccc5e6 Make the help output less darn confusing for werror. 2007-12-16 15:43:21 +00:00
Bill Currie
2c10c42b23 don't try to build the console plugins when not building anything that needs them. 2007-06-22 10:27:42 +00:00
Bill Currie
a02405582a opps, that was part of raorn's linker patches 2007-05-31 06:31:22 +00:00
Bill Currie
2becf1d1c1 make sure HAVE_JACK gets defined when it should 2007-05-17 10:14:25 +00:00
Bill Currie
3663c58efc add pkg-config file for qfcc 2007-04-09 00:52:36 +00:00
Jeff Teunissen
39c5bd0d9e Clean up aclocal stuff. 2007-03-27 07:08:22 +00:00
Bill Currie
8871765491 require gcc4 for the inline limit stuff (doesn't work in certain 3.4 versions) 2007-03-24 11:43:08 +00:00
Bill Currie
932c9e7330 fix incorrect braces 2007-03-24 11:33:21 +00:00
Bill Currie
dc09b6e5ec this should fix the jack test 2007-03-24 11:28:22 +00:00