summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcah <cah@ableton.com>2020-04-24 20:49:19 +0200
committercah <cah@ableton.com>2020-04-24 20:49:19 +0200
commitd1e03c7453f4f168c6f0bb567427b0e5f049ba26 (patch)
treeb9922b11fa6f0d060c4c7237a8ac42c7c027b3e7
parentcd330f6f0ea478a921bf32a29b970a0fa4e4cfd3 (diff)
Fix 32-bit windows build.
-rw-r--r--Makefile3
-rw-r--r--cscript2
-rw-r--r--toolchain/mingw-32.cmake32
3 files changed, 36 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 0c46839..076a021 100644
--- a/Makefile
+++ b/Makefile
@@ -69,6 +69,9 @@ msp430:
mingw:
$(call generate_common,$@,-DWIN32=1)
+mingw-32:
+ $(call generate_common,$@,-DWIN32=1)
+
lib_only:
rm -R -f build_lib_only
mkdir build_lib_only
diff --git a/cscript b/cscript
index 5cc18c6..57e7e88 100644
--- a/cscript
+++ b/cscript
@@ -32,7 +32,7 @@ def build(target, options):
ext = 'dylib'
device = 'dev'
elif target.platform == 'windows':
- type = 'mingw'
+ type = 'mingw' if target.bits == 64 else 'mingw-32'
blockdev = 'windows'
ext = 'dll'
device = 'windows'
diff --git a/toolchain/mingw-32.cmake b/toolchain/mingw-32.cmake
new file mode 100644
index 0000000..572d11c
--- /dev/null
+++ b/toolchain/mingw-32.cmake
@@ -0,0 +1,32 @@
+# Name of the target
+set(CMAKE_SYSTEM_NAME Windows)
+set(TOOLCHAIN_PREFIX /opt/mxe/usr/bin/i686-w64-mingw32.shared)
+set(CMAKE_SYSTEM_PROCESSOR mingw)
+
+# Toolchain settings
+set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc)
+set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}-g++)
+set(AS ${TOOLCHAIN_PREFIX}-as)
+set(AR ${TOOLCHAIN_PREFIX}-as)
+set(OBJCOPY objcopy)
+set(OBJDUMP objdump)
+#set(SIZE size)
+
+set(CMAKE_FIND_ROOT_PATH /opt/mxe/usr/${TOOLCHAIN_PREFIX})
+
+set(CMAKE_C_FLAGS "-std=gnu99 -fdata-sections -ffunction-sections" CACHE INTERNAL "c compiler flags")
+set(CMAKE_CXX_FLAGS "-fdata-sections -ffunction-sections" CACHE INTERNAL "cxx compiler flags")
+set(CMAKE_ASM_FLAGS "" CACHE INTERNAL "asm compiler flags")
+if (APPLE)
+ set(CMAKE_EXE_LINKER_FLAGS "-dead_strip" CACHE INTERNAL "exe link flags")
+else (APPLE)
+ set(CMAKE_EXE_LINKER_FLAGS "-Wl,--gc-sections" CACHE INTERNAL "exe link flags")
+endif (APPLE)
+
+SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -ggdb3" CACHE INTERNAL "c debug compiler flags")
+SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -ggdb3" CACHE INTERNAL "cxx debug compiler flags")
+SET(CMAKE_ASM_FLAGS_DEBUG "-g -ggdb3" CACHE INTERNAL "asm debug compiler flags")
+
+SET(CMAKE_C_FLAGS_RELEASE "-O2 -g -ggdb3" CACHE INTERNAL "c release compiler flags")
+SET(CMAKE_CXX_FLAGS_RELEASE "-O2 -g -ggdb3" CACHE INTERNAL "cxx release compiler flags")
+SET(CMAKE_ASM_FLAGS_RELEASE "" CACHE INTERNAL "asm release compiler flags")