Commit graph

27 commits

Author SHA1 Message Date
Kp 7843ea90ce Add Gentoo ebuilds for beta 2017-04-08 16:48:19 +00:00
Kp bc9e0ea196 Update contributed Visual Studio files to Visual Studio 2017
Visual Studio 2013 support was experimental and never worked due to
missing C++11 support in the compiler and various compiler bugs that
caused it to crash on some of the more complicated files.  Microsoft
never issued sufficient patches to get Visual Studio 2013 to compile
Rebirth successfully.

Remove the Visual Studio 2013 files and add files to build Rebirth with
Visual Studio 2017.  Visual Studio 2017 support is also experimental and
is also currently broken.  Among the known problems:

- Visual Studio 2017's C99 preprocessor support, like those of predecessor versions, is deficient regarding variadic macros, causing it to reject valid constructs with confusing error messages.

	common\include\window.h(170): error C2672: 'con_puts_literal': no matching overloaded function found
	common\include\window.h(170): error C2780: 'void con_puts_literal(const con_priority,const char (&)[len])': expects 2 arguments - 1 provided
	common\include\console.h(44): note: see declaration of 'con_puts_literal'
	common\include\window.h(170): error C2664: 'void con_printf(con_priority,const char *,...)': cannot convert argument 1 from 'const char [54]' to 'con_priority'

  Visual Studio 2017's preprocessor expanded this line to:

	 ( ((void)(("%s:%u: sending event %s to window of dimensions %dx%d"))), (sizeof("file, line, e, c.cv_bitmap.bm_w, c.cv_bitmap.bm_h") == 1) ? (con_puts_literal(("%s:%u: sending event %s to window of dimensions %dx%d"))) : (con_printf(("%s:%u: sending event %s to window of dimensions %dx%d") ,file, line, e, c.cv_bitmap.bm_w, c.cv_bitmap.bm_h)) );

  gcc-5.4.0's preprocessor expanded this line to:

	 ( ((void)(("%s:%u: sending event %s to window of dimensions %dx%d"))), (sizeof("file, line, e, c.cv_bitmap.bm_w, c.cv_bitmap.bm_h") == 1) ? (con_puts_literal(CON_DEBUG ,("%s:%u: sending event %s to window of dimensions %dx%d"))) : (con_printf(CON_DEBUG ,("%s:%u: sending event %s to window of dimensions %dx%d") , file, line, e, c.cv_bitmap.bm_w, c.cv_bitmap.bm_h)) );

  Note the absence of the leading "CON_DEBUG," in the Visual Studio
  version.

- Visual Studio 2017 sometimes disallows inner classes access to private typedef symbols in the containing class.  Both gcc and clang permit this and the standard says this should work.  This is shown mixed in as part of the next error.
- Visual Studio 2017's cl.exe crashes processing some files.  Including "segment.h" is sufficient to crash cl.exe.  Before crashing it prints:

	common\include\fwd-valptridx.h(200): error C2833: 'operator integral_type' is not a recognized operator or type
	common\include\fwd-valptridx.h(201): note: see reference to class template instantiation 'valptridx<managed_type>::magic_constant<constant>' being compiled
	common\include\fwd-valptridx.h(202): note: see reference to class template instantiation 'valptridx<managed_type>' being compiled
	common\main\fwd-segment.h(19): note: see reference to class template instantiation 'std::integral_constant<::size_t,9000>' being compiled
	common\include\fwd-valptridx.h(200): error C2059: syntax error: 'newline'
	common\include\fwd-valptridx.h(200): error C2334: unexpected token(s) preceding '{'; skipping apparent function body
	common\main\fwd-segment.h(48): error C2248: 'valptridx<d2x::segment>::specialized_types': cannot access private typedef declared in class 'valptridx<d2x::segment>'
	common\include\fwd-valptridx.h(87): note: see declaration of 'valptridx<d2x::segment>::specialized_types'
	common\main\fwd-segment.h(46): note: see declaration of 'valptridx<d2x::segment>'
	common\main\fwd-segment.h(48): note: see reference to class template instantiation 'valptridx<d2x::segment>::magic_constant<65534>' being compiled
	common\main\fwd-segment.h(48): fatal error C1903: unable to recover from previous error(s); stopping compilation

This list is not exhaustive.  The project was abandoned upon
encountering a compiler crash suspiciously similar to the one seen when
using Visual Studio 2013 to compile this code.  No one should expect
Visual Studio 2017 version 15.0.0+26228.9 to successfully compile
Rebirth, but these files are published in the hope that future patches
fix the problems in Visual Studio 2017.
2017-04-08 16:48:18 +00:00
Kp 8e96f24d26 Add stub __attribute_cold to Visual Studio dxxsconf.h header 2017-04-08 16:48:18 +00:00
Chris Taylor f634b084ed Update Xcode project for recently added/removed files
Added:
common/include/cpp-valptridx.h
common/misc/vg-wrap-physfs.h
common/misc/vgrphys.cpp
common/misc/vgwphys.cpp

