From e2e14945e4e822861d5ea0e3783e724a24e4135b Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Fri, 2 Jun 2023 00:28:17 +0300 Subject: [PATCH] contrib: delete outdated files --- contrib/mittorn/Makefile.linux | 206 ------------------------- contrib/mittorn/README.md | 269 --------------------------------- contrib/mittorn/setup.sh | 7 - contrib/mittorn/wscript | 73 --------- 4 files changed, 555 deletions(-) delete mode 100644 contrib/mittorn/Makefile.linux delete mode 100644 contrib/mittorn/README.md delete mode 100755 contrib/mittorn/setup.sh delete mode 100644 contrib/mittorn/wscript diff --git a/contrib/mittorn/Makefile.linux b/contrib/mittorn/Makefile.linux deleted file mode 100644 index 6dc654f1..00000000 --- a/contrib/mittorn/Makefile.linux +++ /dev/null @@ -1,206 +0,0 @@ -############################################# -# Makefile.linux - linux makefile -# Copyright (C) 2017 mittorn - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -############################################## - -# Default options - optimized to debug on local machine -CC ?= gcc -CXX ?= g++ -CFLAGS ?= -g -O1 -fsigned-char -Wall -Wextra -Wsign-compare -Wno-unknown-pragmas -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-but-set-variable -LDFLAGS = -LBITS := $(shell getconf LONG_BIT) -DEPS := - -XASH_COMMIT := $(firstword $(shell git rev-parse --short=6 HEAD) unknown) - -ifeq ($(XASH_COMMIT),unknown) -$(warning You seems to build xash3d without git) -$(warning Please use git if you are going to publish your build) -endif - -# Pass 64BIT=1 to make arguments to allow amd64 builds -ifneq ($(64BIT),1) - ifeq ($(LBITS),64) - LDFLAGS += -m32 - CFLAGS += -m32 - endif -endif - -TOPDIR = $(PWD)/.. -INCLUDES := -XASH_SINGLE_BINARY ?= 1 -INSTALL_DIR ?= ./install/ -ifeq ($(NANOGL),1) -INCLUDES += -Inanogl -Inanogl/GL -endif -INCLUDES += -I/usr/include/SDL2 -Icommon -I../common -I. -I../pm_shared -Iclient -Iserver -Iclient/vgui -Icommon/sdl - -############################# -# Preprocessor defines: -############################# -DEFINES = - -# Specify commit hash in version string -DEFINES += -DXASH_BUILD_COMMIT=\"$(XASH_COMMIT)\" - - -# Only SDL backend exists on linux -ifeq ($(XASH_DEDICATED),1) - DEFINES += -DXASH_DEDICATED -else - DEFINES += -DXASH_SDL - LIBS += -lSDL2 -endif - -############################################# -# GL/GLES translators. -# You need clone it to engine folder to use -# Only one translator should be enabled -############################################# -ifeq ($(NANOGL),1) -DEFINES += -DXASH_NANOGL -D__MULTITEXTURE_SUPPORT__ -DEGL_LIB=\"libEGL.so\" -endif - -ifeq ($(WES),1) -DEFINES += -DXASH_WES -D__MULTITEXTURE_SUPPORT__ -DEGL_LIB=\"libEGL.so\" -endif - -ifeq ($(REGAL),1) -DEFINES += -DXASH_REGAL -D__MULTITEXTURE_SUPPORT__ -DEGL_LIB=\"regal/lib/linux-32/libRegal.so\" -LIBS += regal/lib/linux-32/libRegal.so -endif - -# Some libc implementations cannot use libdl in static builds, so disable it by default -ifeq ($(XASH_STATIC),1) - - ifneq ($(XASH_STATIC_LIBDL),1) - DEFINES += -DNO_LIBDL - endif - - XASH_SINGLE_BINARY := 1 -endif - -ifneq ($(XASH_STATIC),1) - LIBS += -ldl -endif - -ifeq ($(XASH_STATIC_LIBDL),1) - LIBS += -ldl -endif - -LIBS += -lm -pthread - - -ifeq ($(XASH_SINGLE_BINARY),1) - DEFINES += -DSINGLE_BINARY -endif - -# Collect files -SRCS_CPP = -SRCS = $(wildcard server/*.c) $(wildcard client/vgui/*.c) $(wildcard client/avi/*.c) $(wildcard common/*.c) $(wildcard common/imagelib/*.c) $(wildcard common/soundlib/*.c) $(wildcard common/soundlib/libmpg/*.c) -ifneq ($(XASH_DEDICATED),1) - SRCS += $(wildcard client/*.c) - SRCS += $(wildcard platform/sdl/*.c) - ifeq ($(WES),1) - SRCS += $(wildcard gl-wes-v2/src/*.c) - endif - ifeq ($(NANOGL),1) - SRCS_CPP += $(wildcard nanogl/*.cpp) - endif -endif -OBJS = $(patsubst %.c,obj/%.o,$(SRCS)) -OBJS_CPP = $(patsubst %.cpp,obj/%.o,$(SRCS_CPP)) - -################################# -# Windows DLL loader -# Should be enabled only on i386 builds -################################# -LOADER := -ifeq ($(XASH_DLL_LOADER),1) - DEFINES += -DDLL_LOADER - ifeq ($(XASH_SINGLE_BINARY),1) - LOADER = libloader.a - else - LOADER = libloader.so - endif - DEPS += $(LOADER) - LIBS += $(LOADER) -endif - -# Rules for binaries -ifeq ($(XASH_SINGLE_BINARY),0) - BINARIES = libxash.so -libxash.so : $(OBJS) $(OBJS_CPP) $(DEPS) - $(CC) -fvisibility=hidden -o libxash.so $(LDFLAGS) -shared $(OBJS) $(OBJS_CPP) $(LIBS) - -else -BINARIES = xash -xash: $(OBJS) $(OBJS_CPP) $(DEPS) -ifeq ($(XASH_STATIC),1) - $(CC) -o xash -static $(LDFLAGS) $(OBJS) $(OBJS_CPP) $(LIBS) -else - $(CC) -o xash -fvisibility=hidden $(LDFLAGS) $(OBJS) $(OBJS_CPP) $(LIBS) -endif - -endif - -ifeq ($(XASH_DLL_LOADER),1) -$(LOADER): - $(MAKE) -f ../loader/Makefile.linux -C ../loader $(LOADER) - cp ../loader/$(LOADER) . -endif - -# Create dirs for object files -DIRS := obj obj/server obj/client/avi obj/client/vgui obj/common/sdl obj/common/imagelib obj/common/soundlib/libmpg obj/platform/sdl obj/nanogl -$(OBJS): | $(DIRS) - -$(DIRS) : - mkdir -p $(DIRS) - -# Object rules -obj/%.o : %.c - $(CC) $(CFLAGS) $(INCLUDES) $(DEFINES) -c "$<" -o "$@" -Wno-unused-result -fvisibility=hidden - -obj/%.o : %.cpp - $(CXX) $(CFLAGS) $(INCLUDES) $(DEFINES) -c "$<" -o "$@" - - -default: $(BINARIES) - -.PHONY: depend clean list install - -clean: - $(RM) $(OBJS) $(OBJS_CPP) $(BINARIES) ../loader/*.o ../loader/*.a ../loader/*.so $(LOADER) - -list: - @echo Sources: - @echo $(SRCS) - @echo C++ Sources: - @echo $(SRCS_CPP) - @echo Objects: - @echo $(OBJS) $(OBJS_CPP) - @echo Dirs: - @echo $(DIRS) - @echo Dependencies: - @echo $(DEPS) - -# Simple install rule -install: $(BINARIES) - mkdir -p $(INSTALL_DIR) - -ifeq ($(XASH_SINGLE_BINARY),1) - cp xash $(INSTALL_DIR)/xash_bin -else - cp libxash.so $(INSTALL_DIR)/ - cp libloader.so $(INSTALL_DIR)/ -endif diff --git a/contrib/mittorn/README.md b/contrib/mittorn/README.md deleted file mode 100644 index 289e3b11..00000000 --- a/contrib/mittorn/README.md +++ /dev/null @@ -1,269 +0,0 @@ -**Table of Contents** *generated with [DocToc](http://doctoc.herokuapp.com/)* - -- [Building](#building) - - [Manual build (without CMake)](#manual-build-without-cmake) - - [Building Engine](#building-engine) - - [Building launch binary](#building-launch-binary) - - [Building on Windows](#building-on-windows) - - [Visual Studio 2013 (recommended for Windows)](#visual-studio-2013-recommended-for-windows) - - [Visual Studio 6](#visual-studio-6) - - [MinGW](#mingw) - - [Building Game mods](#building-game-mods) - - [Linux](#linux) - - [microndk](#microndk) - - [Makefile.linux](#makefile-linux) - - [Windows](#windows) -- [Running](#running) - - [Manual running](#manual-running) - - [Running with GDB](#running-with-gdb) - - [Using DLL Loader](#using-dll-loader) - - [Running MinGW builds](#running-mingw-builds) - - [Running MinGW builds under GDB](#running-mingw-builds-under-gdb) - -# Building - -## Manual build (without CMake) - -### Building engine - -Clone Xash3D repository using git: - - git clone https://github.com/FWGS/xash3d - -Move to the Xash3D folder: - - cd xash3d/engine - - make -f Makefile.linux XASH_VGUI=1 - -or same for dedicated - - make -f Makefile.linux XASH_DEDICATED=1 - -To enable dll support on linux, build loader library: - - cd ../loader - make -f Makefile.linux libloader.so libloader.a - cp libloader.so libloader.a ../engine/ - -And built engine with XASH_DLL_LOADER=1: - - cd ../engine - make -f Makefile.linux XASH_VGUI=1 XASH_SDL=1 XASH_DLL_LOADER=1 - -or same for dedicated server - - cd ../engine - make -f Makefile.linux XASH_DEDICATED=1 XASH_DLL_LOADER=1 - -### Building engine in separate library - -Some old distros does not support hidden symbol visibility -This results in crash when loading server library - -Building launch binary - - cd (xash3d)/game_launch - gcc xash.c -o xash -ldl -lrt -lm - -Building engine library: - - make -f Makefile.linux XASH_SINGLE_BINARY=0 - -## Building on Windows - -### Visual Studio 2013 (recommended for Windows) - -Download latest prebuilt SDL2 from - -https://www.libsdl.org/release/SDL2-devel-2.0.4-VC.zip - -Unzip and rename `SDL2-2.0.4` folder to `SDL2` and put it next to xash3d project folder. - - ..\xash3d\ - ..\SDL2\ - -Open `xash.sln` with Visual Studio 2013 and make a build. After building, copy contents of `Debug` or -`Release` folder to directory you choose. Copy `valve` folder and `vgui.dll` from your Half Life game -installation folder and `SDL2.dll` form `\SDL2\lib\x86\` to it. -Move `vgui_support.dll` into `valve` folder. - - ..\valve\ - ..\valve\vgui_support.dll - ..\menu.dll - ..\SDL2.dll - ..\vgui.dll - ..\xash.dll - ..\xash.exe - -Now you good to go, just run `xash.exe`. - -### Visual Studio 6 - -This is legacy configuration, but msvc6 seems to generate more stable and more effective code - -Setup your msvc6 enviroment, unpack SDL2-2.0.4 to xash3d folder and do: - - cd (xash3d)\engine - ..\msvc6\build.bat - cd (xash3d)\game_launch - ..\msvc6\build_launch.bat - -### MinGW - -The most effective configuration, but maybe unstable. -Setup your MinGW environment and run: - - cd (xash3d)\engine\ - CC=gcc mingw32-make -f Makefile.mingw - - engine will be built to single exe binary - -## Building game mods - -### Linux - -#### microndk - -All mods that ported to android may be build to linux using Android.mk with microndk: - -[https://github.com/SDLash3D/microndk] - -Clone microndk repo somewhere, change xash3d_config to preffered configuration (change arch to x86 -for example) - -Go to dlls folder if you are building server or cl_dlls if you are building client and do: - - make -f /path/to/microndk/microndk.mk -j4 - -Do: - - make -f /path/to/microndk/microndk.mk -j4 clean - -every time when you build client after building server - -#### Makefile.linux - -### Windows - -On windows common way is using Visual Studio as many mods does not correctly work with mingw. - -Just open project and build it. - -Other is using mingw and microndk, but it was not tested yet. - -hlsdk-xash3d based mods may work fine with mingw. - -You may use microndk to build it. Build process is very similar to linux one. - -After setting up MinGW enviroment, do:
-`mingw32-make -f \path\to\microndk\Microndk.mk` - -to build 64-bit library, use:
-`mingw32-make -f \path\to\microndk\Microndk.mk 64BIT=1` - -Edit xash3d_config.mk to set optimal CFLAGS if you are running server - -# Running - -Copy **valve** folder from Half-Life: - - cp -r $HOME/.steam/steam/steamapps/common/Half-Life/valve $HOME/Games/Xash3D - -**NOTE**: If you build with CMake, you can now use `make install`. It will install binaries where -they must be located. So just run `xash3d` from command line in directory where is gamedata is located. -For additional info look to the CMakeLists.txt in repo root and xash3d.sh script. - -After a successful build, copy the next files to some other directory where you want to run Xash3D: - - cp engine/libxash.so game_launch/xash3d mainui/libxashmenu.so $HOME/Games/Xash3D - -If you built it with XASH_VGUI, also copy vgui.so: - - cp ../hlsdk/linux/vgui.so vgui_support/libvgui_support.so $HOME/Games/Xash3D - -Copy script: - - cp ../xash3d.sh $HOME/Games/Xash3D - -Run: - - cd $HOME/Games/Xash3D - ./xash3d.sh - -## Manual running - -Put xash3d binaries and vgui(optionally) to you game data directory and run: - - LD_LIBRARY_PATH=. ./xash -dev 5 - -## Running under GDB - - LD_LIBRARY_PATH=. gdb --args ./xash -dev 5 - -## Using DLL Loader - -Put vgui_support.dll from windows build to your game data folder and run: - - LD_LIBRARY_PATH=. ./xash -dev 5 -vguilib vgui.dll -clientlib valve/cl_dlls/client.dll -dll dlls/hl.dll - -## Running MinGW builds - -Put exe file to your game data directory - - cd (game)\ - xash_bin -dev 5 - -### Running MinGW builds under GDB - - gdb --args ./xash_bin.exe -dev 5 - -# Useful GDB commands - -Start or restart process: - - (gdb) r - -Show backtrace: - - (gdb) bt - -Full backtrace: - - (gdb) bt full - -Continue execution: - - (gdb) c - -Recover from segmentation fault: - -Skipping function: - - (gdb) handle SIGSEGV nopass - (gdb) ret - (gdb) c - -Restart frame for beginning: - - (gdb) handle SIGSEGV nopass - (gdb) jump *Host_AbortCurrentFrame -Anti-Crash script (useful for scripting servers): -``` -cd /path/to/rootdir -file xash -set args xash -dev 5 -nowcon -handle SIGSEGV nopass -catch signal SIGSEGV -set $crashes=0 -commands -print $crashes++ -if $crashes > 500 -set $crashes=0 -run -else -jump *Host_AbortCurrentFrame -end -end -run -``` diff --git a/contrib/mittorn/setup.sh b/contrib/mittorn/setup.sh deleted file mode 100755 index 828976b6..00000000 --- a/contrib/mittorn/setup.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -SCRIPTDIR=$(dirname "$0") -TOPDIR=$SCRIPTDIR/../../ -cp $SCRIPTDIR/Makefile.dllloader $TOPDIR/loader/ -cp $SCRIPTDIR/Makefile.emscripten $TOPDIR/engine/ -cp $SCRIPTDIR/Makefile.linux $TOPDIR/engine/ -cp $SCRIPTDIR/wscript $TOPDIR/engine/ \ No newline at end of file diff --git a/contrib/mittorn/wscript b/contrib/mittorn/wscript deleted file mode 100644 index 882b79a8..00000000 --- a/contrib/mittorn/wscript +++ /dev/null @@ -1,73 +0,0 @@ -#! /usr/bin/env python -# encoding: utf-8 -# mittorn, 2018 - -VERSION='0.99' -APPNAME='xash3d-fwgs' - -top = '.' - -def options(opt): - opt.load('compiler_c') -# opt.load('msvs') - opt.add_option('--dedicated', action = 'store_true', help = 'build dedicated server only' ) - opt.add_option('--64bits', dest = 'amd64', action = 'store_true', help = 'build 64-bit engine on x86_64' ) - - - -def configure(conf): - conf.load('compiler_c') - conf.env.append_unique('CFLAGS', '-O2') - conf.env.append_unique('DEFINES', 'SINGLE_BINARY') - conf.env.append_value('LINKFLAGS', '-ldl') - conf.env.append_value('LINKFLAGS', '-lm') - conf.env.append_value('LINKFLAGS', '-pthread') - - # check for 64-bit builds - # TODO: check 32-bit toolchain and dependencies - if conf.env.DEST_CPU == 'x86_64' and not conf.options.amd64: - conf.env.append_value('LINKFLAGS', '-m32') - conf.env.append_value('CFLAGS', '-m32') - print('NOTE: will build engine with 64-bit toolchain using -m32') - else: - print('Warning: 64bit engine may be unstable') - - # check for dedicated server build - if conf.options.dedicated: - conf.env.append_unique('DEFINES', 'XASH_DEDICATED') - conf.env.dedicated = True - else: - # TODO: add way to specify SDL2 path, move to separate function - try: - conf.check_cfg(path='sdl2-config', args='--cflags --libs', package='', msg='Checking for SDL2', uselib_store='SDL2') - except conf.errors.ConfigurationError: - conf.fatal('SDL2 not availiable! If you want to build dedicated server, specify --dedicated') - conf.env.append_unique('DEFINES', 'XASH_SDL') - -def build(bld): - # basic build: dedicated only, no dependencies - use = []; - source = bld.path.ant_glob([ - 'common/*.c', - 'common/imagelib/*.c', - 'common/soundlib/*.c', - 'common/soundlib/libmpg/*.c', - 'server/*.c']) - - # add client files and sdl2 library - if not bld.env.dedicated: - use += ['SDL2'] - source += bld.path.ant_glob([ - 'client/*.c', - 'client/vgui/*.c', - 'client/avi/*.c', - 'platform/sdl/*.c']) - - - bld( - target = 'xash', - features = 'c cprogram', - includes = ['../common', '../pm_shared', 'common', 'server', 'client', 'client/vgui', '.' ], - source = source, - use = use - )