Fixes for winX_sdl builds.

Disable -ffast-math in release builds, as it was causing problems.
Added a build config that disables a number of things that might trigger antivirus FALSE-positives (including all http+tcp support, process forking, tls/crypto), for use in SDL builds where any further system interactions is deferred to SDL. For crippled builds.
Made the output of the version command more verbose to reflect networking features.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5485 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
Spoike 2019-07-02 04:37:11 +00:00
parent 8197e0875f
commit af48d07bc5
7 changed files with 71 additions and 15 deletions

View file

@ -590,7 +590,11 @@ SERVER_ONLY_CFLAGS=-DSERVERONLY
JOINT_CFLAGS=
DEBUG_CFLAGS?=-ggdb -g
DEBUG_CFLAGS+=-DDEBUG
RELEASE_CFLAGS?=-O3 -ffast-math $(CPUOPTIMIZATIONS)
RELEASE_CFLAGS?=-O3 $(CPUOPTIMIZATIONS)
#
#note: RELEASE_CFLAGS used to contain -ffast-math
#however, its use resulted in the player getting stuck etc, so be warned if you try re-enabling it.
#
ifeq ($(FTE_TARGET),vc)
#msvc doesn't do -dumpmachine.

View file

@ -2886,7 +2886,7 @@ void M_Menu_Video_f (void)
NULL
};
static const char *bppvalues[] = {"16", "24", NULL};
#ifdef _WIN32
#if defined(_WIN32) && !defined(FTE_SDL)
extern int qwinvermaj, qwinvermin;
//on win8+, hide the 16bpp option - windows would just reject it.
int bppbias = ((qwinvermaj == 6 && qwinvermin >= 2) || qwinvermaj>6)?1:0;

View file

@ -1896,7 +1896,7 @@ qboolean R_BuildRenderstate(rendererstate_t *newr, char *rendererstring)
newr->stereo = (r_stereo_method.ival == 1);
newr->srgb = vid_srgb.ival;
#ifdef _WIN32
#if defined(_WIN32) && !defined(FTE_SDL)
if (newr->bpp && newr->bpp < 24)
{
extern int qwinvermaj;

View file

@ -4974,7 +4974,7 @@ static void COM_Version_f (void)
#endif
#ifdef HAVE_CLIENT
Con_Printf("image formats:");
Con_Printf("^3Image Formats:^7");
#ifdef IMAGEFMT_DDS
Con_Printf(" dds");
#endif
@ -5022,7 +5022,7 @@ static void COM_Version_f (void)
#endif
Con_Printf("\n");
Con_Printf("VoiceChat:");
Con_Printf("^3VoiceChat:^7");
#if !defined(VOICECHAT)
Con_Printf(" disabled");
#else
@ -5041,7 +5041,7 @@ static void COM_Version_f (void)
#endif
Con_Printf("\n");
Con_Printf("Audio Decoders:");
Con_Printf("^3Audio Decoders:^7");
#ifndef AVAIL_OGGVORBIS
Con_DPrintf(" ^h(disabled: Ogg Vorbis)^7");
#elif defined(LIBVORBISFILE_STATIC)
@ -5056,7 +5056,7 @@ static void COM_Version_f (void)
#endif
#ifdef SQL
Con_Printf("Databases:");
Con_Printf("^3Databases:^7");
#ifdef USE_MYSQL
Con_Printf(" mySQL^h(dynamic)");
#else
@ -5070,7 +5070,7 @@ static void COM_Version_f (void)
Con_Printf("\n");
#endif
Con_Printf("Misc:");
Con_Printf("^3Misc:^7");
#ifdef SUBSERVERS
Con_Printf(" mapcluster");
#else
@ -5110,7 +5110,7 @@ static void COM_Version_f (void)
#endif
#endif
Con_Printf("Games:");
Con_Printf("^3Games:^7");
#if defined(Q3SERVER) && defined(Q3CLIENT)
#ifdef BOTLIB_STATIC
Con_Printf(" Quake3");
@ -5168,6 +5168,37 @@ static void COM_Version_f (void)
#endif
#ifdef HAVE_SERVER
Con_Printf(" ssqc");
#endif
Con_Printf("\n");
Con_Printf("^3Networking:^7");
#ifdef WEBCLIENT
Con_Printf(" HTTPClient");
#endif
#ifdef HAVE_HTTPSV
Con_Printf(" HTTPServer");
#endif
#ifdef FTPSERVER
Con_Printf(" FTPServer");
#endif
#ifdef HAVE_TCP
#ifdef TCPCONNECT
Con_Printf(" TCPConnect");
#endif
#else
Con_Printf(" ^h(disabled: TCP)");
#endif
#ifdef HAVE_GNUTLS //on linux
Con_Printf(" GnuTLS");
#endif
#ifdef HAVE_OPENSSL //on linux. hardlinked, so typically set only via the makefile.
Con_Printf(" OpenSSL");
#endif
#ifdef HAVE_WINSSPI //on windows
Con_Printf(" WINSSPI");
#endif
#ifdef SUPPORT_ICE
Con_Printf(" ICE");
#endif
Con_Printf("\n");
}

