OSDN Git Service

[WIP][BUILD][WIN32] TRY: Use llvm to build, this is wip.
authorK.Ohta <whatisthis.sowhat@gmail.com>
Thu, 29 Sep 2016 14:49:08 +0000 (23:49 +0900)
committerK.Ohta <whatisthis.sowhat@gmail.com>
Thu, 29 Sep 2016 14:49:08 +0000 (23:49 +0900)
source/build-cmake/cmake/toolchain_win32_cross_linux_llvm.cmake
source/build-cmake/config_build_cross_win32.sh
source/build-cmake/params/buildvars_mingw_params_gcc.dat
source/build-cmake/params/buildvars_mingw_params_llvm.dat

index 3675dc9..61b5196 100644 (file)
@@ -3,25 +3,27 @@ SET(CMAKE_SYSTEM_NAME Windows)
 
 # which compilers to use for C and C++
 SET(CMAKE_SYSTEM_NAME Windows)
-SET(CMAKE_C_COMPILER i686-w64-mingw32-clang)
-SET(CMAKE_CXX_COMPILER i686-w64-mingw32-clang++)
+SET(CMAKE_C_COMPILER clang)
+SET(CMAKE_CXX_COMPILER clang++)
 SET(CMAKE_RC_COMPILER i686-w64-mingw32-windres)
 SET(CMAKE_AR  llvm-ar-3.9)
-SET(CMAKE_LD  /usr/bin/i686-w64-mingw32-ld)
+SET(CMAKE_LD  llvm-link-3.9)
 SET(CMAKE_LINKSE  /usr/bin/i686-w64-mingw32-ld)
 SET(CMAKE_NM  llvm-nm-3.9)
 
-#set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++")
-#set(CMAKE_EXE_LINKER_FLAGS "-static-libstdc++")
-#set(CMAKE_EXE_LINKER_FLAGS "")
+set(CMAKE_CXX_FLAGS "-target i686-w64-mingw32")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -nostdinc -nostdinc++")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -isystem /usr/lib/clang/3.9.0/include")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -isystem /usr/i686-w64-mingw32/include/../../../usr/lib/gcc/i686-w64-mingw32/6.1-win32/include/c++")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -isystem /usr/i686-w64-mingw32/include/../../../usr/lib/gcc/i686-w64-mingw32/6.1-win32/include/c++/i686-w64-mingw32")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -isystem /usr/i686-w64-mingw32/include")
 
-#SET(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> qcs <TARGET> --plugin==$(i686-264-mingw32-gcc --print-file-name=liblto_plugin.so) <LINK_FLAGS> <OBJECTS>")
-#SET(CMAKE_C_ARCHIVE_FINISH   true)
-#SET(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> qcs <TARGET> --plugin==$(i686-264-mingw32-gcc --print-file-name=liblto_plugin.so) <LINK_FLAGS> <OBJECTS>")
-#SET(CMAKE_CXX_ARCHIVE_FINISH   true)
+set(CMAKE_EXE_LINKER_FLAGS "-L/usr/lib/gcc/i686-w64-mingw32/6.1-win32 -target i686-w64-mingw32 ")
+#set(CMAKE_EXE_LINKER_FLAGS "")
 
 set(LIBAV_ROOT_DIR "/usr/local/i586-mingw-msvc/ffmpeg-3.1.1")
 
+
 # here is the target environment located
 set(USE_SDL2 ON)
 if(USE_SDL2)
@@ -29,14 +31,12 @@ if(USE_SDL2)
                           /usr/local/i586-mingw-msvc
                           /usr/local/i586-mingw-msvc/SDL2/i686-w64-mingw32
                          /usr/local/i586-mingw-msvc/5.7/mingw_611
-#                        /usr/local/i586-mingw-msvc/5.5/mingw_530_win32
                          )
 else()
    SET(CMAKE_FIND_ROOT_PATH  /usr/i686-w64-mingw32 
                           /usr/local/i586-mingw-msvc
                           /usr/local/i586-mingw-msvc/SDL1/
                          /usr/local/i586-mingw-msvc/5.7/mingw_611
-#                        /usr/local/i586-mingw-msvc/5.5/mingw_530_win32
                          )
 endif()
 SET(CSP_CROSS_BUILD 1)
@@ -63,3 +63,4 @@ set(SDL_INCLUDE_DIRS /usr/local/i586-mingw-msvc/SDL1/include/SDL)
 set(SDLMAIN_LIBRARY "")
 
 set(ADDITIONAL_LIBRARIES libwinmm.a)
+
index 27ac166..cfc7ebe 100755 (executable)
@@ -87,6 +87,7 @@ function build_dll() {
             "-DUSE_SDL2=ON" \
             ${CMAKE_APPENDFLAG} \
             "-DCMAKE_EXE_LINKER_FLAGS:STRING=${CMAKE_LINKFLAG}" \
+            "-DCMAKE_CROSSCOMPILING=true"\
        .. | tee make.log
     
     ${CMAKE} ${CMAKE_FLAGS1} \
index fac8323..cd83ee4 100644 (file)
@@ -15,6 +15,7 @@ case ${CSP_DEBUG} in
                -fselective-scheduling -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops \
                -funroll-loops \
                -floop-nest-optimize \
+               -march=i686 \
                -msse -msse2 -mfpmath=sse \
                -std=c++11 \
                -DNDEBUG "
index 794c313..f90f74a 100644 (file)
@@ -5,19 +5,18 @@
 #
 case ${CSP_DEBUG} in
    "Yes" | "yes" | "YES" )
-     MAKEFLAGS_BASE2="-g -ggdb ${MAKEFLAGS_BASE} -DNDEBUG"
-     MAKEFLAGS_LINK_BASE="-g -ggdb ${MAKEFLAGS_BASE}"
-     ;;
+         MAKEFLAGS_BASE2="-g -ggdb ${MAKEFLAGS_BASE} -DNDEBUG"
+         MAKEFLAGS_LINK_BASE="-g -ggdb ${MAKEFLAGS_BASE}"
+         ;;
    "No" | "no" | "NO" | * )
-     MAKEFLAGS_BASE2="-O3 ${MAKEFLAGS_BASE} -DNDEBUG \
-                -std=c++0x \
-                -march=pentium4 \
-               -Wreserved-user-defined-literal \
-               -D_HAS_EXCEPTIONS \
-               -D__float128=\"long double\"
-               "
-      MAKEFLAGS_LINK_BASE="-s ${MAKEFLAGS_BASE}"
-      ;;
+         MAKEFLAGS_BASE2="-O3 ${MAKEFLAGS_BASE} -DNDEBUG \
+                                                 -std=c++0x \
+                                                 -Wreserved-user-defined-literal \
+                                                 -D_HAS_EXCEPTIONS \
+                                                 -D__float128=\"long double\"
+                                                 "
+         MAKEFLAGS_LINK_BASE="-s ${MAKEFLAGS_BASE}"
+         ;;
 esac
 
 CMAKE_APPENDFLAG="-DUSE_QT5_4_APIS=ON -DUSE_MOVIE_LOADER=ON \