aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile14
-rw-r--r--redist/CNFGWinDriver.c1
-rw-r--r--redist/linmath.h6
-rw-r--r--winbuild/build_tcc.bat17
-rw-r--r--winbuild/getdelim.c5
5 files changed, 23 insertions, 20 deletions
diff --git a/Makefile b/Makefile
index d7848f7..e3c633d 100644
--- a/Makefile
+++ b/Makefile
@@ -42,6 +42,7 @@ else
LIBSURVIVE_C:=$(POSERS) $(REDISTS) $(LIBSURVIVE_CORE) $(SBA) $(MINIMAL_NEEDED) $(AUX_NEEDED)
endif
+
LIBSURVIVE_O:=$(LIBSURVIVE_C:%.c=$(OBJDIR)/%.o)
LIBSURVIVE_D:=$(LIBSURVIVE_C:%.c=$(OBJDIR)/%.d)
-include $(LIBSURVIVE_D)
@@ -73,6 +74,7 @@ ifeq ($(UNAME), Darwin)
REDISTS:=$(REDISTS) redist/hid-osx.c
endif
+
ifdef LINUX_USE_HIDAPI
CFLAGS:=$(CFLAGS) -DHIDAPI
REDISTS:=$(REDISTS) redist/hid-linux.o
@@ -153,15 +155,19 @@ clean :
.run_tests: .test_redist
+
+#To do this, you probably want to `make tccbatch MINIMAL=1 WINDOWS=1`
+
tccbatch :
echo "@echo off" > winbuild/build_tcc.bat
echo "set TCC=C:\\\\tcc\\\\tcc.exe" >> winbuild/build_tcc.bat
echo "echo USing %TCC%" >> winbuild/build_tcc.bat
- echo "set SOURCES=$(LIBSURVIVE_C)" >> winbuild/build_tcc.bat
- echo "set EXEC=..\\\\calibrate.c redist\\\\CNFGWinDriver.c redist\\\\os_generic.c redist\\\\CNFGFunctions.c" >> winbuild/build_tcc.bat
- echo "set CFLAGS=$(CFLAGS)" >> winbuild/build_tcc.bat
+ echo "set EXEC=calibrate.c redist\\\\CNFGWinDriver.c redist\\\\CNFGFunctions.c" >> winbuild/build_tcc.bat
+ echo "set SOURCES=$(subst "/","\\",$(LIBSURVIVE_C))" >> winbuild/build_tcc.bat
+ echo "set CFLAGS=-DTCC $(CFLAGS)" >> winbuild/build_tcc.bat
+ echo "set LDFLAGS=-lkernel32 -lgdi32 -luser32" >> winbuild/build_tcc.bat
echo "@echo on" >> winbuild/build_tcc.bat
- echo "%TCC% -v %CFLAGS% %SOURCES% %REDIST% %EXEC% %LDFLAGS% tcc_stubs.c %RD%hid-windows.c -o calibrate.exe" >> winbuild/build_tcc.bat
+ echo "%TCC% -v %CFLAGS% %SOURCES% %REDIST% %EXEC% %LDFLAGS% winbuild/tcc_stubs.c -o calibrate.exe" >> winbuild/build_tcc.bat
help :
@echo "Usage: make [flags]"
diff --git a/redist/CNFGWinDriver.c b/redist/CNFGWinDriver.c
index 4d34e19..3bbf509 100644
--- a/redist/CNFGWinDriver.c
+++ b/redist/CNFGWinDriver.c
@@ -240,7 +240,6 @@ void CNFGHandleInput()
break;
}
}
- return 0;
}
#ifndef CNFGOGL
diff --git a/redist/linmath.h b/redist/linmath.h
index e46bbd4..78cac5c 100644
--- a/redist/linmath.h
+++ b/redist/linmath.h
@@ -7,13 +7,11 @@
extern "C" {
#endif
-#ifndef LINMATH_EXPORT
-#ifdef _WIN32
-#define LINMATH_EXPORT extern __declspec(dllexport)
+#if defined( _WIN32 ) && !defined(TCC)
+#define LINMATH_EXPORT __declspec(dllexport)
#else
#define LINMATH_EXPORT __attribute__((visibility("default")))
#endif
-#endif
// Yes, I know it's kind of arbitrary.
#define DEFAULT_EPSILON 0.001
diff --git a/winbuild/build_tcc.bat b/winbuild/build_tcc.bat
index 5be1361..e9cad66 100644
--- a/winbuild/build_tcc.bat
+++ b/winbuild/build_tcc.bat
@@ -1,14 +1,9 @@
@echo off
-
set TCC=C:\tcc\tcc.exe
-echo Be sure to have TinyCC installed to %TCC% (or change the TCC parameter.)
-
-set SR=..\src\
-set RD=..\redist\
-set SOURCES=%SR%ootx_decoder.c %SR%poser_charlesslow.c %SR%poser_daveortho.c %SR%poser_dummy.c %SR%survive.c %SR%survive_cal.c %SR%survive_config.c %SR%survive_data.c %SR%survive_driverman.c %SR%survive_process.c %SR%survive_vive.c
-set REDIST=%RD%crc32.c %RD%linmath.c %RD%puff.c %RD%jsmn.c %RD%json_helpers.c %RD%symbol_enumerator.c
-set EXEC=..\calibrate.c %RD%CNFGWinDriver.c %RD%os_generic.c %RD%CNFGFunctions.c
-set CFLAGS=-DNOZLIB -DTCC -DWINDOWS -DHIDAPI -DWIN32 -DRUNTIME_SYMNUM -O0 -g -rdynamic -I..\redist -I..\include\libsurvive -I..\src -I.
-set LDFLAGS=-lkernel32 -lgdi32 -luser32 -lsetupapi -ldbghelp
+echo USing %TCC%
+set EXEC=calibrate.c redist\CNFGWinDriver.c redist\CNFGFunctions.c
+set SOURCES=redist/json_helpers.c redist/linmath.c redist/jsmn.c redist/puff.c redist/crc32.c redist/hid-windows.c winbuild/getdelim.c src/survive.c src/survive_process.c src/ootx_decoder.c src/survive_driverman.c src/survive_default_devices.c src/survive_playback.c src/survive_config.c src/survive_cal.c src/poser.c src/survive_sensor_activations.c src/survive_disambiguator.c src/survive_imu.c src/survive_usb.c src/survive_charlesbiguator.c src/survive_vive.c src/survive_reproject.c
+set CFLAGS=-DTCC -Iinclude/libsurvive -g -O3 -Iredist -DUSE_DOUBLE -std=gnu99 -MD -DNOZLIB -DWINDOWS -DWIN32 -DHIDAPI
+set LDFLAGS=-lkernel32 -lgdi32 -luser32
@echo on
-%TCC% -v %CFLAGS% %SOURCES% %REDIST% %EXEC% %LDFLAGS% tcc_stubs.c %RD%hid-windows.c -o calibrate.exe
+%TCC% -v %CFLAGS% %SOURCES% %REDIST% %EXEC% %LDFLAGS% winbuild/tcc_stubs.c -o calibrate.exe
diff --git a/winbuild/getdelim.c b/winbuild/getdelim.c
index 0447ba0..a2d85d4 100644
--- a/winbuild/getdelim.c
+++ b/winbuild/getdelim.c
@@ -41,6 +41,11 @@
#define restrict
#endif
+#ifdef TCC
+#define EOVERFLOW 75
+#define SSIZE_MAX (1<<31)
+#endif
+
#ifdef _MSC_VER
typedef long ssize_t;
#define SSIZE_MAX LONG_MAX