View file

@ -0,0 +1,17 @@
// Build-Config file for FTE's webless nearly-standard builds.
// these builds have crippled networking options to see if they fare better with malware false positives.
// to use: make FTE_CONFIG=fteqw_noweb
#include "config_fteqw.h"
#undef WEBCLIENT
#undef HAVE_HTTPSV
#undef TCPCONNECT
#undef FTPSERVER
#undef HAVE_TCP
#undef HAVE_GNUTLS
#undef HAVE_OPENSSL
#undef HAVE_WINSSPI
#undef SUPPORT_ICE
#undef SUBSERVERS

View file

@ -6281,6 +6281,10 @@ void FS_ArbitraryFile_c(int argn, const char *partial, struct xcommandargcomplet
}
}
#if defined(_WIN32) && !defined(FTE_SDL) && !defined(WINRT) && !defined(_XBOX)
#elif !defined(NOSTDIO)
#include <sys/stat.h>
#endif
static void COM_InitHomedir(ftemanifest_t *man)
{
int i;

View file

@ -205,14 +205,14 @@ void QCLoadBreakpoints(const char *vmname, const char *progsname)
debuggerresume = -1;
fprintf(stdout, "qcreloaded \"%s\" \"%s\"\n", vmname, progsname);
fflush(stdout);
#ifdef _WIN32
#if defined(_WIN32) && !defined(FTE_SDL)
#ifndef SERVERONLY
INS_UpdateGrabs(false, false);
#endif
#endif
while(debuggerresume == -1 && !wantquit)
{
#ifdef _WIN32
#if defined(_WIN32) && !defined(FTE_SDL)
Sleep(10);
#else
usleep(10*1000);
@ -406,7 +406,7 @@ int QDECL QCEditor (pubprogfuncs_t *prinst, const char *filename, int *line, int
#endif
debuggerresume = -1;
debuggerresumeline = *line;
#ifdef _WIN32
#if defined(_WIN32) && !defined(FTE_SDL)
if (debuggerwnd)
SetForegroundWindow((HWND)debuggerwnd);
#endif
@ -428,7 +428,7 @@ int QDECL QCEditor (pubprogfuncs_t *prinst, const char *filename, int *line, int
}
while(debuggerresume == -1 && !wantquit)
{
#ifdef _WIN32
#if defined(_WIN32) && !defined(FTE_SDL)
Sleep(10);
#else
usleep(10*1000);
@ -436,7 +436,7 @@ int QDECL QCEditor (pubprogfuncs_t *prinst, const char *filename, int *line, int
SV_GetConsoleCommands();
}
#else
#ifdef _WIN32
#if defined(_WIN32) && !defined(FTE_SDL)
INS_UpdateGrabs(false, false);
#endif
if (reason)
@ -445,7 +445,7 @@ int QDECL QCEditor (pubprogfuncs_t *prinst, const char *filename, int *line, int
Con_Footerf(NULL, false, "^bDebugging");
while(debuggerresume == -1 && !wantquit)
{
#ifdef _WIN32
#if defined(_WIN32) && !defined(FTE_SDL)
Sleep(10);
#else
usleep(10*1000);