Fix 32-bit windows build.
authorcah <cah@ableton.com>
Fri, 24 Apr 2020 18:49:19 +0000 (20:49 +0200)
committercah <cah@ableton.com>
Fri, 24 Apr 2020 18:49:19 +0000 (20:49 +0200)
Makefile
cscript
toolchain/mingw-32.cmake [new file with mode: 0644]

index 0c468398528f900ad669ae0d4f14cb4ef2a429c7..076a0219ca289bbe690e12ce32bb559137ef73b9 100644 (file)
--- 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 5cc18c6286d3f8846c7c76991d7c4a3f0ee6852b..57e7e885d9bd414b84f6127e90d7d17390519993 100644 (file)
--- 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 (file)
index 0000000..572d11c
--- /dev/null
@@ -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")