Commit graph

159 commits

Author SHA1 Message Date
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
Antti Harri
98808e3cf3 Fix OGG reporting for the CD audio backend and tweak one
test to be better.
2011-05-30 23:57:14 +03:00
Antti Harri
b5ad92d2f0 Fix qfcc on OpenBSD by calling the binary instead of the wrapper. 2011-05-28 15:41:08 +03:00
Antti Harri
f5da073161 Add configure switch to disable Sun audio backend. 2011-05-28 10:46:21 +03:00
Antti Harri
9b19f9b7d6 Fix a typo in header_files.m4 that makes alloca.h check work again. 2011-05-28 10:45:52 +03:00
Bill Currie
f7a95ec2f4 Move the test program into its own directory.
This is to avoid issues with -prefer-pic (really need to clean things up
properly).
2011-05-10 11:25:12 +09:00
Bill Currie
86703744ff Remove another subversive reference. 2011-04-22 15:53:29 +09:00
Bill Currie
b812c0e235 Disable -Wlogical-op for gcc 4.4 or lower.
It seems to be broken before 4.5.
2011-03-21 21:54:00 +09:00
Bill Currie
01144d23cf Add a new gcc warning option and fix the two bugs it found. 2011-03-17 19:58:56 +09:00
Jeff Teunissen
dfbbda37af New tool: qflmp
Stupid little lump tool, converts from lmp to pcx and back.

qflmp -h for help.
2011-01-09 04:33:51 -05:00
Bill Currie
a85c0713aa Nuke libQFbuiltins.
The gib and "common" builtins are now part of libQFruamoko.
2011-01-04 21:21:19 +09:00
Bill Currie
526564b2a7 New default plugin directory.
Change the default plugin directory from ${libdir}/quakeforge to
${libdir}/quakeforge/plugins as this seems to be fairly standard.
2011-01-03 16:19:28 +09:00
Jeff Teunissen
9defba8d92 Get rid of plugin versioning (again).
automake needs -avoid-version to be in Makefile.am, otherwise it doesn't
make libtool do the right thing...or something. My head hurts. ;)
2010-12-25 04:45:39 -05:00
Bill Currie
c5edbf147a Move ruamoko libs and headers into ${prefix}/lib/qfcc 2010-12-24 19:39:54 +09:00
Jeff Teunissen
02068f7092 Don't override a pre-set CFLAGS
Debian has optimization/debug requirements, so allow dpkg-buildpackage to
set CFLAGS and have it be respected.
2010-12-24 05:03:31 -05:00
Bill Currie
906187fb00 Make sure SND_OUTPUT_DEFAULT is always defined. 2010-12-23 15:56:03 +09:00
Bill Currie
17b37e93b2 Remove some no longer necessary evil hacks. 2010-12-23 11:38:00 +09:00