OSDN Git Service

[Build][CMAKE] Fix FTBFS with USE_COMMON_DEVICE_LIB != "Yes".Partly working with...
authorK.Ohta <whatisthis.sowhat@gmail.com>
Sat, 30 Sep 2017 04:39:03 +0000 (13:39 +0900)
committerK.Ohta <whatisthis.sowhat@gmail.com>
Sat, 30 Sep 2017 04:39:03 +0000 (13:39 +0900)
source/build-cmake/cmake/config_commonsource.cmake
source/build-cmake/cmake/config_emufm7.cmake
source/build-cmake/cmake/config_sharedlibs.cmake
source/build-cmake/config_build.sh
source/src/CMakeLists.txt
source/src/config.h
source/src/qt/CMakeLists.txt
source/src/vm/device.h
source/src/vm/fmgen/CMakeLists.txt
source/src/vm/mc6809_base.cpp

index 88d3002..38bb743 100644 (file)
@@ -6,8 +6,9 @@
 include(CheckFunctionExists)
 
 if(USE_DEVICES_SHARED_LIB)
-  #add_definitions(-DUSE_DEVICES_SHARED_LIB)
   add_definitions(-DUSE_SHARED_DLL)
+  add_definitions(-DUSE_SHARED_UI_DLL)
+  add_definitions(-DUSE_SHARED_DEVICES_DLL)
   set(I386_CPPS
        libcpu_newdev/i386.cpp
        libcpu_newdev/libcpu_i386/i386_real.cpp
@@ -241,7 +242,14 @@ if(DEFINED VM_NAME)
 # else()
 #   set(DEBUG_LIBS)
 # endif()
-
+       if(USE_DEVICES_SHARED_LIB)
+       else()
+         if(USE_FMGEN)
+               set(VM_APPEND_LIBS fmgen${VM_APPEND_LIBS})
+         else()
+               set(VM_APPEND_LIBS ${VM_APPEND_LIBS})
+         endif()
+       endif()
        if(WIN32)
           set(LOCAL_LIBS     
                   common_emu
@@ -295,7 +303,11 @@ else()
 #       ${LIBAV_LIBRARIES}
        ${ADDITIONAL_LIBRARIES}
        )
-       set(BUNDLE_LIBS ${BUNDLE_LIBS} -lCSPosd -lCSPcommon_vm -lCSPfmgen -lCSPgui -lCSPemu_utils -lCSPavio)
+       if(USE_DEVICES_SHARED_LIB)
+               set(BUNDLE_LIBS ${BUNDLE_LIBS} -lCSPosd -lCSPcommon_vm -lCSPfmgen -lCSPgui -lCSPemu_utils -lCSPavio)
+       else()
+               set(BUNDLE_LIBS ${BUNDLE_LIBS} -lCSPosd -lCSPgui -lCSPavio)
+       endif()  
 endif()
 
 if(USE_QT_5)
@@ -305,10 +317,18 @@ endif()
 set(BUNDLE_LIBS ${BUNDLE_LIBS} ${THREADS_LIBRARY})
 
 if(DEFINED VM_NAME)
-       add_subdirectory(../../src/vm/${VM_NAME} vm/${VM_NAME})
-#  if(USE_FMGEN)
-#      add_subdirectory(../../src/vm/fmgen vm/fmgen)
-#  endif()     
-       add_subdirectory(../../src/qt/machines/${VM_NAME} qt/${VM_NAME})
-       add_subdirectory(../../src/qt/common qt/common)
+       if(USE_DEVICES_SHARED_LIB)
+               add_subdirectory(../../src/vm/${VM_NAME} vm/${VM_NAME})
+               add_subdirectory(../../src/qt/machines/${VM_NAME} qt/${VM_NAME})
+               add_subdirectory(../../src/qt/common qt/common)
+         else()
+               add_subdirectory(../../src/vm/${VM_NAME} vm/${VM_NAME})
+               #add_subdirectory(../../src/vm vm/common)
+               #add_subdirectory(../../src common/common)
+               if(USE_FMGEN)
+                       add_subdirectory(../../src/vm/fmgen vm/fmgen)
+               endif() 
+               add_subdirectory(../../src/qt/machines/${VM_NAME} qt/${VM_NAME})
+               add_subdirectory(../../src/qt/common qt/common)
+       endif() 
 endif()
index cb89b74..e752691 100644 (file)
@@ -25,6 +25,7 @@ set(VMFILES_LIB
                   disk.cpp
                   mb8877.cpp
                   prnfile.cpp
+                  noise.cpp
 )
 
 set(FLAG_USE_MC6809 ON)
index 5f1db1c..f184da5 100644 (file)
@@ -11,7 +11,6 @@ cmake_policy(SET CMP0011 NEW)
 include(CheckFunctionExists)
 
 if(USE_DEVICES_SHARED_LIB)
-  #add_definitions(-DUSE_DEVICES_SHARED_LIB)
   add_definitions(-DUSE_SHARED_DLL)
 endif()
 # Use cmake if enabled.
index edf1c96..18b4e2d 100755 (executable)
@@ -142,11 +142,20 @@ case ${USE_COMMON_DEVICE_LIB} in
    ;;
 esac
 
-build_dll libCSPfmgen
-build_dll libCSPavio
-build_dll libCSPgui
-build_dll libCSPosd
-build_dll libCSPemu_utils
+case ${USE_COMMON_DEVICE_LIB} in
+   "Yes" | "yes" | "YES" )
+          build_dll libCSPfmgen
+          build_dll libCSPavio
+          build_dll libCSPgui
+          build_dll libCSPosd
+          build_dll libCSPemu_utils
+          ;;
+   "No" | "no" | "NO" | * )
+          build_dll libCSPavio
+          build_dll libCSPgui
+          build_dll libCSPosd
+          ;;
+esac
 
 for SRCDATA in $@ ; do\
 