Added (some time ago):
common/include/dsx-ns.h

Removed:
common/main/segnum.h
2017-01-07 15:30:18 +08:00
Chris Taylor 1c819359a6 Add -O0 flags for the Debug and Editor builds in Xcode.
Add -O0 flags for the Debug and Editor builds in Xcode, setting optimisation to None so the Xcode debugger reports on all variables, steps through code correctly and otherwise can debug properly.
2016-09-28 11:18:46 +08:00
Chris Taylor 3a6bda287b Update Xcode project file listing (for editing purposes) 2016-03-06 13:05:37 +08:00
Kp b937c732a8 Add stub __attribute_always_inline to VS2013 header 2015-10-30 02:52:57 +00:00
Kp edea687627 Remove HAVE_STRUCT_TIMEVAL
SConstruct defines it for all platforms.  It is only false on Mac OS 9,
which is no longer supported.
2015-10-27 03:04:49 +00:00
Kp c47b7e383f Make template alias support mandatory 2015-08-03 03:11:25 +00:00
Kp 20b1db3483 Expand dxx_explicit_operator_bool to "explicit"
Many files now use "explicit", so compilers which reject
explicit operator bool() will not work.  Remove the macro.
2015-08-03 03:11:25 +00:00
Kp 215e2dca81 Remove unused libpng support
HAVE_LIBPNG has not been set since 2004 when
3325c0b52b ("remove old OSX bundle stuff")
commented out the autoconf check to set it.
2015-06-13 22:42:21 +00:00
Kp 7c436f1fbb Merge pull #39 into unification/master
Requested-by: btb <https://github.com/dxx-rebirth/dxx-rebirth/pull/39>
Acked-by: Matt1360 <https://github.com/dxx-rebirth/dxx-rebirth/pull/39#issuecomment-88712761>
Acked-by: zico <https://github.com/dxx-rebirth/dxx-rebirth/pull/39#issuecomment-88907523>
2015-06-07 16:21:37 +00:00
Kp 9dc22b1ee6 Expand DXX_CXX11_EXPLICIT_DELETE
Various functions use the non-macro form, so support for =delete is
already mandatory.  Remove the remnants of support for compilers which
lack =delete and replace it with a hard stop when the compiler rejects
declaring explicitly deleted functions.
2015-05-01 02:18:33 +00:00
Bradley Bell a63ec5bd7c Merge branch 'unification/master' into command-line 2015-04-25 12:27:16 -07:00
Kp 6d2d0f33fa Merge 'Use Travis for CI' into unification/master
Requested-by: btb <https://github.com/dxx-rebirth/dxx-rebirth/pull/54>
2015-04-25 16:51:49 +00:00
Bradley Bell 844aad2639 Merge branch 'unification/master' into command-line 2015-04-24 20:54:35 -07:00
Bradley Bell 17770f0cce Added .travis.yml 2015-03-24 22:12:23 -07:00
Bradley Bell 5d7fbf1c2f Enable Product->Clean in XCode
by adding --$(ACTION) to build args.
Other project cleanups.
2015-03-21 13:05:50 -07:00
Bradley Bell 5a6b36277a Create dummy XCode target dxx-rebirth-doc
so that code completion, etc will work despite using an external build system.
Minor cleanups to project files.
2015-02-16 20:18:07 -08:00
Bradley Bell bbb32d0175 added cmd and cvar modules from d2x 2015-02-10 23:35:44 -08:00
Bradley Bell 0db11cc139 add d2x command-line interface to console 2015-02-10 17:01:00 -08:00
Bradley Bell 625cba6fdf xcode setting for passing network opts to scons
also delete reference to old sconf.log
2015-02-05 17:02:17 -08:00
Bradley Bell 86a6c40325 add ntstring.h to xcode project 2015-01-02 21:11:26 -08:00
Bradley Bell 864f404fcf add shared XCode schemes 2014-12-06 22:43:12 -08:00
Bradley Bell ad48198ece Establish XCode targets
Separated sconf_args into relevant build settings
Added Editor build configuration
2014-12-06 22:43:11 -08:00
Bradley Bell ca21d2cf57 Add XCode project 2014-12-06 22:31:31 -08:00
Kp afd26ccd75 Add VS2013 build files
This does not compile yet, but commit the files to save others the work
of creating the framework.

Known issues:
- Some editor-specific files do not find their headers due to missing
  AdditionalIncludeDirectories
- VS2013.2 picks incorrect variadic template overloads.  VS2013.3 might
  do better.
- VS2013.2 C preprocessor mishandles C99 __VA_ARGS__ usage
2014-08-16 17:02:21 +00:00