Bill Currie
d4574111b5
Replace system defines/includes with qfcc's
...
Right now, it probably works only with modern gcc.
2020-02-19 02:31:16 +09:00
Bill Currie
e9f1bc7b30
Make vulkan building actually conditional
2019-07-09 01:03:26 +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
53a62e4d62
Add checks for some dlopen flags
...
Checks aren't used yet, though.
2019-07-09 00:45:25 +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
34bcf7faab
Do a pure/const/noreturn/format attribute pass.
...
I always wanted these, but as gcc now provides warnings for functions that
could do with such attributes, finding all the functions is much easier.
2018-10-09 12:42:21 +09:00
Bill Currie
0de0eb2fc7
Fix a bunch of bit-rot.
2018-06-08 13:21:30 +09:00
Bill Currie
bd52e46adf
Merge branch 'master' into win
2016-01-22 01:10:49 +09:00
Bill Currie
735fcf68d5
Clean up usage of va_copy.
...
AC_TYPE_VA_LIST is no longer necessary, and the code is easier to read.
2016-01-03 21:16:23 +09:00
Bill Currie
f0dc995c67
Handle c99 inline vs gnu89 inline.
...
The meaning of "extern inline" and "inline" swaps between the two, and
gcc-5 uses c99 inline.
2015-08-18 00:11:03 +09:00
Bill Currie
512514ca23
Limit gcc_struct checking to win32 builds.
...
I guess -Werror isn't used when doing compile checks.
2014-02-03 16:55:09 +09:00
Bill Currie
3fb9fb9373
Attempt to autoconfiscate gcc_struct.
...
It seems some tool-chains get rather picky about such things.
2014-02-03 16:47:51 +09:00
Bill Currie
48809404b1
Use qfplist for light entities.
...
This removes a lot of redundant code from qflight (though it does become
dependent of libQFgamecode *shrug*). The nice thing is qflight now uses the
exact same code to load entities as does the server.
2013-03-07 09:11:22 +09:00
Bill Currie
7137783e47
Disable svga support for now.
...
It is suffering some bitrot and I don't feel like fixing it right now, but
it causes problems for people trying to build QF. This should be ok because
it's one of those "if uncertain, say no" things.
2013-02-14 09:37:25 +09:00
Bill Currie
c6f9d8b64c
Reduce CFLAGS abuse a little for mingw targets.
...
This fixes missing debug info (useful for fixing linker errors, if nothing
else).
2013-01-28 16:21:42 +09:00
Bill Currie
d14da7f34a
Enable the "win" clients.
...
The win clients are the native windows (NOT sdl!! *twitch*). Things are
already looking on the up: only three errors in in_win.c. I'm not looking
forward to vid_win.c (ex vid_wgl.c), though.
2013-01-24 12:36:14 +09:00
Bill Currie
d139640755
Make fs_userpath default to ~/quakeforge on windows.
...
The ~ gets expanded to CSIDL_LOCAL_APPDATA, $HOME, $USERPROFILE or just
".", whichever succeeds first. The usual location will be:
"C:\windows\profiles\<user>\Local Settings\Application Data".
"." is now the fallback for *nix systems too.
2013-01-23 11:10:19 +09:00
Bill Currie
e27d7cbd2d
Handle alloca "correctly".
...
Use AC_FUNC_ALLOCA and the #ifdef mess suggested by the autoconf docs
(hidden in qfalloca.h).
2013-01-22 21:02:50 +09:00
Bill Currie
00639aa9d1
Require bison 2.6 or later.
...
It turns out the apiprefix define is quite new (I didn't realize it at the
time) and I'd rather get FTBFS reports based on configure catching the
error than gcc catching it.
2013-01-11 13:48:14 +09:00
Bill Currie
9028cda24b
Add -fno-unsafe-math-optimizations to CFLAGS.
...
It seems -ffast-math is not necessarily faster, and the errors it causes
may not be worth the gains, but I'm not sure I want to nuke it completely,
so instead disabling the worst offender of it
(-fno-unsafe-math-optimizations) seems to be the best option. qfbsp now
produces identical text output between optimized and unoptimized builds,
and may be slightly faster than before the change (1.9s for start.map vs
2.0s)
2013-01-11 11:17:31 +09:00
Bill Currie
6eb6b6c0ba
Change pointer_t to unsigned and clean up the mess.
...
It doesn't make sense to have negative pointers. The size of the commit is
from enabling gcc's -Wtype-limits warning and cleaning up that mess too.
2012-12-21 21:53:13 +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
Bill Currie
3e38c4aa48
Merge branch 'qfcc-cse'
...
qfcc now does local common subexpression elimination. It seems to work, but
is optional (default off): use -O to enable. Also, uninitialized variable
detection is finally back :)
The progs engine now has very basic valgrind-like functionality for
checking pointer accesses. Enable with pr_boundscheck 2
2012-12-13 20:17:28 +09:00
Bill Currie
042cae29b1
Use pkg-config when checking for sdl.
...
This makes setting up for cross-compiling cleaner.
2012-11-29 11:16:06 +09:00
Bill Currie
1cd58b30f4
Fix the library dependencies for the servers.
...
It's so rarely I build without clients...
2012-11-27 13:18:23 +09:00
Bill Currie
99b34232f8
Add a test harness for qfcc.
...
It's only the beginning, but finally make check is useful for qfcc :)
It even has a failing test :D
2012-11-22 21:59:01 +09:00
Bill Currie
ef7678fcec
Use DWARF debugging with recent gcc.
...
Oh, wow, I wish I'd known about it before. C macro evaluation in gdb!!!
*sob*
2012-11-14 14:51:23 +09:00
Bill Currie
abc81cee85
Avoid building unneeded libs.
...
Having better dependency info in build_control.m4 would be nice, but this
works well enough for now.
2012-08-20 14:12:20 +09:00
Bill Currie
a2f2d4d949
"Check" for the availability of pthreads.
...
Unfortunately, just because the header is there doesn't mean anything will
actually work :(. Also, the check is based on the host vendor/os for now.
Yes, it's rather lame but it will do for now.
With this, QF will build on an almost fresh ps3toolchain install. Only two
"fixes" are needed:
o In $PS3DEV/ppu/powerpc64-ps3-elf: ln -s ../include sys-include
o libsamplerate cross-built and installed.
2012-08-19 13:40:42 +09:00
Bill Currie
358ea4ef9a
Fall back to execve/wait when execvp and waitpid are unavailable.
2012-08-19 13:18:38 +09:00
Bill Currie
ceea60059a
Sort the checked functions.
2012-08-19 13:07:18 +09:00
Bill Currie
bf41851bd9
Check for ioctl availability.
...
This gets networking compiling. Now the build gets all the way to qfcc,
where it dies with waidpid/execvp errors :P
2012-08-18 22:02:02 +09:00
Bill Currie
60596038d2
Half-disable pthread for ps3toolchain.
...
I can't find anything for pthread other that pthread.h, but this lets nq
and qw stuff build (minus the pending networking issues).
2012-08-18 21:51:04 +09:00
Bill Currie
575693e4a0
A bunch of networking compile fixes.
...
This isn't everything needed to get networking compiling, but it's pretty
close.
2012-08-18 21:49:30 +09:00
Bill Currie
7f805c2527
Use pkg-config for zlib.
...
Helps cope with zlib being in weird places (eg, ps3toolchain)
2012-08-18 21:41:33 +09:00
Bill Currie
3b047a3cc1
Check for getuid and cope when it's not there.
...
The ps3toolchain doesn't have getuid or getpwent. Nor does it have
timeGetTime, so use Sys_DoubleTime instead.
2012-08-18 21:37:54 +09:00
Bill Currie
ee27c49e70
Separate the checks for building dirent.c and fnmatch.c.
...
ps3's libc has opendir and friends, but not fnmatch.
2012-08-18 12:12:45 +09:00
Bill Currie
836215357a
Use the correct type for alloca's size parameter.
...
Well, hopefully: it at least agrees with gcc's builtin version.
2012-08-18 11:20:48 +09:00
Bill Currie
7928274b6e
Test for and include sys/select.h.
2012-08-18 10:57:42 +09:00
Bill Currie
97c87cf996
Initial checkin of the qwaq mini-engine.
2012-07-15 07:39:50 +09:00
Bill Currie
fc88c829bc
Disable fbdev for now.
...
By default, anyway. It doesn't work and only distracts users.
2012-07-09 12:06:59 +09:00
Bill Currie
b65c41efcb
Move the colormod lookup table into a new lib.
...
libQFclient is now here :) The first shared code is the lookup table.
2012-07-05 09:39:16 +09:00
Bill Currie
7573c38122
Create qfspritegen based on id's sprgen.
...
No guarantees it works, but it should be able to convert a bunch of pcx
images into a sprite.
2012-06-30 20:20:15 +09:00
Bill Currie
26a878da48
Stub out the iqm loader.
2012-05-15 21:08:43 +09:00
Bill Currie
95a06c20b2
Move qfcc's libs and headers to ${prefix}/share
...
On discussion with Despair, share makes more sense than lib as they are
really cross-platform (though qfcc itself is not).
2012-05-05 19:34:35 +09:00
Bill Currie
9b07f9adcd
Change the default renderer to gl.
...
Until glsl starts looking good, anyway.
2012-05-05 18:39:25 +09:00
Bill Currie
ca978315fb
Change the default vid plugin from sw32 to glsl.
2012-04-22 10:11:56 +09:00
Bill Currie
e991c1fed3
Make a bit of progress cleaning up vid for plugins.
2012-04-11 14:58:54 +09:00
Bill Currie
8530959752
Link the model libs to the render plugins.
2012-04-11 14:58:53 +09:00
Bill Currie
8e91fb7bc1
Get the basics linking.
...
Still, nothing will work: no plugins are loaded and they're all broken
anyway.
glx, sgl, glslx etc are going away, just the basics will be built: fbdev
(probably go away eventually), sdl, x11 and hopefully someday win. That's
actually the only reason anything links.
2012-04-11 14:58:53 +09:00
Bill Currie
a4c280f2b2
Take the first step towards render plugins.
...
No clients link. Even if they did, nothing would work.
2012-04-11 14:58:53 +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
b69d527507
Nuke another AM_CONDITIONAL
2012-02-13 16:08:03 +09:00
Bill Currie
df47dd31f1
Clean up the excessive makefile vars generated by AC_SUBST.
...
While it further breaks RPM building, all AC_SUBST(HAVE_*) have been nuked.
When AM_SUBST_NOTMAKE, tell automake to not generate var = @var@ in
Makefile.in for qf specific vars (QF_SUBST is a wrapper for AC_SUBST that
also calls AM_SUBST_NOTMAKE).
2012-02-13 15:49:55 +09:00
Bill Currie
3cb4cb59b5
Link QFgamecode directly into QFruamoko.
...
First step in the library "merge down".
QFgamecode is now a convenience library. The only things that mention it
directly now are ruamoko and qfcc.
2012-02-13 15:05:31 +09:00
Bill Currie
f389715730
Fix non-static console plugins.
...
Bah, fiddly stuff.
2012-02-13 10:58:42 +09:00
Bill Currie
a16daac352
Fix the broken defaults for sound and cd plugins.
...
This has the side effect of defining defaults for all plugins, but as only
sound and cd actually use the defaults, no harm done.
2012-02-12 21:16:28 +09:00
Bill Currie
e416c3e172
Clear up some annying whitespace issues.
...
Now that I know more about how autoconf actually works (ie, m4 stuff), I'm
finally able to fix the inability to format lists the way I want.
2012-02-12 20:14:26 +09:00
Bill Currie
546a7e7aac
Avoid recusing into tools and ruamoko when not needed.
2012-02-12 19:29:31 +09:00
Bill Currie
6f2fec8afe
Fix non-static plugins.
2012-02-12 18:35:00 +09:00
Bill Currie
02d24189ef
Use QF_NEED for plugins.
...
At the moment, the selection of the default sound driver etc is broken.
2012-02-12 11:37:25 +09:00
Bill Currie
4707706f5d
Use QF_NEED for the renderer and model libraries.
...
This breaks RPM building, but I can fix that later.
2012-02-10 13:29:45 +09:00
Bill Currie
eefa89e72e
Remove the AM_CONDITIONALs from tools.
...
Now that the tools directories aren't entered when those tools aren't being
built, there's no reason to use AM_CONDITIONAL in there.
2012-02-10 02:50:42 +09:00
Bill Currie
4d6ed605a9
Create and use QF_PROCESS_NEED_DIRS.
...
Not that I imagine many people use --with[out]-tools, but now unwanted
tools don't get visited by make.
2012-02-10 01:49:45 +09:00
Bill Currie
717d5368de
Rework QF_PROCESS_NEED to be more general.
...
QF_PROCESS_NEED has been renamed to QF_PROCESS_NEED_LIBS and its guts have
been moved to QF_PROCESS_NEED_subroutine, with additional modifications to
allow QF_NEED to be used for other targets as well (eg, directories,
executables, etc).
2012-02-10 01:30:41 +09:00
Bill Currie
7a8f91edda
Move bi_gib.c from ruamoko to gib.
...
This makes gib depend on gamecode, but removes the dependency on gib from
ruamoko. Unfortunately, carne now needs to be linked against gamecode even
though it never uses it.
2012-02-09 10:00:54 +09:00
Bill Currie
e34f0178b6
Build GLSL clients for SDL.
...
Just about to do a release, and I realized windows users wouldn't have any
way of checking out the new renderer. I'll add wglsl when I get a chance to
do some testing.
2012-02-08 22:05:58 +09:00
Bill Currie
5c062acc80
Enable the glslx qw client.
...
The only reason it wa getting built is other qw clients were requiring the
same libs.
2012-02-08 08:25:50 +09:00
Bill Currie
8e5c7db857
Clean up the sound plugin configuration code.
...
16 if statements down to one in a for loop :)
2012-02-07 23:03:47 +09:00
Bill Currie
54626b3355
Clean out some cruft.
...
gibscript seems to be one of snax' little experiments. I suspect he never
committed it, but his autoconf changes snuck in by accident.
2012-02-07 23:01:43 +09:00
Sander van Dijk
cd05fecfac
config.d/networking.m4: fix minor typo.
2012-02-07 20:20:26 +09:00
Sander van Dijk
8a5b16d6ab
config.d/networking.m4: fix check for libcurl.
2012-02-07 20:20:19 +09:00
Bill Currie
b7e5ad6306
Clean up plugin_ldadd and plugin_ldflags
2012-02-07 12:52:12 +09:00
Bill Currie
b5019c8e33
Nuke the engine dicrectory from gamecode.
...
Not the contents, of course :) Anyway, finally, that totally useless
directory is gone.
2012-02-06 23:44:52 +09:00
Bill Currie
e6969ea7e3
Use pkg-config for libcurl, too.
2012-02-06 00:05:22 +09:00
Bill Currie
47ee9d0355
Use pkg-config for ogg and vorbis libs.
...
Modern versions of ogg and vorbis provide pc files, so might as well make
the most of it.
2012-02-05 23:52:04 +09:00
Bill Currie
abcd3091d0
Test for sys/shm.h for OSS sound.
...
Android does not supply sys/shm.h (or related headers, by design), so OSS
sound is completely out of the question on Android.
2012-02-05 18:46:59 +09:00
Bill Currie
97aa5b8c6d
Don't try to link with pthread on android.
...
The pthread functions are in libc.
2012-02-05 14:29:00 +09:00
Bill Currie
201532ea7e
Fix missing library references when linking.
2012-02-05 14:25:22 +09:00
Bill Currie
3bd75cefd8
Autoconfiscate log2f.
...
Android doesn't supply log2f for us (though it does have all the other
float calls ruamoko wants).
2012-02-05 14:23:33 +09:00
Jeff Teunissen
86edf54c40
Build and ignore cleanups
...
GLSL renderer build was checking for BUILD_GL instead of BUILD_GLSL in a
few places. Also, ignore the GLSL .fc and .vc files and the binaries.
2012-01-02 14:16:19 -05:00
Bill Currie
55a0ed49cd
Build qw-client-glslx too.
...
I was asked about timedemo overkill (bigass1 currently gets 40kfps, haha),
so I had to add qw-client-glslx to the build.
2011-12-25 16:41:14 +09:00
Bill Currie
497461b4c2
Make a start on making a pure GLSL renderer.
...
For now, only nq-glslx will be built, but as there is no actual code, it
doesn't link. However, this gets the glsl stuff into the build system.
2011-12-23 12:19:13 +09:00
Bill Currie
da552e33e7
Remove execinfo checks.
...
It seems we no longer need it (if we ever really did).
2011-12-13 21:25:41 +09:00
Bill Currie
853bf13d9e
Move the winding code into libQFmodels.
2011-11-28 20:54:35 +09:00
Bill Currie
7e5d654f3d
Fix the accidental nukage of PNG_LIBS.
...
Kind of silly setting PNG_LIBS to -lpng after going to the effort of using
pkg-config now, isn't it :P
2011-08-25 23:04:02 +09:00
Bill Currie
605d60167d
Rename the doxygen formatted text files.
...
So I don't have to keep duplicating file names all over the place, I've
decided to use the "dox" extension on text files that are formatted for
doxygen processing. This way, doxygen can search for them using wildcards,
and unformated text files won't cause any headaches.
2011-08-20 13:35:51 +09:00
Bill Currie
4cec4b9f96
Rewrite the interface detection code.
...
Turns out SIOCGIFCONF is rather painful to get working cross-platform. This
should work better, and can be used even with ipv6 :)
2011-08-11 18:32:39 +09:00
Bill Currie
6f413c0aec
Fix testsound building in mingw.
...
I had forgotten about $(EXEEXT) :P
2011-08-02 11:24:51 +09:00
Bill Currie
28610c08e3
Do not try to build testsound when not building sound libs.
2011-07-30 15:03:19 +09:00
Bill Currie
056d6a08ff
Do not define HAVE_ZLIB when it is unavailable.
...
Oops :P
2011-07-29 16:51:52 +09:00
Bill Currie
a5272fac17
Make the lack of libsamplerate a non-fatal error.
...
Requiring libsamplerate when not building clients is rather silly. When
building clients, disable sound if libsamplerate can't be found.
2011-07-29 16:32:35 +09:00
Bill Currie
f8d8395cf0
Clean up the ipv6 check a little.
2011-07-23 15:58:45 +09:00
Antti Harri
e56e8caff2
Fix previous FLAC pkg-config commit that had some typos.
...
While there, restructure and remove duplicate code.
2011-07-09 22:59:49 +03:00
Antti Harri
358a844a42
Implement --version-info configure switch to override QuakeForge
...
library versioning. From Lasse Collin, thanks!
2011-07-09 01:23:36 +03:00
Antti Harri
c4826262f5
Extend configure check for FLAC to use pkg-config when
...
possible.
2011-07-08 21:35:04 +03:00
Bill Currie
b18ff4ed3e
Move test-qfs.c into a test directory.
...
Same as before: avoiding -prefic-pic issues.
Also, catch some minor snafus found in the previous commit. With this, make
distcheck passes again :)
2011-06-12 16:34:15 +09:00
Bill Currie
c522726021
Move the testclip program into its own directory.
...
Same as with the audio test program, this is to avoid issues with
-prefer-pic.
2011-06-12 16:12:52 +09:00
Antti Harri
1ae2e46dd8
Use -pthread instead of -lpthread on OpenBSD.
2011-06-04 18:08:56 +03:00
Bill Currie
47201137d5
Make the default cd plugin configurable.
...
The default default is file, but now distribution maintainers can change it
if necessary.
2011-06-04 17:19:18 +09:00