index 61f3237..d490826 100644 (file)
@@ -1,13 +1,21 @@
 message("* common/common")
 
 #set(CMAKE_BUILD_SETTING_C_FLAGS "${CMAKE_C_FLAGS} -msse2 -msse -mmmx")
-add_library(common_common
-       config.cpp
-       debugger.cpp
-#      romakana.cpp
-)
 
 add_library(common_emu
        emu.cpp
 )
+if(USE_DEVICES_SHARED_LIB)
+  add_library(common_common
+       config.cpp
+       debugger.cpp
+       )
+else()
+  add_library(common_common
+       common.cpp
+       config.cpp
+       debugger.cpp
+       fileio.cpp
+       fifo.cpp
+       )
+endif()
index bd51c32..05ae2c7 100644 (file)
 #include "vm/vm.h"
 #include "fileio.h"
 #if defined(_USE_QT)
+#define USE_FIXED_CONFIG 1
 #include "qt/gui/csp_logger.h"
+#else
+  #if defined(USE_SHARED_DLL)
+  #define USE_FIXED_CONFIG 1
+  #endif
 #endif
 
 enum {
@@ -34,7 +39,7 @@ enum {
 
 #define MAX_HISTORY    8
 
-#ifdef USE_SHARED_DLL
+#ifdef USE_FIXED_CONFIG
        #define MAX_CART_TMP    8
        #define MAX_FD_TMP      16
        #define MAX_QD_TMP      8
@@ -68,52 +73,52 @@ bool DLL_PREFIX load_config_state(void *f);
  */ 
 typedef struct {
        // control
-       #if defined(USE_SHARED_DLL) || defined(USE_BOOT_MODE)
+       #if defined(USE_FIXED_CONFIG) || defined(USE_BOOT_MODE)
                int boot_mode;
        #endif
-       #if defined(USE_SHARED_DLL) || defined(USE_CPU_TYPE)
+       #if defined(USE_FIXED_CONFIG) || defined(USE_CPU_TYPE)
                int cpu_type;
        #endif
-       #if defined(USE_SHARED_DLL) || defined(USE_DIPSWITCH)
+       #if defined(USE_FIXED_CONFIG) || defined(USE_DIPSWITCH)
                uint32_t dipswitch;
        #endif
-       #if defined(USE_SHARED_DLL) || defined(USE_DEVICE_TYPE)
+       #if defined(USE_FIXED_CONFIG) || defined(USE_DEVICE_TYPE)
                int device_type;
        #endif
-       #if defined(USE_SHARED_DLL) || defined(USE_DRIVE_TYPE)
+       #if defined(USE_FIXED_CONFIG) || defined(USE_DRIVE_TYPE)
                int drive_type;
        #endif
-       #if defined(USE_SHARED_DLL) || defined(USE_KEYBOARD_TYPE)
+       #if defined(USE_FIXED_CONFIG) || defined(USE_KEYBOARD_TYPE)
                int keyboard_type;
        #endif
-       #if defined(USE_SHARED_DLL) || defined(USE_MOUSE_TYPE)
+       #if defined(USE_FIXED_CONFIG) || defined(USE_MOUSE_TYPE)
                int mouse_type;
        #endif
-       #if defined(USE_SHARED_DLL) || defined(USE_JOYSTICK_TYPE)
+       #if defined(USE_FIXED_CONFIG) || defined(USE_JOYSTICK_TYPE)
                int joystick_type;
        #endif
-       #if defined(USE_SHARED_DLL) || defined(USE_SOUND_TYPE)
+       #if defined(USE_FIXED_CONFIG) || defined(USE_SOUND_TYPE)
                int sound_type;
        #endif
-       #if defined(USE_SHARED_DLL) || defined(USE_MONITOR_TYPE)
+       #if defined(USE_FIXED_CONFIG) || defined(USE_MONITOR_TYPE)
                int monitor_type;
        #endif
-       #if defined(USE_SHARED_DLL) || defined(USE_SCANLINE)
+       #if defined(USE_FIXED_CONFIG) || defined(USE_SCANLINE)
                bool scan_line;
        #endif
-       #if defined(USE_SHARED_DLL) || defined(USE_PRINTER_TYPE)
+       #if defined(USE_FIXED_CONFIG) || defined(USE_PRINTER_TYPE)
                int printer_type;
        #endif
-       #if defined(USE_SHARED_DLL) || defined(USE_FD1)
+       #if defined(USE_FIXED_CONFIG) || defined(USE_FD1)
                bool correct_disk_timing[/*MAX_FD_TMP*/16];
                bool ignore_disk_crc[/*MAX_FD_TMP*/16];
        #endif
-       #if defined(USE_SHARED_DLL) || defined(USE_TAPE1)
+       #if defined(USE_FIXED_CONFIG) || defined(USE_TAPE1)
                bool wave_shaper[MAX_TAPE_TMP];
                bool direct_load_mzt[MAX_TAPE_TMP];
                bool baud_high[MAX_TAPE_TMP];
        #endif
-       #if defined(USE_SHARED_DLL) || defined(USE_AUTO_KEY)
+       #if defined(USE_FIXED_CONFIG) || defined(USE_AUTO_KEY)
                bool romaji_to_kana;
        #endif
        
@@ -121,35 +126,35 @@ typedef struct {
        bool full_speed;
        
        // recent files
-       #if defined(USE_SHARED_DLL) || defined(USE_CART1)
+       #if defined(USE_FIXED_CONFIG) || defined(USE_CART1)
                _TCHAR initial_cart_dir[_MAX_PATH];
                _TCHAR recent_cart_path[MAX_CART_TMP][MAX_HISTORY][_MAX_PATH];
        #endif
-       #if defined(USE_SHARED_DLL) || defined(USE_FD1)
+       #if defined(USE_FIXED_CONFIG) || defined(USE_FD1)
                _TCHAR initial_floppy_disk_dir[_MAX_PATH];
                _TCHAR recent_floppy_disk_path[MAX_FD_TMP][MAX_HISTORY][_MAX_PATH];
        #endif
-       #if defined(USE_SHARED_DLL) || defined(USE_QD1)
+       #if defined(USE_FIXED_CONFIG) || defined(USE_QD1)
                _TCHAR initial_quick_disk_dir[_MAX_PATH];
                _TCHAR recent_quick_disk_path[MAX_QD_TMP][MAX_HISTORY][_MAX_PATH];
        #endif
-       #if defined(USE_SHARED_DLL) || defined(USE_TAPE1)
+       #if defined(USE_FIXED_CONFIG) || defined(USE_TAPE1)
                _TCHAR initial_tape_dir[_MAX_PATH];
                _TCHAR recent_tape_path[MAX_TAPE_TMP][MAX_HISTORY][_MAX_PATH];
        #endif
-       #if defined(USE_SHARED_DLL) || defined(USE_COMPACT_DISC)
+       #if defined(USE_FIXED_CONFIG) || defined(USE_COMPACT_DISC)
                _TCHAR initial_compact_disc_dir[_MAX_PATH];
                _TCHAR recent_compact_disc_path[MAX_HISTORY][_MAX_PATH];
        #endif
-       #if defined(USE_SHARED_DLL) || defined(USE_LASER_DISC)
+       #if defined(USE_FIXED_CONFIG) || defined(USE_LASER_DISC)
                _TCHAR initial_laser_disc_dir[_MAX_PATH];
                _TCHAR recent_laser_disc_path[MAX_HISTORY][_MAX_PATH];
        #endif
-       #if defined(USE_SHARED_DLL) || defined(USE_BINARY_FILE1)
+       #if defined(USE_FIXED_CONFIG) || defined(USE_BINARY_FILE1)
                _TCHAR initial_binary_dir[_MAX_PATH];
                _TCHAR recent_binary_path[MAX_BINARY_TMP][MAX_HISTORY][_MAX_PATH];
        #endif
-       #if defined(USE_SHARED_DLL) || defined(USE_BUBBLE1)
+       #if defined(USE_FIXED_CONFIG) || defined(USE_BUBBLE1)
                _TCHAR initial_bubble_casette_dir[_MAX_PATH];
                _TCHAR recent_bubble_casette_path[MAX_BUBBLE_TMP][MAX_HISTORY][_MAX_PATH];
        #endif
@@ -158,12 +163,12 @@ typedef struct {
        int window_mode;
        int window_stretch_type;
        int fullscreen_stretch_type;
-       //      #if defined(USE_SHARED_DLL) || defined(USE_SCREEN_ROTATE)
+       //      #if defined(USE_FIXED_CONFIG) || defined(USE_SCREEN_ROTATE)
                int rotate_type;
        //      #endif
        
        // filter
-       #if defined(USE_SHARED_DLL) || defined(USE_SCREEN_FILTER)
+       #if defined(USE_FIXED_CONFIG) || defined(USE_SCREEN_FILTER)
                int filter_type;
        #endif
 
@@ -198,24 +203,24 @@ typedef struct {
 #if defined(_USE_QT)   
        int general_sound_level;
 #endif
-#if defined(USE_SHARED_DLL) || defined(USE_FD1)
+#if defined(USE_FIXED_CONFIG) || defined(USE_FD1)
        bool sound_noise_fdd;
 #endif
-#if defined(USE_SHARED_DLL) || defined(USE_TAPE1)
+#if defined(USE_FIXED_CONFIG) || defined(USE_TAPE1)
        bool sound_noise_cmt;
        bool sound_play_tape;
 #endif
-#if defined(USE_SHARED_DLL) || defined(USE_SOUND_VOLUME)
+#if defined(USE_FIXED_CONFIG) || defined(USE_SOUND_VOLUME)
        int sound_volume_l[MAX_VOLUME_TMP];
        int sound_volume_r[MAX_VOLUME_TMP];
 #endif
        // input
-#if defined(USE_SHARED_DLL) || defined(USE_JOYSTICK)
+#if defined(USE_FIXED_CONFIG) || defined(USE_JOYSTICK)
        int joy_buttons[4][16];
 #endif
 
        // printer
-#if defined(USE_SHARED_DLL) || defined(USE_PRINTER)
+#if defined(USE_FIXED_CONFIG) || defined(USE_PRINTER)
        _TCHAR printer_dll_path[_MAX_PATH];
 #endif
 
index 4fba550..dbb9e1d 100644 (file)
@@ -55,21 +55,28 @@ generate_export_header(CSPosd
   )
 
 else()
-  add_library(CSPosd SHARED
-    ${s_qt_osd_srcs}
-    ${s_qt_osd_headers_MOC}
-  )
-target_link_libraries(CSPosd PUBLIC
-         Qt5::Core
-         Qt5::Gui
-         Qt5::Widgets
-         ${SDL2_LIBRARIES}
-         )
+       if(USE_DEVICES_SHARED_LIB)
+         add_library(CSPosd SHARED
+               ${s_qt_osd_srcs}
+               ${s_qt_osd_headers_MOC}
+               )
+         target_link_libraries(CSPosd PUBLIC
+               Qt5::Core
+               Qt5::Gui
+               Qt5::Widgets
+               ${SDL2_LIBRARIES}
+               )
   
-  set_target_properties(CSPosd PROPERTIES 
-     SOVERSION ${THIS_LIB_VERSION}
-     VERSION ${THIS_LIB_VERSION}
-  )
-  INSTALL(TARGETS CSPosd DESTINATION ${LIBCSP_INSTALL_DIR})
+         set_target_properties(CSPosd PROPERTIES 
+               SOVERSION ${THIS_LIB_VERSION}
+               VERSION ${THIS_LIB_VERSION}
+               )
+         INSTALL(TARGETS CSPosd DESTINATION ${LIBCSP_INSTALL_DIR})
+       else()
+         add_library(osd STATIC
+               ${s_qt_osd_srcs}
+               ${s_qt_osd_headers_MOC}
+               )
+       endif()
 endif()
 
index f68ed2b..1cf0b0e 100644 (file)
@@ -60,7 +60,12 @@ protected:
 public:
        DEVICE(VM* parent_vm, EMU* parent_emu) : vm(parent_vm), emu(parent_emu)
        {
+#if defined(_USE_QT)
+               osd = emu->get_osd();
+#else
                osd = NULL;
+#endif
+
                strncpy(this_device_name, "Base Device", 128);
                prev_device = vm->last_device;
                next_device = NULL;
index 7871079..fb88029 100644 (file)
@@ -36,12 +36,18 @@ generate_export_header(CSPfmgen
 )
 
 else()
-  add_library(CSPfmgen SHARED
-    ${s_vm_fmgen_srcs}
-  )
-  set_target_properties(CSPfmgen PROPERTIES 
-     SOVERSION 1.1.0
-     VERSION 1.1.0
-  )
-  INSTALL(TARGETS CSPfmgen DESTINATION ${LIBCSP_INSTALL_DIR})
+  if(USE_DEVICES_SHARED_LIB)
+       add_library(CSPfmgen SHARED
+      ${s_vm_fmgen_srcs}
+         )
+       set_target_properties(CSPfmgen PROPERTIES 
+      SOVERSION 1.1.0
+      VERSION 1.1.0
+         )
+       INSTALL(TARGETS CSPfmgen DESTINATION ${LIBCSP_INSTALL_DIR})
+  else()
+       add_library(fmgen STATIC
+      ${s_vm_fmgen_srcs}
+         )
+  endif()
 endif()
index e83dd3e..27c1431 100644 (file)
@@ -178,10 +178,6 @@ void MC6809_BASE::initialize()
        busreq = false;
        icount = 0;
        extra_icount = 0;
-#ifdef USE_DEBUGGER
-       d_mem_stored = d_mem;
-       d_debugger->set_context_mem(d_mem);
-#endif
 }
 
 void MC6809_BASE::write_signal(int id, uint32_t data, uint32_t mask)